X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fipv4%2Finet_diag.c;fp=net%2Fipv4%2Finet_diag.c;h=e81c685e68c4d77a3362b14731000d0df53cd526;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=03cfe8fb42903c0e571c8e331076e6732281b5bb;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 03cfe8fb4..e81c685e6 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -11,7 +11,6 @@ * 2 of the License, or (at your option) any later version. */ -#include #include #include #include @@ -37,8 +36,8 @@ static const struct inet_diag_handler **inet_diag_table; struct inet_diag_entry { - u32 *saddr; - u32 *daddr; + __be32 *saddr; + __be32 *daddr; u16 sport; u16 dport; u16 family; @@ -295,7 +294,7 @@ out: return err; } -static int bitstring_match(const u32 *a1, const u32 *a2, int bits) +static int bitstring_match(const __be32 *a1, const __be32 *a2, int bits) { int words = bits >> 5; @@ -306,8 +305,8 @@ static int bitstring_match(const u32 *a1, const u32 *a2, int bits) return 0; } if (bits) { - __u32 w1, w2; - __u32 mask; + __be32 w1, w2; + __be32 mask; w1 = a1[words]; w2 = a2[words]; @@ -353,7 +352,7 @@ static int inet_diag_bc_run(const void *bc, int len, case INET_DIAG_BC_S_COND: case INET_DIAG_BC_D_COND: { struct inet_diag_hostcond *cond; - u32 *addr; + __be32 *addr; cond = (struct inet_diag_hostcond *)(op + 1); if (cond->port != -1 && @@ -694,7 +693,7 @@ static int inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb) sk_for_each(sk, node, &hashinfo->listening_hash[i]) { struct inet_sock *inet = inet_sk(sk); - if (!vx_check(sk->sk_xid, VX_IDENT|VX_WATCH)) + if (!nx_check(sk->sk_nid, VS_WATCH_P|VS_IDENT)) continue; if (num < s_num) { num++; @@ -756,7 +755,7 @@ skip_listen_ht: sk_for_each(sk, node, &head->chain) { struct inet_sock *inet = inet_sk(sk); - if (!vx_check(sk->sk_xid, VX_IDENT|VX_WATCH)) + if (!nx_check(sk->sk_nid, VS_WATCH_P|VS_IDENT)) continue; if (num < s_num) goto next_normal; @@ -782,7 +781,7 @@ next_normal: inet_twsk_for_each(tw, node, &hashinfo->ehash[i + hashinfo->ehash_size].chain) { - if (!vx_check(tw->tw_xid, VX_IDENT|VX_WATCH)) + if (!nx_check(tw->tw_nid, VS_WATCH_P|VS_IDENT)) continue; if (num < s_num) goto next_dying; @@ -916,11 +915,10 @@ static int __init inet_diag_init(void) sizeof(struct inet_diag_handler *)); int err = -ENOMEM; - inet_diag_table = kmalloc(inet_diag_table_size, GFP_KERNEL); + inet_diag_table = kzalloc(inet_diag_table_size, GFP_KERNEL); if (!inet_diag_table) goto out; - memset(inet_diag_table, 0, inet_diag_table_size); idiagnl = netlink_kernel_create(NETLINK_INET_DIAG, 0, inet_diag_rcv, THIS_MODULE); if (idiagnl == NULL)