On Tue, Mar 31, 2020 at 09:46:40PM +0100, Jules Irenge wrote: > 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> Acked-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> Luis > --- > 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 >