Re: [PATCH] net-next: make sock diag per-namespace

From: Andrew Vagin
Date: Mon Jul 16 2012 - 08:39:04 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/