patch-2.4.22 linux-2.4.22/net/ipv4/tcp_diag.c

Next file: linux-2.4.22/net/ipv4/tcp_ipv4.c
Previous file: linux-2.4.22/net/ipv4/tcp.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.21/net/ipv4/tcp_diag.c linux-2.4.22/net/ipv4/tcp_diag.c
@@ -578,7 +578,7 @@
 }
 
 
-extern __inline__ void tcpdiag_rcv_skb(struct sk_buff *skb)
+static inline void tcpdiag_rcv_skb(struct sk_buff *skb)
 {
 	int err;
 	struct nlmsghdr * nlh;
@@ -588,7 +588,7 @@
 		if (nlh->nlmsg_len < sizeof(*nlh) || skb->len < nlh->nlmsg_len)
 			return;
 		err = tcpdiag_rcv_msg(skb, nlh);
-		if (err) 
+		if (err || nlh->nlmsg_flags & NLM_F_ACK) 
 			netlink_ack(skb, nlh, err);
 	}
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)