Sparse reports a warning at start_unregistering() warning: context imbalance in start_unregistering() - unexpected unlock The root cause is the missing annotation at start_unregistering() Add the missing __must_hold(&sysctl_lock) annotation. Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx> --- fs/proc/proc_sysctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c index c75bb4632ed1..d1b5e2b35564 100644 --- a/fs/proc/proc_sysctl.c +++ b/fs/proc/proc_sysctl.c @@ -307,6 +307,7 @@ static void proc_sys_prune_dcache(struct ctl_table_header *head) /* called under sysctl_lock, will reacquire if has to wait */ static void start_unregistering(struct ctl_table_header *p) + __must_hold(&sysctl_lock) { /* * if p->used is 0, nobody will ever touch that entry again; -- 2.24.1