lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <77344325-a27d-4479-82e1-bae88e0e9e46@intel.com> Date: Wed, 20 Dec 2023 19:49:29 -0600 From: Lijun Pan <lijun.pan@...el.com> To: Christophe JAILLET <christophe.jaillet@...adoo.fr>, Fenghua Yu <fenghua.yu@...el.com>, Dave Jiang <dave.jiang@...el.com>, Vinod Koul <vkoul@...nel.org> CC: <linux-kernel@...r.kernel.org>, <kernel-janitors@...r.kernel.org>, <dmaengine@...r.kernel.org> Subject: Re: [PATCH v2] dmaengine: idxd: Remove usage of the deprecated ida_simple_xx() API On 12/19/2023 1:33 PM, Christophe JAILLET wrote: > ida_alloc() and ida_free() should be preferred to the deprecated > ida_simple_get() and ida_simple_remove(). > > This is less verbose. > > Note that the upper limit of ida_simple_get() is exclusive, but the one of > ida_alloc_range() is inclusive. Sothis change allows one more device. > > MINORMASK is ((1U << MINORBITS) - 1), so allowing MINORMASK as a maximum value > makes sense. It is also consistent with other "ida_.*MINORMASK" and > "ida_*MINOR()" usages. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@...adoo.fr> > --- Acked-by: Lijun Pan <lijun.pan@...el.com> > Changes v2: > - remove note about compile tested only, now tested on hw by Fenghua Yu > - fix some wording in the commit description [Fenghua Yu] > > v1: https://lore.kernel.org/all/a899125f42c12fa782a881d341d147519cbb4a23.1702967302.git.christophe.jaillet@wanadoo.fr/ > --- > drivers/dma/idxd/cdev.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/idxd/cdev.c b/drivers/dma/idxd/cdev.c > index 0423655f5a88..b00926abc69a 100644 > --- a/drivers/dma/idxd/cdev.c > +++ b/drivers/dma/idxd/cdev.c > @@ -165,7 +165,7 @@ static void idxd_cdev_dev_release(struct device *dev) > struct idxd_wq *wq = idxd_cdev->wq; > > cdev_ctx = &ictx[wq->idxd->data->type]; > - ida_simple_remove(&cdev_ctx->minor_ida, idxd_cdev->minor); > + ida_free(&cdev_ctx->minor_ida, idxd_cdev->minor); > kfree(idxd_cdev); > } > > @@ -463,7 +463,7 @@ int idxd_wq_add_cdev(struct idxd_wq *wq) > cdev = &idxd_cdev->cdev; > dev = cdev_dev(idxd_cdev); > cdev_ctx = &ictx[wq->idxd->data->type]; > - minor = ida_simple_get(&cdev_ctx->minor_ida, 0, MINORMASK, GFP_KERNEL); > + minor = ida_alloc_max(&cdev_ctx->minor_ida, MINORMASK, GFP_KERNEL); It shouldn't be an issue though it should be below statement if directly converting to ida_alloc_max + minor = ida_alloc_max(&cdev_ctx->minor_ida, MINORMASK - 1, GFP_KERNEL); > if (minor < 0) { > kfree(idxd_cdev); > return minor;
Powered by blists - more mailing lists