Commit 4bf2ea77dba76a22f49db3c10773896aaeeb8f66

Authored by Eric Paris
Committed by James Morris
1 parent 17f60a7da1

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>

Showing 1 changed file with 4 additions and 9 deletions Side-by-side Diff

security/commoncap.c
... ... @@ -529,15 +529,10 @@
529 529 new->suid = new->fsuid = new->euid;
530 530 new->sgid = new->fsgid = new->egid;
531 531  
532   - /* For init, we want to retain the capabilities set in the initial
533   - * task. Thus we skip the usual capability rules
534   - */
535   - if (!is_global_init(current)) {
536   - if (effective)
537   - new->cap_effective = new->cap_permitted;
538   - else
539   - cap_clear(new->cap_effective);
540   - }
  532 + if (effective)
  533 + new->cap_effective = new->cap_permitted;
  534 + else
  535 + cap_clear(new->cap_effective);
541 536 bprm->cap_effective = effective;
542 537  
543 538 /*