From 2108cc72906f274f30306570268434c4f8d23636 Mon Sep 17 00:00:00 2001 From: Tong Zhang Date: Thu, 31 Mar 2022 14:16:55 -0400 Subject: [PATCH] stge: fix null pointer dereference stge_attach() could fail at line 464, sc->sc_spec remains NULL when calling stge_detach(), thus bus_release_resources() at line 704 will trigger null pointer dereference. We need to check the nulliness before calling bus_release_resources(). PR: 258420 Reviewed by: markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D34629 --- sys/dev/stge/if_stge.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/stge/if_stge.c b/sys/dev/stge/if_stge.c index c9f71f01278c..a043ca9a6e80 100644 --- a/sys/dev/stge/if_stge.c +++ b/sys/dev/stge/if_stge.c @@ -699,7 +699,9 @@ stge_detach(device_t dev) bus_teardown_intr(dev, sc->sc_res[1], sc->sc_ih); sc->sc_ih = NULL; } - bus_release_resources(dev, sc->sc_spec, sc->sc_res); + + if (sc->sc_spec) + bus_release_resources(dev, sc->sc_spec, sc->sc_res); mtx_destroy(&sc->sc_mii_mtx); mtx_destroy(&sc->sc_mtx);