Skip to content

Commit

Permalink
userns: net: Call key_alloc with GLOBAL_ROOT_UID, GLOBAL_ROOT_GID ins…
Browse files Browse the repository at this point in the history
…tead of 0, 0

In net/dns_resolver/dns_key.c and net/rxrpc/ar-key.c make them
work with user namespaces enabled where key_alloc takes kuids and kgids.
Pass GLOBAL_ROOT_UID and GLOBAL_ROOT_GID instead of bare 0's.

Cc: Sage Weil <[email protected]>
Cc: [email protected]
Cc: David Howells <[email protected]>
Cc: David Miller <[email protected]>
Cc: [email protected]
Acked-by: Serge Hallyn <[email protected]>
Signed-off-by: Eric W. Biederman <[email protected]>
  • Loading branch information
ebiederm committed Sep 14, 2012
1 parent 9a56c2d commit c608973
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
2 changes: 0 additions & 2 deletions init/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -938,8 +938,6 @@ config UIDGID_CONVERTED

# Networking
depends on NET_9P = n
depends on AF_RXRPC = n
depends on DNS_RESOLVER = n

# Filesystems
depends on USB_GADGETFS = n
Expand Down
3 changes: 2 additions & 1 deletion net/dns_resolver/dns_key.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,8 @@ static int __init init_dns_resolver(void)
if (!cred)
return -ENOMEM;

keyring = key_alloc(&key_type_keyring, ".dns_resolver", 0, 0, cred,
keyring = key_alloc(&key_type_keyring, ".dns_resolver",
GLOBAL_ROOT_UID, GLOBAL_ROOT_GID, cred,
(KEY_POS_ALL & ~KEY_POS_SETATTR) |
KEY_USR_VIEW | KEY_USR_READ,
KEY_ALLOC_NOT_IN_QUOTA);
Expand Down
6 changes: 4 additions & 2 deletions net/rxrpc/ar-key.c
Original file line number Diff line number Diff line change
Expand Up @@ -948,7 +948,8 @@ int rxrpc_get_server_data_key(struct rxrpc_connection *conn,

_enter("");

key = key_alloc(&key_type_rxrpc, "x", 0, 0, cred, 0,
key = key_alloc(&key_type_rxrpc, "x",
GLOBAL_ROOT_UID, GLOBAL_ROOT_GID, cred, 0,
KEY_ALLOC_NOT_IN_QUOTA);
if (IS_ERR(key)) {
_leave(" = -ENOMEM [alloc %ld]", PTR_ERR(key));
Expand Down Expand Up @@ -994,7 +995,8 @@ struct key *rxrpc_get_null_key(const char *keyname)
struct key *key;
int ret;

key = key_alloc(&key_type_rxrpc, keyname, 0, 0, cred,
key = key_alloc(&key_type_rxrpc, keyname,
GLOBAL_ROOT_UID, GLOBAL_ROOT_GID, cred,
KEY_POS_SEARCH, KEY_ALLOC_NOT_IN_QUOTA);
if (IS_ERR(key))
return key;
Expand Down

0 comments on commit c608973

Please sign in to comment.