Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp399450pxb; Wed, 13 Apr 2022 03:56:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw380IkwzlZdau7BN6xIolzZUIDwG5Dr9YgmpgGxuOIz3cBgX94NUz/bpcoN6NY2r1bTxvo X-Received: by 2002:a63:150c:0:b0:39c:c255:27c1 with SMTP id v12-20020a63150c000000b0039cc25527c1mr26961170pgl.293.1649847368630; Wed, 13 Apr 2022 03:56:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649847368; cv=none; d=google.com; s=arc-20160816; b=SggrNrxe29noQio3H5llb51SNqr3auUPJl7kZDVqg8zwdJb81aJ9bY8NRva2uFH+aJ 5Oe2QJDrIyb29zjV7TUVRJK0hBqSwPqMfSg7VlELbl2F8lGxsyovgUpVkpS4jJDgRy2m KJJVYpTHx34D+hoAx58ydLf/FAfoVrug286zZXHDAzjSoNIFgOzWcCJY44Xkej1Iafz4 T7BXoYvvhp+Km7ZfNGEOC0vFSzoJszN3s7EcS5lA27S7Z2KgPStcyxiK21paatRIAhGX z/d8ANv1HGq3dWPZelB1h7E5Tv00zP1hqdYItiAdMxGdCsE99bs5PhF1KcSkwMHL3PWS PcmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=u7aWRWL+N+oBI1UbtUMtnAycZZ53POOBwgQs8r0Y+Bc=; b=NtQvXZ4c5885Rm9rxFknOfdGTJvgORLPSvLPpKixAvgwTjATlOYM1YD6wpzFYphRTy 6IZN0ZfRiYnrHTuwI5ZqVv8pMTjNRF23NQ9o5eEhROWCZg7kZdj+bp/6cj4oHCPpMlMV MS79OkE04CgnZm5A7wZjJaNfIENL4lr3aBoHd/LzWd2hjv0AMLY7PBk9EiLRrLrVmYcn WgUXQvTHnOBmG6uYAGvu5qvusmyxLPu0d9GL0eGHYW9iX7JwmwHLHzopwH9MIIu7Ar8G PUQKQH0sWguoMLQ+YoloO5fSJ+aV6ITwhmVuES9SnlBElgO0bDmHPBBV8QwUbbkJkJQM VIlA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bi10-20020a170902bf0a00b001544c952660si13294537plb.353.2022.04.13.03.55.30; Wed, 13 Apr 2022 03:56:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232736AbiDMGDr (ORCPT + 99 others); Wed, 13 Apr 2022 02:03:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230025AbiDMGDo (ORCPT ); Wed, 13 Apr 2022 02:03:44 -0400 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E4E5252BC for ; Tue, 12 Apr 2022 23:01:23 -0700 (PDT) Received: from kwepemi100008.china.huawei.com (unknown [172.30.72.56]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4KdX0v3s8pzBsLw; Wed, 13 Apr 2022 13:57:03 +0800 (CST) Received: from kwepemm600017.china.huawei.com (7.193.23.234) by kwepemi100008.china.huawei.com (7.221.188.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 13 Apr 2022 14:01:21 +0800 Received: from [10.174.179.234] (10.174.179.234) by kwepemm600017.china.huawei.com (7.193.23.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 13 Apr 2022 14:01:20 +0800 Message-ID: <855ea9f7-5f0a-68a3-eece-6e9c1b27e90b@huawei.com> Date: Wed, 13 Apr 2022 14:01:19 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: Re: [RFC PATCH -next V3 1/6] x86: fix function define in copy_mc_to_user To: Kefeng Wang , Mark Rutland , James Morse , Andrew Morton , Thomas Gleixner , "Ingo Molnar" , Borislav Petkov , Robin Murphy , Dave Hansen , "Catalin Marinas" , Will Deacon , "Alexander Viro" , , "H . Peter Anvin" CC: , , , Xie XiuQi References: <20220412072552.2526871-1-tongtiangen@huawei.com> <20220412072552.2526871-2-tongtiangen@huawei.com> From: Tong Tiangen In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.179.234] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To kwepemm600017.china.huawei.com (7.193.23.234) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2022/4/12 19:49, Kefeng Wang 写道: > > On 2022/4/12 15:25, Tong Tiangen wrote: >> X86 has it's implementation of copy_mc_to_user but not use #define to >> declare. >> >> This may cause problems, for example, if other architectures open >> CONFIG_ARCH_HAS_COPY_MC, but want to use copy_mc_to_user() outside the >> architecture, the code add to include/linux/uaddess.h is as follows: >> >>      #ifndef copy_mc_to_user >>      static inline unsigned long __must_check >>      copy_mc_to_user(void *dst, const void *src, size_t cnt) >>      { >>         ... >>      } >>      #endif >> >> Then this definition will conflict with the implementation of X86 and >> cause >> compilation errors. > Does powerpc need this define? Oh, missing that, will do next version. >> >> Fixes: ec6347bb4339 ("x86, powerpc: Rename memcpy_mcsafe() to >> copy_mc_to_{user, kernel}()") >> Signed-off-by: Tong Tiangen >> --- >>   arch/x86/include/asm/uaccess.h | 1 + >>   1 file changed, 1 insertion(+) >> >> diff --git a/arch/x86/include/asm/uaccess.h >> b/arch/x86/include/asm/uaccess.h >> index f78e2b3501a1..e18c5f098025 100644 >> --- a/arch/x86/include/asm/uaccess.h >> +++ b/arch/x86/include/asm/uaccess.h >> @@ -415,6 +415,7 @@ copy_mc_to_kernel(void *to, const void *from, >> unsigned len); >>   unsigned long __must_check >>   copy_mc_to_user(void *to, const void *from, unsigned len); >> +#define copy_mc_to_user copy_mc_to_user >>   #endif >>   /* > .