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 2D642C19F2A for ; Sun, 7 Aug 2022 19:45:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 32DA58E0002; Sun, 7 Aug 2022 15:45:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2DCB08E0001; Sun, 7 Aug 2022 15:45:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 17CEE8E0002; Sun, 7 Aug 2022 15:45:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0396C8E0001 for ; Sun, 7 Aug 2022 15:45:03 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C447F120AE4 for ; Sun, 7 Aug 2022 19:45:02 +0000 (UTC) X-FDA: 79773824844.21.73B1BD1 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.13]) by imf21.hostedemail.com (Postfix) with ESMTP id 148221C0058 for ; Sun, 7 Aug 2022 19:45:01 +0000 (UTC) Received: from mail-wr1-f47.google.com ([209.85.221.47]) by mrelayeu.kundenserver.de (mreue107 [213.165.67.113]) with ESMTPSA (Nemesis) id 1MIcqp-1o8xxJ24LV-00Ea1q for ; Sun, 07 Aug 2022 21:45:00 +0200 Received: by mail-wr1-f47.google.com with SMTP id z16so8680776wrh.12 for ; Sun, 07 Aug 2022 12:45:00 -0700 (PDT) X-Gm-Message-State: ACgBeo0wmLQpacqOZPnH7vOxh/AaLogvhMB0yX8mHQ/1f9jyfsOqDSDu 6L6q18iNcr5jKDbMp/aRVCFSj5bgZsAIh2uRzZc= X-Google-Smtp-Source: AA6agR7WvYipqruEUqI3FozO1bMoMLoFg3gTNr1wJxvZ4oY3kYpws83YatqbI24HkVKiWoEkfQMs1s6P8NVFSqcphg4= X-Received: by 2002:adf:f5c7:0:b0:220:6871:de96 with SMTP id k7-20020adff5c7000000b002206871de96mr9685215wrp.516.1659901499836; Sun, 07 Aug 2022 12:44:59 -0700 (PDT) MIME-Version: 1.0 References: <20220807172854.12971-1-rdunlap@infradead.org> In-Reply-To: <20220807172854.12971-1-rdunlap@infradead.org> From: Arnd Bergmann Date: Sun, 7 Aug 2022 21:44:43 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] asm-generic: unistd.h: make 'compat_sys_fadvise64_64' conditional To: Randy Dunlap Cc: linux-kernel@vger.kernel.org, Paul Walmsley , Palmer Dabbelt , Albert Ou , linux-riscv@lists.infradead.org, Arnd Bergmann , linux-arch@vger.kernel.org, Andrew Morton , linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:fTjBG8blRQH+OZ1okJZJQ0YEbfvIBM4/6E2z5cf7n2tAKePKzBv nJ86fmOrTRZkQDBVUcqCHtsiWeRbzyErArT57EGgpfzk0vvS5RRb8h7cgOYjzNN0H3lah9m in+eUM1VRjyw1LD6S95jzKwGtPINpUH5w79PHGQkmLpe2tzBr9nXSNLxKjUVvQ2KT3lTeIw 78XuOGzSTWDnvWUuN3chA== X-UI-Out-Filterresults: notjunk:1;V03:K0:s0nfUTullvw=:4XL0EIwoMSRxx5/OsShaUB 9tWAnYlm48kRVYPyHMYGOQkXqZh4oCItkf7YME00Cl6Yq95WqBjQhwR7P4lEiAfk3qMWunMQH RRxPOXFwq0aIAla9Q+GvZQ4BGJXZWezLJkDBawApgPWfjNCNAIobfXbYdAGpd3As70qkPwSDJ bnYZljNCvVmsGkSu6LfLs0pNcK35if4gtYf7o1arh96rMdPoI0E5+zOmS+QVsttxZmF/r43U7 TjKmewj9KIlgmDNPhHUeUY40mQO5IrDtAVRvK9PxUpwh1mVucObj5bs8dFImcrTaGEP/+AMeD Hyqz1hrw1qHq+cGf5HTMZ+gbBn9Ag41Un+0bxpGcBEbJROkddArxuLabwW6TH1mAjWDw14yNx hl98w6/oYcrUzcmwdaOnJhMqiDpaTl2+bhtufjWmMj4J6A8td4BDPJQkQQUA1OdjRtDdAt6s/ 6JNucK9LAt9eVQXqvZ51xz2KbqjNzW7LnbjxWOhBsfBjXh6P+KRLKvT9TU76xi50IXah6yW3u jBEbY/nt/gI0Dphzh0k7nCOqwjbH+YmH2SgVeJn/LGmOPynw0aXCbE6WqqAMMCTqBIADbVsAp kKlkdgk4EJd41CN+HpaSKS8764wZoz8RudcSXEg8BqZOUk+tRtCD8lvHpjSmTdRzdo9U+Gpy8 cHwQKWrH4/r6x56CxdoxNrrbeCvQR0rOYYcy48mySaMxNZvk1KgbV+WBBQkVKc3EoDqhLK2II wYjAGOWZXij9twQFHiuD/bSefuFYPfjWtRyqoFrUJtRZmeYan5RkMZy/SKQmIvLvQAmQJ6hI2 z8tWYKNRSfqJp8hQWahYM3yX0XE7a47Foh9e8UNidZOZrh8Erp52LPp6DN/QdfEcNMdvx/7Hl 2But6luccba3NDLqa0Ww== ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1659901502; a=rsa-sha256; cv=none; b=lozfHzGb4Ypu5ZFRAIGZVGMNNfwGbELiVXawQ7RbdOQkOR3QQKF9y7e3tdvv70rUTfHbrs hxDXnb0kR3pbLLJCghhQE7R31HbVoKVvEnwfqvSdbwvIxjJtdeRjV+Y12zgwT+M+rDgPDx dQzm14r/Y/8OFEY1DBRSVB8MR/ry6aw= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=none; dmarc=none; spf=none (imf21.hostedemail.com: domain of arnd@arndb.de has no SPF policy when checking 212.227.17.13) smtp.mailfrom=arnd@arndb.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1659901502; 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: in-reply-to:in-reply-to:references:references; bh=ln5tSnL3p5NtjYrjpQAki4ihTLr4wH7yHodZ4pkNJek=; b=1Cc1AHLqSg6IDYwLMWvhyuRSXRtV/xUxqD5ib9jucQytvGQBZ51xHrRE/RJunVFGwQ03MZ GM7xf1jYJ1XNCb7bxNY+qYVVfl/ED4kYYZEgrf6w89qHjJZcpOtqQZgEI5mIgbZb//Hhlu sc14ArdkOOYkpLAb3Lejc953StfGPEc= X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 148221C0058 Authentication-Results: imf21.hostedemail.com; dkim=none; dmarc=none; spf=none (imf21.hostedemail.com: domain of arnd@arndb.de has no SPF policy when checking 212.227.17.13) smtp.mailfrom=arnd@arndb.de X-Rspam-User: X-Stat-Signature: stw5wgsts6frkeoifonjq3bcx6z95wnj X-HE-Tag: 1659901501-443921 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: On Sun, Aug 7, 2022 at 7:28 PM Randy Dunlap wrote: > > Don't require 'compat_sys_fadvise64_64' when > __ARCH_WANT_COMPAT_FADVISE64_64 is not set. > > Fixes this build error when CONFIG_ADVISE_SYSCALLS is not set: > > include/uapi/asm-generic/unistd.h:649:49: error: 'compat_sys_fadvise64_64' undeclared here (not in a function); did you mean 'ksys_fadvise64_64'? > 649 | __SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64) > arch/riscv/kernel/compat_syscall_table.c:12:42: note: in definition of macro '__SYSCALL' > 12 | #define __SYSCALL(nr, call) [nr] = (call), > include/uapi/asm-generic/unistd.h:649:1: note: in expansion of macro '__SC_COMP' > 649 | __SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64) > > Signed-off-by: Randy Dunlap > Cc: Paul Walmsley > Cc: Palmer Dabbelt > Cc: Albert Ou > Cc: linux-riscv@lists.infradead.org > Cc: Arnd Bergmann > Cc: linux-arch@vger.kernel.org > Cc: Andrew Morton > Cc: linux-mm@kvack.org > --- > include/uapi/asm-generic/unistd.h | 2 ++ > 1 file changed, 2 insertions(+) > > --- a/include/uapi/asm-generic/unistd.h > +++ b/include/uapi/asm-generic/unistd.h > @@ -645,8 +645,10 @@ __SC_COMP(__NR_execve, sys_execve, compa > #define __NR3264_mmap 222 > __SC_3264(__NR3264_mmap, sys_mmap2, sys_mmap) > /* mm/fadvise.c */ > +#ifdef __ARCH_WANT_COMPAT_FADVISE64_64 > #define __NR3264_fadvise64 223 > __SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64) > +#endif > This does not work: __ARCH_WANT_COMPAT_FADVISE64_64 is defined in arch/riscv/include/asm/unistd.h, which is not a UAPI header. By making the line conditional on this, user space no longer sees the macro definition. It looks like you also drop the native definition on all architectures other than riscv here. What we probably want is to just make all the declarations in include/linux/compat.h unconditional and not have them depend on architecture specific macros. Some of these may have incompatible prototypes depending on the architecture, but if we run into those, I would suggest we just give them unique names. Arnd