On 10/21/24 23:59, chia-yu.chang@xxxxxxxxxxxxxxxxxxx wrote: > diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c > index 9d3dd101ea71..9fe314a59240 100644 > --- a/net/ipv4/tcp_ipv4.c > +++ b/net/ipv4/tcp_ipv4.c > @@ -2162,7 +2162,8 @@ static void tcp_v4_fill_cb(struct sk_buff *skb, const struct iphdr *iph, > TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin + > skb->len - th->doff * 4); > TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq); > - TCP_SKB_CB(skb)->tcp_flags = tcp_flag_byte(th); > + TCP_SKB_CB(skb)->tcp_flags = ntohs(*(__be16 *)&tcp_flag_word(th)) & > + TCPHDR_FLAGS_MASK; As you access the same 2 bytes even later. > TCP_SKB_CB(skb)->ip_dsfield = ipv4_get_dsfield(iph); > TCP_SKB_CB(skb)->sacked = 0; > TCP_SKB_CB(skb)->has_rxtstamp = [...] > @@ -1604,7 +1604,7 @@ int tcp_fragment(struct sock *sk, enum tcp_queue tcp_queue, > int old_factor; > long limit; > int nlen; > - u8 flags; > + u16 flags; Minor nit: please respect the reverse x-mas tree order Cheers, Paolo