Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp2493979pxy; Mon, 3 May 2021 00:57:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTmO5/0lfIssM0hi1sTXH3CjSY6RLb1eHbOtjsY6zBjTab8bWHbaGprCOjASV9PwxAihkU X-Received: by 2002:a63:5a26:: with SMTP id o38mr3237093pgb.172.1620028662275; Mon, 03 May 2021 00:57:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620028662; cv=none; d=google.com; s=arc-20160816; b=TLmDB2X0drnaF1l1lzEb8L3YCedqoKqKb1cUIUvUu81mAjJh/yXUGzukInoKAbE4dv Lzy/FoDPJQ/ZALMx2reVTWV7UlbQBM5O+T8brJthHDWkSNqloLCuJWlHzDKLwzidsqfm ZDyyfsfOBZa5PDWI4DCNWPT26zhcJG/+hheXiqQ7vwjEmgC9b9QzCgCGBsHOogB60sN0 cqUmOzcj9dlIqHtxyzt5j8SXgcd95SwU8tB60SXS7U+SPPqafi3VEP7aUFK2EcYsuoWm T6c9QkzmAHZkq8WHfblQh9HiACee5GO5o+XVB4SXoBuKZw7A/7Vl2T7O7wo4qjmwuImp 3FtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=B1GD7jOmIDkt7NxWuxSzfNr/8g6d3nWgMdWS9cSeF4U=; b=khrJBz1SYHd2AU6Y6egnGFXpjrvSZn56iFNMEDZZl3h9elSf+m38EY2UtAzWFPpo6l 9GBfip7jbnD3tVykrcILwAwv7qgVkrGW/I3FZWt6e2GbABAEpsFbTwNH74TMm1FN1ohp 3QX7bqFWn/JMGq5dGo1fmHjAzSii8bYQ3MApR5PJfoWFr1vriVoazzd11A3/yPeRLMOM hvN/WceRO/4M09PGm7B4zhWqIL3XaLY4c43Sa65tdz9yFO9hUX9z5iemsiyEYpF5viiO nO12gUQY48pCc1niM4Wm4NOMzIMJlZLerRAIVX9Gl2BSvM7YIAlOFVOfIq9rhUluTR8r vLTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PWag9VQ9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b1si194271pfi.183.2021.05.03.00.57.29; Mon, 03 May 2021 00:57:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PWag9VQ9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232956AbhECH5z (ORCPT + 99 others); Mon, 3 May 2021 03:57:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:48728 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229817AbhECH5y (ORCPT ); Mon, 3 May 2021 03:57:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0345761185; Mon, 3 May 2021 07:57:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620028622; bh=wwGETSsnGI3oAo8F1vOUJQyF0GNITuB1FrqVVVLgcrQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=PWag9VQ9oDGueJ6ZAGwxW33rrfMIWC4uVOViE4WoxEBtZdXi31MelCxu5Wr3icivV nFjro4O9qgadD6dSHiGTrc+1MlzZHJN6sn4SCi/WRLHU710RV/iNd7tgha3emjXA2W 8wqQuwO14gN+YXQyr/2HNFoOu9OdhS4vIeUYUe7ktyc2oam+Bbn1Mua+uJr3FR/GiX U5AgxOXRlznW/HswpR/11uQl9PZ57pDGuBZdRWyDbVZBUG7FsCtYlX3qRd7WVaC4DT MfUdKkzKjJxiZ3vLvehW0arIUF742HrXNHN/tpiIkY7HdPLaqEu4YIIQ0eVNkUU6SK dfquNJpff0NQg== Received: from johan by xi.lan with local (Exim 4.93.0.4) (envelope-from ) id 1ldTS4-0003as-6F; Mon, 03 May 2021 09:57:12 +0200 Date: Mon, 3 May 2021 09:57:12 +0200 From: Johan Hovold To: Pavel Skripkin Cc: marcel@holtmann.org, johan.hedberg@gmail.com, luiz.dentz@gmail.com, linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , Rocky Liao , Matthias Kaehlcke Subject: Re: [PATCH] bluetooth: fix potential gfp Message-ID: References: <20210501150445.4055-1-paskripkin@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210501150445.4055-1-paskripkin@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, May 01, 2021 at 06:04:45PM +0300, Pavel Skripkin wrote: > In qca_power_shutdown() qcadev local variable is > initialized by hu->serdev.dev private data, but > hu->serdev can be NULL and there is a check for it. > > Since, qcadev is not used before > > if (!hu->serdev) > return; > > we can move its initialization after this "if" to > prevent gfp. Good catch. The commit message needs to be improved however. First, what's a "gfp"? Did you mean GPF? Second, I'd expect you to try to point to the commit that introduced this issue (e.g. using a Fixes tag) and CC the person responsible. This appears to be commit 5559904ccc08 ("Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown()") but you should verify that. Third, this looks like it could be triggered by user space so you should CC stable too so that the fix is backported. Fourth, your commit summary (Subject) is missing the driver component (i.e. "hci_qca"). > Signed-off-by: Pavel Skripkin > --- > drivers/bluetooth/hci_qca.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c > index de36af63e182..9589ef6c0c26 100644 > --- a/drivers/bluetooth/hci_qca.c > +++ b/drivers/bluetooth/hci_qca.c > @@ -1820,8 +1820,6 @@ static void qca_power_shutdown(struct hci_uart *hu) > unsigned long flags; > enum qca_btsoc_type soc_type = qca_soc_type(hu); > > - qcadev = serdev_device_get_drvdata(hu->serdev); > - > /* From this point we go into power off state. But serial port is > * still open, stop queueing the IBS data and flush all the buffered > * data in skb's. > @@ -1837,6 +1835,8 @@ static void qca_power_shutdown(struct hci_uart *hu) > if (!hu->serdev) > return; > > + qcadev = serdev_device_get_drvdata(hu->serdev); > + > if (qca_is_wcn399x(soc_type)) { > host_set_baudrate(hu, 2400); > qca_send_power_pulse(hu, false); Johan