Commit 2850f834 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Chen Ridong
Browse files

ppdev: Remove usage of the deprecated ida_simple_xx() API

mainline inclusion
from mainline-v6.8-rc1
commit d8407f71ebeaeb6f50bd89791837873e44609708
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9T6MM
CVE: CVE-2024-36015

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d8407f71ebeaeb6f50bd89791837873e44609708



----------------------------------------------------------------------

ida_alloc() and ida_free() should be preferred to the deprecated
ida_simple_get() and ida_simple_remove().

This is less verbose.

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/ba9da12fdd5cdb2c28180b7160af5042447d803f.1702962092.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarChen Ridong <chenridong@huawei.com>
parent c96c2b4f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ static int register_device(int minor, struct pp_struct *pp)
		goto err;
	}

	index = ida_simple_get(&ida_index, 0, 0, GFP_KERNEL);
	index = ida_alloc(&ida_index, GFP_KERNEL);
	memset(&ppdev_cb, 0, sizeof(ppdev_cb));
	ppdev_cb.irq_func = pp_irq;
	ppdev_cb.flags = (pp->flags & PP_EXCL) ? PARPORT_FLAG_EXCL : 0;
@@ -310,7 +310,7 @@ static int register_device(int minor, struct pp_struct *pp)
	if (!pdev) {
		pr_warn("%s: failed to register device!\n", name);
		rc = -ENXIO;
		ida_simple_remove(&ida_index, index);
		ida_free(&ida_index, index);
		goto err;
	}

@@ -750,7 +750,7 @@ static int pp_release(struct inode *inode, struct file *file)

	if (pp->pdev) {
		parport_unregister_device(pp->pdev);
		ida_simple_remove(&ida_index, pp->index);
		ida_free(&ida_index, pp->index);
		pp->pdev = NULL;
		pr_debug(CHRDEV "%x: unregistered pardevice\n", minor);
	}