On 10/29/24 12:43, Paolo Abeni wrote: > 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. [Whoops, sorry part of the reply was unintentionally stripped.] I suggest creating a specific helper to fetch them. /P