mirror of https://github.com/OpenIPC/firmware.git
32 lines
1002 B
Diff
32 lines
1002 B
Diff
diff -drupN a/include/net/sock.h b/include/net/sock.h
|
|
--- a/include/net/sock.h 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/include/net/sock.h 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -419,6 +419,7 @@ struct sock {
|
|
u32 sk_max_ack_backlog;
|
|
__u32 sk_priority;
|
|
__u32 sk_mark;
|
|
+ kuid_t sk_uid;
|
|
struct pid *sk_peer_pid;
|
|
const struct cred *sk_peer_cred;
|
|
long sk_rcvtimeo;
|
|
@@ -1647,6 +1648,7 @@ static inline void sock_graft(struct soc
|
|
sk->sk_wq = parent->wq;
|
|
parent->sk = sk;
|
|
sk_set_socket(sk, parent);
|
|
+ sk->sk_uid = SOCK_INODE(parent)->i_uid;
|
|
security_sock_graft(sk, parent);
|
|
write_unlock_bh(&sk->sk_callback_lock);
|
|
}
|
|
@@ -1654,6 +1656,11 @@ static inline void sock_graft(struct soc
|
|
kuid_t sock_i_uid(struct sock *sk);
|
|
unsigned long sock_i_ino(struct sock *sk);
|
|
|
|
+static inline kuid_t sock_net_uid(const struct net *net, const struct sock *sk)
|
|
+{
|
|
+ return sk ? sk->sk_uid : make_kuid(net->user_ns, 0);
|
|
+}
|
|
+
|
|
static inline u32 net_tx_rndhash(void)
|
|
{
|
|
u32 v = prandom_u32();
|