drm/panfrost: Fix shrinker list corruption by madvise IOCTL
authorDmitry Osipenko <dmitry.osipenko@collabora.com>
Thu, 30 Jun 2022 20:06:01 +0000 (23:06 +0300)
committerSteven Price <steven.price@arm.com>
Mon, 4 Jul 2022 15:38:00 +0000 (16:38 +0100)
commit9fc33eaaa979d112d10fea729edcd2a2e21aa912
treec49aae4c2529b552c97149e25e3f9d64efc5b4ec
parentfb6e0637ab7ebd8e61fe24f4d663c4bae99cfa62
drm/panfrost: Fix shrinker list corruption by madvise IOCTL

Calling madvise IOCTL twice on BO causes memory shrinker list corruption
and crashes kernel because BO is already on the list and it's added to
the list again, while BO should be removed from the list before it's
re-added. Fix it.

Cc: stable@vger.kernel.org
Fixes: 013b65101315 ("drm/panfrost: Add madvise and shrinker support")
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220630200601.1884120-3-dmitry.osipenko@collabora.com
drivers/gpu/drm/panfrost/panfrost_drv.c