From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751368AbdBJFSD (ORCPT ); Fri, 10 Feb 2017 00:18:03 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38138 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750940AbdBJFSC (ORCPT ); Fri, 10 Feb 2017 00:18:02 -0500 Subject: Re: net: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected in skb_array_produce To: "Michael S. Tsirkin" References: <50038580.20299907.1486634551103.JavaMail.zimbra@redhat.com> <20170209200936-mutt-send-email-mst@kernel.org> Cc: Dmitry Vyukov , David Miller , Eric Dumazet , LKML , Cong Wang , netdev , syzkaller From: Jason Wang Message-ID: Date: Fri, 10 Feb 2017 13:17:36 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <20170209200936-mutt-send-email-mst@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 10 Feb 2017 05:17:49 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2017年02月10日 02:10, Michael S. Tsirkin wrote: > On Thu, Feb 09, 2017 at 05:02:31AM -0500, Jason Wang wrote: >> ----- Original Message ----- >>> Hello, >>> >>> I've got the following report while running syzkaller fuzzer on mmotm >>> (git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git) >>> remotes/mmotm/auto-latest ee4ba7533626ba7bf2f8b992266467ac9fdc045e: >>> >> [...] >> >>> other info that might help us debug this: >>> >>> Possible interrupt unsafe locking scenario: >>> >>> CPU0 CPU1 >>> ---- ---- >>> lock(&(&r->consumer_lock)->rlock); >>> local_irq_disable(); >>> lock(&(&r->producer_lock)->rlock); >>> lock(&(&r->consumer_lock)->rlock); >>> >>> lock(&(&r->producer_lock)->rlock); >>> >> Thanks a lot for the testing. >> >> Looks like we could address this by using skb_array_consume_bh() instead. >> >> Could you pls verify if the following patch works? > I think we should use _bh for the produce call as well, > since resizing takes the producer lock. Looks not since irq was disabled during resizing? Thanks