diff --git a/net/core/filter.c b/net/core/filter.c index 8cc3c03078b357003586d6dc4f9e10ac4e1d70f8..ec9baea10c16c78200ec1809a5491f3aa01e83de 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -1103,8 +1103,8 @@ int sk_attach_bpf(u32 ufd, struct sock *sk) return -EPERM; prog = bpf_prog_get(ufd); - if (!prog) - return -EINVAL; + if (IS_ERR(prog)) + return PTR_ERR(prog); if (prog->aux->prog_type != BPF_PROG_TYPE_SOCKET_FILTER) { /* valid fd, but invalid program type */