From: Dave Jiang <dave.jiang@intel.com>
To: Fenghua Yu <fenghua.yu@intel.com>, Vinod Koul <vkoul@kernel.org>
Cc: <dmaengine@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Lijun Pan <lijun.pan@intel.com>
Subject: Re: [PATCH] dmaengine: idxd: Avoid unnecessary destruction of file_ida
Date: Tue, 30 Jan 2024 08:34:04 -0700 [thread overview]
Message-ID: <b4d845d8-24e3-43ce-b1d4-e121f799e26c@intel.com> (raw)
In-Reply-To: <20240130013954.2024231-1-fenghua.yu@intel.com>
On 1/29/24 18:39, Fenghua Yu wrote:
> file_ida is allocated during cdev open and is freed accordingly
> during cdev release. This sequence is guaranteed by driver file
> operations. Therefore, there is no need to destroy an already empty
> file_ida when the WQ cdev is removed.
>
> Worse, ida_free() in cdev release may happen after destruction of
> file_ida per WQ cdev. This can lead to accessing an id in file_ida
> after it has been destroyed, resulting in a kernel panic.
>
> Remove ida_destroy(&file_ida) to address these issues.
>
> Fixes: e6fd6d7e5f0f ("dmaengine: idxd: add a device to represent the file opened")
> Signed-off-by: Lijun Pan <lijun.pan@intel.com>
> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
> drivers/dma/idxd/cdev.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/dma/idxd/cdev.c b/drivers/dma/idxd/cdev.c
> index baa51927675c..3311c920f47a 100644
> --- a/drivers/dma/idxd/cdev.c
> +++ b/drivers/dma/idxd/cdev.c
> @@ -1272,7 +1272,6 @@ void idxd_wq_del_cdev(struct idxd_wq *wq)
> struct idxd_cdev *idxd_cdev;
>
> idxd_cdev = wq->idxd_cdev;
> - ida_destroy(&file_ida);
> wq->idxd_cdev = NULL;
> cdev_device_del(&idxd_cdev->cdev, cdev_dev(idxd_cdev));
> put_device(cdev_dev(idxd_cdev));
next prev parent reply other threads:[~2024-01-30 15:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 1:39 [PATCH] dmaengine: idxd: Avoid unnecessary destruction of file_ida Fenghua Yu
2024-01-30 15:34 ` Dave Jiang [this message]
2024-04-29 20:56 ` Fenghua Yu
2024-05-04 12:47 ` Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b4d845d8-24e3-43ce-b1d4-e121f799e26c@intel.com \
--to=dave.jiang@intel.com \
--cc=dmaengine@vger.kernel.org \
--cc=fenghua.yu@intel.com \
--cc=lijun.pan@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox