diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c index d79866c5f8bc51dac4cc4f3445a88f8ac1e6babf..817622f3dbb79e3f94ec5257be032ec5574185d6 100644 --- a/net/core/sock_diag.c +++ b/net/core/sock_diag.c @@ -90,6 +90,9 @@ int sock_diag_put_filterinfo(bool may_report_filterinfo, struct sock *sk, goto out; fprog = filter->prog->orig_prog; + if (!fprog) + goto out; + flen = bpf_classic_proglen(fprog); attr = nla_reserve(skb, attrtype, flen);