On 10/30/25 3:34 PM, chia-yu.chang@nokia-bell-labs.com wrote:
@@ -4006,7 +4008,7 @@ struct sk_buff *tcp_make_synack(const struct sock *sk, struct dst_entry *dst, memset(th, 0, sizeof(struct tcphdr)); th->syn = 1; th->ack = 1;
- tcp_ecn_make_synack(req, th);
- tcp_ecn_make_synack((struct sock *)sk, req, th); th->source = htons(ireq->ir_num); th->dest = ireq->ir_rmt_port; skb->mark = ireq->ir_mark;
Whoops, I missed the const cast in the previous revisions. This could make the code generated by the compiler for the caller incorrect - assuming the changed field is actually constant.
I don't have a good idea on how to address this. Changing the argument type for the whole call chain looks like a no go.
/P