OrangePi_CM5/drivers/gpu/drm/panfrost
Dmitry Osipenko 0581613df7 drm/panfrost: Fix shrinker list corruption by madvise IOCTL
commit 9fc33eaaa979d112d10fea729edcd2a2e21aa912 upstream.

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: 013b651013 ("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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-07-21 21:20:01 +02:00
..
Kconfig
Makefile
TODO
panfrost_devfreq.c drm/panfrost: add regulators to devfreq 2020-08-07 10:11:26 -06:00
panfrost_devfreq.h drm/panfrost: add regulators to devfreq 2020-08-07 10:11:26 -06:00
panfrost_device.c drm/panfrost: Fix missing clk_disable_unprepare() on error in panfrost_clk_init() 2021-09-15 09:50:30 +02:00
panfrost_device.h drm/panfrost: Make sure MMU context lifetime is not bound to panfrost_priv 2021-09-18 13:40:37 +02:00
panfrost_drv.c drm/panfrost: Fix shrinker list corruption by madvise IOCTL 2022-07-21 21:20:01 +02:00
panfrost_features.h
panfrost_gem.c drm/panfrost: Make sure MMU context lifetime is not bound to panfrost_priv 2021-09-18 13:40:37 +02:00
panfrost_gem.h drm/panfrost: Fix a deadlock between the shrinker and madvise path 2020-11-03 09:21:52 +01:00
panfrost_gem_shrinker.c drm/panfrost: Fix a deadlock between the shrinker and madvise path 2020-11-03 09:21:52 +01:00
panfrost_gpu.c drm/panfrost: Check for error num after setting mask 2022-04-08 14:40:12 +02:00
panfrost_gpu.h drm/panfrost: add amlogic reset quirk callback 2020-09-21 10:13:50 +01:00
panfrost_issues.h
panfrost_job.c drm/panfrost: Make sure MMU context lifetime is not bound to panfrost_priv 2021-09-18 13:40:37 +02:00
panfrost_job.h drm/panfrost: Add the panfrost_gem_mapping concept 2020-01-21 10:32:55 -06:00
panfrost_mmu.c drm/panfrost: Put mapping instead of shmem obj on panfrost_mmu_map_fault_addr() error 2022-07-21 21:20:01 +02:00
panfrost_mmu.h drm/panfrost: Make sure MMU context lifetime is not bound to panfrost_priv 2021-09-18 13:40:37 +02:00
panfrost_perfcnt.c drm/panfrost: perfcnt: fix ref count leak in panfrost_perfcnt_enable_locked 2020-08-07 10:45:07 -06:00
panfrost_perfcnt.h
panfrost_regs.h drm/panfrost: Clamp lock region to Bifrost minimum 2021-09-18 13:40:38 +02:00