Message ID | 20200731041720.61187-1-jasowang@redhat.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net-next] tun: add missing rcu annotation in tun_set_ebpf() | expand |
From: Jason Wang <jasowang@redhat.com> Date: Fri, 31 Jul 2020 00:17:20 -0400 > We expecte prog_p to be protected by rcu, so adding the rcu annotation > to fix the following sparse warning: > > drivers/net/tun.c:3003:36: warning: incorrect type in argument 2 (different address spaces) > drivers/net/tun.c:3003:36: expected struct tun_prog [noderef] __rcu **prog_p > drivers/net/tun.c:3003:36: got struct tun_prog **prog_p > drivers/net/tun.c:3292:42: warning: incorrect type in argument 2 (different address spaces) > drivers/net/tun.c:3292:42: expected struct tun_prog **prog_p > drivers/net/tun.c:3292:42: got struct tun_prog [noderef] __rcu ** > drivers/net/tun.c:3296:42: warning: incorrect type in argument 2 (different address spaces) > drivers/net/tun.c:3296:42: expected struct tun_prog **prog_p > drivers/net/tun.c:3296:42: got struct tun_prog [noderef] __rcu ** > > Reported-by: Michael S. Tsirkin <mst@redhat.com> > Signed-off-by: Jason Wang <jasowang@redhat.com> Applied, thanks.
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 7adeb91bd368..9b4b25358f9b 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -2983,7 +2983,7 @@ static int tun_set_queue(struct file *file, struct ifreq *ifr) return ret; } -static int tun_set_ebpf(struct tun_struct *tun, struct tun_prog **prog_p, +static int tun_set_ebpf(struct tun_struct *tun, struct tun_prog __rcu **prog_p, void __user *data) { struct bpf_prog *prog;
We expecte prog_p to be protected by rcu, so adding the rcu annotation to fix the following sparse warning: drivers/net/tun.c:3003:36: warning: incorrect type in argument 2 (different address spaces) drivers/net/tun.c:3003:36: expected struct tun_prog [noderef] __rcu **prog_p drivers/net/tun.c:3003:36: got struct tun_prog **prog_p drivers/net/tun.c:3292:42: warning: incorrect type in argument 2 (different address spaces) drivers/net/tun.c:3292:42: expected struct tun_prog **prog_p drivers/net/tun.c:3292:42: got struct tun_prog [noderef] __rcu ** drivers/net/tun.c:3296:42: warning: incorrect type in argument 2 (different address spaces) drivers/net/tun.c:3296:42: expected struct tun_prog **prog_p drivers/net/tun.c:3296:42: got struct tun_prog [noderef] __rcu ** Reported-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com> --- drivers/net/tun.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)