floppy: fix use-after-free in module load failure path
authorLinus Torvalds <[email protected]>
Sat, 6 Nov 2010 00:45:59 +0000 (17:45 -0700)
committerLinus Torvalds <[email protected]>
Sat, 6 Nov 2010 00:45:59 +0000 (17:45 -0700)
commitc093ee4f07f46d3a835841cafa07514fa94878d2
treeaafb816d450e3e3dd352c650b50fe2202919dd2c
parent433039e97f672b81e6c8f6daef385dcf035c6e29
floppy: fix use-after-free in module load failure path

Commit 488211844e0c ("floppy: switch to one queue per drive instead of
sharing a queue") introduced a use-after-free.  We do "put_disk()" on
the disk device _before_ we then clean up the queue associated with that
disk.

Move the put_disk() down to avoid dereferencing a free'd data structure.

Cc: Jens Axboe <[email protected]>
Cc: Vivek Goyal <[email protected]>
Reported-and-tested-by: Randy Dunlap <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/block/floppy.c