HomeFreeBSD

amd64: Initialize IPI scoreboard earlier

Description

amd64: Initialize IPI scoreboard earlier

Scoreboard is needed a moment when smp_started == true. If some kernel
daemon thread is started before scoreboard is inited, and does some pmap
operation that requires TLB maintanence, which races with SMP startup,
we might dereference NULL invl_scoreboard. This is particularly easy
to trigger when EARLY_AP_STARTUP is not defined.

Reported by: glebius
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D36766

Details

Provenance
kibAuthored on Dec 17 2021, 4:28 AM
Reviewer
markj
Differential Revision
D36766: amd64: Initialize IPI scoreboard earlier
Parents
rGdd6bb9abf075: LinuxKPI: Use SYSCTL_FOREACH()
Branches
Unknown
Tags
Unknown