From: Christoph Hellwig Date: Thu, 23 Jul 2020 06:08:45 +0000 (+0200) Subject: bpfilter: reject kernel addresses X-Git-Tag: v5.9-rc1~133^2~136^2~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d200cf624c9247ab52b67d34d9e198262a23df31;p=thirdparty%2Flinux.git bpfilter: reject kernel addresses The bpfilter user mode helper processes the optval address using process_vm_readv. Don't send it kernel addresses fed under set_fs(KERNEL_DS) as that won't work. Signed-off-by: Christoph Hellwig Signed-off-by: David S. Miller --- diff --git a/net/bpfilter/bpfilter_kern.c b/net/bpfilter/bpfilter_kern.c index 78d561f2c54da..00540457e5f4d 100644 --- a/net/bpfilter/bpfilter_kern.c +++ b/net/bpfilter/bpfilter_kern.c @@ -70,6 +70,10 @@ static int bpfilter_process_sockopt(struct sock *sk, int optname, .addr = (uintptr_t)optval, .len = optlen, }; + if (uaccess_kernel()) { + pr_err("kernel access not supported\n"); + return -EFAULT; + } return bpfilter_send_req(&req); }