From: Eric Dumazet <eduma...@google.com> Date: Wed, 24 Apr 2019 09:44:11 -0700
> After commit 5271953cad31 ("rxrpc: Use the UDP encap_rcv hook"), > rxrpc_input_packet() is directly called from lockless UDP receive > path, under rcu_read_lock() protection. > > It must therefore use RCU rules : > > - udp_sk->sk_user_data can be cleared at any point in this function. > rcu_dereference_sk_user_data() is what we need here. > > - Also, since sk_user_data might have been set in rxrpc_open_socket() > we must observe a proper RCU grace period before kfree(local) in > rxrpc_lookup_local() > > v4: @local can be NULL in xrpc_lookup_local() as reported by kbuild test > robot <l...@intel.com> > and Julia Lawall <julia.law...@lip6.fr>, thanks ! > > v3,v2 : addressed David Howells feedback, thanks ! > > syzbot reported : ... > Fixes: 5271953cad31 ("rxrpc: Use the UDP encap_rcv hook") > Signed-off-by: Eric Dumazet <eduma...@google.com> > Reported-by: syzbot <syzkal...@googlegroups.com> > Acked-by: David Howells <dhowe...@redhat.com> Applied and queued up for v4.19+ -stable. Thanks.