On Mon, Jul 16, 2012 at 04:32:25PM +0400, Eric Dumazet wrote:
> 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
You are right. Sorry for this stupid fault. I will send a new patch.
> 
> > @@ -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 ?
> 
> 
Yes
--
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/

Reply via email to