Fix leaking of kernel heap addresses in net/
Subsystems (4)
PATCH 7/10 Fix leaking of kernel heap addresses in net/
net/packet/af_packet.c +25 -11
@@ -2635,17 +2635,31 @@ static int packet_seq_show(struct seq_file *seq, void *v)struct sock *s =sk_entry (v);const struct packet_sock *po =pkt_sk (s); -seq_printf (seq, -"%p %-6d %-4d %04x %-5d %1d %-6u %-6u %-6lu\n" , - s, -atomic_read (&s->sk_refcnt), - s->sk_type, -ntohs (po->num), - po->ifindex, - po->running, -atomic_read (&s->sk_rmem_alloc), -sock_i_uid (s), -sock_i_ino (s)); +/* Only expose kernel addresses to privileged readers */ +if (capable (CAP_NET_ADMIN )) +seq_printf (seq, +"%p %-6d %-4d %04x %-5d %1d %-6u %-6u %-6lu\n" , + s, +atomic_read (&s->sk_refcnt), + s->sk_type, +ntohs (po->num), + po->ifindex, + po->running, +atomic_read (&s->sk_rmem_alloc), +sock_i_uid (s), +sock_i_ino (s)); +else +seq_printf (seq, +"%d %-6d %-4d %04x %-5d %1d %-6u %-6u %-6lu\n" , +0 , +atomic_read (&s->sk_refcnt), + s->sk_type, +ntohs (po->num), + po->ifindex, + po->running, +atomic_read (&s->sk_rmem_alloc), +sock_i_uid (s), +sock_i_ino (s)); }return 0 ;