diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 0034092358c3802242bc4cd4c65e8a7f8dcd67d9..125f4f8a36b4d104a6ac555fb802e342504fb4a3 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -746,7 +746,8 @@ int inet_diag_bc_sk(const struct nlattr *bc, struct sock *sk) else entry.mark = 0; #ifdef CONFIG_SOCK_CGROUP_DATA - entry.cgroup_id = cgroup_id(sock_cgroup_ptr(&sk->sk_cgrp_data)); + entry.cgroup_id = sk_fullsock(sk) ? + cgroup_id(sock_cgroup_ptr(&sk->sk_cgrp_data)) : 0; #endif return inet_diag_bc_run(bc, &entry);