From 93b4a54456589e78dcd37f2db8333baff3f3f0b2 Mon Sep 17 00:00:00 2001 From: Eugene Grosbein Date: Tue, 25 Feb 2025 14:18:29 +0700 Subject: [PATCH] netgraph: prevent panic with INVARIANTS-enabled kernel This change makes NG_ABI_VERSION depend on INVARIANTS in addition to NETGRAPH_DEBUG. PR: 257876 MFC-after: 2 weeks --- sys/netgraph/netgraph.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/sys/netgraph/netgraph.h b/sys/netgraph/netgraph.h index e83f61d3f60b..10db352e0fa2 100644 --- a/sys/netgraph/netgraph.h +++ b/sys/netgraph/netgraph.h @@ -69,11 +69,20 @@ * modules. */ #define _NG_ABI_VERSION 12 -#ifdef NETGRAPH_DEBUG /*----------------------------------------------*/ -#define NG_ABI_VERSION (_NG_ABI_VERSION + 0x10000) -#else /* NETGRAPH_DEBUG */ /*----------------------------------------------*/ -#define NG_ABI_VERSION _NG_ABI_VERSION -#endif /* NETGRAPH_DEBUG */ /*----------------------------------------------*/ + +#ifdef NETGRAPH_DEBUG +#define _NG_ABI_PREFIX1 0x10000 +#else +#define _NG_ABI_PREFIX1 0 +#endif + +#ifdef INVARIANTS +#define _NG_ABI_PREFIX2 0x20000 +#else +#define _NG_ABI_PREFIX2 0 +#endif + +#define NG_ABI_VERSION (_NG_ABI_PREFIX1 + _NG_ABI_PREFIX2 + _NG_ABI_VERSION) /* * Forward references for the basic structures so we can