Revision 2c8fc867602e385fd2abe76da0b6bda8ed907547 authored by Borislav Petkov on 03 October 2011, 18:28:18 UTC, committed by David S. Miller on 03 October 2011, 18:28:18 UTC
Simon Kirby reported that on his RAID setup with idedisk underneath
the box OOMs after a couple of days of runtime. Running with
CONFIG_DEBUG_KMEMLEAK pointed to idedisk_prep_fn() which unconditionally
allocates an ide_cmd struct. However, ide_requeue_and_plug() can be
called more than once per request, either from the request issue or the
IRQ handler path and do blk_peek_request() ends up in idedisk_prep_fn()
repeatedly, allocating a struct ide_cmd everytime and "forgetting" the
previous pointer.

Make sure the code reuses the old allocated chunk.

Reported-and-tested-by: Simon Kirby <sim@hostway.ca>
Cc: <stable@kernel.org> [ 39.x, 3.0.x ]
Link: http://marc.info/?l=linux-kernel&m=131667641517919
Link: http://lkml.kernel.org/r/20110922072643.GA27232@hostway.ca
Signed-off-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 9b13776
History
File Mode Size
Makefile -rw-r--r-- 8.1 KB
asciidoc.conf -rw-r--r-- 2.2 KB
examples.txt -rw-r--r-- 8.1 KB
manpage-1.72.xsl -rw-r--r-- 510 bytes
manpage-base.xsl -rw-r--r-- 1.2 KB
manpage-bold-literal.xsl -rw-r--r-- 578 bytes
manpage-normal.xsl -rw-r--r-- 475 bytes
manpage-suppress-sp.xsl -rw-r--r-- 737 bytes
perf-annotate.txt -rw-r--r-- 1.7 KB
perf-archive.txt -rw-r--r-- 480 bytes
perf-bench.txt -rw-r--r-- 2.4 KB
perf-buildid-cache.txt -rw-r--r-- 647 bytes
perf-buildid-list.txt -rw-r--r-- 661 bytes
perf-diff.txt -rw-r--r-- 1.4 KB
perf-evlist.txt -rw-r--r-- 413 bytes
perf-help.txt -rw-r--r-- 928 bytes
perf-inject.txt -rw-r--r-- 847 bytes
perf-kmem.txt -rw-r--r-- 770 bytes
perf-kvm.txt -rw-r--r-- 2.6 KB
perf-list.txt -rw-r--r-- 3.2 KB
perf-lock.txt -rw-r--r-- 923 bytes
perf-probe.txt -rw-r--r-- 6.7 KB
perf-record.txt -rw-r--r-- 3.6 KB
perf-report.txt -rw-r--r-- 3.1 KB
perf-sched.txt -rw-r--r-- 1.5 KB
perf-script-perl.txt -rw-r--r-- 7.2 KB
perf-script-python.txt -rw-r--r-- 22.9 KB
perf-script.txt -rw-r--r-- 6.6 KB
perf-stat.txt -rw-r--r-- 3.1 KB
perf-test.txt -rw-r--r-- 344 bytes
perf-timechart.txt -rw-r--r-- 988 bytes
perf-top.txt -rw-r--r-- 2.6 KB
perf.txt -rw-r--r-- 565 bytes

back to top