[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iJq0v5=M7OTPE8WGZ4bNiYzO-KW3E8SRHOzf_q9nHPZEw@mail.gmail.com>
Date: Fri, 18 Nov 2022 04:36:31 -0800
From: Eric Dumazet <edumazet@...gle.com>
To: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>
Cc: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
David Ahern <dsahern@...nel.org>,
Jakub Sitnicki <jakub@...udflare.com>,
Tom Parkin <tparkin@...alix.com>,
syzbot <syzbot+703d9e154b3b58277261@...kaller.appspotmail.com>,
netdev@...r.kernel.org, syzkaller-bugs@...glegroups.com,
Haowei Yan <g1042620637@...il.com>
Subject: Re: [PATCH 6.1-rc6] l2tp: call udp_tunnel_encap_enable() and
sock_release() without sk_callback_lock
On Fri, Nov 18, 2022 at 3:51 AM Tetsuo Handa
<penguin-kernel@...ove.sakura.ne.jp> wrote:
>
> syzbot is reporting sleep in atomic context at l2tp_tunnel_register() [1],
> for commit b68777d54fac ("l2tp: Serialize access to sk_user_data with
> sk_callback_lock") missed that udp_tunnel_encap_enable() from
> setup_udp_tunnel_sock() might sleep.
>
> Since we don't want to drop sk->sk_callback_lock inside
> setup_udp_tunnel_sock() right before calling udp_tunnel_encap_enable(),
> introduce a variant which does not call udp_tunnel_encap_enable(). And
> call udp_tunnel_encap_enable() after dropping sk->sk_callback_lock.
>
> Also, drop sk->sk_callback_lock before calling sock_release() in order to
> avoid circular locking dependency problem.
Please look at recent discussion, your patch does not address another
fundamental problem.
Also, Jakub was working on a fix already. Perhaps sync with him to
avoid duplicate work.
https://lore.kernel.org/netdev/20221114191619.124659-1-jakub@cloudflare.com/T/
Thanks.
Powered by blists - more mailing lists