]> git.baikalelectronics.ru Git - kernel.git/commit
drm/nouveau: Fix a potential theorical leak in nouveau_get_backlight_name()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Wed, 9 Feb 2022 06:03:11 +0000 (07:03 +0100)
committerLyude Paul <lyude@redhat.com>
Fri, 6 May 2022 21:35:00 +0000 (17:35 -0400)
commit64c35da6dfde42f5f4d678266449e20ab2d7d76c
treee6339ca49a9acf1eca01c40b0f8bbb00c8bd73cf
parent960d997739b45f6dc5e62d4cb3d9693a4396bcf3
drm/nouveau: Fix a potential theorical leak in nouveau_get_backlight_name()

If successful ida_simple_get() calls are not undone when needed, some
additional memory may be allocated and wasted.

Here, an ID between 0 and MAX_INT is required. If this ID is >=100, it is
not taken into account and is wasted. It should be released.

Instead of calling ida_simple_remove(), take advantage of the 'max'
parameter to require the ID not to be too big. Should it be too big, it
is not allocated and don't need to be freed.

While at it, use ida_alloc_xxx()/ida_free() instead to
ida_simple_get()/ida_simple_remove().
The latter is deprecated and more verbose.

Fixes: c4886e0a7136 ("drm/nouveau/bl: Assign different names to interfaces")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Lyude Paul <lyude@redhat.com>
[Fixed formatting warning from checkpatch]
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/9ba85bca59df6813dc029e743a836451d5173221.1644386541.git.christophe.jaillet@wanadoo.fr
drivers/gpu/drm/nouveau/nouveau_backlight.c