tcp-zerocopy: Update returned getsockopt() optlen.
authorArjun Roy <arjunroy@google.com>
Tue, 25 Feb 2020 20:38:54 +0000 (12:38 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Feb 2020 04:24:22 +0000 (20:24 -0800)
commit0b7f41f68710ccbf7d029c749616e5d26ae8f74d
treeb9873f953bf4389af332e307fa55efa8d613f11e
parentebb4a4bf76f164457184a3f43ebc1552416bc823
tcp-zerocopy: Update returned getsockopt() optlen.

TCP receive zerocopy currently does not update the returned optlen for
getsockopt() if the user passed in a larger than expected value.
Thus, userspace cannot properly determine if all the fields are set in
the passed-in struct. This patch sets the optlen for this case before
returning, in keeping with the expected operation of getsockopt().

Fixes: c8856c051454 ("tcp-zerocopy: Return inq along with tcp receive zerocopy.")
Signed-off-by: Arjun Roy <arjunroy@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c