git: f093d21e081b - stable/13 - netdump: Check the return value of ifunit_ref()

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Mon, 09 Oct 2023 00:59:03 UTC
The branch stable/13 has been updated by markj:

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

commit f093d21e081b1eed9844c28af605b5277e76094c
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-10-02 12:08:20 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-10-09 00:42:37 +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
    
    (cherry picked from commit d94d07d58141dcff48f01c6b3e5a31de9d7a7938)
---
 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 b3c0cd8183a3..5adff1256343 100644
--- a/sys/netinet/netdump/netdump_client.c
+++ b/sys/netinet/netdump/netdump_client.c
@@ -450,6 +450,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);