Skip to content

Commit

Permalink
samples/seccomp: Enable PR_SET_NO_NEW_PRIVS in dropper
Browse files Browse the repository at this point in the history
Either CAP_SYS_ADMIN or PR_SET_NO_NEW_PRIVS is required to enable
seccomp. This allows samples/seccomp/dropper to be run without
CAP_SYS_ADMIN.

Signed-off-by: Ricky Zhou <[email protected]>
Signed-off-by: Kees Cook <[email protected]>
  • Loading branch information
rickyz authored and kees committed Nov 1, 2016
1 parent 0af04ba commit 1ff1205
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions samples/seccomp/dropper.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
* When run, returns the specified errno for the specified
* system call number against the given architecture.
*
* Run this one as root as PR_SET_NO_NEW_PRIVS is not called.
*/

#include <errno.h>
Expand Down Expand Up @@ -42,8 +41,12 @@ static int install_filter(int nr, int arch, int error)
.len = (unsigned short)(sizeof(filter)/sizeof(filter[0])),
.filter = filter,
};
if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {
perror("prctl(NO_NEW_PRIVS)");
return 1;
}
if (prctl(PR_SET_SECCOMP, 2, &prog)) {
perror("prctl");
perror("prctl(PR_SET_SECCOMP)");
return 1;
}
return 0;
Expand Down

0 comments on commit 1ff1205

Please sign in to comment.