Hi Bruce, Could you help merge this patch to yocto-4.12?
Thanks, Liwei. On 11/28/2017 09:33 AM, Liwei Song wrote: > From: yzhu1 <yanjun....@windriver.com> > > patch from https://lkml.org/lkml/2014/7/29/119 > > Ipv4 net namespace requires a similar logic change as commit a79ca223e029 > [ipv6: fix bad free of addrconf_init_net] introduces for newer kernels. > > Since a net namespace is independent to another. That is, there > is no any relationship between the net namespaces. So a new net > namespace should not inherit network configurations from another > net namespace including the host. > > CC: Hong Zhiguo <honk...@gmail.com> > CC: David S. Miller <da...@davemloft.net> > Signed-off-by: Zhu Yanjun <zyjzyj2...@gmail.com> > Signed-off-by: yzhu1 <yanjun....@windriver.com> > Signed-off-by: Liwei Song <liwei.s...@windriver.com> > --- > net/ipv4/devinet.c | 29 ++++++++++++----------------- > 1 file changed, 12 insertions(+), 17 deletions(-) > > diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c > index df14815a3b8c..a558a4c5004d 100644 > --- a/net/ipv4/devinet.c > +++ b/net/ipv4/devinet.c > @@ -2349,28 +2349,23 @@ static __net_init int devinet_init_net(struct net > *net) > #endif > > err = -ENOMEM; > - all = &ipv4_devconf; > - dflt = &ipv4_devconf_dflt; > + all = kmemdup(&ipv4_devconf, sizeof(ipv4_devconf), GFP_KERNEL); > + if (all == NULL) > + goto err_alloc_all; > > - if (!net_eq(net, &init_net)) { > - all = kmemdup(all, sizeof(ipv4_devconf), GFP_KERNEL); > - if (!all) > - goto err_alloc_all; > - > - dflt = kmemdup(dflt, sizeof(ipv4_devconf_dflt), GFP_KERNEL); > - if (!dflt) > - goto err_alloc_dflt; > + dflt = kmemdup(&ipv4_devconf_dflt, sizeof(ipv4_devconf_dflt), > GFP_KERNEL); > + if (dflt == NULL) > + goto err_alloc_dflt; > > #ifdef CONFIG_SYSCTL > - tbl = kmemdup(tbl, sizeof(ctl_forward_entry), GFP_KERNEL); > - if (!tbl) > - goto err_alloc_ctl; > + tbl = kmemdup(tbl, sizeof(ctl_forward_entry), GFP_KERNEL); > + if (tbl == NULL) > + goto err_alloc_ctl; > > - tbl[0].data = &all->data[IPV4_DEVCONF_FORWARDING - 1]; > - tbl[0].extra1 = all; > - tbl[0].extra2 = net; > + tbl[0].data = &all->data[IPV4_DEVCONF_FORWARDING - 1]; > + tbl[0].extra1 = all; > + tbl[0].extra2 = net; > #endif > - } > > #ifdef CONFIG_SYSCTL > err = __devinet_sysctl_register(net, "all", NETCONFA_IFINDEX_ALL, all); > -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto