summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-05-24 01:16:53 +0200
committerEric W. Biederman <ebiederm@xmission.com>2012-08-15 06:47:34 +0200
commit976d020150456fccbd34103fd117fab910eed09c (patch)
tree742f67a59f97d5cfdfef2d71094d2b2145553f3d
parentuserns: Convert __dev_set_promiscuity to use kuids in audit logs (diff)
downloadlinux-976d020150456fccbd34103fd117fab910eed09c.tar.xz
linux-976d020150456fccbd34103fd117fab910eed09c.zip
userns: Convert sock_i_uid to return a kuid_t
Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
-rw-r--r--include/net/sock.h2
-rw-r--r--net/core/sock.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index b3730239bf18..65c3d62bfa5a 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -1668,7 +1668,7 @@ static inline void sock_graft(struct sock *sk, struct socket *parent)
write_unlock_bh(&sk->sk_callback_lock);
}
-extern int sock_i_uid(struct sock *sk);
+extern kuid_t sock_i_uid(struct sock *sk);
extern unsigned long sock_i_ino(struct sock *sk);
static inline struct dst_entry *
diff --git a/net/core/sock.c b/net/core/sock.c
index 9c7fe4ff30fc..5c6a435717e0 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1526,12 +1526,12 @@ void sock_edemux(struct sk_buff *skb)
}
EXPORT_SYMBOL(sock_edemux);
-int sock_i_uid(struct sock *sk)
+kuid_t sock_i_uid(struct sock *sk)
{
- int uid;
+ kuid_t uid;
read_lock_bh(&sk->sk_callback_lock);
- uid = sk->sk_socket ? SOCK_INODE(sk->sk_socket)->i_uid : 0;
+ uid = sk->sk_socket ? SOCK_INODE(sk->sk_socket)->i_uid : GLOBAL_ROOT_UID;
read_unlock_bh(&sk->sk_callback_lock);
return uid;
}