[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190424.141256.91264571846390685.davem@davemloft.net>
Date: Wed, 24 Apr 2019 14:12:56 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: edumazet@...gle.com
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com,
syzkaller@...glegroups.com, dhowells@...hat.com
Subject: Re: [PATCH v4 net] rxrpc: fix race condition in
rxrpc_input_packet()
From: Eric Dumazet <edumazet@...gle.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 <lkp@...el.com>
> and Julia Lawall <julia.lawall@...6.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 <edumazet@...gle.com>
> Reported-by: syzbot <syzkaller@...glegroups.com>
> Acked-by: David Howells <dhowells@...hat.com>
Applied and queued up for v4.19+ -stable.
Thanks.
Powered by blists - more mailing lists