2022-04-22 15:08:51

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH -next v4 1/7] x86, powerpc: fix function define in copy_mc_to_user

Tong Tiangen <[email protected]> writes:
> x86/powerpc 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

The above doesn't exist yet, you add it in patch 3, which is a little
confusing for a reader of this commit in isolation.

I think you could safely move that into this patch, and then this patch
would be ~= "Add generic fallback version of copy_mc_to_user()".

It's probably not worth doing a whole new version of the series just for
that, but if you need to do a new version for some other reason I think
it would be cleaner to introduce the fallback in this commit.

> Then this definition will conflict with the implementation of x86/powerpc
> and cause compilation errors as follow:
>
> Fixes: ec6347bb4339 ("x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}()")
> Signed-off-by: Tong Tiangen <[email protected]>
> ---
> arch/powerpc/include/asm/uaccess.h | 1 +

Acked-by: Michael Ellerman <[email protected]> (powerpc)

cheers


2022-04-25 06:42:32

by Tong Tiangen

[permalink] [raw]
Subject: Re: [PATCH -next v4 1/7] x86, powerpc: fix function define in copy_mc_to_user



在 2022/4/22 17:45, Michael Ellerman 写道:
> Tong Tiangen <[email protected]> writes:
>> x86/powerpc 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
>
> The above doesn't exist yet, you add it in patch 3, which is a little
> confusing for a reader of this commit in isolation.
>
> I think you could safely move that into this patch, and then this patch
> would be ~= "Add generic fallback version of copy_mc_to_user()".
>
> It's probably not worth doing a whole new version of the series just for
> that, but if you need to do a new version for some other reason I think
> it would be cleaner to introduce the fallback in this commit.
>

Agreed, will do in next version.

Thanks,
Tong.

>> Then this definition will conflict with the implementation of x86/powerpc
>> and cause compilation errors as follow:
>>
>> Fixes: ec6347bb4339 ("x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}()")
>> Signed-off-by: Tong Tiangen <[email protected]>
>> ---
>> arch/powerpc/include/asm/uaccess.h | 1 +
>
> Acked-by: Michael Ellerman <[email protected]> (powerpc)
>
> cheers
> .