From patchwork Mon Aug 12 18:12:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Xu X-Patchwork-Id: 13760910 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 63CFBC3DA7F for ; Mon, 12 Aug 2024 18:12:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C84AD6B009F; Mon, 12 Aug 2024 14:12:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C0F1B6B00A0; Mon, 12 Aug 2024 14:12:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EAEE6B00A1; Mon, 12 Aug 2024 14:12:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 7C9096B009F for ; Mon, 12 Aug 2024 14:12:44 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 268F6A5B5F for ; Mon, 12 Aug 2024 18:12:44 +0000 (UTC) X-FDA: 82444389048.13.26F8F9F Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf28.hostedemail.com (Postfix) with ESMTP id 1335BC0014 for ; Mon, 12 Aug 2024 18:12:41 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Jnn7w6n0; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723486307; h=from:from:sender: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:in-reply-to:references:references:dkim-signature; bh=51AsM4wPs8z1MhF0DnEEQJIHR/NiBzvmhfDXZZK2UA8=; b=VEEv2ygapol25q94EXr6Sqon9vBfYcl8IsZNSuVpqeMof8TlBq4jf6mPz8juMEgwkcYZ67 WAaLgFEf5V/H/KR1u8At0r10ySOVm2znoz20VhPJQvbwu0yh0gYs8/8+Slw55y4wZhMxhn M+Uj1Y626xMhnnpTLNGYOqgO9Yb4agU= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Jnn7w6n0; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723486307; a=rsa-sha256; cv=none; b=y3h+eDyv3QEfWqNk5mRBJBC/Lsm/ABQv+5fJbXLbdobUzRD2cUo21mBJVkiKnAPF7NHFEu Xyhmx1uBi75/aOYSRV7rXOH7weZmc6nYg2Np60vuPTMdV3TA2H37lWZwcyufxrSNSFt82a qHHWxc+TdvO9VJumg976pwPAjjISNK0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1723486361; h=from:from: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:in-reply-to:references:references; bh=51AsM4wPs8z1MhF0DnEEQJIHR/NiBzvmhfDXZZK2UA8=; b=Jnn7w6n0gwtjJfI2DZ8EB0wjG/1sqPNoKtV3FWMJBvINwdiupXN9WDMrfk37pxCBGCF/wf hWQJILdqi8jzaQxDY2lPygYHsPbfh4OPj9ob3aqYdmK3doRD3eNtzPmvI905lSkHVFDLHL XbeVrMvl7Qx5N+/qtl2XQt/65bs9x7A= Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-90-gnnl6X5nPmKlrU9ktxCHZg-1; Mon, 12 Aug 2024 14:12:39 -0400 X-MC-Unique: gnnl6X5nPmKlrU9ktxCHZg-1 Received: by mail-vs1-f71.google.com with SMTP id ada2fe7eead31-492a3346e4bso216482137.3 for ; Mon, 12 Aug 2024 11:12:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723486358; x=1724091158; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=51AsM4wPs8z1MhF0DnEEQJIHR/NiBzvmhfDXZZK2UA8=; b=LzkaztRiOPWFSA+rXCvqyK9pX4v6NMoxEKBwqpGTpc8uBA+u9aSqZKTdIuy3qFEHh1 ijl0YvVd3FjwbnJ5i4p/fjEuyqqA8yzC8DRsUoU8wWiWWrZ9+9o8TbWaf8iS+0IggaYw G2G2O6OCfG7gVL0FQOSyhJ5RxyeH3qyNSmJ7GCj0Lq0j4kLlzobcUHA7MDlgfrqBW9lf 7RrqflfKJzfc7OZXFSZcl+A9wlIoPsJVGl/ev04t1S/Ibz2+F4EAOkPYUvI2jCK4ARF+ Wjb1NQArGaP7s6WFzU/d0Dwlt+gsgJqBvGxbBw+xTH3ZC8eJtYvtSvuvjPr7v9DSj2OQ SuSQ== X-Forwarded-Encrypted: i=1; AJvYcCWnJnz7hl2+PcnfbiNCj8zjcSGZiTPhHZWxpEzJ+hPh8ooD7uOvev61FyNcrz3ZqCCoipIA5rqZeQ==@kvack.org X-Gm-Message-State: AOJu0YyiZm0zvBh+kE95Nykhu5Mi/8rCfM/uTiBmgzAwEOXDrKgPp0Ti Z0ztac5IrVhtCFUYXTWHTsUmIuJ6K4zWHMKIBtSPENuT0G2w/oWf2jQ55PXMntmh3QcqA/MSsIy G7Uc4jg4Qom3VxYrdQIcYDJp8LGYu9B3Rfk0qlJtLs2rxTzgmx0xsYPCg X-Received: by 2002:a05:6102:3ecb:b0:48f:1db0:e268 with SMTP id ada2fe7eead31-49743b3bcadmr808464137.3.1723486358024; Mon, 12 Aug 2024 11:12:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHqoB9/0mESDqYSEBNTj9AtHyzcMfWYv34FSY6okF36kkcu051ygwC1i1HRAV7+0kWzcEuDbQ== X-Received: by 2002:a05:6102:3ecb:b0:48f:1db0:e268 with SMTP id ada2fe7eead31-49743b3bcadmr808432137.3.1723486357628; Mon, 12 Aug 2024 11:12:37 -0700 (PDT) Received: from x1n.redhat.com (pool-99-254-121-117.cpe.net.cable.rogers.com. [99.254.121.117]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7a4c7dee013sm268663985a.84.2024.08.12.11.12.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Aug 2024 11:12:37 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: "Kirill A . Shutemov" , Nicholas Piggin , David Hildenbrand , Matthew Wilcox , Andrew Morton , James Houghton , Huang Ying , "Aneesh Kumar K . V" , peterx@redhat.com, Vlastimil Babka , Rick P Edgecombe , Hugh Dickins , Borislav Petkov , Christophe Leroy , Michael Ellerman , Rik van Riel , Dan Williams , Mel Gorman , x86@kernel.org, Ingo Molnar , linuxppc-dev@lists.ozlabs.org, Dave Hansen , Dave Jiang , Oscar Salvador , Thomas Gleixner Subject: [PATCH v5 4/7] mm/x86: Make pud_leaf() only care about PSE bit Date: Mon, 12 Aug 2024 14:12:22 -0400 Message-ID: <20240812181225.1360970-5-peterx@redhat.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240812181225.1360970-1-peterx@redhat.com> References: <20240812181225.1360970-1-peterx@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Stat-Signature: a8cma61td7yandrhwo3imqfgnfsqczqy X-Rspam-User: X-Rspamd-Queue-Id: 1335BC0014 X-Rspamd-Server: rspam02 X-HE-Tag: 1723486361-142697 X-HE-Meta: U2FsdGVkX18QsxC52KJn2jGmoiFNXq/4qSw+cW77LUV6b3HhPuT1UzmA2P/2xh1Zsiaegi/3D1wxS+ENhJnVBu7yGzInM1mGUD0otHy+DbJKMvVLYthMhwrGr+5mCt9gjSjRUh5ca2Cr7KO6+NygTfhOw2dWjw1UBeu6g2x9d1zhRoMYuWbltzx6tNaX10XtU7flPNSZ9qITmce9SyMO8KBFZgQbKa3qX/qQqcCuBQ7NwBpGfAQVrdkntKjRTtuI0KheEpCpcO8y7qf4PjzbbTyI0/chnQKGt1dk1wWYdJKsE1UUjdzJW2GsYQNIN62QV62MDwDE4uhyDpjBj8PegX2mfR6D+roW/aVAyK2OSs/CQZ2Gpvi9y24DjMBDMHo644KWDm/BYy09N0ffYzA8wMG4dYQHDtXzsrzdq7VJrErjDLtXy+TWwC1F/ZFMp9a3zOl+zE7rmCq/VkctL23dKZ2fLH4ssl0ZaWolXQOn7mImF89qyxLthizUxNT88BYkQucmsZlKh3ONNRIuc12sfDH1tgUH+JpV7eV+32R/rC8nCy6qSyuC7h5m+DQ23zs4BVeEjQKmMLSciLjs/aKt0YA7YlIVdkiu792+x/4kjrRLnFcATSreMSI6d6wozZg3vxL6kmeXHW+BCHqPTJHuaqF7JtioXvY/nwJzixq1LM/4OUgSTbjvAv4JKTyCjv2HPHH9vEqNnA2zIq2dOY2tVMyasgzxTrGkHZgWOy/55Wv1Qbs5C2HOZEsTZHjrQF3YgxVJiyl3a1VHxGKj7g06cBRz+KAq6NjJAXi9fM2Dh9abCHei/W1NYyXcYd/w3c71LE34trT7Qk0Rt5nWIWLCKNEacHstJ+eUmgG1o8MavfZeq0NnvAzSDHp/3zoa/8flHWvp3mHghtjNgGNRLmnQ/FY7eLITrM2vaAffm33hlp36N/OLRrLCKhIh28ukk7EdthlBSqV91hpGy9YIiOO b5NS+KfT ctYwciUkm7aiSF8ZvZxvhog143IcRsWG+Z8xM9o3StATBhPW8Jv/0gpD2pxjARiw7e019ke4g8W8u42Ua+iugBq0lGxWXdJjWpSlUd6Zv+R7ApZfr9p+LaYathh0+e8oy5v20UXflpPYQMMWxRQnqmIWqPH+DvhDNWO2gSIc/BXJ0F7XTAkGqwzCP5I3DdnbAEN5Q6CchxmkfsP+3fCIzgna6hBngKouaMYI20xXYOr4OpRsETa0U/QyyS11EpvWcX55JGFAXUsEJKO8rBe9qQ7iKYQLO+md/uhpcFvwfcbbzT+9vMS1ZUICMNp9K5Ieu6dEPVIc14krBz+VqOWSLDQ0oUvsg8JrigEGQs8U1kU6Z8//e+QcGC1rIa9BEx+yWuyRXjWl7q4mQTWXHAl4t5i7pFXGiT4MXOhxHFxs0K8BkVwxRAj5UejectVP4qFvf6i4/Ymsc7Xh+A4HHZaFnu05qR0CWYUUEyutC2Sa2DqeUjUfmgoyR0+QSBcBCaqLNWzo5X8dTtnp4wgYGBf6t4LZeX36nMyi9b9w+048Iiz3IK9RbovRyP2ozOgR8EUEqIxWOsZhyE51VYGT0aguy3VTdpw== 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: When working on mprotect() on 1G dax entries, I hit an zap bad pud error when zapping a huge pud that is with PROT_NONE permission. Here the problem is x86's pud_leaf() requires both PRESENT and PSE bits set to report a pud entry as a leaf, but that doesn't look right, as it's not following the pXd_leaf() definition that we stick with so far, where PROT_NONE entries should be reported as leaves. To fix it, change x86's pud_leaf() implementation to only check against PSE bit to report a leaf, irrelevant of whether PRESENT bit is set. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: x86@kernel.org Acked-by: Dave Hansen Reviewed-by: David Hildenbrand Signed-off-by: Peter Xu --- arch/x86/include/asm/pgtable.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index e39311a89bf4..a2a3bd4c1bda 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -1078,8 +1078,7 @@ static inline pmd_t *pud_pgtable(pud_t pud) #define pud_leaf pud_leaf static inline bool pud_leaf(pud_t pud) { - return (pud_val(pud) & (_PAGE_PSE | _PAGE_PRESENT)) == - (_PAGE_PSE | _PAGE_PRESENT); + return pud_val(pud) & _PAGE_PSE; } static inline int pud_bad(pud_t pud)