On Mon, 2012-07-16 at 16:14 +0400, Andrew Vagin wrote: > Before this patch sock_diag works for init_net only and dumps > information about sockets from all namespaces.
... > diff --git a/net/ipv4/udp_diag.c b/net/ipv4/udp_diag.c > index a7f86a3..52f42f9 100644 > --- a/net/ipv4/udp_diag.c > +++ b/net/ipv4/udp_diag.c > @@ -34,6 +34,7 @@ static int udp_dump_one(struct udp_table *tbl, struct > sk_buff *in_skb, > int err = -EINVAL; > struct sock *sk; > struct sk_buff *rep; > + struct net *net = sock_net(in_skb->sk); > > if (req->sdiag_family == AF_INET) > sk = __udp4_lib_lookup(&init_net, It seems you didnt fix udp_dump_one() correctly, since it still mentions &init_net > @@ -75,7 +76,7 @@ static int udp_dump_one(struct udp_table *tbl, struct > sk_buff *in_skb, > kfree_skb(rep); > goto out; > } > - err = netlink_unicast(sock_diag_nlsk, rep, NETLINK_CB(in_skb).pid, > + err = netlink_unicast(net->diag_nlsk, rep, NETLINK_CB(in_skb).pid, > MSG_DONTWAIT); > if (err > 0) > err = 0; udp_dump() also needs some care ? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

