Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp8914612rwb; Thu, 24 Nov 2022 05:57:51 -0800 (PST) X-Google-Smtp-Source: AA0mqf6Ks8C9ctpI7OJGB81gqzvmrxSKrNFA9LTmArzy8lZqrh4DXFZT4ilt/Qk3AFsV4xdJf3lp X-Received: by 2002:a17:906:2342:b0:78d:9e77:1f8c with SMTP id m2-20020a170906234200b0078d9e771f8cmr19477170eja.236.1669298271549; Thu, 24 Nov 2022 05:57:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669298271; cv=none; d=google.com; s=arc-20160816; b=Yanj/Rdsfs8A38b8M418HN75rp1zKYQZ/f0HPGf03Y+Ux2SpnnGFoJMMmt4VPzrram qGEQJSPmz/PaAfLHn4l8alFkOMLa5vL/24rxJkJqejDhMOXCVK/9arvPuxeApbIl0z9N a1KZNe7eKBVe/+SpVPANucrZEGe7dXNpmDZAXxRF08B3Ev9xGi8xFdbP1cM/8JDl+2Ws 7IxtjLGvP/pe4cuCkZjJwSYAQUQtIHzbteHJ1Zclg0n+yTXmrSi+pcuP9nmO1lNgDRbS Bx8vD7S+U3GyELMkzth53HcZnjENnlOaC+J8QmBSGn0q2XV4z6pl+xg1icjBF5KH0R1D uzSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:message-id:in-reply-to :subject:cc:to:from:dkim-signature:dkim-signature:date; bh=L38wN5RSHd5FCEARF7VhEM6L+ZXyHvAmeQENCVMiFLY=; b=SsYraUIkJBV7c+jGkVxjTNu7AaeXpXzAvbMr0V28IiF+NRX04mINc2oe3HJvWY0cm3 OnxHrNhnQBFvUkdKh+9A8Yjqn3fH9m8TyVkkx5I2C4m4iztB7ARoX8UY6SrAlNxTFxpY Ibldp4yuqBynwvY9NogpzhlFXI4Q96RIOUr0y8CjlVfK24npGR8b447ATAZ48WIR0CV3 RhK8SGQUH1WsmmDaD22g8MDZzroeh82gPjaoZxmzvg1e5WOVpbrGZWd71CpBgOmrVMEo rnK0lsDcV9NMaiY6bEKoqp24sVkK/eBB+OddLG0rWUJ0zpn5MGzyIrmFRr0dwQvEf3Kq qWNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=hc9zgftn; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qo14-20020a170907874e00b0078315844537si868717ejc.378.2022.11.24.05.57.19; Thu, 24 Nov 2022 05:57:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=hc9zgftn; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230117AbiKXN5C (ORCPT + 99 others); Thu, 24 Nov 2022 08:57:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49498 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230221AbiKXN44 (ORCPT ); Thu, 24 Nov 2022 08:56:56 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28BB7116589; Thu, 24 Nov 2022 05:56:38 -0800 (PST) Date: Thu, 24 Nov 2022 14:56:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1669298196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=L38wN5RSHd5FCEARF7VhEM6L+ZXyHvAmeQENCVMiFLY=; b=hc9zgftn9z12KNvF8vJKaZZVk8vf1B4vcVAismXLpbvgf2eck3Q6kvc8ETKIZqg4OAEXGY tbz0eq5xH9edMm9Rqgba2HaJAH5dK87MhCH2RnlcAdmjwheMFpuy4tA51Ij9frOoKN0lyd TyYdAIplmL/hFOvdRVD+aqEMTelik6YxRT3bOwjFOeI23LYGPHaxOXpu4ia/MQetNSwM2c V56Wp+MJPkPSoVTpZaBzj3oYlpdqGG/1LI8+JmKnmyPOJF1tl7Et4cEPkOvfV9QbOO+W57 51v21CqNNg/KONJ6bm/hneK8GvjFATO64OlwqNko3N+7X0UV6ixGwD3z8z4q3g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1669298196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=L38wN5RSHd5FCEARF7VhEM6L+ZXyHvAmeQENCVMiFLY=; b=Z5KNNOk+gsBVb3LEJODz/5FwbcRsWDNMomH9vIslRMdYdscg1beV7gcH9Z+xhUcp4eZOEM I1PIcSOufCO9sgBA== From: Anna-Maria Behnsen To: Thomas Gleixner cc: LKML , Linus Torvalds , Steven Rostedt , Peter Zijlstra , Stephen Boyd , Guenter Roeck , Andrew Morton , Julia Lawall , Arnd Bergmann , Viresh Kumar , Marc Zyngier , Marcel Holtmann , Johan Hedberg , Luiz Augusto von Dentz , linux-bluetooth@vger.kernel.org, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, Jacob Keller Subject: Re: [patch V3 17/17] Bluetooth: hci_qca: Fix the teardown problem for real In-Reply-To: <20221123201625.435907114@linutronix.de> Message-ID: <21108e77-f67d-528-dd61-249c5ebe217f@linutronix.de> References: <20221123201306.823305113@linutronix.de> <20221123201625.435907114@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org On Wed, 23 Nov 2022, Thomas Gleixner wrote: > While discussing solutions for the teardown problem which results from > circular dependencies between timers and workqueues, where timers schedule > work from their timer callback and workqueues arm the timers from work > items, it was discovered that the recent fix to the QCA code is incorrect. > > That commit fixes the obvious problem of using del_timer() instead of > del_timer_sync() and reorders the teardown calls to > > destroy_workqueue(wq); > del_timer_sync(t); > > This makes it less likely to explode, but it's still broken: > > destroy_workqueue(wq); > /* After this point @wq cannot be touched anymore */ > > ---> timer expires > queue_work(wq) <---- Results in a NULl pointer dereference The last NIT (for now...): s/NULl/NULL Thanks, Anna-Maria