On Wed, Mar 16, 2022 at 12:23:12PM +0000, zhangqiumiao via Grub-devel wrote: > On Thu, Feb 17, 2022 at 03:32:52PM -0600, Glenn Washburn wrote: > > On Thu, 17 Feb 2022 21:48:58 +0800 > > Qiumiao Zhang via Grub-devel <grub-devel@gnu.org> wrote: > > > > > During UEFI PXE boot in IPv6 network, if the DHCP server adopts > > > stateful automatic configuration, when the client receives the > > > ICMP6_ROUTER_ADVERTISE message multicast from the server, it will > > > cause the problem of dereference null pointer and cause the grub2 program > > > to crash. > > > > This commit message could be more clear. Maybe have something like: > > > > During UEFI PXE boot in IPv6 network, if the DHCP server adopts > > stateful automatic configuration, then the client receives a > > ICMP6_ROUTER_ADVERTISE multicast message from the server. This may be > > received without the interfaced having a configured network address, > > so orig_inf will be null, which can lead to a null dereference when > > creating the default route. > > Yes, that's a better description. > > > Of course, assuming that the above is in fact correct. > > > > > Fixes bug: https://savannah.gnu.org/bugs/index.php?62072 > > > --- > > > grub-core/net/icmp6.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/grub-core/net/icmp6.c b/grub-core/net/icmp6.c index > > > 2cbd95d..264fc4a 100644 > > > --- a/grub-core/net/icmp6.c > > > +++ b/grub-core/net/icmp6.c > > > @@ -477,7 +477,7 @@ grub_net_recv_icmp6_packet (struct grub_net_buff > > > *nb, > > > > > > /* May not have gotten slaac info, find a global address on this > > > card. */ > > > - if (route_inf == NULL) > > > + if (route_inf == NULL && orig_inf != NULL) > > > > So if orig_inf == NULL and route_inf == NULL here, we do not set a > > default route. Does this have any implications to be concerned about? > > > > In this case, can we still find a good route interface and setup a > > default route? > > If the DHCP server adopts stateful automatic configuration, the client > obtains the default route through DHCPv6 instead of RA messages. So if > orig_inf == NULL and route_inf == null, we should not set the default route.
I am happy to take this fix but I am still waiting for updated patch from you addressing all concerns voiced in the comments. Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel