]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mm/ksm: get mm_slot by mm_slot_entry() when slot is !NULL
authorWei Yang <richard.weiyang@gmail.com>
Fri, 19 Sep 2025 07:12:43 +0000 (07:12 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 28 Sep 2025 18:51:32 +0000 (11:51 -0700)
commit08498be43ee676d8a5eefb22278266322578a3e0
tree9ec92e0aaff7b7e53bc5ea87f14d7cee2540cb1d
parent3dfd02c900379d209ac9dcac24b4a61d8478842a
mm/ksm: get mm_slot by mm_slot_entry() when slot is !NULL

Patch series "mm_slot: fix the usage of mm_slot_entry", v2.

When using mm_slot in ksm, there is code like:

     slot = mm_slot_lookup(mm_slots_hash, mm);
     mm_slot = mm_slot_entry(slot, struct ksm_mm_slot, slot);
     if (mm_slot && ..) {
     }

The mm_slot_entry() won't return a valid value if slot is NULL generally.
But currently it works since slot is the first element of struct
ksm_mm_slot.

To reduce the ambiguity and make it robust, access mm_slot_entry() when
slot is !NULL.

Link: https://lkml.kernel.org/r/20250919071244.17020-1-richard.weiyang@gmail.com
Link: https://lkml.kernel.org/r/20250919071244.17020-2-richard.weiyang@gmail.com
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Dev Jain <dev.jain@arm.com>
Reviewed-by: Lance Yang <lance.yang@linux.dev>
Cc: Kiryl Shutsemau <kirill@shutemov.name>
Cc: xu xin <xu.xin16@zte.com.cn>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/ksm.c