Struct layout of qwx_softc should not depend on NBPFILTER.
authorbluhm <bluhm@openbsd.org>
Fri, 9 Feb 2024 12:50:10 +0000 (12:50 +0000)
committerbluhm <bluhm@openbsd.org>
Fri, 9 Feb 2024 12:50:10 +0000 (12:50 +0000)
Due to a missing #include "bpfilter.h", the size of struct qwx_softc
varied in different object files.  This made the kernel crash on
arm64.  To make debugging core dumps and libkvm easier, kernel
object layout should not depend on kernel config.  Remove #if
NBPFILTER > 0 from struct definition.

problem analysis kettenis@
OK deraadt@ stsp@

sys/dev/ic/qwxvar.h

index 57bbd92..bd98ff7 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: qwxvar.h,v 1.15 2024/02/09 09:55:17 stsp Exp $        */
+/*     $OpenBSD: qwxvar.h,v 1.16 2024/02/09 12:50:10 bluhm Exp $       */
 
 /*
  * Copyright (c) 2018-2019 The Linux Foundation.
@@ -1773,7 +1773,6 @@ struct qwx_softc {
 
        struct qmi_wlanfw_request_mem_ind_msg_v01 *sc_req_mem_ind;
 
-#if NBPFILTER > 0
        caddr_t                 sc_drvbpf;
 
        union {
@@ -1789,7 +1788,6 @@ struct qwx_softc {
        } sc_txtapu;
 #define sc_txtap       sc_txtapu.th
        int                     sc_txtap_len;
-#endif
 };
 
 int    qwx_ce_intr(void *);