From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932838AbcCKRMM (ORCPT ); Fri, 11 Mar 2016 12:12:12 -0500 Received: from mail-yk0-f182.google.com ([209.85.160.182]:36425 "EHLO mail-yk0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932643AbcCKRMJ (ORCPT ); Fri, 11 Mar 2016 12:12:09 -0500 Date: Fri, 11 Mar 2016 12:12:05 -0500 From: Tejun Heo To: Jiri Slaby Cc: Dmitry Vyukov , Marcel Holtmann , Gustavo Padovan , Johan Hedberg , "David S. Miller" , linux-bluetooth@vger.kernel.org, netdev , LKML , syzkaller , Kostya Serebryany , Alexander Potapenko , Sasha Levin , Eric Dumazet , Takashi Iwai Subject: Re: net/bluetooth: workqueue destruction WARNING in hci_unregister_dev Message-ID: <20160311171205.GB24046@htj.duckdns.org> References: <56C5CE85.6090808@suse.cz> <20160218174427.GG13177@mtj.duckdns.org> <56C6EC62.8080107@suse.cz> <56C70618.3010902@suse.cz> <20160302154507.GC4282@mtj.duckdns.org> <56D7FFE1.90900@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56D7FFE1.90900@suse.cz> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Sorry about the delay. On Thu, Mar 03, 2016 at 10:12:01AM +0100, Jiri Slaby wrote: > On 03/02/2016, 04:45 PM, Tejun Heo wrote: > > On Fri, Feb 19, 2016 at 01:10:00PM +0100, Jiri Slaby wrote: > >>> 1. didn't help, the problem persists. So I haven't applied the patch from 2. > >> > >> FWIW I dumped more info about the wq: > >> wq->name='hci0' pwq=ffff8800390d7600 wq->dfl_pwq=ffff8800390d5200 > >> pwq->refcnt=2 pwq->nr_active=0 delayed_works: > > > > Can you please print out the same info for all pwq's during shutdown? > > It looks like we're leaking pwq refcnt but I can't spot a place where > > that could happen on an empty pwq. > > I have not done that yet, but today, I see: > destroy_workqueue: name='req_hci0' pwq=ffff88002f590300 > wq->dfl_pwq=ffff88002f591e00 pwq->refcnt=2 pwq->nr_active=0 delayed_works: > pwq 12: cpus=0-1 node=0 flags=0x4 nice=-20 active=0/1 > in-flight: 18568:wq_barrier_func So, this means that there's flush_work() racing against workqueue destruction, which can't be safe. :( Thanks. -- tejun