From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5418AC3ABC5 for ; Wed, 7 May 2025 09:11:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B80F76B0085; Wed, 7 May 2025 05:11:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B305A6B0088; Wed, 7 May 2025 05:11:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F9A06B0089; Wed, 7 May 2025 05:11:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 818796B0085 for ; Wed, 7 May 2025 05:11:51 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E85221217C2 for ; Wed, 7 May 2025 09:11:52 +0000 (UTC) X-FDA: 83415544464.25.2C5E5E1 Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf23.hostedemail.com (Postfix) with ESMTP id CE7C7140010 for ; Wed, 7 May 2025 09:11:50 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BeJdwO0j; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf23.hostedemail.com: domain of devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746609111; a=rsa-sha256; cv=none; b=8gAm1PWbnGAmtNrDqEArCWh+9Qo7CWdltQNSu6WmEGpSRgP+pBIjhjIL2yNB8hR3qmgCWv 8YfKhT2/fq+KmRN7lBVjO5CgHQyxmpmpVpf+POkesQZOglV23FNj0WAUAGNXF+XASsHT7A Qgk+UnXR2mUK+DR4v50yC3o9VCj91Ek= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BeJdwO0j; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf23.hostedemail.com: domain of devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746609111; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=UrpqVpx/75juqsZBtf+anBYRAdXyBYTTfetCfQHxQ1k=; b=leBF0mr87RjJ0sFtUaLP7GYbf8PspvXn/rc42QQ8PU7dq6twmMIXyV2FvKjcxWA+tHU7at 2TDMlF2yFwCqLc1vrIivGKU+lHanXv+6WznH7luUnVYfuQYTddP76XAv57K/fX1o69hXey n0bJ+I/8NZpl72ZLRrbzcjThCifjgtY= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 8F91844F00; Wed, 7 May 2025 09:11:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 6B6EAC4CEE7; Wed, 7 May 2025 09:11:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1746609109; bh=ruOPmaR3kq6WkNEpmIlLEkIQx5iMRlPXDJqT7pUWy1A=; h=From:Date:Subject:To:Cc:Reply-To:From; b=BeJdwO0jzY3YVOG8vT7lLaMqjxDvOWOEFuBBQEqnpKqBZkIRo01mThdSqhhUEWcio beD+4EyszAifl7/k8knkVSUrBkGBq1AXKsyDmVolxi/u4Idm2JYkyyVaO4wfwCv3nc zM3vLqtNOhN1jjgWymJhZKS8C+6uJyh87qGemKzZJ8T74YoBpf4ByAtLXVro+lNiJf HCKAUj+QzPjEXUaihpHnnRi+2P+0ErAUGsfkfCTSrvh7eIDWCeCvzsMWCD6/r3AeZh VVOk7ZWOxbD5pAslD1y8WyVKtdAw2LI7FB3iTG6xXdkjkBSY+5dO5K2TwbD3PFgvnE 3fXyFUkQ8/OKw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 574B2C3ABC5; Wed, 7 May 2025 09:11:49 +0000 (UTC) From: Ignacio Moreno Gonzalez via B4 Relay Date: Wed, 07 May 2025 11:11:48 +0200 Subject: [PATCH v3] mm: mmap: map MAP_STACK to VM_NOHUGEPAGE only if THP is enabled MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250507-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-v3-1-80929f30df7f@kuka.com> X-B4-Tracking: v=1; b=H4sIANMjG2gC/53OwQ6CMAwG4FcxO1uzjYHiyfcwhsytkwXYCINFQ nh3B148m6aHv2n6dSEBB4uBXA8LGTDaYL1LITseiKqleyFYnTLhlOdU8At0st+6CqNUDYweYlc 5X08v7GXa9q6dwRoY6x5sAHTy2aIGhYJKppGWuSbpdj+gse/dvT9Srm0Y/TDvb0S2Tb9iTvmfY mSQimVKFZlQOme3ZmrkSfmObGDkv0jxL8KBgmHMUHUuxeXMf5B1XT9iL/yTXgEAAA== X-Change-ID: 20250428-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-ce40a1de095d To: lorenzo.stoakes@oracle.com Cc: Liam.Howlett@oracle.com, akpm@linux-foundation.org, yang@os.amperecomputing.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Ignacio Moreno Gonzalez X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1746609108; l=3053; i=Ignacio.MorenoGonzalez@kuka.com; s=20220915; h=from:subject:message-id; bh=/MtKRql7ItkYcZxcaRWd5jbyLrdw5wLAjEr52LPM+gk=; b=QGykkmGizMl/Qs3eTfiT7sngvK4B8FBhNaATEoCQbvxX6Nuvwk5NPySUYzBi0gxfIqG0hYTr1 AOf+mrM9ExTDqPXoFHTEP4x+UunC8r3hoqB7IKDj3P3snYN864keY91 X-Developer-Key: i=Ignacio.MorenoGonzalez@kuka.com; a=ed25519; pk=j7nClQnc5Q1IDuT4eS/rYkcLHXzxszu2jziMcJaFdBQ= X-Endpoint-Received: by B4 Relay for Ignacio.MorenoGonzalez@kuka.com/20220915 with auth_id=391 X-Original-From: Ignacio Moreno Gonzalez Reply-To: Ignacio.MorenoGonzalez@kuka.com X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: CE7C7140010 X-Stat-Signature: fq5k9oyyg43aqqwqzijn8p87crpzxxqw X-Rspam-User: X-HE-Tag: 1746609110-118224 X-HE-Meta: U2FsdGVkX19ZtsV0MXVLfxO5VOkXcfi74+zaXNpSUEYTlADu95PcIMaQWETgUdLhSccqn40SGlV9jJwW77v0q0DSpgaWLH1vwCB40RYhadwRNhw2Z08j0+7FuMBAL+3Xkb3CE/22Imj5iiFNim/1678ygOHRKcMHLgV4j7SJTRD7EhS2pUBFajgbUKpfCfRaNIFgSxIyAvwsIViUme85Lh+m+NyK9e+EzKbVBIl9bl23QhHbfqAVcqbp2dJbBgKDAVDvNiLNvGZxhLFGmE7mvHIuQWvn+vP3rj3NL8rtkajcfUJysNcURsLBWZAvzjc6u+rHUu334r0v3rR5bLWTP2JgK1ywTNZWP5lCFIqKl3Scp4Hqxs48O4w7LHeBeekMmiD1b8ZOg5PDazNDXuJLrMvxQcMvQFQ3iMcDMm8jQlJ+3R/lxC72ZKnVPKqccV2aTn/do0KiWzCAFJXyY4rN4zPdqU/PEASqPigo6kNYKl+M18CYTZ9QnEVXU3IpbmGWuUBRTSwkQ+H/gsjshShCrGWrKyv73dfbF1MuB8DYvsPkCJdf0ovsa3KMNJLtfKF+BxCS2C0va0mrNDuRFE0Z6xn+fJKHyfY6wCd2uUZ30bIkfLZmy/IHWTaq2/RGHEgrLCGSfvWS6htnS5s8s/6PFCn3Msz28Rzph0fAjnFeaDonZaF/mYQd2xB2E/GC/Tddc+qHJgsMSOdtuirj2YvLjlEk+6Eju/lw4XaZM9zNnrog9FQixqPC0D709WSkDXCF89P63KhTuq9lfz/wUU2Tut15Vv/IwiY7YSbEBgBiEgeXQztzGkaS3pfyB7TaROaknzg3K2HO1h0atopFhapSGbOm0ocEHQKkU9nBHtXTBneaqvJjJ3fVrRg8PKxipSYDTdaZ77YO3Yr85nA7kXizPoh4y5GD72j6bTAZY6HE3vAZiQ4UMS7aFBiDwArwNqI3jJB/86GGSOpXJm5EUda fh6nvwD+ hWzOM2R9co1BJ2VRtutP+5m7w6JHlWNU+c4/gpc1+Vfb5vtpD5obW7kSiL2zXIkRc0BYf/Q25NN4eA2tiPicuRT6bybDNW3odgqnC7ubSUi3RNRHqFZrIIdcgZIgJrXA+WcO0EIMCofPCnXsQHEUqytN9BjII8IXFJ8o+PqnRcbWSVce8qAIqUUlpA5WHVdoNTzwKfHFY+abSPJnOcfAAzTFHgoJwzP6tiXZ3l9pf4xOCaLx/9AxzZv/Lknv11OPYjcCoB1KlsNGP1Ump+hb5r63c+OLE1tYplHHnxB9OEFYreAdmKaVefK42TINLQ6ggFdR/w5G1n2TdLE2Lo1WgarthNRieDMTv+e2CMHDzwKma3t9EB+UpOG5wbYxkq0qy92Om4FdQ8i8FP4LAzLD/Q6txYavAj1/IeyMsZkwXOpAaPVMos1W7ENVTTI2gV8YS5OC9bjRPs5u8hLB+hTrGt0yxH1ISYAJyD3Gt2oOWea/omqt3V0xV1X63JXyaG/j7Nm6be82p7c9NSgaC8oyWRJvK0Qa97n7qjU25xyTtOuPfKfxrLXG/M2aMNvWy876LfjwGcptRDiG8jLvDXc2ZjnFauA== 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: List-Subscribe: List-Unsubscribe: From: Ignacio Moreno Gonzalez commit c4608d1bf7c6 ("mm: mmap: map MAP_STACK to VM_NOHUGEPAGE") maps the mmap option MAP_STACK to VM_NOHUGEPAGE. This is also done if CONFIG_TRANSPARENT_HUGETABLES is not defined. But in that case, the VM_NOHUGEPAGE does not make sense. Fixes: c4608d1bf7c6 ("mm: mmap: map MAP_STACK to VM_NOHUGEPAGE") Cc: stable@vger.kernel.org Reviewed-by: Lorenzo Stoakes Reviewed-by: Yang Shi Reviewed-by: Liam R. Howlett Signed-off-by: Ignacio Moreno Gonzalez --- I discovered this issue when trying to use the tool CRIU to checkpoint and restore a container. Our running kernel is compiled without CONFIG_TRANSPARENT_HUGETABLES. CRIU parses the output of /proc//smaps and saves the "nh" flag. When trying to restore the container, CRIU fails to restore the "nh" mappings, since madvise() MADV_NOHUGEPAGE always returns an error because CONFIG_TRANSPARENT_HUGETABLES is not defined. The mapping MAP_STACK -> VM_NOHUGEPAGE was introduced by commit c4608d1bf7c6 ("mm: mmap: map MAP_STACK to VM_NOHUGEPAGE") in order to fix a regression introduced by commit efa7df3e3bb5 ("mm: align larger anonymous mappings on THP boundaries"). The change introducing the regression (efa7df3e3bb5) was limited to THP kernels, but its fix (c4608d1bf7c6) is applied without checking if THP is set. The mapping MAP_STACK -> VM_NOHUGEPAGE should only be applied if THP is enabled. --- Changes in v3: - Exclude non-stable patch (for huge_mm.h) from this series to avoid mixing stable and non-stable patches, as suggested by Andrew. - Extend description in cover letter. - Link to v2: https://lore.kernel.org/r/20250506-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-v2-0-f11f0c794872@kuka.com Changes in v2: - [Patch 1/2] Use '#ifdef' instead of '#if defined(...)' - [Patch 1/2] Add 'Fixes: c4608d1bf7c6...' - Create [Patch 2/2] - Link to v1: https://lore.kernel.org/r/20250502-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-v1-1-113cc634cd51@kuka.com --- include/linux/mman.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/mman.h b/include/linux/mman.h index bce214fece16b9af3791a2baaecd6063d0481938..f4c6346a8fcd29b08d43f7cd9158c3eddc3383e1 100644 --- a/include/linux/mman.h +++ b/include/linux/mman.h @@ -155,7 +155,9 @@ calc_vm_flag_bits(struct file *file, unsigned long flags) return _calc_vm_trans(flags, MAP_GROWSDOWN, VM_GROWSDOWN ) | _calc_vm_trans(flags, MAP_LOCKED, VM_LOCKED ) | _calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) | +#ifdef CONFIG_TRANSPARENT_HUGEPAGE _calc_vm_trans(flags, MAP_STACK, VM_NOHUGEPAGE) | +#endif arch_calc_vm_flag_bits(file, flags); } --- base-commit: fc96b232f8e7c0a6c282f47726b2ff6a5fb341d2 change-id: 20250428-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-ce40a1de095d Best regards, -- Ignacio Moreno Gonzalez