diff options
author | 2011-02-07 19:21:48 -0500 | |
---|---|---|
committer | 2011-02-08 09:53:28 +1100 | |
commit | e91ece5590b3c728624ab57043fc7a05069c604a (patch) | |
tree | 4c5fd4ad374caf5bd9c5f575b0a228b5cdf2f191 /drivers/hwspinlock/hwspinlock_core.c | |
parent | md: Don't allow slot_store while resync/recovery is happening. (diff) | |
download | wireguard-linux-e91ece5590b3c728624ab57043fc7a05069c604a.tar.xz wireguard-linux-e91ece5590b3c728624ab57043fc7a05069c604a.zip |
md_make_request: don't touch the bio after calling make_request
md_make_request was calling bio_sectors() for part_stat_add
after it was calling the make_request function. This is
bad because the make_request function can free the bio and
because the bi_size field can change around.
The fix here was suggested by Jens Axboe. It saves the
sector count before the make_request call. I hit this
with CONFIG_DEBUG_PAGEALLOC turned on while trying to break
his pretty fusionio card.
Cc: <stable@kernel.org>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/hwspinlock/hwspinlock_core.c')
0 files changed, 0 insertions, 0 deletions