Re: [PATCH net-next v2 1/2] ethtool: improve compat ioctl handling

From: Arnd Bergmann
Date: Fri Sep 25 2020 - 14:43:16 EST


On Fri, Sep 25, 2020 at 3:22 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> The ethtool compat ioctl handling is hidden away in net/socket.c,
> which introduces a couple of minor oddities:
>
> - The implementation may end up diverging, as seen in the RXNFC
> extension in commit 84a1d9c48200 ("net: ethtool: extend RXNFC
> API to support RSS spreading of filter matches") that does not work
> in compat mode.
>
> - Most architectures do not need the compat handling at all
> because u64 and compat_u64 have the same alignment.
>
> - On x86, the conversion is done for both x32 and i386 user space,
> but it's actually wrong to do it for x32 and cannot work there.
>
> - On 32-bit Arm, it never worked for compat oabi user space, since
> that needs to do the same conversion but does not.
>
> - It would be nice to get rid of both compat_alloc_user_space()
> and copy_in_user() throughout the kernel.
>
> None of these actually seems to be a serious problem that real
> users are likely to encounter, but fixing all of them actually
> leads to code that is both shorter and more readable.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>

The kbuild bot found another dependency on a patch that I had in my
testing tree (moving compat_u64). Let's drop both patches for now, I'll
resend once that has been merged.

Arnd