diff options
author | Yufen Yu <yuyufen@huawei.com> | 2021-06-10 05:32:41 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-07-01 04:38:48 +0300 |
commit | b5cfbd35eccaa0b532dc0d8a31e4d59b5e314c93 (patch) | |
tree | e89e3215f8ac48c6418f4401a4941a9a26016e96 /tools/tracing | |
parent | efee99e68e69d8a1966f3d426cc0cea73e32c6d7 (diff) | |
download | linux-b5cfbd35eccaa0b532dc0d8a31e4d59b5e314c93.tar.xz |
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 <jack@suse.cz>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Yufen Yu <yuyufen@huawei.com>
Link: https://lore.kernel.org/r/20210610023241.3646241-1-yuyufen@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/tracing')
0 files changed, 0 insertions, 0 deletions