From nobody Wed Sep 28 13:23:57 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Mcxz16tc7z4V9xV; Wed, 28 Sep 2022 13:23:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Mcxz16Dg8z3Xxk; Wed, 28 Sep 2022 13:23:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664371437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f3GXNmS0X10Vf5tTlXQpFUHOSiUOluxa4WSalUT/euE=; b=ws8mQhiAAdkKyh/cwb/6YLNk48RtqJLH5QkduwZqAELsyiHCbQNHUWxNtsZXec+smifiUG E9RAl3sNrMMKmynwPfs4TrhQ1bTDSgBvbV/vcwKew46XlLxxr/I33qWDnpCOHyOZoN7WLK Ddga9P2ZVkjzKRVnka1jMqTc3v5Q5d/iJGjRVZ/JZ+82dvQRyj7Mf06+SELiVN3Wfy53kI dBAxawJvK8N3VO8+Oo9cVMMs7HbliMd5og8h9O7ouCAb3mHX0tep7bzQWPZ/aNPEEsj4oD WnIuhCUtWRjrD7kJlQIfN4y2xBnGzo20bElVSufRWdmXA1tDE7WULROr9fl2LQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Mcxz15H7ZzTqp; Wed, 28 Sep 2022 13:23:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 28SDNvNX063618; Wed, 28 Sep 2022 13:23:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 28SDNvVv063617; Wed, 28 Sep 2022 13:23:57 GMT (envelope-from git) Date: Wed, 28 Sep 2022 13:23:57 GMT Message-Id: <202209281323.28SDNvVv063617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 648fa3558c16 - main - amd64: Initialize IPI scoreboard earlier List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 648fa3558c161a1d8564626d21047710c3fbfdf6 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664371437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f3GXNmS0X10Vf5tTlXQpFUHOSiUOluxa4WSalUT/euE=; b=rJSlzUvKfgRaf/V/pAD9UO6Z2+GlLi6Y12nEF2PRYqH/ofeSRDmw+vmRc2f7XBJf6Z14Jc hvIxgFNAwRI1XICdn5HGlvFDSW4p+k6gG236gMXcPQJi5BkDUvHYUoa64jkU/PR0a5SI3C wRWpo0udIRgLRJG16COGHE7saQ/P9vBRhLIw2hk8jJzWba0YorhtvY9L14Xu8jx1mofsaG Zqoo+wzol4ETVohNCmANH3SPtcEzyIlDtIek67fmGjajVilOGwwjr2bIzxCTrac62RY1ux u7xSDebQ4XlxGAYl1P+RjQuoWuA155dg+V3JWUwIG4sWnDxYpXFcRSxkKd38Gw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1664371437; a=rsa-sha256; cv=none; b=AJWGpxTmsEYkCUhFTnF1eNFiwMYYVnusxZm6VNPjOI3rL3/f5azn0G0FIa9Unu2sytLAtu T/qdyMnlKiVN2t0nypmv3uwXNvHZa4YfLL2kZ9RfXA2kzcmIuux0QSUgA/fqFoKaFORKrQ bAoGVy7tq95Q5zalx3KWNFA5otgpGUWfTLOgxxJihZHwMb9sWRAANyeM39NKhLt5mfWZ+N vUFrcVYCwqTUPLn3FKTatBgjnYC6uN4RbAUA+8fAdLKDQmFV1fTm85TB/UsVkBYHyh69BH BqEDL8gIx16Kvq0+f1BFbrptxViUEXY5jWUKDkzVCM1r2FiVQ34P1rcajbUR1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=648fa3558c161a1d8564626d21047710c3fbfdf6 commit 648fa3558c161a1d8564626d21047710c3fbfdf6 Author: Konstantin Belousov AuthorDate: 2021-12-17 04:28:11 +0000 Commit: Konstantin Belousov CommitDate: 2022-09-28 13:23:52 +0000 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 --- sys/amd64/amd64/mp_machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index e5114b93328e..3356726b24de 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -579,7 +579,7 @@ invl_scoreboard_init(void *arg __unused) invl_op_pg = INVL_OP_PG; } } -SYSINIT(invl_ops, SI_SUB_SMP, SI_ORDER_FIRST, invl_scoreboard_init, NULL); +SYSINIT(invl_ops, SI_SUB_SMP - 1, SI_ORDER_ANY, invl_scoreboard_init, NULL); static uint32_t * invl_scoreboard_getcpu(u_int cpu)