aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sock.h')
-rw-r--r--include/net/sock.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index 72132aef53fc..84bdaeca1314 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -606,6 +606,15 @@ static inline void sk_add_bind_node(struct sock *sk,
606#define sk_for_each_bound(__sk, node, list) \ 606#define sk_for_each_bound(__sk, node, list) \
607 hlist_for_each_entry(__sk, node, list, sk_bind_node) 607 hlist_for_each_entry(__sk, node, list, sk_bind_node)
608 608
609static inline struct user_namespace *sk_user_ns(struct sock *sk)
610{
611 /* Careful only use this in a context where these parameters
612 * can not change and must all be valid, such as recvmsg from
613 * userspace.
614 */
615 return sk->sk_socket->file->f_cred->user_ns;
616}
617
609/* Sock flags */ 618/* Sock flags */
610enum sock_flags { 619enum sock_flags {
611 SOCK_DEAD, 620 SOCK_DEAD,
@@ -1670,7 +1679,7 @@ static inline void sock_graft(struct sock *sk, struct socket *parent)
1670 write_unlock_bh(&sk->sk_callback_lock); 1679 write_unlock_bh(&sk->sk_callback_lock);
1671} 1680}
1672 1681
1673extern int sock_i_uid(struct sock *sk); 1682extern kuid_t sock_i_uid(struct sock *sk);
1674extern unsigned long sock_i_ino(struct sock *sk); 1683extern unsigned long sock_i_ino(struct sock *sk);
1675 1684
1676static inline struct dst_entry * 1685static inline struct dst_entry *