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 E24D1D0E6D6 for ; Mon, 21 Oct 2024 09:34:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 69AE86B0089; Mon, 21 Oct 2024 05:34:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 649366B008A; Mon, 21 Oct 2024 05:34:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E9746B008C; Mon, 21 Oct 2024 05:34:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 2F24A6B0089 for ; Mon, 21 Oct 2024 05:34:11 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 1C0C4A1815 for ; Mon, 21 Oct 2024 09:33:43 +0000 (UTC) X-FDA: 82697097924.05.8DA8A56 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf14.hostedemail.com (Postfix) with ESMTP id D893710000F for ; Mon, 21 Oct 2024 09:33:51 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=YUmFwwtL; spf=pass (imf14.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@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=1729503098; 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=N1qrMQuES5B03MGFeoy/Tls0FHqUcPfUE/C/kE01yJ0=; b=18r/EjWFRlAeDGmWjIcA7pvxGkwOZcA1TfxoDvIZRZIdTmK1jwF5K4E0CtIzgFubllIfsV 97IkyV0vDiMZIL/FNnotfIyKpgOUwOD5nCbJ8fxUJVWr5w8j73cursmwsDxBB0Ja1QIV8d m3npPkJ+d/hAm1ruiEIbp9WVzreUpQY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729503098; a=rsa-sha256; cv=none; b=eR+u36nQVxHdC/IxfSAkRlRqKtAikiuW/p+mNFA4ZbRikSeJHTSKcYRa5n6NMKB8ABGz71 7o62xv9SgLOlEob8NpXvc5E1YYVgumrOfbY0495SXU5C2+zaqD4X/IlkQ0CNFGQQTW9DkX t1+6wRgrj9KP9cBum3j/+LtiLmUNdnU= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=YUmFwwtL; spf=pass (imf14.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1729503247; 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=N1qrMQuES5B03MGFeoy/Tls0FHqUcPfUE/C/kE01yJ0=; b=YUmFwwtLmWur6OAr9+ziPzsb6yYNAtuHIS5uVfdpYRyRaaCNXqLVv1PU7+BPXKAb0I+kcx 0TlT2v1sP2/Hu4IAN2bdMSNpLMHmjigMoLB2yKLz+rCDqExVuwqHd+HhuqfLS7A2b0qnUB yV/6ySbUpobdKFyNutj0V/QtIpoa2pk= Received: from mail-lf1-f71.google.com (mail-lf1-f71.google.com [209.85.167.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-607-wzdEWSjrPpe108IP73Zk2w-1; Mon, 21 Oct 2024 05:34:02 -0400 X-MC-Unique: wzdEWSjrPpe108IP73Zk2w-1 Received: by mail-lf1-f71.google.com with SMTP id 2adb3069b0e04-539ec1a590fso3403376e87.0 for ; Mon, 21 Oct 2024 02:34:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729503241; x=1730108041; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=N1qrMQuES5B03MGFeoy/Tls0FHqUcPfUE/C/kE01yJ0=; b=jrEQ7wodM4NUbMpqmPJyuCyEtJas5IiZeVAE9aqVzT2qHp+235MTNNYzSvdmcnnCC4 KpsDDRaT4PBQwWfjatzWtTvXHhuuiO9U7Q3v/KMi8hbj5Z5ZarZNLYlJdeyR8nJrxkGS FhYkb/LyEHUzD8TZPEZDvH2aSBLZI620z3IxPDIOSLGtSW1JDjdig/4gshIQmjhLKTyP 6iITKl6DLnCvemhXkTpOvRuow0M3gQOcuX52NcftMJpoiUbwFEg9aCGdSHgVt6AtY1xC Hr6fHJRP6vI6EIfdRxjC5jb5FeKQvR+VkHM9mQR03gMILA2UpsyJ+8zMMbEe1DMzAdVd kz3Q== X-Forwarded-Encrypted: i=1; AJvYcCVY2r1etkEsiIS0T+fYP9KjuWjoiO0LwGDqG+EY1dn6V68MuU24lUXGDavX7gfXv/613IRLUA858w==@kvack.org X-Gm-Message-State: AOJu0YyIE2gDtMScjEl9XSj8v5WFyL9jTuTCwG+BsqYjUOfilZaGcQze 9xvohHecz1Ynyvt3t0sT7D5yq1H6fB+w9e4hbzaCyokzVYZ1vnsRg9Mk84kCVmUi2LzVa5AeuoC BdgMzSlar5HOGMWHLQUMYsLXaGp1HzZcVR4tCAFiVZpDYD239 X-Received: by 2002:a05:6512:b19:b0:539:df2f:e115 with SMTP id 2adb3069b0e04-53a1521993cmr4562868e87.23.1729503241163; Mon, 21 Oct 2024 02:34:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH9rOgj5iTkXbIp620Wgo630E2yBpSB1XyYMCGTDIjsvmCiEgeU3T276NXuPJl62rHEL7ftng== X-Received: by 2002:a05:6512:b19:b0:539:df2f:e115 with SMTP id 2adb3069b0e04-53a1521993cmr4562842e87.23.1729503240709; Mon, 21 Oct 2024 02:34:00 -0700 (PDT) Received: from ?IPV6:2a09:80c0:192:0:36d3:2b96:a142:a05b? ([2a09:80c0:192:0:36d3:2b96:a142:a05b]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4316f570dd5sm51388215e9.3.2024.10.21.02.33.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Oct 2024 02:33:59 -0700 (PDT) Message-ID: <4a775fd6-cb07-46eb-aa15-026e61317c16@redhat.com> Date: Mon, 21 Oct 2024 11:33:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [Bug Report] Wrong value of __NR_userfaultfd in asm-generic/unistd.h To: Muhammad Usama Anjum , Andrew Morton , Shuah Khan , Peter Xu , "Dr. David Alan Gilbert" , Andrea Arcangeli , Kim Phillips Cc: kernel@collabora.com, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, John Hubbard , Shuah Khan References: <3d07e4c3-e413-4378-82da-265a477bedb3@collabora.com> From: David Hildenbrand In-Reply-To: <3d07e4c3-e413-4378-82da-265a477bedb3@collabora.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: D893710000F X-Stat-Signature: hgng1utmfw4fhpjnsxqt4n5zyomfpgjh X-HE-Tag: 1729503231-521449 X-HE-Meta: U2FsdGVkX1/cbEjZ9ypsS+9C5Ct2guO0vp7Stw9zCuM7BINVB/I2TlkfO8C++BobDcessGpzgFNcyiIej/V0xEIH8nT8bUo/0MWMa0toinsnsz8gYhC+qdyEETSoW88qtrkHEo1crsfbYizEaQ++VyXsyMOpUpq5DKD2I8SfwJOKwpjlCZRLYFA1XNbR5xRWMjKbr1YpzxHQv9H0FGvygkaJOJviLG1zUGKW50YwXpdlFVEiBhQHUAeyriJE0rDZJ/OnMisn0fsDvcbc6iD60cSo9GmpcobQWXC57AQLfzZ4z3vBMrgtx/b5aPUVa963qTdpQE6ME684A1HsoJdjcQ1XlcqrEFaSK3Tezj4ff2JfCCeiwz4+RvJ+0eA2saysAc+VAkHX96QaM4xxhQnOMVCcY5bao/40MmxwLheDxXNkbh/P5D/MZtGVFzOJ7iEWD8H8lbd32DeU34vMsJcg3fe8v8dBMunfrf00IbjeAR5Rp2jbaZsY5HzkRn7i+Ndr3cO8V+9krauQWriExTOcpaOtsHz4np0XxeJxW8o3VUf7n/Vt73W2/aafbDqRpqta7XhJUfut6XCc7bwA8dpU9vCETFieD4leFSLpOJWufpsle8swlfA+HRvp9xx8J2nA+vFyCJslV++fVSQ5INsj47dM2x8j0rFDGKSYRhmHChZ2LgC223uyC/qJeASrAS+o8GDAP+y5IdX70S6J44KgP+ku6+ANYMg9cDPrQsZx1BTY+JJSN0kgoG05Nzl3jaQlASjJZWp2zW+Tqosn0ZndJXmSQ5zFuhHVQyV1WGO3a9azforWjSzzq2YWf7QcA0sPkgHBqJ/KqG4tXEzZwRLWFXzKMxqqlS4uSRi4pilRrOpZwkalnn++owD5w1Y0cY8DEzfzt13jo+D+mHBpAyfph1Cuv/MbFWqdL1JVL/AiVPD+hvlBnFQLtx3kIb28eKVh8cF8ilV0LN3hD9ZLOu2 pXASbcta Z21BNlDKjfJWcUdq8Dtlt9qw52FYN1SheVvw0Voxzk4BWwLVJDoxVTGIQtV8icSyHEWxn4pTEXivQuSWgyjhnkWl/Dn/dmxYpTg4Gvtuznyrz6eVYxMRSurmVn6kgIdxoWktnYvczCSbInds/k2GDlNLhPsZFdelJ3KCP8nNaJHy9WPlOsCdCEicg2Q31t3VdpF/P2KQ5g+RhpVBAEu2co+J3f+0Y0aPbNn39ZzDfRhUfi92b/7z2Zfttl/737kPj4HYU5qFnqHW+njJPn01eRM5O5EWC3ToAP/tAOl+nqyYTF8Q2aP+JplEarWShMOHep8TUPt5RRlOJt63QADC4RZfIZaq0SQmlDUASfuI42XAVFbeyKu8XOD7qfBxVRPdwIBCCo6GAb2bPqiyZlTlNaKqeqLExJfZLC4Wnpt7TYA3JLxQa6dysQRdQhl6I+0us040+6WRxpYCdMTKP4Xd4xn55h/xNsar2y9IJ X-Bogosity: Ham, tests=bogofilter, spamicity=0.001316, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Am 21.10.24 um 08:48 schrieb Muhammad Usama Anjum: > Hi, > > The asm-generic/unistd.h file has wrong __NR_userfaultfd syscall number which > doesn't even depend on the architecture. This has caused failure of a selftest > which was fixed recently [1]. > > grep -rnIF "#define __NR_userfaultfd" > tools/include/uapi/asm-generic/unistd.h:681:#define __NR_userfaultfd 282 > arch/x86/include/generated/uapi/asm/unistd_32.h:374:#define __NR_userfaultfd 374 > arch/x86/include/generated/uapi/asm/unistd_64.h:327:#define __NR_userfaultfd 323 > arch/x86/include/generated/uapi/asm/unistd_x32.h:282:#define __NR_userfaultfd (__X32_SYSCALL_BIT + 323) > arch/arm/include/generated/uapi/asm/unistd-eabi.h:347:#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388) > arch/arm/include/generated/uapi/asm/unistd-oabi.h:359:#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388) > include/uapi/asm-generic/unistd.h:681:#define __NR_userfaultfd 282 > > The number is dependent on the architecture. The above data shows that it > is different for different arch: > x86 374 > x86_64 323 > ARM 347/358 > > It seems include/uapi/asm-generic/unistd has wrong 282 value in it. Maybe I'm > missing some context.. Please have a look at it. > > The __NR_userfaultfd was added to include/uapi/asm-generic/unistd.h in > 09f7298100ea ("Subject: [PATCH] userfaultfd: register uapi generic syscall (aarch64)"). This is not specific to __NR_userfaultfd, just take a look at some of the other syscalls (e.g., __NR_membarrier). Now, some of the files you list above are "generated". Doing it on a clean tree: $ grep -rnIF "#define __NR_userfaultfd" arch/arm64/include/asm/unistd32.h:789:#define __NR_userfaultfd 388 tools/include/uapi/asm-generic/unistd.h:681:#define __NR_userfaultfd 282 include/uapi/asm-generic/unistd.h:681:#define __NR_userfaultfd 282 But now comes the tricky part: an architecture defines whether it wants to (a) Use the asm-generic unistd.h (b) Use a custom one E.g., $ cat include/uapi/linux/unistd.h /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _LINUX_UNISTD_H_ #define _LINUX_UNISTD_H_ /* * Include machine specific syscall numbers */ #include #endif /* _LINUX_UNISTD_H_ */ For example on riscv arch/riscv/include/asm/unistd.h will include arch/riscv/include/uapi/asm/unistd.h which will include "asm-generic/unistd.h". If you follow the flow on x86, you'll find that it will not include that asm-generic one as default. So the asm-generic variant only applies if an arch wants to do it in the generic way. $ find tools -name unistd.h tools/arch/x86/include/uapi/asm/unistd.h tools/arch/arc/include/uapi/asm/unistd.h tools/arch/riscv/include/uapi/asm/unistd.h tools/arch/hexagon/include/uapi/asm/unistd.h tools/arch/arm64/include/uapi/asm/unistd.h tools/arch/loongarch/include/uapi/asm/unistd.h tools/include/uapi/asm-generic/unistd.h tools/include/nolibc/unistd.h Consequently, the asm-generic one should never be used directly. -- Cheers, David / dhildenb