[PATCH 0/2] Fix invalid wait context of set_track_prepare()

From: Liu Shixin
Date: Wed Nov 15 2023 - 02:23:17 EST


Geert reported an invalid wait context[1] which is resulted by moving
set_track_prepare() inside kmemleak_lock. This is not allowed because
in RT mode, the spinlocks can be preempted but raw_spinlocks can not,
so it is not allowd to acquire spinlocks while holding raw_spinlocks.
The second patch fix same problem in kmemleak_update_trace().

Link: https://lore.kernel.org/linux-mm/CAMuHMdWj0UzwNaxUvcocTfh481qRJpOWwXxsJCTJfu1oCqvgdA@xxxxxxxxxxxxxx/ [1]

Liu Shixin (2):
Revert "mm/kmemleak: move the initialisation of object to
__link_object"
mm/kmemleak: move set_track_prepare() outside raw_spinlocks

mm/kmemleak.c | 40 ++++++++++++++++++++++------------------
1 file changed, 22 insertions(+), 18 deletions(-)

--
2.25.1