Thread (31 messages) 31 messages, 2 authors, 2021-02-02

[RFC PATCH 02/20] loop: add lockdep assert in loop_add()

flat view
STALE2088d

From: Chaitanya Kulkarni <hidden>
Date: 2021-02-02 05:37:15
Subsystem: block layer, the rest · Maintainers: Jens Axboe, Linus Torvalds

In current code loop_add() is called from loop_probe(),
loop_control_ioctl(), and loop_init(). Each of these functions hold
global mutex lock loop_ctrl_mutex with two variants mutex_lock() and
mutex_lock_killable().

Add lockdep_asset_lock_held() in loop_add() to make sure it will
generate an appropriate error message in case of misuse.  

Signed-off-by: Chaitanya Kulkarni <redacted>
---
 drivers/block/loop.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 578fc034db3f..3bfdcabaf6b1 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -2081,6 +2081,8 @@ static int loop_add(struct loop_device **l, int i)
 	struct gendisk *disk;
 	int err;
 
+	lockdep_assert_held(&loop_ctl_mutex);
+
 	err = -ENOMEM;
 	lo = kzalloc(sizeof(*lo), GFP_KERNEL);
 	if (!lo)
-- 
2.22.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help