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.

Reply via email to