On Mon, Mar 18, 2019 at 3:45 PM Eric Dumazet <edumazet@xxxxxxxxxx> wrote: > > 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 */ > }; Ah, got it, thanks! I'll add a comment here then, otherwise this looks confusing.