mm/slub: refactor freelist to use custom type
authorJann Horn <jannh@google.com>
Tue, 4 Jul 2023 13:58:34 +0000 (13:58 +0000)
committerVlastimil Babka <vbabka@suse.cz>
Tue, 11 Jul 2023 07:53:50 +0000 (09:53 +0200)
commit44f6a42d4935028ffd788e7cf9114e4a1f8d6d3a
tree5ab28b869abe47c8151140d255c185d10402e612
parent06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5
mm/slub: refactor freelist to use custom type

Currently the SLUB code represents encoded freelist entries as "void*".
That's misleading, those things are encoded under
CONFIG_SLAB_FREELIST_HARDENED so that they're not actually dereferencable.

Give them their own type, and split freelist_ptr() into one function per
direction (one for encoding, one for decoding).

Signed-off-by: Jann Horn <jannh@google.com>
Co-developed-by: Matteo Rizzo <matteorizzo@google.com>
Signed-off-by: Matteo Rizzo <matteorizzo@google.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
mm/slub.c