From: GONG Ruiqi <gongruiqi1@huawei.com>
To: Christoph Lameter <cl@linux.com>,
Pekka Enberg <penberg@kernel.org>,
David Rientjes <rientjes@google.com>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
Andrew Morton <akpm@linux-foundation.org>,
Vlastimil Babka <vbabka@suse.cz>, Kees Cook <kees@kernel.org>
Cc: Tamas Koczka <poprdi@google.com>,
Roman Gushchin <roman.gushchin@linux.dev>,
Hyeonggon Yoo <42.hyeyoo@gmail.com>,
Xiu Jianfeng <xiujianfeng@huawei.com>, <linux-mm@kvack.org>,
<linux-hardening@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<gongruiqi1@huawei.com>
Subject: [PATCH v3 0/2] Refine kmalloc caches randomization in kvmalloc
Date: Wed, 12 Feb 2025 16:15:03 +0800 [thread overview]
Message-ID: <20250212081505.2025320-1-gongruiqi1@huawei.com> (raw)
Hi,
v3:
- move all the way from kmalloc_gfp_adjust to kvrealloc_noprof into
mm/slub.c
- some rewording for commit logs
v2: https://lore.kernel.org/all/20250208014723.1514049-1-gongruiqi1@huawei.com/
- change the implementation as Vlastimil suggested
v1: https://lore.kernel.org/all/20250122074817.991060-1-gongruiqi1@huawei.com/
Tamás reported [1] that kmalloc cache randomization doesn't actually
work for those kmalloc invoked via kvmalloc. For more details, see the
commit log of patch 2.
The current solution requires a direct call from __kvmalloc_node_noprof
to __do_kmalloc_node, a static function in a different .c file. As
suggested by Vlastimil [2], it's achieved by simply moving
__kvmalloc_node_noprof from mm/util.c to mm/slub.c, together with some
other functions of the same family.
Link: https://github.com/google/security-research/blob/908d59b573960dc0b90adda6f16f7017aca08609/pocs/linux/kernelctf/CVE-2024-27397_mitigation/docs/exploit.md?plain=1#L259 [1]
Link: https://lore.kernel.org/all/62044279-0c56-4185-97f7-7afac65ff449@suse.cz/ [2]
GONG Ruiqi (2):
slab: Adjust placement of __kvmalloc_node_noprof
slab: Achieve better kmalloc caches randomization in kvmalloc
mm/slub.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
mm/util.c | 162 ------------------------------------------------------
2 files changed, 162 insertions(+), 162 deletions(-)
--
2.25.1
next reply other threads:[~2025-02-12 8:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-12 8:15 GONG Ruiqi [this message]
2025-02-12 8:15 ` [PATCH v3 1/2] slab: Adjust placement of __kvmalloc_node_noprof GONG Ruiqi
2025-02-12 8:15 ` [PATCH v3 2/2] slab: Achieve better kmalloc caches randomization in kvmalloc GONG Ruiqi
2025-02-12 14:20 ` [PATCH v3 0/2] Refine " Harry Yoo
2025-02-12 14:32 ` Vlastimil Babka
2025-02-12 15:12 ` Vlastimil Babka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250212081505.2025320-1-gongruiqi1@huawei.com \
--to=gongruiqi1@huawei.com \
--cc=42.hyeyoo@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cl@linux.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=kees@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=penberg@kernel.org \
--cc=poprdi@google.com \
--cc=rientjes@google.com \
--cc=roman.gushchin@linux.dev \
--cc=vbabka@suse.cz \
--cc=xiujianfeng@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox