git: d1d839d0b593 - main - ifnet: Assert that we are assigning network stack correctly
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 22 Oct 2024 04:33:17 UTC
The branch main has been updated by zlei:
URL: https://cgit.FreeBSD.org/src/commit/?id=d1d839d0b593541174ca48c675c9eff4ddb4715e
commit d1d839d0b593541174ca48c675c9eff4ddb4715e
Author: Zhenlei Huang <zlei@FreeBSD.org>
AuthorDate: 2024-10-22 04:32:24 +0000
Commit: Zhenlei Huang <zlei@FreeBSD.org>
CommitDate: 2024-10-22 04:32:24 +0000
ifnet: Assert that we are assigning network stack correctly
It makes no sense to assign NULL vnet to an interface when the kernel
option VIMAGE is enabled. Add an assertion to catch that.
This will also help diagnosing problem report [1] and [2].
1. https://bugs.freebsd.org/275381
2. https://bugs.freebsd.org/282168
Reviewed by: kp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D46982
---
sys/net/if.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys/net/if.c b/sys/net/if.c
index ebad5c5d16e5..8dc212ae4ac7 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -832,6 +832,7 @@ if_attach_internal(struct ifnet *ifp, bool vmove)
MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp);
#ifdef VIMAGE
+ CURVNET_ASSERT_SET();
ifp->if_vnet = curvnet;
if (ifp->if_home_vnet == NULL)
ifp->if_home_vnet = curvnet;