linux/drivers/block
Lv Yunlong 72ce11ddfa drivers/block/null_blk/main: Fix a double free in null_init.
In null_init, null_add_dev(dev) is called.
In null_add_dev, it calls null_free_zoned_dev(dev) to free dev->zones
via kvfree(dev->zones) in out_cleanup_zone branch and returns err.
Then null_init accept the err code and then calls null_free_dev(dev).

But in null_free_dev(dev), dev->zones is freed again by
null_free_zoned_dev().

My patch set dev->zones to NULL in null_free_zoned_dev() after
kvfree(dev->zones) is called, to avoid the double free.

Fixes: 2984c8684f ("nullb: factor disk parameters")
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Link: https://lore.kernel.org/r/20210426143229.7374-1-lyl2019@mail.ustc.edu.cn
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-04-26 09:04:40 -06:00
..
aoe block: Replace lkml.org links with lore 2021-02-10 20:07:21 -07:00
drbd drbd: Fix fall-through warnings for Clang 2021-04-20 15:23:30 -06:00
mtip32xx block: mtip32xx: mtip32xx: Mark debugging variable 'start' as __maybe_unused 2021-04-06 09:21:53 -06:00
null_blk drivers/block/null_blk/main: Fix a double free in null_init. 2021-04-26 09:04:40 -06:00
paride paride/pd: remove ->revalidate_disk 2021-03-29 07:02:56 -06:00
rnbd block/rnbd: Use strscpy instead of strlcpy 2021-04-20 08:59:04 -06:00
rsxx rsxx: remove extraneous 'const' qualifier 2021-03-24 06:56:20 -06:00
xen-blkback block: Add bio_max_segs 2021-02-26 15:49:51 -07:00
zram zram: fix broken page writeback 2021-03-13 11:27:31 -08:00
amiflop.c amiflop: use separate gendisks for Amiga vs MS-DOS mode 2020-11-16 08:14:30 -07:00
ataflop.c ataflop: fix off by one in ataflop_probe() 2021-04-21 09:15:27 -06:00
brd.c brd: expose number of allocated pages in debugfs 2021-04-21 10:54:48 -06:00
cryptoloop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 30 2019-05-24 17:27:10 +02:00
floppy.c floppy: cleanups: remove FLOPPY_SILENT_DCL_CLEAR undef 2021-04-20 08:59:03 -06:00
Kconfig swim: don't call blk_queue_bounce_limit 2021-04-06 09:29:47 -06:00
loop.c block-5.12-2021-02-27 2021-02-28 11:23:38 -08:00
loop.h loop: scale loop device by introducing per device lock 2021-01-26 13:08:54 -07:00
Makefile drivers/block: remove the umem driver 2021-03-24 06:57:40 -06:00
n64cart.c n64: store dev instance into disk private data 2021-02-21 23:37:52 +01:00
nbd.c nbd: handle device refs for DESTROY_ON_DISCONNECT properly 2021-02-22 13:17:23 -07:00
pktcdvd.c block: remove unnecessary argument from blk_execute_rq 2021-01-24 21:52:39 -07:00
ps3disk.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
ps3vram.c block: store a block_device pointer in struct bio 2021-01-24 18:17:20 -07:00
rbd_types.h libceph, rbd: replace zero-length array with flexible-array 2020-06-01 13:22:53 +02:00
rbd.c rbd: remove the ->set_read_only method 2021-01-24 18:15:57 -07:00
sunvdc.c compat_ioctl: block: handle cdrom compat ioctl in non-cdrom drivers 2020-01-03 09:33:15 +01:00
swim3.c swim3: support highmem 2021-04-06 09:30:09 -06:00
swim_asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
swim.c swim: don't call blk_queue_bounce_limit 2021-04-06 09:29:47 -06:00
sx8.c block: remove unnecessary argument from blk_execute_rq_nowait 2021-01-24 21:52:39 -07:00
virtio_blk.c virtio: features, fixes 2021-02-25 12:21:08 -08:00
xen-blkfront.c block: xen-blkfront: Demote kernel-doc abuses 2021-04-06 09:21:53 -06:00
z2ram.c z2ram: use separate gendisk for the different modes 2020-11-16 08:14:31 -07:00