From mboxrd@z Thu Jan 1 00:00:00 1970 From: elfring@users.sourceforge.net (SF Markus Elfring) Date: Sun, 16 Nov 2014 15:26:05 +0100 Subject: [Cocci] [PATCH 1/1] kprobes: Deletion of an unnecessary check before the function call "module_put" In-Reply-To: References: <5307CAA2.8060406@users.sourceforge.net> <530A086E.8010901@users.sourceforge.net> <530A72AA.3000601@users.sourceforge.net> <530B5FB6.6010207@users.sourceforge.net> <530C5E18.1020800@users.sourceforge.net> <530CD2C4.4050903@users.sourceforge.net> <530CF8FF.8080600@users.sourceforge.net> <530DD06F.4090703@users.sourceforge.net> <5317A59D.4@users.sourceforge.net> <546899CF.8020808@users.sourceforge.net> Message-ID: <5468B3FD.20409@users.sourceforge.net> To: cocci@systeme.lip6.fr List-Id: cocci@systeme.lip6.fr >> diff --git a/kernel/kprobes.c b/kernel/kprobes.c >> index 3995f54..f1e7d45 100644 >> --- a/kernel/kprobes.c >> +++ b/kernel/kprobes.c >> @@ -1527,8 +1527,7 @@ int register_kprobe(struct kprobe *p) >> out: >> mutex_unlock(&kprobe_mutex); >> >> - if (probed_mod) >> - module_put(probed_mod); >> + module_put(probed_mod); > > There is an out label, so please check whether the labels could not be > better positioned to avoid calling module_put when it is not needed. I do not see refactoring opportunities around jump labels in this use case for the implementation of the register_kprobe() function so far because the mutex_unlock() function must be called. Would you like to suggest any other source code fine-tuning? Regards, Markus