From nobody Wed Aug 26 01:07:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hV61n74Txz6qM2C for ; Wed, 26 Aug 2026 01:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hV61n175jz42HL for ; Wed, 26 Aug 2026 01:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787706429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rGmmOzEtwNAOsD3cQUEANrMrjKJedxqTNoJvRP3L1Mc=; b=HBBm1XOclicIB8t2OeKYvkMKGB4h28ETF4PsUoSRqdSXxvlkbOXxHg/86vl+inK7bBrZPS 6ypK+9+CzW9wl+ZFs8fNYotKzNsj4FsFF14IAnsRLs/l0eoTBvrj8zuJxiAe0urSDW2RxU PP0MA2GQDQTdTDLN7l+jyDl68uMxjNJgHLzIYZxMU/duKsexMAFCZlzgYLTMsPOV29qyt4 JqUBbvk0p7/kMdpEBMJmjvj1H+K6M6jQ4QvaY4hZ8axpTZCUoAkoB7cq3mUPrLYV2Jpejz 5CcRpx793bKYpr8V2geSWYs3wGcXEZqXhWrBlRDiwj17z/4cn5SBJ7eYjNQv+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787706429; a=rsa-sha256; cv=none; b=HMjfdWZRg5sRlnli4IYRQVp19JNEFcMSP3qwCHC3Hj7s42sisQOnnCP9ipVfsFfvYp1fHN Ij5wfLxLbxDe/iPv9t1eEznkr2NfYmyb5jxs0+7RbHVWoz2JSGTaSvLuj1LU4ZEoUAQp9A mELdzz+eAG/GPxxnCOfu/QNCEFLuVnWkl3qJIRD9Nb1ddWnknazpM+UWNhcMpRA4Z0WAu3 QMli8ctRFK61BZpaM9MEgG8QBwvH/ckG7yZHrMrC6YiMy4+Okh+QyGtiDQ0TrivchWUPK2 a+5QBxfqlicK93uKaFq3Q8USl4nzD0N/5jgWdzpKR3DPxsUDmNaXqfZ9ASiO7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787706429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rGmmOzEtwNAOsD3cQUEANrMrjKJedxqTNoJvRP3L1Mc=; b=JP8FJnWWwaoxYXef6rISXAr0LLHvDQLIZxzEUHI4WZhiiTPGZ34LaqpzTdEBP2iYRfzqoT x1DZfA/oHza9AMrqy7j/1KSOMyzrEFynuhsgzVVOTjq1dT/LTMM7PME4FQQMoSTfTfSUBE uZ+0V3biiQcdEmpvjzhVIIANCFz5wMDbjw+OaPTE6ZRl3ReXnN4mbTmIydS8Ovud8l5U/8 ou59SARDGp8cMJlWKdkUkhcS+9Yl8NS2Svnu4um8SJfLzawOGH4LmkIdlnFGVExpD1bBDO Iy7/SCqEbgsED74GoeewAkj07L3dErxdBUhenkjQWMXtdx218YysEBNTSs6AWw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hV61n04Slz1DG for ; Wed, 26 Aug 2026 01:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43eec by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 26 Aug 2026 01:07:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: b06e4268aad4 - stable/14 - e1000: Fix the multiqueue debug register dump List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b06e4268aad4720b479744f28b6f66d634fa27dd Auto-Submitted: auto-generated Date: Wed, 26 Aug 2026 01:07:03 +0000 Message-Id: <6a8e3c37.43eec.49134ee5@gitrepo.freebsd.org> The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=b06e4268aad4720b479744f28b6f66d634fa27dd commit b06e4268aad4720b479744f28b6f66d634fa27dd Author: Kevin Bowling AuthorDate: 2026-08-12 00:33:18 +0000 Commit: Kevin Bowling CommitDate: 2026-08-26 01:02:02 +0000 e1000: Fix the multiqueue debug register dump The debug routine advanced ring pointers as if rings were contiguous. They are embedded in queue structures, so rings beyond queue zero had the wrong stride. The bogus queue index could cause an invalid MMIO read and panic the machine. Index the queue arrays first and then select the embedded ring. (cherry picked from commit 7dd826171b69a01c234ba6e9117917398ba2705e) --- sys/dev/e1000/if_em.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index c9abee7eb65e..832d969e98fc 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -5928,9 +5928,11 @@ em_print_debug_info(struct e1000_softc *sc) { device_t dev = iflib_get_dev(sc->ctx); if_t ifp = iflib_get_ifp(sc->ctx); - struct tx_ring *txr = &sc->tx_queues->txr; - struct rx_ring *rxr = &sc->rx_queues->rxr; + if (sc->tx_queues == NULL || sc->rx_queues == NULL) { + device_printf(dev, "queue state is unavailable\n"); + return; + } if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) printf("Interface is RUNNING "); else @@ -5941,14 +5943,14 @@ em_print_debug_info(struct e1000_softc *sc) else printf("and ACTIVE\n"); - for (int i = 0; i < sc->tx_num_queues; i++, txr++) { + for (int i = 0; i < sc->tx_num_queues; i++) { device_printf(dev, "TX Queue %d ------\n", i); device_printf(dev, "hw tdh = %d, hw tdt = %d\n", E1000_READ_REG(&sc->hw, E1000_TDH(i)), E1000_READ_REG(&sc->hw, E1000_TDT(i))); } - for (int j=0; j < sc->rx_num_queues; j++, rxr++) { + for (int j = 0; j < sc->rx_num_queues; j++) { device_printf(dev, "RX Queue %d ------\n", j); device_printf(dev, "hw rdh = %d, hw rdt = %d\n", E1000_READ_REG(&sc->hw, E1000_RDH(j)),