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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20131107121901.GJ8144@order.stressinduktion.org>
Date:	Thu, 7 Nov 2013 13:19:01 +0100
From:	Hannes Frederic Sowa <hannes@...essinduktion.org>
To:	Duan Jiong <duanj.fnst@...fujitsu.com>
Cc:	David Miller <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH] ipv6: replace RTF_ROUTEINFO with RTF_ADDRCONF in  rt6_get_route_info()

On Thu, Nov 07, 2013 at 12:19:05PM +0800, Duan Jiong wrote:
> 于 2013年11月07日 10:42, Hannes Frederic Sowa 写道:
> > On Thu, Nov 07, 2013 at 10:01:27AM +0800, Duan Jiong wrote:
> >> 于 2013年11月07日 09:51, Hannes Frederic Sowa 写道:
> >>> On Wed, Nov 06, 2013 at 03:26:41PM +0800, Duan Jiong wrote:
> >>>>
> >>>> As the rfc 4191 said, the Router Preference and Lifetime values in a
> >>>> ::/0 Route Information Option should override the preference and lifetime
> >>>> values in the Router Advertisement header. But when the kernel deals with
> >>>> a ::/0 Route Information Option, the rt6_get_route_info() always return
> >>>> NULL, that means that overriding will not happen, because those default
> >>>> routers were added without flag RTF_ROUTEINFO in rt6_add_dflt_router().
> >>>>
> >>>> In order to match those default routers, we can replace RTF_ROUTEINFO 
> >>>> with RTF_ADDRCONF in rt6_get_route_info().
> >>>>
> >>>> Signed-off-by: Duan Jiong <duanj.fnst@...fujitsu.com>
> >>>
> >>> Hmm, that looks like a bug. Nice catch!
> >>>
> >>> Couldn't we just replace the rt6_get_route_info in rt6_route_rcv with a call
> >>> to rt6_get_dflt_router? Seems easier, already handles the ::/0 case and also
> >>> does preserve the check for the RTF_ROUTEINFO flag in rt6_add_route_info.
> >>
> >> Yeah, your idea is better. I will modify my patch.
> > 
> > Stop, stop, stop, sorry that suggestion is plain wrong and stupid.
> > 
> 
> In my opinion, i think that is well. According to your suggestion, we can 
> call the rt6_get_dflt_router or rt6_get_route_info in different situation.
> 
> if (rinfo->prefix_len == 0)
> 	rt = rt6_get_dflt_router(gwaddr, dev);
> else
> 	rt = rt6_get_route_info(net, prefix, rinfo->prefix_len, gwaddr,
> 				dev->ifindex);

That's perfect.

Greetings,

  Hannes

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ