git: d94d07d58141 - main - netdump: Check the return value of ifunit_ref()

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Mon, 02 Oct 2023 12:09:55 UTC
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=d94d07d58141dcff48f01c6b3e5a31de9d7a7938

commit d94d07d58141dcff48f01c6b3e5a31de9d7a7938
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-10-02 12:08:20 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-10-02 12:09:26 +0000

    netdump: Check the return value of ifunit_ref()
    
    We may fail to match if the specific interface doesn't exist or was
    renamed.
    
    PR:             273715
    Reported by:    grembo
    MFC after:      1 week
---
 sys/netinet/netdump/netdump_client.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/netinet/netdump/netdump_client.c b/sys/netinet/netdump/netdump_client.c
index 35167f690ed2..0f0cf4dbb79f 100644
--- a/sys/netinet/netdump/netdump_client.c
+++ b/sys/netinet/netdump/netdump_client.c
@@ -451,6 +451,8 @@ netdump_configure(struct diocskerneldump_arg *conf, struct thread *td)
 		CURVNET_SET(vnet0);
 		ifp = ifunit_ref(conf->kda_iface);
 		CURVNET_RESTORE();
+		if (ifp == NULL)
+			return (ENODEV);
 		if (!DEBUGNET_SUPPORTED_NIC(ifp)) {
 			if_rele(ifp);
 			return (ENODEV);