Date: Tue, 14 Dec 2021 11:07:26 GMT From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: d7d55d9f7546 - stable/13 - Move KHELP_DECLARE_MOD_UMA later in the boot Message-ID: <202112141107.1BEB7Q1w040323@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=d7d55d9f7546675c8a79042a94eee89125019648 commit d7d55d9f7546675c8a79042a94eee89125019648 Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2021-11-12 18:28:18 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2021-12-14 10:58:01 +0000 Move KHELP_DECLARE_MOD_UMA later in the boot Both KHELP_DECLARE_MOD_UMA and the kernel linker SYSINIT to find in-kernel modules run at SI_SUB_KLD, SI_ORDER_ANY. As the former depends on the latter running first move it later in the boot, to the new SI_SUB_KHELP. This ensures KHELP_DECLARE_MOD_UMA module SYSINIT functions will be after the kernel linker. Previously we may have received a panic similar to the following if the order was incorrect: panic: module_register_init: module named ertt not found Reported by: bob prohaska <fbsd AT www.zefox.net> Discussed with: imp, jhb Sponsored by: The FreeBSD Foundation (cherry picked from commit ae062ff2695f61e43e23e144db62cb251b2cf599) --- sys/sys/kernel.h | 1 + sys/sys/module_khelp.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index 3e48a57e0f83..38e4ac5847b5 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -105,6 +105,7 @@ enum sysinit_sub_id { SI_SUB_EVENTHANDLER = 0x1C00000, /* eventhandler init */ SI_SUB_VNET_PRELINK = 0x1E00000, /* vnet init before modules */ SI_SUB_KLD = 0x2000000, /* KLD and module setup */ + SI_SUB_KHELP = 0x2080000, /* khelp modules */ SI_SUB_CPU = 0x2100000, /* CPU resource(s)*/ SI_SUB_RACCT = 0x2110000, /* resource accounting */ SI_SUB_KDTRACE = 0x2140000, /* Kernel dtrace hooks */ diff --git a/sys/sys/module_khelp.h b/sys/sys/module_khelp.h index a66440277a41..bab33e487497 100644 --- a/sys/sys/module_khelp.h +++ b/sys/sys/module_khelp.h @@ -87,7 +87,7 @@ struct khelp_modevent_data { .evhand = khelp_modevent, \ .priv = &kmd_##hname \ }; \ - DECLARE_MODULE(hname, h_##hname, SI_SUB_KLD, SI_ORDER_ANY); \ + DECLARE_MODULE(hname, h_##hname, SI_SUB_KHELP, SI_ORDER_ANY); \ MODULE_VERSION(hname, version) #define KHELP_DECLARE_MOD(hname, hdata, hhooks, version) \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202112141107.1BEB7Q1w040323>