Messages in this thread | | | Date | Tue, 18 Dec 2018 00:18:28 +0100 | From | Stefano Brivio <> | Subject | Re: WARNING in __rcu_read_unlock |
| |
On Mon, 17 Dec 2018 16:53:36 +0100 Dmitry Vyukov <dvyukov@google.com> wrote:
> On Mon, Dec 17, 2018 at 4:24 PM Stefano Brivio <sbrivio@redhat.com> wrote: > > > > On Mon, 17 Dec 2018 06:57:35 -0800 > > Eric Dumazet <eric.dumazet@gmail.com> wrote: > > > > > Might be cause by commit b8a51b38e4d4dec3e379d52c0fe1a66827f7cf1e > > > fou, fou6: ICMP error handlers for FoU and GUE > > > > This: > > > > diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c > > index 0d0ad19ecb87..20a6de26d146 100644 > > --- a/net/ipv4/fou.c > > +++ b/net/ipv4/fou.c > > @@ -1008,6 +1008,9 @@ static int gue_err_proto_handler(int proto, struct sk_buff *skb, u32 info) > > { > > const struct net_protocol *ipprot = rcu_dereference(inet_protos[proto]); > > > > + if (ipprot == IPPROTO_UDP) > > + return -EINVAL; > > + > > if (ipprot && ipprot->err_handler) { > > if (!ipprot->err_handler(skb, info)) > > return 0; > > > > should fix the issue, but I still have to run tests and make sure we > > don't hit similar cases. > > Please don't forget to add a regression test for it too ;)
Where would you suggest to add this? The only selftest that goes through this path currently is net/pmtu.sh, but as configuration of an actual UDP-in-GUE tunnel is currently not supported, I would really need to forge that specific packet, so that doesn't seem to be a good fit.
Won't syzbot add this to some list of reproducers that are checked in the future?
-- Stefano
| |