Commit 8c703d66 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Linus Torvalds

kernel/umh.c: optimize 'proc_cap_handler()'

If 'write' is 0, we can avoid a call to spin_lock/spin_unlock.

Link: http://lkml.kernel.org/r/20171020193331.7233-1-christophe.jaillet@wanadoo.frSigned-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: default avatarLuis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4ca59b14
...@@ -537,14 +537,14 @@ static int proc_cap_handler(struct ctl_table *table, int write, ...@@ -537,14 +537,14 @@ static int proc_cap_handler(struct ctl_table *table, int write,
/* /*
* Drop everything not in the new_cap (but don't add things) * Drop everything not in the new_cap (but don't add things)
*/ */
spin_lock(&umh_sysctl_lock);
if (write) { if (write) {
spin_lock(&umh_sysctl_lock);
if (table->data == CAP_BSET) if (table->data == CAP_BSET)
usermodehelper_bset = cap_intersect(usermodehelper_bset, new_cap); usermodehelper_bset = cap_intersect(usermodehelper_bset, new_cap);
if (table->data == CAP_PI) if (table->data == CAP_PI)
usermodehelper_inheritable = cap_intersect(usermodehelper_inheritable, new_cap); usermodehelper_inheritable = cap_intersect(usermodehelper_inheritable, new_cap);
}
spin_unlock(&umh_sysctl_lock); spin_unlock(&umh_sysctl_lock);
}
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment