On Wed, 2 Dec 2020 14:09:38 -0800 Arjun Roy <arjunroy.k...@gmail.com> wrote:
> diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h > index cfcb10b75483..62db78b9c1a0 100644 > --- a/include/uapi/linux/tcp.h > +++ b/include/uapi/linux/tcp.h > @@ -349,5 +349,7 @@ struct tcp_zerocopy_receive { > __u32 recv_skip_hint; /* out: amount of bytes to skip */ > __u32 inq; /* out: amount of bytes in read queue */ > __s32 err; /* out: socket error */ > + __u64 copybuf_address; /* in: copybuf address (small reads) */ > + __s32 copybuf_len; /* in/out: copybuf bytes avail/used or error */ > }; > #endif /* _UAPI_LINUX_TCP_H */ You can't safely grow the size of a userspace API without handling the case of older applications. Logic in setsockopt() would have to handle both old and new sizes of the structure.