]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
[ppc] Fix kernel panic when using BOOTP_NFSROOT
authorLeandro Lupori <luporl@FreeBSD.org>
Thu, 9 Aug 2018 14:04:51 +0000 (14:04 +0000)
committerLeandro Lupori <luporl@FreeBSD.org>
Thu, 9 Aug 2018 14:04:51 +0000 (14:04 +0000)
commitc8e2123b6a217469f58f46af93be80fef2eaad2d
tree3e95b1b8ef36cc5c4bb20573cd1d8a5cd4a6aadc
parente327ad33776a859ad365e87043f2800da48cdf84
[ppc] Fix kernel panic when using BOOTP_NFSROOT

On PowerPC (and possibly other architectures), that doesn't use
EARLY_AP_STARTUP, the config task queue may be used initialized.
This was observed while trying to mount the root fs from NFS, as
reported here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230168.

This patch has 2 main changes:
1- Perform a basic initialization of qgroup_config, similar to
what is done in taskqgroup_adjust, but simpler.
This makes qgroup_config ready to be used during NFS root mount.

2- When EARLY_AP_STARTUP is not used, call inm_init() and
in6m_init() right before SI_SUB_ROOT_CONF, because bootp needs
to send multicast packages to request an IP.

PR: Bug 230168
Reported by: sbruno
Reviewed by: jhibbits, mmacy, sbruno
Approved by: jhibbits
Differential Revision: D16633
sys/kern/subr_gtaskqueue.c
sys/netinet/in_mcast.c
sys/netinet6/in6_mcast.c