From patchwork Tue May 28 08:59:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tong Tiangen X-Patchwork-Id: 13676340 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 AC6ACC25B78 for ; Tue, 28 May 2024 08:59:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 248E16B0093; Tue, 28 May 2024 04:59:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F7C66B0095; Tue, 28 May 2024 04:59:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E74E6B0096; Tue, 28 May 2024 04:59:30 -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 DED9F6B0093 for ; Tue, 28 May 2024 04:59:29 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 85757403DB for ; Tue, 28 May 2024 08:59:29 +0000 (UTC) X-FDA: 82167206058.10.91E96C1 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by imf18.hostedemail.com (Postfix) with ESMTP id E23FA1C001D for ; Tue, 28 May 2024 08:59:26 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf18.hostedemail.com: domain of tongtiangen@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=tongtiangen@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716886767; 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; bh=xu38cO3vhq48n8gjCWWM2dguB1ag5dELJQsNCdci/zg=; b=guX7i1eSvD3N8nMHfAj0C9ldSyoeMhi4cG38wygde2y28Cf9d7L0FdKU6gDmibd76pdFJ7 /RI+bZIVdRHdt3uktNoQ7qHB5g5i2rsRvjAbOfwCUqENffwpYO3CD4JfCu/tAqjY3hACPy cDLJMP9UDFF3gLcnbDBVTm8VyRZcjfI= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf18.hostedemail.com: domain of tongtiangen@huawei.com designates 45.249.212.189 as permitted sender) smtp.mailfrom=tongtiangen@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716886767; a=rsa-sha256; cv=none; b=12aNeIAZjh4fg2MhQ7BqhnqhFL2OyRMitTEULQHtSw/8LqgANKfoJi3MfkMl45bqKuFYMi Q1oOj0aIz6GJBD21ajvjJuzqcrMISuuPTiFDRgqEe4IFY+zKW7FnyWMfqmkKJP1c5fE58F PyWxv6RcWIROKO3BBurxcI3zpXYr7JU= Received: from mail.maildlp.com (unknown [172.19.88.194]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4VpRFS2mtVzPnc9; Tue, 28 May 2024 16:56:12 +0800 (CST) Received: from kwepemm600017.china.huawei.com (unknown [7.193.23.234]) by mail.maildlp.com (Postfix) with ESMTPS id E62E6141EC8; Tue, 28 May 2024 16:59:20 +0800 (CST) Received: from localhost.localdomain (10.175.112.125) by kwepemm600017.china.huawei.com (7.193.23.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 28 May 2024 16:59:18 +0800 From: Tong Tiangen To: Mark Rutland , Catalin Marinas , Will Deacon , Andrew Morton , James Morse , Robin Murphy , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Michael Ellerman , Nicholas Piggin , Andrey Ryabinin , Alexander Potapenko , Christophe Leroy , Aneesh Kumar K.V , "Naveen N. Rao" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , , "H. Peter Anvin" CC: , , , , Tong Tiangen , , Guohanjun Subject: [PATCH v12 1/6] uaccess: add generic fallback version of copy_mc_to_user() Date: Tue, 28 May 2024 16:59:10 +0800 Message-ID: <20240528085915.1955987-2-tongtiangen@huawei.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240528085915.1955987-1-tongtiangen@huawei.com> References: <20240528085915.1955987-1-tongtiangen@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.112.125] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemm600017.china.huawei.com (7.193.23.234) X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: E23FA1C001D X-Stat-Signature: 6p3u7mib9gbcuxjdceufkbi53iqcj76u X-Rspam-User: X-HE-Tag: 1716886766-580425 X-HE-Meta: U2FsdGVkX18/zR38WakzTLIei2zSl5Mm0dUfh59ykXwLDSBvd+Ntf/pwRyYJmtmmRtc36zG8cz2anzbyLT6rP+tq12+yBMNRPR4nDWzVhO/AC+PwzkLI8tSH+nY4Iwqo04Zsil+7ApVj1mxKVx+Sp7G1jD2SbLhv70XTY6aJgy5H1xL0vrmEQho63DFR8ZWvR2+9UPL1PDRjeHO1N6Gh/01fJ4P7N9JNcKFRvqzVanktEQiMjS3VheyIAt3wtlSIBHQvvmw4F0d++YgAdSTKfmXADSSBdzCXsAChV16FVsq4d62hjpTLGjS2sWOpV9wsv1OsJK6O2M+pP+eyS0E2X1w33hNxtyFqeys+Lo7a+ur9Alu4FDf5numohgk/m75TJmPXme5zTuy29Svx0eSeT8vI3dsOuKW3MZXddBeamgJ7rq+CZOSZ/oAXPdeIwogqfknM9kfQn0Bn+TOtPC3JDfN6TFcIS1eJqUOadAWP2RgDAG/Z0hZVyLjSBUNs6eNmIaSADlofdok/V9q82mytHc9PPB1Yl1nl6W/XqOJiQ23IcRzqRi8ZbOqUz01D1XgL3M396puUL2DI6Vcwvkbnph22XtSwC5ZEk50a/OTSDvBDJ44nH4vl9Xcli4atJEdi1ZXNed/VXgZiwxvTTygrC/mlm4SoO6Er10yjlcJ4JndxVCqPJRqlimRvt1BRJG5PnE2B2ze65qLgheoM85hZdKxIlCONKSnp/lt4aPK/qXg95JTCpIbVH/Y877E0jG+brOFr5I6U7MtDiDFm/+A8ova/hIHaImtZOw3aZIfBvrkHBkEBhLvtZtXrYaumS/fFWpqa9t/lOb8PnbVSCxzANRjdmrW22vYoOUPLYPw9jChfsOSHJH3l486KnB6rAKdqQ6U7DcQZfLLsQzvNMLj11Gw7JqDPEE6omrsywxzUfXw6S3QOOCwC1IHGOIub734eQ+GS5ZWWr3Nwkrzu6BF klPABVuo Vm9YYYOTDPAC/QAtqUwGraBbkiFociyt1tUIppEpXULmGWhbtg6HuTPNlCRKRX0ySzjOnxJPEEufDyW/xhpca9YKzpBnUaQOE1ujFyxFtCAIRds9ODZ3M2y+z2zowFA+G8A85j6ucZx0izQC+Dk6Q/T7LDbarKmutdioCPmtwjI/S9hvhAngE82rbDpeY7Z3oGgr5qUUoliW46l1ubIEbuT2DHXUWsE4Or8h5BzyMYSJSN15ygXos5R4UO0NvOND4nt5PV5m9rfewFEI= 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: x86/powerpc has it's implementation of copy_mc_to_user(), we add generic fallback in include/linux/uaccess.h prepare for other architechures to enable CONFIG_ARCH_HAS_COPY_MC. Signed-off-by: Tong Tiangen Acked-by: Michael Ellerman Reviewed-by: Mauro Carvalho Chehab Reviewed-by: Jonathan Cameron --- arch/powerpc/include/asm/uaccess.h | 1 + arch/x86/include/asm/uaccess.h | 1 + include/linux/uaccess.h | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/arch/powerpc/include/asm/uaccess.h b/arch/powerpc/include/asm/uaccess.h index de10437fd206..df42e6ad647f 100644 --- a/arch/powerpc/include/asm/uaccess.h +++ b/arch/powerpc/include/asm/uaccess.h @@ -381,6 +381,7 @@ copy_mc_to_user(void __user *to, const void *from, unsigned long n) return n; } +#define copy_mc_to_user copy_mc_to_user #endif extern long __copy_from_user_flushcache(void *dst, const void __user *src, diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h index 0f9bab92a43d..309f2439327e 100644 --- a/arch/x86/include/asm/uaccess.h +++ b/arch/x86/include/asm/uaccess.h @@ -497,6 +497,7 @@ copy_mc_to_kernel(void *to, const void *from, unsigned len); unsigned long __must_check copy_mc_to_user(void __user *to, const void *from, unsigned len); +#define copy_mc_to_user copy_mc_to_user #endif /* diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h index 3064314f4832..0dfa9241b6ee 100644 --- a/include/linux/uaccess.h +++ b/include/linux/uaccess.h @@ -205,6 +205,14 @@ copy_mc_to_kernel(void *dst, const void *src, size_t cnt) } #endif +#ifndef copy_mc_to_user +static inline unsigned long __must_check +copy_mc_to_user(void *dst, const void *src, size_t cnt) +{ + return copy_to_user(dst, src, cnt); +} +#endif + static __always_inline void pagefault_disabled_inc(void) { current->pagefault_disabled++;