From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Abeni Subject: Re: net: deadlock between ip_expire/sch_direct_xmit Date: Tue, 14 Mar 2017 16:34:18 +0100 Message-ID: <1489505658.2413.12.camel@redhat.com> References: <1489502504.28631.115.camel@edumazet-glaptop3.roam.corp.google.com> <1489503785.2413.10.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Eric Dumazet , Dmitry Vyukov , David Miller , Cong Wang , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy , netdev , LKML , Jamal Hadi Salim , syzkaller To: Eric Dumazet Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Tue, 2017-03-14 at 08:09 -0700, Eric Dumazet wrote: > On Tue, Mar 14, 2017 at 8:03 AM, Paolo Abeni wrote: > > > I'm wondering if we really need to keep the fragment queue lock held > > while sending the icmp packet ? we hold a reference to the struct, so > > it can't be deleted, and AFAICS after ipq_kill() nobody else could > > access/modify that queue. > > > > That lock is there pretty much forever, but perhaps is only a leftover > > and we can release it just after ipq_kill() ? > > Maybe, but for peace of mind I would make sure this code path owns the > skb (head) before releasing the lock. > > Seems something to try for net-next ? Agreed. I asked because I was in doubt I missed something obvious. Thank you, Paolo