Re: [PATCH v11 08/14] net, arm64: untag user pointers in tcp_zerocopy_receive

From: Eric Dumazet
Date: Mon Mar 18 2019 - 10:45:07 EST


On Mon, Mar 18, 2019 at 6:17 AM Andrey Konovalov <andreyknvl@xxxxxxxxxx> wrote:
>

> Looking at the code, what's the point of this address != zc->address
> check? Should I just remove it?

No you must not remove it.

The test detects if a u64 ->unsigned long conversion might have truncated bits.

Quite surprisingly some people still use 32bit kernels.

The ABI is 64bit only, because we did not want to have yet another compat layer.

struct tcp_zerocopy_receive {
__u64 address; /* in: address of mapping */
__u32 length; /* in/out: number of bytes to map/mapped */
__u32 recv_skip_hint; /* out: amount of bytes to skip */
};