mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 16:12:02 +00:00
bcache: fix use-after-free in register_bcache()
The patch "bcache: rework error unwinding in register_bcache" introduces a use-after-free regression in register_bcache(). Here are current code, 2510 out_free_path: 2511 kfree(path); 2512 out_module_put: 2513 module_put(THIS_MODULE); 2514 out: 2515 pr_info("error %s: %s", path, err); 2516 return ret; If some error happens and the above code path is executed, at line 2511 path is released, but referenced at line 2515. Then KASAN reports a use- after-free error message. This patch changes line 2515 in the following way to fix the problem, 2515 pr_info("error %s: %s", path?path:"", err); Signed-off-by: Coly Li <colyli@suse.de> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
29cda393bc
commit
ae3cd29991
@ -2477,10 +2477,11 @@ out_free_sb:
|
||||
kfree(sb);
|
||||
out_free_path:
|
||||
kfree(path);
|
||||
path = NULL;
|
||||
out_module_put:
|
||||
module_put(THIS_MODULE);
|
||||
out:
|
||||
pr_info("error %s: %s", path, err);
|
||||
pr_info("error %s: %s", path?path:"", err);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user