diff options
author | Tetsuo Handa <[email protected]> | 2021-10-02 18:23:02 +0900 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2021-10-02 07:29:20 -0600 |
commit | 06cc978d3ff226072780f74897800b33e78abb57 (patch) | |
tree | f8a7767f98974d2bea074848be82708931e5795a /lib/netdev-notifier-error-inject.c | |
parent | 41e76c6a3c83c85e849f10754b8632ea763d9be4 (diff) |
block: genhd: fix double kfree() in __alloc_disk_node()
syzbot is reporting use-after-free read at bdev_free_inode() [1], for
kfree() from __alloc_disk_node() is called before bdev_free_inode()
(which is called after RCU grace period) reads bdev->bd_disk and calls
kfree(bdev->bd_disk).
Fix use-after-free read followed by double kfree() problem
by making sure that bdev->bd_disk is NULL when calling iput().
Link: https://syzkaller.appspot.com/bug?extid=8281086e8a6fbfbd952a [1]
Reported-by: syzbot <[email protected]>
Signed-off-by: Tetsuo Handa <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'lib/netdev-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions