• Guo Chao's avatar
    loopdev: remove an user triggerable oops · b1a66504
    Guo Chao authored
    When loopdev is built as module and we pass an invalid parameter,
    loop_init() will return directly without deregister misc device, which
    will cause an oops when insert loop module next time because we left some
    garbage in the misc device list.
    
    Test case:
    sudo modprobe loop max_part=1024
    (failed due to invalid parameter)
    sudo modprobe loop
    (oops)
    
    Clean up nicely to avoid such oops.
    Signed-off-by: default avatarGuo Chao <yan@linux.vnet.ibm.com>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Guo Chao <yan@linux.vnet.ibm.com>
    Cc: M. Hindess <hindessm@uk.ibm.com>
    Cc: Nikanth Karthikesan <knikanth@suse.de>
    Cc: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    b1a66504
loop.c 47 KB