summaryrefslogtreecommitdiff
path: root/block/blk-tag.c
diff options
context:
space:
mode:
authorAnatoliy Glagolev <glagolig@gmail.com>2018-06-14 00:38:51 +0300
committerJens Axboe <axboe@kernel.dk>2018-06-15 17:15:37 +0300
commitd6c73964f1e2a07f75057fb32ae46f6599036f93 (patch)
tree7e77c8a410880ad63db5b44303b7d6a3a472d95d /block/blk-tag.c
parentbe7f99c536c5aeebad29082b7d8dce32077fea14 (diff)
downloadlinux-d6c73964f1e2a07f75057fb32ae46f6599036f93.tar.xz
bsg: fix race of bsg_open and bsg_unregister
The existing implementation allows races between bsg_unregister and bsg_open paths. bsg_unregister and request_queue cleanup and deletion may start and complete right after bsg_get_device (in bsg_open path) retrieves bsg_class_device and releases the mutex. Then bsg_open path touches freed memory of bsg_class_device and request_queue. One possible fix is to hold the mutex all the way through bsg_get_device instead of releasing it after bsg_class_device retrieval. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-Off-By: Anatoliy Glagolev <glagolig@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-tag.c')
0 files changed, 0 insertions, 0 deletions