cb->nlh->nlmsg_seq, NLM_F_MULTI); 
cb->nlh->nlmsg_seq, NLM_F_MULTI, cb->nlh); 
static int tcpdiag_dump_sock(struct sk_buff *skb, struct sock *sk,			     struct netlink_callback *cb){	struct tcpdiagreq *r = NLMSG_DATA(cb->nlh);	if (cb->nlh->nlmsg_len > 4 + NLMSG_SPACE(sizeof(*r))) {		struct tcpdiag_entry entry;		struct rtattr *bc = (struct rtattr *)(r + 1);		struct inet_sock *inet = inet_sk(sk);		entry.family = sk->sk_family;#ifdef CONFIG_IP_TCPDIAG_IPV6		if (entry.family == AF_INET6) {			struct ipv6_pinfo *np = inet6_sk(sk);			entry.saddr = np->rcv_saddr.s6_addr32;			entry.daddr = np->daddr.s6_addr32;		} else#endif		{			entry.saddr = &inet->rcv_saddr;			entry.daddr = &inet->daddr;		}		entry.sport = inet->num;		entry.dport = ntohs(inet->dport);		entry.userlocks = sk->sk_userlocks;		if (!tcpdiag_bc_run(RTA_DATA(bc), RTA_PAYLOAD(bc), &entry))			return 0;	}	return tcpdiag_fill(skb, sk, r->tcpdiag_ext, NETLINK_CB(cb->skb).pid,			    cb->nlh->nlmsg_seq, NLM_F_MULTI);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/540722ffc3a0d7e11d97a13e1ce6f3bc23b061c1/tcp_diag.c/buggy/net/ipv4/tcp_diag.c