Skip to content

Commit

Permalink
net: Use ns_capable_noaudit() when determining net sysctl permissions
Browse files Browse the repository at this point in the history
The capability check should not be audited since it is only being used
to determine the inode permissions. A failed check does not indicate a
violation of security policy but, when an LSM is enabled, a denial audit
message was being generated.

The denial audit message caused confusion for some application authors
because root-running Go applications always triggered the denial. To
prevent this confusion, the capability check in net_ctl_permissions() is
switched to the noaudit variant.

BugLink: https://launchpad.net/bugs/1465724

Signed-off-by: Tyler Hicks <[email protected]>
Acked-by: Serge E. Hallyn <[email protected]>
Signed-off-by: James Morris <[email protected]>
[dtor: reapplied after e79c6a4 ("net: make net namespace sysctls
belong to container's owner") accidentally reverted the change.]
Signed-off-by: Dmitry Torokhov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
tyhicks authored and davem330 committed Oct 1, 2016
1 parent 8037838 commit d6169b0
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/sysctl_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ static int net_ctl_permissions(struct ctl_table_header *head,
struct net *net = container_of(head->set, struct net, sysctls);

/* Allow network administrator to have same access as root. */
if (ns_capable(net->user_ns, CAP_NET_ADMIN)) {
if (ns_capable_noaudit(net->user_ns, CAP_NET_ADMIN)) {
int mode = (table->mode >> 6) & 7;
return (mode << 6) | (mode << 3) | mode;
}
Expand Down

0 comments on commit d6169b0

Please sign in to comment.