[GIT PULL] slab updates for 6.6

From: Vlastimil Babka
Date: Tue Aug 29 2023 - 09:23:22 EST


Hi Linus,

please pull the latest slab updates from:

git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-6.6

This happens to be a small one (due to summer I guess), and all hardening
related.

Thanks,
Vlastimil

======================================

* Randomized kmalloc caches, by GONG, Ruiqi.

A new opt-in hardening feature to make heap spraying harder. It
creates multiple (16) copies of kmalloc caches, reducing the
chance of an attacker-controllable allocation site to land in
the same slab as e.g. an allocation site with use-after-free
vulnerability. The selection of the copy is derived from the
allocation site address, including a per-boot random seed.

* Stronger typing for hardened freelists in SLUB, by Jann Horn

Introduces a custom type for hardened freelist entries instead
of "void *" as those are not directly dereferencable.
While reviewing this, I've noticed opportunities for further
cleanups in that code and added those on top.

----------------------------------------------------------------
GONG, Ruiqi (1):
Randomized slab caches for kmalloc()

Jann Horn (1):
mm/slub: refactor freelist to use custom type

Vlastimil Babka (3):
mm/slub: remove redundant kasan_reset_tag() from freelist_ptr calculations
mm/slub: remove freelist_dereference()
Merge branch 'slab/for-6.6/random_kmalloc' into slab/for-next

include/linux/percpu.h | 12 +++++++---
include/linux/slab.h | 23 +++++++++++++++++---
mm/Kconfig | 17 +++++++++++++++
mm/kfence/kfence_test.c | 7 ++++--
mm/slab.c | 2 +-
mm/slab.h | 2 +-
mm/slab_common.c | 49 ++++++++++++++++++++++++++++++++++++-----
mm/slub.c | 58 ++++++++++++++++++++++++++++---------------------
8 files changed, 130 insertions(+), 40 deletions(-)
~