diff options
author | Yufen Yu <[email protected]> | 2021-06-10 10:32:41 +0800 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2021-06-30 19:38:48 -0600 |
commit | b5cfbd35eccaa0b532dc0d8a31e4d59b5e314c93 (patch) | |
tree | e89e3215f8ac48c6418f4401a4941a9a26016e96 /net/unix/unix_bpf.c | |
parent | efee99e68e69d8a1966f3d426cc0cea73e32c6d7 (diff) |
block: check disk exist before trying to add partition
If disk have been deleted, we should return fail for ioctl
BLKPG_DEL_PARTITION. Otherwise, the directory /sys/class/block
may remain invalid symlinks file. The race as following:
blkdev_open
del_gendisk
disk->flags &= ~GENHD_FL_UP;
blk_drop_partitions
blkpg_ioctl
bdev_add_partition
add_partition
device_add
device_add_class_symlinks
ioctl may add_partition after del_gendisk() have tried to delete
partitions. Then, symlinks file will be created.
Reviewed-by: Jan Kara <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Yufen Yu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'net/unix/unix_bpf.c')
0 files changed, 0 insertions, 0 deletions