Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7cb5a49 authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

userns: Print out socket uids in a user namespace aware fashion.



Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Sridhar Samudrala <sri@us.ibm.com>
Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
parent adb37c4c
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -1509,7 +1509,8 @@ struct tcp_iter_state {
	sa_family_t		family;
	sa_family_t		family;
	enum tcp_seq_states	state;
	enum tcp_seq_states	state;
	struct sock		*syn_wait_sk;
	struct sock		*syn_wait_sk;
	int			bucket, offset, sbucket, num, uid;
	int			bucket, offset, sbucket, num;
	kuid_t			uid;
	loff_t			last_pos;
	loff_t			last_pos;
};
};


+0 −6
Original line number Original line Diff line number Diff line
@@ -942,10 +942,7 @@ config UIDGID_CONVERTED
	depends on PROC_EVENTS = n
	depends on PROC_EVENTS = n


	# Networking
	# Networking
	depends on PACKET = n
	depends on NET_9P = n
	depends on NET_9P = n
	depends on IPX = n
	depends on PHONET = n
	depends on NET_CLS_FLOW = n
	depends on NET_CLS_FLOW = n
	depends on NETFILTER_XT_MATCH_OWNER = n
	depends on NETFILTER_XT_MATCH_OWNER = n
	depends on NETFILTER_XT_MATCH_RECENT = n
	depends on NETFILTER_XT_MATCH_RECENT = n
@@ -953,14 +950,11 @@ config UIDGID_CONVERTED
	depends on NETFILTER_NETLINK_LOG = n
	depends on NETFILTER_NETLINK_LOG = n
	depends on INET = n
	depends on INET = n
	depends on IPV6 = n
	depends on IPV6 = n
	depends on IP_SCTP = n
	depends on AF_RXRPC = n
	depends on AF_RXRPC = n
	depends on LLC2 = n
	depends on NET_KEY = n
	depends on NET_KEY = n
	depends on INET_DIAG = n
	depends on INET_DIAG = n
	depends on DNS_RESOLVER = n
	depends on DNS_RESOLVER = n
	depends on AX25 = n
	depends on AX25 = n
	depends on ATALK = n


	# Filesystems
	# Filesystems
	depends on USB_GADGETFS = n
	depends on USB_GADGETFS = n
+2 −1
Original line number Original line Diff line number Diff line
@@ -183,7 +183,8 @@ static int atalk_seq_socket_show(struct seq_file *seq, void *v)
		   ntohs(at->dest_net), at->dest_node, at->dest_port,
		   ntohs(at->dest_net), at->dest_node, at->dest_port,
		   sk_wmem_alloc_get(s),
		   sk_wmem_alloc_get(s),
		   sk_rmem_alloc_get(s),
		   sk_rmem_alloc_get(s),
		   s->sk_state, SOCK_INODE(s->sk_socket)->i_uid);
		   s->sk_state,
		   from_kuid_munged(seq_user_ns(seq), sock_i_uid(s)));
out:
out:
	return 0;
	return 0;
}
}
+3 −1
Original line number Original line Diff line number Diff line
@@ -845,7 +845,9 @@ static void ping_format_sock(struct sock *sp, struct seq_file *f,
		bucket, src, srcp, dest, destp, sp->sk_state,
		bucket, src, srcp, dest, destp, sp->sk_state,
		sk_wmem_alloc_get(sp),
		sk_wmem_alloc_get(sp),
		sk_rmem_alloc_get(sp),
		sk_rmem_alloc_get(sp),
		0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
		0, 0L, 0,
		from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)),
		0, sock_i_ino(sp),
		atomic_read(&sp->sk_refcnt), sp,
		atomic_read(&sp->sk_refcnt), sp,
		atomic_read(&sp->sk_drops), len);
		atomic_read(&sp->sk_drops), len);
}
}
+3 −1
Original line number Original line Diff line number Diff line
@@ -992,7 +992,9 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
		i, src, srcp, dest, destp, sp->sk_state,
		i, src, srcp, dest, destp, sp->sk_state,
		sk_wmem_alloc_get(sp),
		sk_wmem_alloc_get(sp),
		sk_rmem_alloc_get(sp),
		sk_rmem_alloc_get(sp),
		0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
		0, 0L, 0,
		from_kuid_munged(seq_user_ns(seq), sock_i_uid(sp)),
		0, sock_i_ino(sp),
		atomic_read(&sp->sk_refcnt), sp, atomic_read(&sp->sk_drops));
		atomic_read(&sp->sk_refcnt), sp, atomic_read(&sp->sk_drops));
}
}


Loading