lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 29 Jul 2014 21:49:31 +0400 From: Dmitry Popov <ixaphire@...tor.net> To: Cong Wang <cwang@...pensource.com> Cc: "David S. Miller" <davem@...emloft.net>, netdev <netdev@...r.kernel.org>, Sergey Popov <pinkbyte@...too.org>, Eric Dumazet <edumazet@...gle.com>, Tom Herbert <therbert@...gle.com> Subject: Re: [PATCH] ip_tunnel(ipv4): fix tunnels with "local any remote $remote_ip" On Mon, 28 Jul 2014 16:39:23 -0700 Cong Wang <cwang@...pensource.com> wrote: > On Mon, Jul 28, 2014 at 4:07 PM, Dmitry Popov <ixaphire@...tor.net> wrote: > > --- a/include/net/ip_tunnels.h > > +++ b/include/net/ip_tunnels.h > > @@ -40,6 +40,7 @@ struct ip_tunnel_prl_entry { > > > > struct ip_tunnel_dst { > > struct dst_entry __rcu *dst; > > + __be32 saddr; > > }; > > > It looks odd to save a source address in some struct named dst, > maybe it's the time to rename it. Yes, maybe a bit odd, but ip_tunnel_flow/ip_tunnel_route doesn't look much better for me, so I decided to keep it with old name. David is ok with this name too. > > if (dst) { > > - if (dst->obsolete && dst->ops->check(dst, cookie) == NULL) { > > + if (!dst->obsolete || dst->ops->check(dst, cookie)) { > > + *saddr = idst->saddr; > > + } else { > > I am wondering if this always works, that is, if saddr could be still valid > as long as dst is valid? Right, this is not a very smooth place, but a) it should work with current ipv4 route implementation (it obsoletes all dst_entries on any route/addr change). Yes, we shouldn't rely on implementation, but b) I don't know how (and why) this implementation should be changed to break it. I think the assumption that dst_entry is obsoleted when saddr is changed is pretty natural. Please correct me if I'm wrong. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists