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 BD952D216BC for ; Tue, 15 Oct 2024 14:44:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53A896B0082; Tue, 15 Oct 2024 10:44:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4EB126B0088; Tue, 15 Oct 2024 10:44:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B2316B0089; Tue, 15 Oct 2024 10:44:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1DD296B0082 for ; Tue, 15 Oct 2024 10:44:03 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E298D1C6DC9 for ; Tue, 15 Oct 2024 14:43:52 +0000 (UTC) X-FDA: 82676105904.17.35F329D Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by imf25.hostedemail.com (Postfix) with ESMTP id D5EEAA0012 for ; Tue, 15 Oct 2024 14:43:55 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=G3y5hnd7; spf=pass (imf25.hostedemail.com: domain of jannh@google.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=jannh@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729003394; 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=3lpMQC/f5DBAD5or9lbKKrPkKemScfy3OJSYurxvJuw=; b=lRiTBK/BfIvC1m4xPr0PQnqX7ZbxnEIvZZntwP3coJPKq6M79HEuZ1BzZBfRQXLoqOjkt1 s2Z8hXGHEVwgn0OaYta8nKLLwJRGlvx6OOUgqsudOlk/sJoj3erqAnKQAWeqNGBj/1tAdO AuxPyh3FTRG0kccgjHV/B8OaE+JLs8M= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=G3y5hnd7; spf=pass (imf25.hostedemail.com: domain of jannh@google.com designates 209.85.208.48 as permitted sender) smtp.mailfrom=jannh@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729003394; a=rsa-sha256; cv=none; b=LpRbCgF+IWdcnhw21RMGaZ6K9lbtBpmjJBw8HZEPH0jQPDmo2e8MmqEiDw9n3qL4pUZ5vk R6rfGIlN8/AsaXK9pzzsAaPSozIQ93S+ingLoupv0/EwEhJU3/qlCTR3OiHMo+cvJgWWk1 ztMnSdkesB9adVakqmsuKJYCuKpeiZ0= Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5c934b2c991so5078a12.0 for ; Tue, 15 Oct 2024 07:44:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1729003439; x=1729608239; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3lpMQC/f5DBAD5or9lbKKrPkKemScfy3OJSYurxvJuw=; b=G3y5hnd7D4cB5Ce+RHeE2dUkLaMr3x31qvEXTVseLZ2dcqQlKKIrHsc/Q45IgJeIET cFMqJkG3qFrTt7IqDpjmnFIMnTHnGsNgRZeUvPYOTKa6otfEhdU8/dJmT+NEd0QBU/nu Qk/tjssjwCyQ3ijstmVivU/R4djVnf3bf0wz8gbsEgb9vSK+cvFijdsQzXjaDozkDnGO WTAgh6+U8VWNegCmEyMCj2C4vhFEDYTxx0D9v6svKATuq98GqVdcMZY54Q+3ycxX+7OI bQluRZL4SOr9RTLeTomejiVSmXbB7AMFlqYEdmBqKIeqFJONz75Vcl8zEwdR3Wkwde6S Q1DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729003439; x=1729608239; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3lpMQC/f5DBAD5or9lbKKrPkKemScfy3OJSYurxvJuw=; b=isr7Kxm1P+fydFtc4rcgS5bimyA5T+kD8Snb7Wvxa/GKOoC3igGtuiQIkLDi/AAHaA Q30omXbmP1R1QFYPkOVMXVMgssBZSDTiReQ4yv2I8N5XN5Jwj6awzen3ijTbBeZetVID w6RJ5AwkKJKGYRfI2ACtKOASv9ZRHFrzwqz8TivbL/y91BMQqBsJYn6EqkbdzcsQeBIE NH/JCoy6tXAxzvnujrs+48qRUIkjY9GrnYdZXdJ4NVThiN/a/S3sLOGRQ4/XsIlFCeIv iekwYBhyPYvTdypd8sZR2LaQlif2Gd9RXFcwX24hiJR0+AOt5APQFN7WIcuJj8J0VmYi 4Lvg== X-Forwarded-Encrypted: i=1; AJvYcCWTu3+h75790O+KVo7HI2JNrNTI/k+5tY/6CPjYjvve01YsepayXdRg7v9ZLxuGUEXJvtldeLQN8Q==@kvack.org X-Gm-Message-State: AOJu0Yz4G7zIoMZ3d275wel9PK1um9YA4Uwl7g2EJK2ArxFI0NiQv3vN 3vaWR9Klq7o8SiXiUd1hbi+d8iZa0fGISWCFRPqALTppjnvJUdDeIPgCK+JIw6YjVjdbQWJT0Wd bIJEE5Nxv4DhO16KNgJjHh1P0Z0R88df/kqbr X-Google-Smtp-Source: AGHT+IHbGmHwlXDagk/3SF+RGqhVu4RMoqkcx6gh6koiAXSvvuUvpR9ybPtB9PL+HL94OhwZsQuEVgsap2LDWyNUaRQ= X-Received: by 2002:a05:6402:520f:b0:5c2:5251:ba5c with SMTP id 4fb4d7f45d1cf-5c95b0cf230mr123871a12.0.1729003438690; Tue, 15 Oct 2024 07:43:58 -0700 (PDT) MIME-Version: 1.0 References: <20241015111236.1290921-1-david@redhat.com> In-Reply-To: From: Jann Horn Date: Tue, 15 Oct 2024 16:43:22 +0200 Message-ID: Subject: Re: [PATCH v1] mm/pagewalk: fix usage of pmd_leaf()/pud_leaf() without present check To: David Hildenbrand Cc: "Kirill A. Shutemov" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, syzbot+7d917f67c05066cec295@syzkaller.appspotmail.com, Andrew Morton Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: bekz4du59k1d6xy4be1xebykrqf8fxeh X-Rspamd-Queue-Id: D5EEAA0012 X-Rspamd-Server: rspam11 X-HE-Tag: 1729003435-918327 X-HE-Meta: U2FsdGVkX19Bj9Wohb8VYg3oxxdJLqZLQyJ3kHtCrzDnzBWFjDR+UbxFGQRMIH3F55y2lhKYqOLPHw5qy7tAPGgJ3H46lf0ribH+wNp6RkuSJO65W7bXSc0YKitEVvRi4VvPVnYo+8uytr7nzjcIASOE6cHzwBQruSFSBnJnwhYw7f48cLmSViqRBpwxjf1+uUX0PRBUHKiRh0gf+IT2zXs4scFShEzExYGUd9aX8NYgBNz8xDxyW5SuA81059+Vg/KVadZ2uxBW6x+Ek4TrOTx/3vdtnXWh5ti6VR8XlqWK00Dkp+BIsPK7lCifkkcl1hD3cHBtSWr2LsjadrYd1zc0Bht6CP4Xe8NoV2yTmg78AtMZQpxJwtCmjwd1pheeJpmPxeTFzlgTUdAd0BaZePUElXv6rt6sjmgbLlxR1KKcj3qVezXbnChjE1xt+jbD+YqBWs47z4gKeZtwAnMBKgL9i7uzfYEsijLZN3UtkgAUPsHUp7yy6+qv+rYfoSqj3QZAsPYNKis2QA/XRTfvm/zvk9FK97JfYvUu/tYrILSZ2M+Mzhq7RuNzLPnCYA1HEXM6iqYCKnu5ffxc5BRVG4hUgZvFgPXlXZGONbahdh0w6+Nh2kKXJjTkzL0rATiMATlqt4kgkrdq5gCc+cyHxxgQXgiGVJBUopU1SL60wE+xf1l5pOrN1SL5vbkCLx7yUoIJ0Xu+o0W/6xGD4+7OIzAO+MAOfwLjUnsPUjAGeODr9tywO7v9jbDFmrYkClR/o1cWgjxyY3mQQQpo3KqDFzo7CytcTLkPxNVoEK3ducnhzub7YWmfI2HDINXz71gnjeiCiH0qoSPpO5rHVTdiGklKpFjKJXTQNutoUPLM6Xd5AlEMVJz/UehVPczrClNSvV6b+tOhiF3x5pAfWkb6JwmYTSLwv6qX7ZGaewM8eyk0lM6MURFhaI2eBRwercr+uk1Ti1/RQI0y299KZAk IyTnSBDK voDh/Uk4d2IXs0gpxEEOh8Lx/eJ8aVTpM4xLBImevIXuqZMqVwcSN3v3ZAU9GOLgpZ2kt0xZOAPW31QIWOGJfMBP0tywYg6pqUWh/kzlUy7SWMdHcfA7KtOO6D1b2NCyLg6XrnZg+GvvueB0GSiTBDIOz/Fz47QfVp2Cw+ZMgJclPAtKX+WogByj1YPG5hp1ga7Q8Z7e2nmiauDlOnsOpU4V09HE0lpmU6EY0TXdNlV3Qg1gOfIqgJY3hS2On2trqEgfRfCJG6GsqQG8g+/RfGPDC9ZMjrKEXaeDkmjaaZ99ATemO18tiqwOo3ruZ9ZMy5wUZQY1Q80JU0FTfGQfYpTHtWSdplQDFxeJTm/PgW/AQr0I= X-Bogosity: Ham, tests=bogofilter, spamicity=0.005243, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Oct 15, 2024 at 4:40=E2=80=AFPM David Hildenbrand wrote: > On 15.10.24 16:32, Kirill A. Shutemov wrote: > > On Tue, Oct 15, 2024 at 01:12:36PM +0200, David Hildenbrand wrote: > >> pmd_leaf()/pud_leaf() only implies a pmd_present()/pud_present() check= on > >> some architectures. > > > > Should we clarify what behaviour we actually want from arch code? > > We probably should document somewhere that things like pmd_special(), > pmd_leaf() ... should only be used when we know that the PMD is present. > > I wonder if we should even add ways to detect mis-use > > Jann also raised that recently in a private message, that it is rather > unclear (well, and repeatedly leads to issues) when pmd_leaf() is valid > to be called. I think one place where that should probably be addressed is in Documentation/mm/arch_pgtable_helpers.rst - that is supposed to be an overview of these helper functions and what they mean, but the only thing it currently says about pmd_leaf() is "Tests a leaf mapped PMD", which doesn't really tell you much more than the function name. It would be nice if that table contained information about the conditions under which these helpers may be used.