Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753151AbdCNO65 (ORCPT ); Tue, 14 Mar 2017 10:58:57 -0400 Received: from mail-ua0-f178.google.com ([209.85.217.178]:36120 "EHLO mail-ua0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750805AbdCNO6x (ORCPT ); Tue, 14 Mar 2017 10:58:53 -0400 MIME-Version: 1.0 In-Reply-To: References: <1489502504.28631.115.camel@edumazet-glaptop3.roam.corp.google.com> From: Dmitry Vyukov Date: Tue, 14 Mar 2017 15:58:31 +0100 Message-ID: Subject: Re: net: deadlock between ip_expire/sch_direct_xmit To: Eric Dumazet Cc: Eric Dumazet , David Miller , Cong Wang , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy , netdev , LKML , Jamal Hadi Salim , syzkaller Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 931 Lines: 26 On Tue, Mar 14, 2017 at 3:56 PM, Eric Dumazet wrote: > On Tue, Mar 14, 2017 at 7:46 AM, Dmitry Vyukov wrote: > >> I am confused. Lockdep has observed both of these stacks: >> >> CPU0 CPU1 >> ---- ---- >> lock(&(&q->lock)->rlock); >> lock(_xmit_ETHER#2); >> lock(&(&q->lock)->rlock); >> lock(_xmit_ETHER#2); >> >> >> So it somehow happened. Or what do you mean? >> > > Lockdep said " possible circular locking dependency detected " . > It is not an actual deadlock, but lockdep machinery firing. > > For a dead lock to happen, this would require that he ICMP message > sent by ip_expire() is itself fragmented and reassembled. > This cannot be, because ICMP messages are not candidates for > fragmentation, but lockdep can not know that of course... Ah, I see. Thanks.