Subject: Re: [PATCH v13 net-next 11/14] tcp: accecn: AccECN option send control

From: Simon Horman <[email-masked]>
Date: Sat, 19 Jul 2025 09:21:47 +0100

On Fri, Jul 18, 2025 at 04:20:29PM +0200, [email-masked] wrote:

> @@ -549,4 +589,16 @@ tcp_ecn_make_synack(const struct request_sock *req, struct tcphdr *th)
>  		th->ece = 1;
>  }
>  
> +static inline bool tcp_accecn_option_beacon_check(const struct sock *sk)
> +{
> +	u32 ecn_beacon = READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_ecn_option_beacon);
> +	struct tcp_sock *tp = tcp_sk(sk);

Hi Chia-Yu Chang,

This is not a full review, but I have observed a minor problem with this
patch.

Commit e9d9da91548b ("tcp: preserve const qualifier in tcp_sk()")
updated tcp_sk so that, as it's subject says, the const qualifier
of it's argument is preserved.

But here sk is not const while tp is not.

I think the solution here is to make tp const.

	const struct tcp_sock *tp = tcp_sk(sk);

Flagged by GCC 15.1.0 and Clang 20.1.8 allmodconfig builds.

> +
> +	if (!ecn_beacon)
> +		return false;
> +
> +	return tcp_stamp_us_delta(tp->tcp_mstamp, tp->accecn_opt_tstamp) * ecn_beacon >=
> +	       (tp->srtt_us >> 3);
> +}
> +
>  #endif /* _LINUX_TCP_ECN_H */

-- 
pw-bot: changes-requested