From patchwork Mon Oct 11 14:31:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 12550125 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDE2CC433EF for ; Mon, 11 Oct 2021 14:33:56 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1C4B960BD3 for ; Mon, 11 Oct 2021 14:33:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 1C4B960BD3 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=me.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 68F4F6B006C; Mon, 11 Oct 2021 10:33:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 63FF180008; Mon, 11 Oct 2021 10:33:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 52EAC80007; Mon, 11 Oct 2021 10:33:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0093.hostedemail.com [216.40.44.93]) by kanga.kvack.org (Postfix) with ESMTP id 45AE06B006C for ; Mon, 11 Oct 2021 10:33:55 -0400 (EDT) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 0ECAE30C79 for ; Mon, 11 Oct 2021 14:33:55 +0000 (UTC) X-FDA: 78684400830.05.80D712F Received: from pv50p00im-ztdg10021201.me.com (pv50p00im-ztdg10021201.me.com [17.58.6.45]) by imf24.hostedemail.com (Postfix) with ESMTP id C2B8AB001563 for ; Mon, 11 Oct 2021 14:33:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1633962833; bh=S/rO3t5kGrdWm1xhXFL4TLxjsZk3v/TPzAq6dFPoZlM=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=CKlxGcHgRPUv3QJCU04YubemLAoYo8cGqUO2mftxV14cixjb/P25peyNfRLktV9xl EUNXrOHa7oLDH4kL5f465Nrm7bXqrJHWFe9KjCv804CNHeKuovhEM2wuTqxLgrrWFH SnTkFdZiIYWF93IhiY4ouSJviLesODab2k6YXXk6Nkl6puTV/+pBvxfzXD6j71ITs3 nXSANPrLDGu5Hr7tzYqaB9i5F2z4X6LBhTnxSH7fRMa5hmN8jHz39i7L62vf95g65u gxNZ/dIM8dH72qNs0bggbS4pD8bVSvJW0D2x734nPpNcJXYlpOquGJAs6enNpjNM6W 7y+4pnQmQgdag== Received: from xiongwei.. (unknown [120.245.2.114]) by pv50p00im-ztdg10021201.me.com (Postfix) with ESMTPSA id 71442A405F4; Mon, 11 Oct 2021 14:33:45 +0000 (UTC) From: sxwjean@me.com To: linux-mm@kvack.org, x86@kernel.org Cc: Xiongwei Song , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Kees Cook , "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Arnd Bergmann , Al Viro , Gabriel Krisman Bertazi , Lai Jiangshan , Huang Rui , Yazen Ghannam , Kim Phillips , Oleg Nesterov , Balbir Singh , "David S. Miller" , sxwjean@me.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/6] mm/util: Assign a meaningful value to mmap_legacy_base Date: Mon, 11 Oct 2021 22:31:45 +0800 Message-Id: <20211011143150.318239-2-sxwjean@me.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211011143150.318239-1-sxwjean@me.com> References: <20211011143150.318239-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-10-11_05:2021-10-07,2021-10-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=660 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2110110085 Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=CKlxGcHg; spf=pass (imf24.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.45 as permitted sender) smtp.mailfrom=sxwjean@me.com; dmarc=pass (policy=quarantine) header.from=me.com X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: C2B8AB001563 X-Stat-Signature: ndxjge15x9qfsffjug5qapy4pdsj1a43 X-HE-Tag: 1633962834-820819 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Xiongwei Song Let's assign a value to mmap_legacy_base in case the mmap() of some archs needs mmap_legacy_base, like x86. Signed-off-by: Xiongwei Song --- mm/util.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/util.c b/mm/util.c index e58151a61255..40b1a8837c0b 100644 --- a/mm/util.c +++ b/mm/util.c @@ -414,7 +414,8 @@ void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) random_factor = arch_mmap_rnd(); if (mmap_is_legacy(rlim_stack)) { - mm->mmap_base = TASK_UNMAPPED_BASE + random_factor; + mm->mmap_legacy_base = TASK_UNMAPPED_BASE + random_factor; + mm->mmap_base = mm->mmap_legacy_base; mm->get_unmapped_area = arch_get_unmapped_area; } else { mm->mmap_base = mmap_base(random_factor, rlim_stack); From patchwork Mon Oct 11 14:31:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 12550127 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1F09CC433EF for ; Mon, 11 Oct 2021 14:34:08 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id AAD5E6023F for ; Mon, 11 Oct 2021 14:34:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org AAD5E6023F Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=me.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 50A2180007; Mon, 11 Oct 2021 10:34:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4E07E6B0072; Mon, 11 Oct 2021 10:34:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3A7A380007; Mon, 11 Oct 2021 10:34:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0218.hostedemail.com [216.40.44.218]) by kanga.kvack.org (Postfix) with ESMTP id 2D12F6B0071 for ; Mon, 11 Oct 2021 10:34:07 -0400 (EDT) Received: from smtpin04.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id CBEFA23E4D for ; Mon, 11 Oct 2021 14:34:06 +0000 (UTC) X-FDA: 78684401292.04.6A2880A Received: from pv50p00im-ztdg10021201.me.com (pv50p00im-ztdg10021201.me.com [17.58.6.45]) by imf04.hostedemail.com (Postfix) with ESMTP id 6D4F150019B6 for ; Mon, 11 Oct 2021 14:34:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1633962845; bh=JRB2I0DdtVVtDX+M6k5hW9hyckKkPozCFhvu4peWiT8=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=VMxjjtqCM5srj67fJKgnJyWGKg27FMpkMeOLKe4kY37aHDbmRB2ngM1+AOoUMMKbI twQM9stdCuNtEblaSRuC6WaBFelH55ItmSNls8wtqMwKAWXv1cAo8e5Xuu84lIwlRm 35lJ3IzmLoDkg2b6mAgHSgPdDgXZSagDc4GnSp63Qj0Yl6UaxOqxdAd2qZoZhu0y1b GykPUbsXEHU5LmPkgyK8w3PyE5kalUF8dsX6ynuBzkK/ni4D1hJGLkuYlBd0A3CQ6T sx5villyGhAdo97VtdUtPtwYzrQpkjN+t1J5HVdeqVqpSpnFQs23sfN/Sl55V+BrLP AT4GG98aivFjw== Received: from xiongwei.. (unknown [120.245.2.114]) by pv50p00im-ztdg10021201.me.com (Postfix) with ESMTPSA id B1049A405D9; Mon, 11 Oct 2021 14:33:56 +0000 (UTC) From: sxwjean@me.com To: linux-mm@kvack.org, x86@kernel.org Cc: Xiongwei Song , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Kees Cook , "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Arnd Bergmann , Al Viro , Gabriel Krisman Bertazi , Lai Jiangshan , Huang Rui , Yazen Ghannam , Kim Phillips , Oleg Nesterov , Balbir Singh , "David S. Miller" , sxwjean@me.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/6] mm/util: Allow to pass a specific task size when getting mmapping base Date: Mon, 11 Oct 2021 22:31:46 +0800 Message-Id: <20211011143150.318239-3-sxwjean@me.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211011143150.318239-1-sxwjean@me.com> References: <20211011143150.318239-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-10-11_05:2021-10-07,2021-10-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=715 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2110110085 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 6D4F150019B6 X-Stat-Signature: cg8mw8giqsitk3ysba5mgmr4er77oswq Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=VMxjjtqC; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf04.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.45 as permitted sender) smtp.mailfrom=sxwjean@me.com X-HE-Tag: 1633962846-829196 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Xiongwei Song In x86, a 64bit task may invoke a 32 bit syscall, which is in compat syscall. Then we have to provide 32bit mapping base. Signed-off-by: Xiongwei Song --- mm/util.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/util.c b/mm/util.c index 40b1a8837c0b..38326ef21a3b 100644 --- a/mm/util.c +++ b/mm/util.c @@ -385,14 +385,15 @@ static int mmap_is_legacy(struct rlimit *rlim_stack) #define MIN_GAP (SZ_128M) #define MAX_GAP (STACK_TOP / 6 * 5) -static unsigned long mmap_base(unsigned long rnd, struct rlimit *rlim_stack) +static unsigned long mmap_base(unsigned long rnd, unsigned long task_size, + struct rlimit *rlim_stack) { unsigned long gap = rlim_stack->rlim_cur; unsigned long pad = stack_guard_gap; /* Account for stack randomization if necessary */ if (current->flags & PF_RANDOMIZE) - pad += (STACK_RND_MASK << PAGE_SHIFT); + pad += (in_compat_syscall() ? 0x7ff : STACK_RND_MASK) << PAGE_SHIFT; /* Values close to RLIM_INFINITY can overflow. */ if (gap + pad > gap) @@ -403,7 +404,7 @@ static unsigned long mmap_base(unsigned long rnd, struct rlimit *rlim_stack) else if (gap > MAX_GAP) gap = MAX_GAP; - return PAGE_ALIGN(STACK_TOP - gap - rnd); + return PAGE_ALIGN(task_size - gap - rnd); } void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) @@ -418,7 +419,7 @@ void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) mm->mmap_base = mm->mmap_legacy_base; mm->get_unmapped_area = arch_get_unmapped_area; } else { - mm->mmap_base = mmap_base(random_factor, rlim_stack); + mm->mmap_base = mmap_base(random_factor, STACK_TOP, rlim_stack); mm->get_unmapped_area = arch_get_unmapped_area_topdown; } } From patchwork Mon Oct 11 14:31:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 12550129 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D763AC433EF for ; Mon, 11 Oct 2021 14:34:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7B65960E74 for ; Mon, 11 Oct 2021 14:34:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7B65960E74 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=me.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 1FC5A80008; Mon, 11 Oct 2021 10:34:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D2C56B0072; Mon, 11 Oct 2021 10:34:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 09A7280008; Mon, 11 Oct 2021 10:34:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0212.hostedemail.com [216.40.44.212]) by kanga.kvack.org (Postfix) with ESMTP id F1E646B0071 for ; Mon, 11 Oct 2021 10:34:20 -0400 (EDT) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id B2848181B0496 for ; Mon, 11 Oct 2021 14:34:20 +0000 (UTC) X-FDA: 78684401880.26.5601EF3 Received: from pv50p00im-ztdg10021201.me.com (pv50p00im-ztdg10021201.me.com [17.58.6.45]) by imf08.hostedemail.com (Postfix) with ESMTP id 517E9300128C for ; Mon, 11 Oct 2021 14:34:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1633962858; bh=FpaFBzvGELmDenSoiEWg7C6khvBd8mZLDt8PAvrNQPk=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=M9tY9Y+zmHCJqIeUveVVttLWg0yPrLJUerGc9HZkb9ALP4g+na/cmY+iZ1rtrgUVP a4UI6ymxraCcFA8TZ04y5pzC4gOUAuZX+t/PLO85D4nuwR7lpJA8aREI+uU6F5WKjI 7lDkAsmcb1BNd3GfHQhmRJVNqVubJTWI7rzKdF1lTrpdpqCneL/FBd8j072xbCV05h TXHxb4Y2Huf8ISL588L3ZTg+1D+QurkTLED9UcUX/HudCk9qgl+HbCCCK8+3AByAn7 lDnhLzsPI5XP7rPg1+Dz+ZlINCvu3lmuhjhKtrnkXw+3B5vpL7RD4J+0rDT2gza5lv ct7HfM9lsYlIA== Received: from xiongwei.. (unknown [120.245.2.114]) by pv50p00im-ztdg10021201.me.com (Postfix) with ESMTPSA id 92BADA40283; Mon, 11 Oct 2021 14:34:08 +0000 (UTC) From: sxwjean@me.com To: linux-mm@kvack.org, x86@kernel.org Cc: Xiongwei Song , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Kees Cook , "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Arnd Bergmann , Al Viro , Gabriel Krisman Bertazi , Lai Jiangshan , Huang Rui , Yazen Ghannam , Kim Phillips , Oleg Nesterov , Balbir Singh , "David S. Miller" , sxwjean@me.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/6] mm/util: Support CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES Date: Mon, 11 Oct 2021 22:31:47 +0800 Message-Id: <20211011143150.318239-4-sxwjean@me.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211011143150.318239-1-sxwjean@me.com> References: <20211011143150.318239-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-10-11_05:2021-10-07,2021-10-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=914 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2110110085 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 517E9300128C X-Stat-Signature: zwmc5qz4n5qbc5r9kdrpm7wfmwinxrrz Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=M9tY9Y+z; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf08.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.45 as permitted sender) smtp.mailfrom=sxwjean@me.com X-HE-Tag: 1633962860-861799 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Xiongwei Song With CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES enabled, archs can support 64bit process invoke 32bit syscall via compatible mmap(), which uses mmap_compat_base and mmap_compat_legacy_base of mm_struct, which only x86 uses so far. Here we assume other archs will support CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES as well. Signed-off-by: Xiongwei Song --- arch/x86/include/asm/processor.h | 4 ++++ mm/util.c | 21 +++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 577f342dbfb2..fb7a4f21d412 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -787,6 +787,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip, #define __TASK_UNMAPPED_BASE(task_size) (PAGE_ALIGN(task_size / 3)) #define TASK_UNMAPPED_BASE __TASK_UNMAPPED_BASE(TASK_SIZE_LOW) +#ifdef CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES +#define TASK_UNMAPPED_COMPAT_BASE __TASK_UNMAPPED_BASE(task_size_32bit()) +#endif + #define KSTK_EIP(task) (task_pt_regs(task)->ip) /* Get/set a process' ability to use the timestamp counter instruction */ diff --git a/mm/util.c b/mm/util.c index 38326ef21a3b..ab3711c445e6 100644 --- a/mm/util.c +++ b/mm/util.c @@ -357,8 +357,9 @@ unsigned long arch_mmap_rnd(void) { unsigned long rnd; -#ifdef CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS - if (is_compat_task()) +#if defined(CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS) \ + || defined(CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES) + if (is_compat_task() || in_compat_syscall()) rnd = get_random_long() & ((1UL << mmap_rnd_compat_bits) - 1); else #endif /* CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS */ @@ -422,6 +423,22 @@ void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) mm->mmap_base = mmap_base(random_factor, STACK_TOP, rlim_stack); mm->get_unmapped_area = arch_get_unmapped_area_topdown; } +#ifdef CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES + /* + * The mmap syscall mapping base decision depends solely on the + * syscall type (64-bit or compat). This applies for 64bit + * applications and 32bit applications. The 64bit syscall uses + * mmap_base, the compat syscall uses mmap_compat_base. + */ + if (mmap_is_legacy(rlim_stack)) { + mm->mmap_compat_legacy_base = + TASK_UNMAPPED_COMPAT_BASE + random_factor; + mm->mmap_compat_base = mm->mmap_compat_legacy_base; + } else { + mm->mmap_compat_base = mmap_base(random_factor, + task_size_32bit(), rlim_stack); + } +#endif } #elif defined(CONFIG_MMU) && !defined(HAVE_ARCH_PICK_MMAP_LAYOUT) void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) From patchwork Mon Oct 11 14:31:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 12550131 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A1FCC433FE for ; Mon, 11 Oct 2021 14:34:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 245DF60E98 for ; Mon, 11 Oct 2021 14:34:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 245DF60E98 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=me.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id A869B6B0071; Mon, 11 Oct 2021 10:34:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A364A80009; Mon, 11 Oct 2021 10:34:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8FEBC6B0073; Mon, 11 Oct 2021 10:34:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0023.hostedemail.com [216.40.44.23]) by kanga.kvack.org (Postfix) with ESMTP id 8215C6B0071 for ; Mon, 11 Oct 2021 10:34:31 -0400 (EDT) Received: from smtpin12.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 44CDD2FD8A for ; Mon, 11 Oct 2021 14:34:31 +0000 (UTC) X-FDA: 78684402342.12.AB0D002 Received: from pv50p00im-ztdg10021201.me.com (pv50p00im-ztdg10021201.me.com [17.58.6.45]) by imf16.hostedemail.com (Postfix) with ESMTP id 8932FF002484 for ; Mon, 11 Oct 2021 14:34:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1633962869; bh=2A5O+OFybi8Ge+jcHDiYfmxo6jKeWW8QxnwL+wFgFrk=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=Qc6/aHmXxWF/J/FNGEHzx+0oCZAtZi1Sh0ynORocJFg2Sc5NUDL3LT5d1Uv+3vp+n QpPpzEYwYADrpr/qVEW5aBzXuzdJPaPhiyOiu/UaYeWJPt6d0tXhVF3tE7ElDNEHTb sPQph+AL+5TAc++8Qwv/pkp+dMpwiO3Ms8T7osClqF8ZdlIkD8sEQXtUOKKEkydyjp CXs26AJiVDWwpaeHENnZzN06X6HX/YL3Wy1dmr5tYsbcmwwL46yKOE+JTt9dgQeLUZ QrdvcCJp1ieCyevOyQWR9AiPRUNQuoGwTJp4KqPvBUcZWrY6fqYYZVvbNgQ7P0MNDz Mfu1BzRq0Isng== Received: from xiongwei.. (unknown [120.245.2.114]) by pv50p00im-ztdg10021201.me.com (Postfix) with ESMTPSA id 48373A40239; Mon, 11 Oct 2021 14:34:20 +0000 (UTC) From: sxwjean@me.com To: linux-mm@kvack.org, x86@kernel.org Cc: Xiongwei Song , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Kees Cook , "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Arnd Bergmann , Al Viro , Gabriel Krisman Bertazi , Lai Jiangshan , Huang Rui , Yazen Ghannam , Kim Phillips , Oleg Nesterov , Balbir Singh , "David S. Miller" , sxwjean@me.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/6] x86/mm: Randomize VA with generic arch_pick_mmap_layout() Date: Mon, 11 Oct 2021 22:31:48 +0800 Message-Id: <20211011143150.318239-5-sxwjean@me.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211011143150.318239-1-sxwjean@me.com> References: <20211011143150.318239-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-10-11_05:2021-10-07,2021-10-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=470 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2110110085 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 8932FF002484 X-Stat-Signature: kfou3gyingsa9spmws5f65g51nzd9q5a Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b="Qc6/aHmX"; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf16.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.45 as permitted sender) smtp.mailfrom=sxwjean@me.com X-HE-Tag: 1633962870-805498 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Xiongwei Song The code logic of arch_pick_mmap_layout() of x86 is basiclly same as arch_pick_mmap_layout() where is in mm/util.c. Let's enable ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT for x86 to use generic arch_pick_mmap_layout(). Meanwhile, delete the arch_pick_mmap_layout() and the related assistant functions in x86. To verify if the entropy of mmap is kept after the patch, I did basically test with the following c code: #include #include #include int main(int argc, char *argv[]) { unsigned long *addr; addr = mmap(NULL, 4096, PROT_READ, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if (addr == MAP_FAILED) { printf("NULL\n"); } else { printf("%lx\n", (unsigned long)addr); munmap(addr, 4096); } return 0; } Run the program above 10 thousands times to get the mmap address, please see the results below. Before this patch: Virtual Address Range | hit times ---------------------------------------- 0x7f0000000000 - 0x7f0ffffff000 | 655 0x7f1000000000 - 0x7f1ffffff000 | 617 0x7f2000000000 - 0x7f2ffffff000 | 636 0x7f3000000000 - 0x7f3ffffff000 | 625 0x7f4000000000 - 0x7f4ffffff000 | 651 0x7f5000000000 - 0x7f5ffffff000 | 591 0x7f6000000000 - 0x7f6ffffff000 | 623 0x7f7000000000 - 0x7f7ffffff000 | 627 0x7f8000000000 - 0x7f8ffffff000 | 638 0x7f9000000000 - 0x7f9ffffff000 | 586 0x7fa000000000 - 0x7faffffff000 | 637 0x7fb000000000 - 0x7fbffffff000 | 607 0x7fc000000000 - 0x7fcffffff000 | 618 0x7fd000000000 - 0x7fdffffff000 | 656 0x7fe000000000 - 0x7feffffff000 | 614 0x7ff000000000 - 0x7ffffffff000 | 619 After this patch: Virtual Address Range | hit times ---------------------------------------- 0x7f0000000000 - 0x7f0ffffff000 | 661 0x7f1000000000 - 0x7f1ffffff000 | 645 0x7f2000000000 - 0x7f2ffffff000 | 609 0x7f3000000000 - 0x7f3ffffff000 | 594 0x7f4000000000 - 0x7f4ffffff000 | 616 0x7f5000000000 - 0x7f5ffffff000 | 622 0x7f6000000000 - 0x7f6ffffff000 | 617 0x7f7000000000 - 0x7f7ffffff000 | 582 0x7f8000000000 - 0x7f8ffffff000 | 618 0x7f9000000000 - 0x7f9ffffff000 | 629 0x7fa000000000 - 0x7faffffff000 | 635 0x7fb000000000 - 0x7fbffffff000 | 625 0x7fc000000000 - 0x7fcffffff000 | 614 0x7fd000000000 - 0x7fdffffff000 | 610 0x7fe000000000 - 0x7feffffff000 | 648 0x7ff000000000 - 0x7ffffffff000 | 675 It looks like the result after the patch is reasonable. Furthermore, define a is_compat_task() for x86 to fix function undefined issue. Add __weak attribute to generic arch_randomize_brk() to ensure the kernel always uses the arch_randomize_brk() of x86 in x86 arch. Signed-off-by: Xiongwei Song --- arch/x86/Kconfig | 1 + arch/x86/include/asm/compat.h | 5 ++ arch/x86/mm/mmap.c | 112 ---------------------------------- mm/util.c | 2 +- 4 files changed, 7 insertions(+), 113 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index a52e81cb256e..01a40b710103 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -114,6 +114,7 @@ config X86 select ARCH_USE_SYM_ANNOTATIONS select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH select ARCH_WANT_DEFAULT_BPF_JIT if X86_64 + select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT select ARCH_WANTS_DYNAMIC_TASK_STRUCT select ARCH_WANTS_NO_INSTR select ARCH_WANT_HUGE_PMD_SHARE diff --git a/arch/x86/include/asm/compat.h b/arch/x86/include/asm/compat.h index 7516e4199b3c..22714a202794 100644 --- a/arch/x86/include/asm/compat.h +++ b/arch/x86/include/asm/compat.h @@ -156,6 +156,11 @@ struct compat_shmid64_ds { (!!(task_pt_regs(current)->orig_ax & __X32_SYSCALL_BIT)) #endif +static inline int is_compat_task(void) +{ + return IS_ENABLED(CONFIG_COMPAT) && test_thread_flag(TIF_ADDR32); +} + static inline bool in_x32_syscall(void) { #ifdef CONFIG_X86_X32_ABI diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c index c90c20904a60..daf65cc5e5b1 100644 --- a/arch/x86/mm/mmap.c +++ b/arch/x86/mm/mmap.c @@ -38,118 +38,6 @@ unsigned long task_size_64bit(int full_addr_space) return full_addr_space ? TASK_SIZE_MAX : DEFAULT_MAP_WINDOW; } -static unsigned long stack_maxrandom_size(unsigned long task_size) -{ - unsigned long max = 0; - if (current->flags & PF_RANDOMIZE) { - max = (-1UL) & __STACK_RND_MASK(task_size == task_size_32bit()); - max <<= PAGE_SHIFT; - } - - return max; -} - -#ifdef CONFIG_COMPAT -# define mmap32_rnd_bits mmap_rnd_compat_bits -# define mmap64_rnd_bits mmap_rnd_bits -#else -# define mmap32_rnd_bits mmap_rnd_bits -# define mmap64_rnd_bits mmap_rnd_bits -#endif - -#define SIZE_128M (128 * 1024 * 1024UL) - -static int mmap_is_legacy(void) -{ - if (current->personality & ADDR_COMPAT_LAYOUT) - return 1; - - return sysctl_legacy_va_layout; -} - -static unsigned long arch_rnd(unsigned int rndbits) -{ - if (!(current->flags & PF_RANDOMIZE)) - return 0; - return (get_random_long() & ((1UL << rndbits) - 1)) << PAGE_SHIFT; -} - -unsigned long arch_mmap_rnd(void) -{ - return arch_rnd(mmap_is_ia32() ? mmap32_rnd_bits : mmap64_rnd_bits); -} - -static unsigned long mmap_base(unsigned long rnd, unsigned long task_size, - struct rlimit *rlim_stack) -{ - unsigned long gap = rlim_stack->rlim_cur; - unsigned long pad = stack_maxrandom_size(task_size) + stack_guard_gap; - unsigned long gap_min, gap_max; - - /* Values close to RLIM_INFINITY can overflow. */ - if (gap + pad > gap) - gap += pad; - - /* - * Top of mmap area (just below the process stack). - * Leave an at least ~128 MB hole with possible stack randomization. - */ - gap_min = SIZE_128M; - gap_max = (task_size / 6) * 5; - - if (gap < gap_min) - gap = gap_min; - else if (gap > gap_max) - gap = gap_max; - - return PAGE_ALIGN(task_size - gap - rnd); -} - -static unsigned long mmap_legacy_base(unsigned long rnd, - unsigned long task_size) -{ - return __TASK_UNMAPPED_BASE(task_size) + rnd; -} - -/* - * This function, called very early during the creation of a new - * process VM image, sets up which VM layout function to use: - */ -static void arch_pick_mmap_base(unsigned long *base, unsigned long *legacy_base, - unsigned long random_factor, unsigned long task_size, - struct rlimit *rlim_stack) -{ - *legacy_base = mmap_legacy_base(random_factor, task_size); - if (mmap_is_legacy()) - *base = *legacy_base; - else - *base = mmap_base(random_factor, task_size, rlim_stack); -} - -void arch_pick_mmap_layout(struct mm_struct *mm, struct rlimit *rlim_stack) -{ - if (mmap_is_legacy()) - mm->get_unmapped_area = arch_get_unmapped_area; - else - mm->get_unmapped_area = arch_get_unmapped_area_topdown; - - arch_pick_mmap_base(&mm->mmap_base, &mm->mmap_legacy_base, - arch_rnd(mmap64_rnd_bits), task_size_64bit(0), - rlim_stack); - -#ifdef CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES - /* - * The mmap syscall mapping base decision depends solely on the - * syscall type (64-bit or compat). This applies for 64bit - * applications and 32bit applications. The 64bit syscall uses - * mmap_base, the compat syscall uses mmap_compat_base. - */ - arch_pick_mmap_base(&mm->mmap_compat_base, &mm->mmap_compat_legacy_base, - arch_rnd(mmap32_rnd_bits), task_size_32bit(), - rlim_stack); -#endif -} - unsigned long get_mmap_base(int is_legacy) { struct mm_struct *mm = current->mm; diff --git a/mm/util.c b/mm/util.c index ab3711c445e6..91a26da501d3 100644 --- a/mm/util.c +++ b/mm/util.c @@ -344,7 +344,7 @@ unsigned long randomize_stack_top(unsigned long stack_top) } #ifdef CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT -unsigned long arch_randomize_brk(struct mm_struct *mm) +unsigned long __weak arch_randomize_brk(struct mm_struct *mm) { /* Is the current task 32bit ? */ if (!IS_ENABLED(CONFIG_64BIT) || is_compat_task()) From patchwork Mon Oct 11 14:31:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 12550133 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6667C433EF for ; Mon, 11 Oct 2021 14:34:47 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 73D1C60EB6 for ; Mon, 11 Oct 2021 14:34:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 73D1C60EB6 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=me.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id C0D67900003; Mon, 11 Oct 2021 10:34:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BBCC3900002; Mon, 11 Oct 2021 10:34:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD2EA900003; Mon, 11 Oct 2021 10:34:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0125.hostedemail.com [216.40.44.125]) by kanga.kvack.org (Postfix) with ESMTP id 9F81B900002 for ; Mon, 11 Oct 2021 10:34:46 -0400 (EDT) Received: from smtpin16.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 698F918097A66 for ; Mon, 11 Oct 2021 14:34:46 +0000 (UTC) X-FDA: 78684402972.16.A9464A8 Received: from pv50p00im-ztdg10021201.me.com (pv50p00im-ztdg10021201.me.com [17.58.6.45]) by imf18.hostedemail.com (Postfix) with ESMTP id 084064001884 for ; Mon, 11 Oct 2021 14:34:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1633962884; bh=zndHJQMckuIsuSAxefaz/RuLzDT/zZs8QBH0iDHV99s=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=rzkYzsShBt1lpFWKMBxjeKqME+bJ0Ypsf4nH2nS0EJRfT8JdWrNqhG37h5243qrXV zIf1RWwCAwtGyYM9IdyL+5cxX7baJw99pYkHTMOnRN2XKvnltd2lWTscgKRZSXeHbD 6QFxW/+EcmJgw2Q7ApCkpSVQeV3RoirSDgpYuTezm3QsyZgj4bbmSskgwSilvIf60U tDaFYT5Gj54Z3SDvlkdLiBqzPn8SHnKxCbVoF66YKPCZzIEla2kUbId7YkQqu33eXy q7ptHrxtYiqXvpxY8GZgiOkveoZXdAEf0Q3RHsg76iYOe3F1xTd3p20Om5C07uTk/6 viQgZmwky7tLg== Received: from xiongwei.. (unknown [120.245.2.114]) by pv50p00im-ztdg10021201.me.com (Postfix) with ESMTPSA id 0A887A4058C; Mon, 11 Oct 2021 14:34:35 +0000 (UTC) From: sxwjean@me.com To: linux-mm@kvack.org, x86@kernel.org Cc: Xiongwei Song , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Kees Cook , "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Arnd Bergmann , Al Viro , Gabriel Krisman Bertazi , Lai Jiangshan , Huang Rui , Yazen Ghannam , Kim Phillips , Oleg Nesterov , Balbir Singh , "David S. Miller" , sxwjean@me.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 5/6] x86/mm: Discard the defination of HAVE_ARCH_PICK_MMAP_LAYOUT Date: Mon, 11 Oct 2021 22:31:49 +0800 Message-Id: <20211011143150.318239-6-sxwjean@me.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211011143150.318239-1-sxwjean@me.com> References: <20211011143150.318239-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-10-11_05:2021-10-07,2021-10-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=753 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2110110085 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 084064001884 X-Stat-Signature: dqf8uoo3krcnxgjjhfhog4c1jhk3uhng Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=rzkYzsSh; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf18.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.45 as permitted sender) smtp.mailfrom=sxwjean@me.com X-HE-Tag: 1633962885-932318 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Xiongwei Song We've enabled ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT, we will always use generic arch_pick_mmap_layout(), therefore don't need HAVE_ARCH_PICK_MMAP_LAYOUT any more. Signed-off-by: Xiongwei Song --- arch/x86/include/asm/processor.h | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index fb7a4f21d412..2360366ad328 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -709,7 +709,6 @@ extern int bootloader_version; extern char ignore_fpu_irq; -#define HAVE_ARCH_PICK_MMAP_LAYOUT 1 #define ARCH_HAS_PREFETCHW #define ARCH_HAS_SPINLOCK_PREFETCH From patchwork Mon Oct 11 14:31:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 12550135 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDAAEC433EF for ; Mon, 11 Oct 2021 14:34:59 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6AD3E60E74 for ; Mon, 11 Oct 2021 14:34:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 6AD3E60E74 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=me.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 0C29F8000A; Mon, 11 Oct 2021 10:34:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 072C480009; Mon, 11 Oct 2021 10:34:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA3838000A; Mon, 11 Oct 2021 10:34:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0155.hostedemail.com [216.40.44.155]) by kanga.kvack.org (Postfix) with ESMTP id DCA9680009 for ; Mon, 11 Oct 2021 10:34:58 -0400 (EDT) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id A016318033791 for ; Mon, 11 Oct 2021 14:34:58 +0000 (UTC) X-FDA: 78684403476.23.00F3FCB Received: from pv50p00im-ztdg10021201.me.com (pv50p00im-ztdg10021201.me.com [17.58.6.45]) by imf14.hostedemail.com (Postfix) with ESMTP id 51C786002FE4 for ; Mon, 11 Oct 2021 14:34:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1633962897; bh=rMjqF8p2H8lUjZ2VlYFQ5hXfZXc5FGmYjLg2tXh24fE=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=1jVIgJJ+tdFal/9Zs6V3JlJf+4SooXhYBY406CJoFdyCr5gcOh7Eivf5lmdvX9kpn kQMD6EkUU6CISQrvISa45LEB3ECOkXUSrGxCPCVuneWZDtUuo5LAiRLyM2v7T2enT/ GWY3+dvR6J21GfngLP/CCboQfXOu5zT7rBaRoLJFPU5b/vDrPP8Wu1kOkzUWQXVuIl 4nyl6k5FWXhp97NifmxhRz7clQHuYReRnY8FPnmKC01/RdxIXOMXMFzhm7SMgcPuq7 Dcq+FGYRBnm2m8YqcTIfq0MfagGo0gCAmZwNHxH6PSDObW0ZMoAVKGb3k3WzavJu0u 7/HkFEqZgpu6Q== Received: from xiongwei.. (unknown [120.245.2.114]) by pv50p00im-ztdg10021201.me.com (Postfix) with ESMTPSA id 7CC13A402CE; Mon, 11 Oct 2021 14:34:47 +0000 (UTC) From: sxwjean@me.com To: linux-mm@kvack.org, x86@kernel.org Cc: Xiongwei Song , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Kees Cook , "H. Peter Anvin" , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Andrew Morton , Arnd Bergmann , Al Viro , Gabriel Krisman Bertazi , Lai Jiangshan , Huang Rui , Yazen Ghannam , Kim Phillips , Oleg Nesterov , Balbir Singh , "David S. Miller" , sxwjean@me.com, linux-kernel@vger.kernel.org Subject: [PATCH v2 6/6] x86/elf: Discard ARCH_HAS_ELF_RANDOMIZE selection Date: Mon, 11 Oct 2021 22:31:50 +0800 Message-Id: <20211011143150.318239-7-sxwjean@me.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211011143150.318239-1-sxwjean@me.com> References: <20211011143150.318239-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.425,18.0.790 definitions=2021-10-11_05:2021-10-07,2021-10-11 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 mlxscore=0 mlxlogscore=679 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2110110085 Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=1jVIgJJ+; spf=pass (imf14.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.45 as permitted sender) smtp.mailfrom=sxwjean@me.com; dmarc=pass (policy=quarantine) header.from=me.com X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 51C786002FE4 X-Stat-Signature: noan6j63ggpk9nhxmzmoh9sb9368u9xe X-HE-Tag: 1633962898-264879 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Xiongwei Song We've enabled ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT, which always selects ARCH_HAS_ELF_RANDOMIZE at the same time, so no need to select this config again. Signed-off-by: Xiongwei Song --- arch/x86/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 01a40b710103..2f7fbe06e6b4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -72,7 +72,6 @@ config X86 select ARCH_HAS_DEBUG_VM_PGTABLE if !X86_PAE select ARCH_HAS_DEVMEM_IS_ALLOWED select ARCH_HAS_EARLY_DEBUG if KGDB - select ARCH_HAS_ELF_RANDOMIZE select ARCH_HAS_FAST_MULTIPLIER select ARCH_HAS_FILTER_PGPROT select ARCH_HAS_FORTIFY_SOURCE