Message ID | 20220412072552.2526871-2-tongtiangen@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: add machine check safe support | expand |
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? > > Fixes: ec6347bb4339 ("x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}()") > Signed-off-by: Tong Tiangen <tongtiangen@huawei.com> > --- > 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 > > /*
在 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 <tongtiangen@huawei.com> >> --- >> 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 >> /* > .
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 /*
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. Fixes: ec6347bb4339 ("x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}()") Signed-off-by: Tong Tiangen <tongtiangen@huawei.com> --- arch/x86/include/asm/uaccess.h | 1 + 1 file changed, 1 insertion(+)