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.fr Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Acked-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4ca59b14e5
commit
8c703d6604
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue