Re: [PATCH net-next] tcp: remove unused hash_size from struct tcp_out_options

From: Jakub Sitnicki

Date: Thu Mar 05 2026 - 05:42:40 EST


On Thu, Mar 05, 2026 at 11:27 AM +09, Keita Morisaki wrote:
> hash_size is declared but never read. The MD5 path always uses a
> fixed size of 16, and the TCP-AO path uses tcp_ao_maclen().
>
> Suggested-by: Jakub Sitnicki <jakub@xxxxxxxxxxxxxx>
> Signed-off-by: Keita Morisaki <kmta1236@xxxxxxxxx>
> ---
> net/ipv4/tcp_output.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
> index 63ee037f46e50..f0e04ebd8b723 100644
> --- a/net/ipv4/tcp_output.c
> +++ b/net/ipv4/tcp_output.c
> @@ -441,7 +441,6 @@ struct tcp_out_options {
> u8 ws; /* window scale, 0 to disable */
> u8 num_accecn_fields:7, /* number of AccECN fields needed */
> use_synack_ecn_bytes:1; /* Use synack_ecn_bytes or not */
> - u8 hash_size; /* bytes in hash_location */
> __u8 *hash_location; /* temporary pointer, overloaded */
> __u32 tsval, tsecr; /* need to include OPTION_TS */
> struct tcp_fastopen_cookie *fastopen_cookie; /* Fast open cookie */
>
> base-commit: 21fc6b53f12379f3f9b29830be3597a322261df8

Worth noting that this closes a 7-byte hole we had there:

u8 num_accecn_fields:7; /* 7: 0 1 */
u8 use_synack_ecn_bytes:1; /* 7: 7 1 */
u8 hash_size; /* 8 1 */

/* XXX 7 bytes hole, try to pack */

__u8 * hash_location; /* 16 8 */

Struct size went down from 96B to 88B.