On 1/22/21 9:07 PM, Jakub Kicinski wrote: > On Wed, 20 Jan 2021 16:41:48 -0800 Arjun Roy wrote: >> diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h >> index 768e93bd5b51..b216270105af 100644 >> --- a/include/uapi/linux/tcp.h >> +++ b/include/uapi/linux/tcp.h >> @@ -353,5 +353,9 @@ struct tcp_zerocopy_receive { >> __u64 copybuf_address; /* in: copybuf address (small reads) */ >> __s32 copybuf_len; /* in/out: copybuf bytes avail/used or error */ >> __u32 flags; /* in: flags */ >> + __u64 msg_control; /* ancillary data */ >> + __u64 msg_controllen; >> + __u32 msg_flags; >> + /* __u32 hole; Next we must add >1 u32 otherwise length checks fail. */ > > Well, let's hope nobody steps on this landmine.. :) >
Past suggestions were made to use anonymous declarations - e.g., __u32 :32; - as a way of reserving the space for future use. That or declare '__u32 resvd', check that it must be 0 and makes it available for later (either directly or with a union).