capabilities: do not special case exec of init
When the global init task is exec'd we have special case logic to make sure the pE is not reduced. There is no reason for this. If init wants to drop it's pE is should be allowed to do so. Remove this special logic. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Serge Hallyn <serge@hallyn.com> Acked-by: David Howells <dhowells@redhat.com> Acked-by: Andrew G. Morgan <morgan@kernel.org> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
17f60a7da1
commit
4bf2ea77db
|
@ -529,15 +529,10 @@ skip:
|
||||||
new->suid = new->fsuid = new->euid;
|
new->suid = new->fsuid = new->euid;
|
||||||
new->sgid = new->fsgid = new->egid;
|
new->sgid = new->fsgid = new->egid;
|
||||||
|
|
||||||
/* For init, we want to retain the capabilities set in the initial
|
|
||||||
* task. Thus we skip the usual capability rules
|
|
||||||
*/
|
|
||||||
if (!is_global_init(current)) {
|
|
||||||
if (effective)
|
if (effective)
|
||||||
new->cap_effective = new->cap_permitted;
|
new->cap_effective = new->cap_permitted;
|
||||||
else
|
else
|
||||||
cap_clear(new->cap_effective);
|
cap_clear(new->cap_effective);
|
||||||
}
|
|
||||||
bprm->cap_effective = effective;
|
bprm->cap_effective = effective;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue