From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Jisheng Zhang <jszhang@kernel.org>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 426/634] net: stmmac: use per-queue 64 bit statistics where necessary
Date: Fri, 9 Jan 2026 12:41:44 +0100 [thread overview]
Message-ID: <20260109112133.573599102@linuxfoundation.org> (raw)
In-Reply-To: <20260109112117.407257400@linuxfoundation.org>
6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jisheng Zhang <jszhang@kernel.org>
[ Upstream commit 133466c3bbe171f826294161db203f7670bb30c8 ]
Currently, there are two major issues with stmmac driver statistics
First of all, statistics in stmmac_extra_stats, stmmac_rxq_stats
and stmmac_txq_stats are 32 bit variables on 32 bit platforms. This
can cause some stats to overflow after several minutes of
high traffic, for example rx_pkt_n, tx_pkt_n and so on.
Secondly, if HW supports multiqueues, there are frequent cacheline
ping pongs on some driver statistic vars, for example, normal_irq_n,
tx_pkt_n and so on. What's more, frequent cacheline ping pongs on
normal_irq_n happens in ISR, this makes the situation worse.
To improve the driver, we convert those statistics to 64 bit, implement
ndo_get_stats64 and update .get_ethtool_stats implementation
accordingly. We also use per-queue statistics where necessary to remove
the cacheline ping pongs as much as possible to make multiqueue
operations faster. Those statistics which are not possible to overflow
and not frequently updated are kept as is.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Link: https://lore.kernel.org/r/20230717160630.1892-3-jszhang@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: a48e23221000 ("net: stmmac: fix the crash issue for zero copy XDP_TX action")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/stmicro/stmmac/common.h | 39 ++--
.../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 12 +-
.../ethernet/stmicro/stmmac/dwmac100_dma.c | 7 +-
.../ethernet/stmicro/stmmac/dwmac4_descs.c | 16 +-
.../net/ethernet/stmicro/stmmac/dwmac4_lib.c | 15 +-
.../net/ethernet/stmicro/stmmac/dwmac_lib.c | 12 +-
.../ethernet/stmicro/stmmac/dwxgmac2_descs.c | 6 +-
.../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 14 +-
.../net/ethernet/stmicro/stmmac/enh_desc.c | 20 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h | 12 +-
.../net/ethernet/stmicro/stmmac/norm_desc.c | 15 +-
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 2 +
.../ethernet/stmicro/stmmac/stmmac_ethtool.c | 123 ++++++++---
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 200 ++++++++++++++----
14 files changed, 335 insertions(+), 158 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h
index c11d62685624..471729c0bd70 100644
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
@@ -59,13 +59,25 @@
/* #define FRAME_FILTER_DEBUG */
struct stmmac_txq_stats {
- unsigned long tx_pkt_n;
- unsigned long tx_normal_irq_n;
+ u64 tx_bytes;
+ u64 tx_packets;
+ u64 tx_pkt_n;
+ u64 tx_normal_irq_n;
+ u64 napi_poll;
+ u64 tx_clean;
+ u64 tx_set_ic_bit;
+ u64 tx_tso_frames;
+ u64 tx_tso_nfrags;
+ struct u64_stats_sync syncp;
};
struct stmmac_rxq_stats {
- unsigned long rx_pkt_n;
- unsigned long rx_normal_irq_n;
+ u64 rx_bytes;
+ u64 rx_packets;
+ u64 rx_pkt_n;
+ u64 rx_normal_irq_n;
+ u64 napi_poll;
+ struct u64_stats_sync syncp;
};
/* Extra statistic and debug information exposed by ethtool */
@@ -81,6 +93,7 @@ struct stmmac_extra_stats {
unsigned long tx_frame_flushed;
unsigned long tx_payload_error;
unsigned long tx_ip_header_error;
+ unsigned long tx_collision;
/* Receive errors */
unsigned long rx_desc;
unsigned long sa_filter_fail;
@@ -113,14 +126,6 @@ struct stmmac_extra_stats {
/* Tx/Rx IRQ Events */
unsigned long rx_early_irq;
unsigned long threshold;
- unsigned long tx_pkt_n;
- unsigned long rx_pkt_n;
- unsigned long normal_irq_n;
- unsigned long rx_normal_irq_n;
- unsigned long napi_poll;
- unsigned long tx_normal_irq_n;
- unsigned long tx_clean;
- unsigned long tx_set_ic_bit;
unsigned long irq_receive_pmt_irq_n;
/* MMC info */
unsigned long mmc_tx_irq_n;
@@ -190,18 +195,16 @@ struct stmmac_extra_stats {
unsigned long mtl_rx_fifo_ctrl_active;
unsigned long mac_rx_frame_ctrl_fifo;
unsigned long mac_gmii_rx_proto_engine;
- /* TSO */
- unsigned long tx_tso_frames;
- unsigned long tx_tso_nfrags;
/* EST */
unsigned long mtl_est_cgce;
unsigned long mtl_est_hlbs;
unsigned long mtl_est_hlbf;
unsigned long mtl_est_btre;
unsigned long mtl_est_btrlm;
- /* per queue statistics */
- struct stmmac_txq_stats txq_stats[MTL_MAX_TX_QUEUES];
- struct stmmac_rxq_stats rxq_stats[MTL_MAX_RX_QUEUES];
+ unsigned long rx_dropped;
+ unsigned long rx_errors;
+ unsigned long tx_dropped;
+ unsigned long tx_errors;
};
/* Safety Feature statistics exposed by ethtool */
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
index b44e76a25965..87f0e65bfaa8 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
@@ -440,8 +440,10 @@ static int sun8i_dwmac_dma_interrupt(struct stmmac_priv *priv,
struct stmmac_extra_stats *x, u32 chan,
u32 dir)
{
- u32 v;
+ struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[chan];
+ struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[chan];
int ret = 0;
+ u32 v;
v = readl(ioaddr + EMAC_INT_STA);
@@ -452,7 +454,9 @@ static int sun8i_dwmac_dma_interrupt(struct stmmac_priv *priv,
if (v & EMAC_TX_INT) {
ret |= handle_tx;
- x->tx_normal_irq_n++;
+ u64_stats_update_begin(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_normal_irq_n++;
+ u64_stats_update_end(&tx_q->txq_stats.syncp);
}
if (v & EMAC_TX_DMA_STOP_INT)
@@ -474,7 +478,9 @@ static int sun8i_dwmac_dma_interrupt(struct stmmac_priv *priv,
if (v & EMAC_RX_INT) {
ret |= handle_rx;
- x->rx_normal_irq_n++;
+ u64_stats_update_begin(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.rx_normal_irq_n++;
+ u64_stats_update_end(&rx_q->rxq_stats.syncp);
}
if (v & EMAC_RX_BUF_UA_INT)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c
index 1c32b1788f02..dea270f60cc3 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c
@@ -82,29 +82,24 @@ static void dwmac100_dump_dma_regs(struct stmmac_priv *priv,
}
/* DMA controller has two counters to track the number of the missed frames. */
-static void dwmac100_dma_diagnostic_fr(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static void dwmac100_dma_diagnostic_fr(struct stmmac_extra_stats *x,
void __iomem *ioaddr)
{
u32 csr8 = readl(ioaddr + DMA_MISSED_FRAME_CTR);
if (unlikely(csr8)) {
if (csr8 & DMA_MISSED_FRAME_OVE) {
- stats->rx_over_errors += 0x800;
x->rx_overflow_cntr += 0x800;
} else {
unsigned int ove_cntr;
ove_cntr = ((csr8 & DMA_MISSED_FRAME_OVE_CNTR) >> 17);
- stats->rx_over_errors += ove_cntr;
x->rx_overflow_cntr += ove_cntr;
}
if (csr8 & DMA_MISSED_FRAME_OVE_M) {
- stats->rx_missed_errors += 0xffff;
x->rx_missed_cntr += 0xffff;
} else {
unsigned int miss_f = (csr8 & DMA_MISSED_FRAME_M_CNTR);
- stats->rx_missed_errors += miss_f;
x->rx_missed_cntr += miss_f;
}
}
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
index 6a011d8633e8..89a14084c611 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
@@ -13,8 +13,7 @@
#include "dwmac4.h"
#include "dwmac4_descs.h"
-static int dwmac4_wrback_get_tx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int dwmac4_wrback_get_tx_status(struct stmmac_extra_stats *x,
struct dma_desc *p,
void __iomem *ioaddr)
{
@@ -40,15 +39,13 @@ static int dwmac4_wrback_get_tx_status(struct net_device_stats *stats,
x->tx_frame_flushed++;
if (unlikely(tdes3 & TDES3_LOSS_CARRIER)) {
x->tx_losscarrier++;
- stats->tx_carrier_errors++;
}
if (unlikely(tdes3 & TDES3_NO_CARRIER)) {
x->tx_carrier++;
- stats->tx_carrier_errors++;
}
if (unlikely((tdes3 & TDES3_LATE_COLLISION) ||
(tdes3 & TDES3_EXCESSIVE_COLLISION)))
- stats->collisions +=
+ x->tx_collision +=
(tdes3 & TDES3_COLLISION_COUNT_MASK)
>> TDES3_COLLISION_COUNT_SHIFT;
@@ -73,8 +70,7 @@ static int dwmac4_wrback_get_tx_status(struct net_device_stats *stats,
return ret;
}
-static int dwmac4_wrback_get_rx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int dwmac4_wrback_get_rx_status(struct stmmac_extra_stats *x,
struct dma_desc *p)
{
unsigned int rdes1 = le32_to_cpu(p->des1);
@@ -93,7 +89,7 @@ static int dwmac4_wrback_get_rx_status(struct net_device_stats *stats,
if (unlikely(rdes3 & RDES3_ERROR_SUMMARY)) {
if (unlikely(rdes3 & RDES3_GIANT_PACKET))
- stats->rx_length_errors++;
+ x->rx_length++;
if (unlikely(rdes3 & RDES3_OVERFLOW_ERROR))
x->rx_gmac_overflow++;
@@ -103,10 +99,8 @@ static int dwmac4_wrback_get_rx_status(struct net_device_stats *stats,
if (unlikely(rdes3 & RDES3_RECEIVE_ERROR))
x->rx_mii++;
- if (unlikely(rdes3 & RDES3_CRC_ERROR)) {
+ if (unlikely(rdes3 & RDES3_CRC_ERROR))
x->rx_crc_errors++;
- stats->rx_crc_errors++;
- }
if (unlikely(rdes3 & RDES3_DRIBBLE_ERROR))
x->dribbling_bit++;
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c
index 03ceb6a94073..980e5f8a37ec 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c
@@ -171,6 +171,8 @@ int dwmac4_dma_interrupt(struct stmmac_priv *priv, void __iomem *ioaddr,
const struct dwmac4_addrs *dwmac4_addrs = priv->plat->dwmac4_addrs;
u32 intr_status = readl(ioaddr + DMA_CHAN_STATUS(dwmac4_addrs, chan));
u32 intr_en = readl(ioaddr + DMA_CHAN_INTR_ENA(dwmac4_addrs, chan));
+ struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[chan];
+ struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[chan];
int ret = 0;
if (dir == DMA_DIR_RX)
@@ -198,18 +200,19 @@ int dwmac4_dma_interrupt(struct stmmac_priv *priv, void __iomem *ioaddr,
}
}
/* TX/RX NORMAL interrupts */
- if (likely(intr_status & DMA_CHAN_STATUS_NIS))
- x->normal_irq_n++;
if (likely(intr_status & DMA_CHAN_STATUS_RI)) {
- x->rx_normal_irq_n++;
- x->rxq_stats[chan].rx_normal_irq_n++;
+ u64_stats_update_begin(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.rx_normal_irq_n++;
+ u64_stats_update_end(&rx_q->rxq_stats.syncp);
ret |= handle_rx;
}
if (likely(intr_status & DMA_CHAN_STATUS_TI)) {
- x->tx_normal_irq_n++;
- x->txq_stats[chan].tx_normal_irq_n++;
+ u64_stats_update_begin(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_normal_irq_n++;
+ u64_stats_update_end(&tx_q->txq_stats.syncp);
ret |= handle_tx;
}
+
if (unlikely(intr_status & DMA_CHAN_STATUS_TBU))
ret |= handle_tx;
if (unlikely(intr_status & DMA_CHAN_STATUS_ERI))
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
index 0b6f999a8305..aaa09b16b016 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
@@ -10,6 +10,7 @@
#include <linux/iopoll.h>
#include "common.h"
#include "dwmac_dma.h"
+#include "stmmac.h"
#define GMAC_HI_REG_AE 0x80000000
@@ -161,6 +162,8 @@ static void show_rx_process_state(unsigned int status)
int dwmac_dma_interrupt(struct stmmac_priv *priv, void __iomem *ioaddr,
struct stmmac_extra_stats *x, u32 chan, u32 dir)
{
+ struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[chan];
+ struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[chan];
int ret = 0;
/* read the status register (CSR5) */
u32 intr_status = readl(ioaddr + DMA_STATUS);
@@ -208,17 +211,20 @@ int dwmac_dma_interrupt(struct stmmac_priv *priv, void __iomem *ioaddr,
}
/* TX/RX NORMAL interrupts */
if (likely(intr_status & DMA_STATUS_NIS)) {
- x->normal_irq_n++;
if (likely(intr_status & DMA_STATUS_RI)) {
u32 value = readl(ioaddr + DMA_INTR_ENA);
/* to schedule NAPI on real RIE event. */
if (likely(value & DMA_INTR_ENA_RIE)) {
- x->rx_normal_irq_n++;
+ u64_stats_update_begin(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.rx_normal_irq_n++;
+ u64_stats_update_end(&rx_q->rxq_stats.syncp);
ret |= handle_rx;
}
}
if (likely(intr_status & DMA_STATUS_TI)) {
- x->tx_normal_irq_n++;
+ u64_stats_update_begin(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_normal_irq_n++;
+ u64_stats_update_end(&tx_q->txq_stats.syncp);
ret |= handle_tx;
}
if (unlikely(intr_status & DMA_STATUS_ERI))
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c
index 13c347ee8be9..fc82862a612c 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c
@@ -8,8 +8,7 @@
#include "common.h"
#include "dwxgmac2.h"
-static int dwxgmac2_get_tx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int dwxgmac2_get_tx_status(struct stmmac_extra_stats *x,
struct dma_desc *p, void __iomem *ioaddr)
{
unsigned int tdes3 = le32_to_cpu(p->des3);
@@ -23,8 +22,7 @@ static int dwxgmac2_get_tx_status(struct net_device_stats *stats,
return ret;
}
-static int dwxgmac2_get_rx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int dwxgmac2_get_rx_status(struct stmmac_extra_stats *x,
struct dma_desc *p)
{
unsigned int rdes3 = le32_to_cpu(p->des3);
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
index 5187c5da709a..136ef20d827f 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
@@ -333,6 +333,8 @@ static int dwxgmac2_dma_interrupt(struct stmmac_priv *priv,
struct stmmac_extra_stats *x, u32 chan,
u32 dir)
{
+ struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[chan];
+ struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[chan];
u32 intr_status = readl(ioaddr + XGMAC_DMA_CH_STATUS(chan));
u32 intr_en = readl(ioaddr + XGMAC_DMA_CH_INT_EN(chan));
int ret = 0;
@@ -360,16 +362,16 @@ static int dwxgmac2_dma_interrupt(struct stmmac_priv *priv,
/* TX/RX NORMAL interrupts */
if (likely(intr_status & XGMAC_NIS)) {
- x->normal_irq_n++;
-
if (likely(intr_status & XGMAC_RI)) {
- x->rx_normal_irq_n++;
- x->rxq_stats[chan].rx_normal_irq_n++;
+ u64_stats_update_begin(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.rx_normal_irq_n++;
+ u64_stats_update_end(&rx_q->rxq_stats.syncp);
ret |= handle_rx;
}
if (likely(intr_status & (XGMAC_TI | XGMAC_TBU))) {
- x->tx_normal_irq_n++;
- x->txq_stats[chan].tx_normal_irq_n++;
+ u64_stats_update_begin(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_normal_irq_n++;
+ u64_stats_update_end(&tx_q->txq_stats.syncp);
ret |= handle_tx;
}
}
diff --git a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c
index a91d8f13a931..937b7a0466fc 100644
--- a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c
+++ b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c
@@ -12,8 +12,7 @@
#include "common.h"
#include "descs_com.h"
-static int enh_desc_get_tx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int enh_desc_get_tx_status(struct stmmac_extra_stats *x,
struct dma_desc *p, void __iomem *ioaddr)
{
unsigned int tdes0 = le32_to_cpu(p->des0);
@@ -38,15 +37,13 @@ static int enh_desc_get_tx_status(struct net_device_stats *stats,
if (unlikely(tdes0 & ETDES0_LOSS_CARRIER)) {
x->tx_losscarrier++;
- stats->tx_carrier_errors++;
}
if (unlikely(tdes0 & ETDES0_NO_CARRIER)) {
x->tx_carrier++;
- stats->tx_carrier_errors++;
}
if (unlikely((tdes0 & ETDES0_LATE_COLLISION) ||
(tdes0 & ETDES0_EXCESSIVE_COLLISIONS)))
- stats->collisions +=
+ x->tx_collision +=
(tdes0 & ETDES0_COLLISION_COUNT_MASK) >> 3;
if (unlikely(tdes0 & ETDES0_EXCESSIVE_DEFERRAL))
@@ -117,8 +114,7 @@ static int enh_desc_coe_rdes0(int ipc_err, int type, int payload_err)
return ret;
}
-static void enh_desc_get_ext_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static void enh_desc_get_ext_status(struct stmmac_extra_stats *x,
struct dma_extended_desc *p)
{
unsigned int rdes0 = le32_to_cpu(p->basic.des0);
@@ -182,8 +178,7 @@ static void enh_desc_get_ext_status(struct net_device_stats *stats,
}
}
-static int enh_desc_get_rx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int enh_desc_get_rx_status(struct stmmac_extra_stats *x,
struct dma_desc *p)
{
unsigned int rdes0 = le32_to_cpu(p->des0);
@@ -193,14 +188,14 @@ static int enh_desc_get_rx_status(struct net_device_stats *stats,
return dma_own;
if (unlikely(!(rdes0 & RDES0_LAST_DESCRIPTOR))) {
- stats->rx_length_errors++;
+ x->rx_length++;
return discard_frame;
}
if (unlikely(rdes0 & RDES0_ERROR_SUMMARY)) {
if (unlikely(rdes0 & RDES0_DESCRIPTOR_ERROR)) {
x->rx_desc++;
- stats->rx_length_errors++;
+ x->rx_length++;
}
if (unlikely(rdes0 & RDES0_OVERFLOW_ERROR))
x->rx_gmac_overflow++;
@@ -209,7 +204,7 @@ static int enh_desc_get_rx_status(struct net_device_stats *stats,
pr_err("\tIPC Csum Error/Giant frame\n");
if (unlikely(rdes0 & RDES0_COLLISION))
- stats->collisions++;
+ x->rx_collision++;
if (unlikely(rdes0 & RDES0_RECEIVE_WATCHDOG))
x->rx_watchdog++;
@@ -218,7 +213,6 @@ static int enh_desc_get_rx_status(struct net_device_stats *stats,
if (unlikely(rdes0 & RDES0_CRC_ERROR)) {
x->rx_crc_errors++;
- stats->rx_crc_errors++;
}
ret = discard_frame;
}
diff --git a/drivers/net/ethernet/stmicro/stmmac/hwif.h b/drivers/net/ethernet/stmicro/stmmac/hwif.h
index 87161c85b1a1..19424af936d2 100644
--- a/drivers/net/ethernet/stmicro/stmmac/hwif.h
+++ b/drivers/net/ethernet/stmicro/stmmac/hwif.h
@@ -57,8 +57,7 @@ struct stmmac_desc_ops {
/* Last tx segment reports the transmit status */
int (*get_tx_ls)(struct dma_desc *p);
/* Return the transmit status looking at the TDES1 */
- int (*tx_status)(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+ int (*tx_status)(struct stmmac_extra_stats *x,
struct dma_desc *p, void __iomem *ioaddr);
/* Get the buffer size from the descriptor */
int (*get_tx_len)(struct dma_desc *p);
@@ -67,11 +66,9 @@ struct stmmac_desc_ops {
/* Get the receive frame size */
int (*get_rx_frame_len)(struct dma_desc *p, int rx_coe_type);
/* Return the reception status looking at the RDES1 */
- int (*rx_status)(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+ int (*rx_status)(struct stmmac_extra_stats *x,
struct dma_desc *p);
- void (*rx_extended_status)(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+ void (*rx_extended_status)(struct stmmac_extra_stats *x,
struct dma_extended_desc *p);
/* Set tx timestamp enable bit */
void (*enable_tx_timestamp) (struct dma_desc *p);
@@ -191,8 +188,7 @@ struct stmmac_dma_ops {
void (*dma_tx_mode)(struct stmmac_priv *priv, void __iomem *ioaddr,
int mode, u32 channel, int fifosz, u8 qmode);
/* To track extra statistic (if supported) */
- void (*dma_diagnostic_fr)(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+ void (*dma_diagnostic_fr)(struct stmmac_extra_stats *x,
void __iomem *ioaddr);
void (*enable_dma_transmission) (void __iomem *ioaddr);
void (*enable_dma_irq)(struct stmmac_priv *priv, void __iomem *ioaddr,
diff --git a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c
index 350e6670a576..68a7cfcb1d8f 100644
--- a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c
+++ b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c
@@ -12,8 +12,7 @@
#include "common.h"
#include "descs_com.h"
-static int ndesc_get_tx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int ndesc_get_tx_status(struct stmmac_extra_stats *x,
struct dma_desc *p, void __iomem *ioaddr)
{
unsigned int tdes0 = le32_to_cpu(p->des0);
@@ -31,15 +30,12 @@ static int ndesc_get_tx_status(struct net_device_stats *stats,
if (unlikely(tdes0 & TDES0_ERROR_SUMMARY)) {
if (unlikely(tdes0 & TDES0_UNDERFLOW_ERROR)) {
x->tx_underflow++;
- stats->tx_fifo_errors++;
}
if (unlikely(tdes0 & TDES0_NO_CARRIER)) {
x->tx_carrier++;
- stats->tx_carrier_errors++;
}
if (unlikely(tdes0 & TDES0_LOSS_CARRIER)) {
x->tx_losscarrier++;
- stats->tx_carrier_errors++;
}
if (unlikely((tdes0 & TDES0_EXCESSIVE_DEFERRAL) ||
(tdes0 & TDES0_EXCESSIVE_COLLISIONS) ||
@@ -47,7 +43,7 @@ static int ndesc_get_tx_status(struct net_device_stats *stats,
unsigned int collisions;
collisions = (tdes0 & TDES0_COLLISION_COUNT_MASK) >> 3;
- stats->collisions += collisions;
+ x->tx_collision += collisions;
}
ret = tx_err;
}
@@ -70,8 +66,7 @@ static int ndesc_get_tx_len(struct dma_desc *p)
* and, if required, updates the multicast statistics.
* In case of success, it returns good_frame because the GMAC device
* is supposed to be able to compute the csum in HW. */
-static int ndesc_get_rx_status(struct net_device_stats *stats,
- struct stmmac_extra_stats *x,
+static int ndesc_get_rx_status(struct stmmac_extra_stats *x,
struct dma_desc *p)
{
int ret = good_frame;
@@ -81,7 +76,7 @@ static int ndesc_get_rx_status(struct net_device_stats *stats,
return dma_own;
if (unlikely(!(rdes0 & RDES0_LAST_DESCRIPTOR))) {
- stats->rx_length_errors++;
+ x->rx_length++;
return discard_frame;
}
@@ -96,11 +91,9 @@ static int ndesc_get_rx_status(struct net_device_stats *stats,
x->ipc_csum_error++;
if (unlikely(rdes0 & RDES0_COLLISION)) {
x->rx_collision++;
- stats->collisions++;
}
if (unlikely(rdes0 & RDES0_CRC_ERROR)) {
x->rx_crc_errors++;
- stats->rx_crc_errors++;
}
ret = discard_frame;
}
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
index b9b41dd18cde..b3f9e318f6e2 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
@@ -77,6 +77,7 @@ struct stmmac_tx_queue {
dma_addr_t dma_tx_phy;
dma_addr_t tx_tail_addr;
u32 mss;
+ struct stmmac_txq_stats txq_stats;
};
struct stmmac_rx_buffer {
@@ -118,6 +119,7 @@ struct stmmac_rx_queue {
unsigned int len;
unsigned int error;
} state;
+ struct stmmac_rxq_stats rxq_stats;
};
struct stmmac_channel {
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
index f03aa8a0b895..a808a32e52d1 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c
@@ -89,14 +89,6 @@ static const struct stmmac_stats stmmac_gstrings_stats[] = {
/* Tx/Rx IRQ Events */
STMMAC_STAT(rx_early_irq),
STMMAC_STAT(threshold),
- STMMAC_STAT(tx_pkt_n),
- STMMAC_STAT(rx_pkt_n),
- STMMAC_STAT(normal_irq_n),
- STMMAC_STAT(rx_normal_irq_n),
- STMMAC_STAT(napi_poll),
- STMMAC_STAT(tx_normal_irq_n),
- STMMAC_STAT(tx_clean),
- STMMAC_STAT(tx_set_ic_bit),
STMMAC_STAT(irq_receive_pmt_irq_n),
/* MMC info */
STMMAC_STAT(mmc_tx_irq_n),
@@ -163,9 +155,6 @@ static const struct stmmac_stats stmmac_gstrings_stats[] = {
STMMAC_STAT(mtl_rx_fifo_ctrl_active),
STMMAC_STAT(mac_rx_frame_ctrl_fifo),
STMMAC_STAT(mac_gmii_rx_proto_engine),
- /* TSO */
- STMMAC_STAT(tx_tso_frames),
- STMMAC_STAT(tx_tso_nfrags),
/* EST */
STMMAC_STAT(mtl_est_cgce),
STMMAC_STAT(mtl_est_hlbs),
@@ -175,6 +164,23 @@ static const struct stmmac_stats stmmac_gstrings_stats[] = {
};
#define STMMAC_STATS_LEN ARRAY_SIZE(stmmac_gstrings_stats)
+/* statistics collected in queue which will be summed up for all TX or RX
+ * queues, or summed up for both TX and RX queues(napi_poll, normal_irq_n).
+ */
+static const char stmmac_qstats_string[][ETH_GSTRING_LEN] = {
+ "rx_pkt_n",
+ "rx_normal_irq_n",
+ "tx_pkt_n",
+ "tx_normal_irq_n",
+ "tx_clean",
+ "tx_set_ic_bit",
+ "tx_tso_frames",
+ "tx_tso_nfrags",
+ "normal_irq_n",
+ "napi_poll",
+};
+#define STMMAC_QSTATS ARRAY_SIZE(stmmac_qstats_string)
+
/* HW MAC Management counters (if supported) */
#define STMMAC_MMC_STAT(m) \
{ #m, sizeof_field(struct stmmac_counters, m), \
@@ -544,23 +550,44 @@ static void stmmac_get_per_qstats(struct stmmac_priv *priv, u64 *data)
{
u32 tx_cnt = priv->plat->tx_queues_to_use;
u32 rx_cnt = priv->plat->rx_queues_to_use;
+ unsigned int start;
int q, stat;
+ u64 *pos;
char *p;
+ pos = data;
for (q = 0; q < tx_cnt; q++) {
- p = (char *)priv + offsetof(struct stmmac_priv,
- xstats.txq_stats[q].tx_pkt_n);
+ struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[q];
+ struct stmmac_txq_stats snapshot;
+
+ data = pos;
+ do {
+ start = u64_stats_fetch_begin(&tx_q->txq_stats.syncp);
+ snapshot = tx_q->txq_stats;
+ } while (u64_stats_fetch_retry(&tx_q->txq_stats.syncp, start));
+
+ p = (char *)&snapshot + offsetof(struct stmmac_txq_stats, tx_pkt_n);
for (stat = 0; stat < STMMAC_TXQ_STATS; stat++) {
- *data++ = (*(unsigned long *)p);
- p += sizeof(unsigned long);
+ *data++ += (*(u64 *)p);
+ p += sizeof(u64);
}
}
+
+ pos = data;
for (q = 0; q < rx_cnt; q++) {
- p = (char *)priv + offsetof(struct stmmac_priv,
- xstats.rxq_stats[q].rx_pkt_n);
+ struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[q];
+ struct stmmac_rxq_stats snapshot;
+
+ data = pos;
+ do {
+ start = u64_stats_fetch_begin(&rx_q->rxq_stats.syncp);
+ snapshot = rx_q->rxq_stats;
+ } while (u64_stats_fetch_retry(&rx_q->rxq_stats.syncp, start));
+
+ p = (char *)&snapshot + offsetof(struct stmmac_rxq_stats, rx_pkt_n);
for (stat = 0; stat < STMMAC_RXQ_STATS; stat++) {
- *data++ = (*(unsigned long *)p);
- p += sizeof(unsigned long);
+ *data++ += (*(u64 *)p);
+ p += sizeof(u64);
}
}
}
@@ -571,8 +598,10 @@ static void stmmac_get_ethtool_stats(struct net_device *dev,
struct stmmac_priv *priv = netdev_priv(dev);
u32 rx_queues_count = priv->plat->rx_queues_to_use;
u32 tx_queues_count = priv->plat->tx_queues_to_use;
+ u64 napi_poll = 0, normal_irq_n = 0;
+ int i, j = 0, pos, ret;
unsigned long count;
- int i, j = 0, ret;
+ unsigned int start;
if (priv->dma_cap.asp) {
for (i = 0; i < STMMAC_SAFETY_FEAT_SIZE; i++) {
@@ -583,8 +612,7 @@ static void stmmac_get_ethtool_stats(struct net_device *dev,
}
/* Update the DMA HW counters for dwmac10/100 */
- ret = stmmac_dma_diagnostic_fr(priv, &dev->stats, (void *) &priv->xstats,
- priv->ioaddr);
+ ret = stmmac_dma_diagnostic_fr(priv, &priv->xstats, priv->ioaddr);
if (ret) {
/* If supported, for new GMAC chips expose the MMC counters */
if (priv->dma_cap.rmon) {
@@ -615,6 +643,48 @@ static void stmmac_get_ethtool_stats(struct net_device *dev,
data[j++] = (stmmac_gstrings_stats[i].sizeof_stat ==
sizeof(u64)) ? (*(u64 *)p) : (*(u32 *)p);
}
+
+ pos = j;
+ for (i = 0; i < rx_queues_count; i++) {
+ struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[i];
+ struct stmmac_rxq_stats snapshot;
+
+ j = pos;
+ do {
+ start = u64_stats_fetch_begin(&rx_q->rxq_stats.syncp);
+ snapshot = rx_q->rxq_stats;
+ } while (u64_stats_fetch_retry(&rx_q->rxq_stats.syncp, start));
+
+ data[j++] += snapshot.rx_pkt_n;
+ data[j++] += snapshot.rx_normal_irq_n;
+ normal_irq_n += snapshot.rx_normal_irq_n;
+ napi_poll += snapshot.napi_poll;
+ }
+
+ pos = j;
+ for (i = 0; i < tx_queues_count; i++) {
+ struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[i];
+ struct stmmac_txq_stats snapshot;
+
+ j = pos;
+ do {
+ start = u64_stats_fetch_begin(&tx_q->txq_stats.syncp);
+ snapshot = tx_q->txq_stats;
+ } while (u64_stats_fetch_retry(&tx_q->txq_stats.syncp, start));
+
+ data[j++] += snapshot.tx_pkt_n;
+ data[j++] += snapshot.tx_normal_irq_n;
+ normal_irq_n += snapshot.tx_normal_irq_n;
+ data[j++] += snapshot.tx_clean;
+ data[j++] += snapshot.tx_set_ic_bit;
+ data[j++] += snapshot.tx_tso_frames;
+ data[j++] += snapshot.tx_tso_nfrags;
+ napi_poll += snapshot.napi_poll;
+ }
+ normal_irq_n += priv->xstats.rx_early_irq;
+ data[j++] = normal_irq_n;
+ data[j++] = napi_poll;
+
stmmac_get_per_qstats(priv, &data[j]);
}
@@ -627,7 +697,7 @@ static int stmmac_get_sset_count(struct net_device *netdev, int sset)
switch (sset) {
case ETH_SS_STATS:
- len = STMMAC_STATS_LEN +
+ len = STMMAC_STATS_LEN + STMMAC_QSTATS +
STMMAC_TXQ_STATS * tx_cnt +
STMMAC_RXQ_STATS * rx_cnt;
@@ -700,8 +770,11 @@ static void stmmac_get_strings(struct net_device *dev, u32 stringset, u8 *data)
p += ETH_GSTRING_LEN;
}
for (i = 0; i < STMMAC_STATS_LEN; i++) {
- memcpy(p, stmmac_gstrings_stats[i].stat_string,
- ETH_GSTRING_LEN);
+ memcpy(p, stmmac_gstrings_stats[i].stat_string, ETH_GSTRING_LEN);
+ p += ETH_GSTRING_LEN;
+ }
+ for (i = 0; i < STMMAC_QSTATS; i++) {
+ memcpy(p, stmmac_qstats_string[i], ETH_GSTRING_LEN);
p += ETH_GSTRING_LEN;
}
stmmac_get_qstats_string(priv, p);
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 4aeacb5fe81e..b2362e107f20 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2430,6 +2430,8 @@ static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
struct dma_desc *tx_desc = NULL;
struct xdp_desc xdp_desc;
bool work_done = true;
+ u32 tx_set_ic_bit = 0;
+ unsigned long flags;
/* Avoids TX time-out as we are sharing with slow path */
txq_trans_cond_update(nq);
@@ -2490,7 +2492,7 @@ static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
if (set_ic) {
tx_q->tx_count_frames = 0;
stmmac_set_tx_ic(priv, tx_desc);
- priv->xstats.tx_set_ic_bit++;
+ tx_set_ic_bit++;
}
stmmac_prepare_tx_desc(priv, tx_desc, 1, xdp_desc.len,
@@ -2502,6 +2504,9 @@ static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
tx_q->cur_tx = STMMAC_GET_ENTRY(tx_q->cur_tx, priv->dma_conf.dma_tx_size);
entry = tx_q->cur_tx;
}
+ flags = u64_stats_update_begin_irqsave(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_set_ic_bit += tx_set_ic_bit;
+ u64_stats_update_end_irqrestore(&tx_q->txq_stats.syncp, flags);
if (tx_desc) {
stmmac_flush_tx_descriptors(priv, queue);
@@ -2543,11 +2548,11 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
struct stmmac_tx_queue *tx_q = &priv->dma_conf.tx_queue[queue];
unsigned int bytes_compl = 0, pkts_compl = 0;
unsigned int entry, xmits = 0, count = 0;
+ u32 tx_packets = 0, tx_errors = 0;
+ unsigned long flags;
__netif_tx_lock_bh(netdev_get_tx_queue(priv->dev, queue));
- priv->xstats.tx_clean++;
-
tx_q->xsk_frames_done = 0;
entry = tx_q->dirty_tx;
@@ -2578,8 +2583,7 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
else
p = tx_q->dma_tx + entry;
- status = stmmac_tx_status(priv, &priv->dev->stats,
- &priv->xstats, p, priv->ioaddr);
+ status = stmmac_tx_status(priv, &priv->xstats, p, priv->ioaddr);
/* Check if the descriptor is owned by the DMA */
if (unlikely(status & tx_dma_own))
break;
@@ -2595,13 +2599,11 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
if (likely(!(status & tx_not_ls))) {
/* ... verify the status error condition */
if (unlikely(status & tx_err)) {
- priv->dev->stats.tx_errors++;
+ tx_errors++;
if (unlikely(status & tx_err_bump_tc))
stmmac_bump_dma_threshold(priv, queue);
} else {
- priv->dev->stats.tx_packets++;
- priv->xstats.tx_pkt_n++;
- priv->xstats.txq_stats[queue].tx_pkt_n++;
+ tx_packets++;
}
if (skb)
stmmac_get_tx_hwtstamp(priv, p, skb);
@@ -2703,6 +2705,14 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
if (tx_q->dirty_tx != tx_q->cur_tx)
stmmac_tx_timer_arm(priv, queue);
+ flags = u64_stats_update_begin_irqsave(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_packets += tx_packets;
+ tx_q->txq_stats.tx_pkt_n += tx_packets;
+ tx_q->txq_stats.tx_clean++;
+ u64_stats_update_end_irqrestore(&tx_q->txq_stats.syncp, flags);
+
+ priv->xstats.tx_errors += tx_errors;
+
__netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue));
/* Combine decisions from TX clean and XSK TX */
@@ -2730,7 +2740,7 @@ static void stmmac_tx_err(struct stmmac_priv *priv, u32 chan)
tx_q->dma_tx_phy, chan);
stmmac_start_tx_dma(priv, chan);
- priv->dev->stats.tx_errors++;
+ priv->xstats.tx_errors++;
netif_tx_wake_queue(netdev_get_tx_queue(priv->dev, chan));
}
@@ -4116,6 +4126,7 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
struct stmmac_tx_queue *tx_q;
bool has_vlan, set_ic;
u8 proto_hdr_len, hdr;
+ unsigned long flags;
u32 pay_len, mss;
dma_addr_t des;
int i;
@@ -4276,7 +4287,6 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
tx_q->tx_count_frames = 0;
stmmac_set_tx_ic(priv, desc);
- priv->xstats.tx_set_ic_bit++;
}
/* We've used all descriptors we need for this skb, however,
@@ -4292,9 +4302,13 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, queue));
}
- dev->stats.tx_bytes += skb->len;
- priv->xstats.tx_tso_frames++;
- priv->xstats.tx_tso_nfrags += nfrags;
+ flags = u64_stats_update_begin_irqsave(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_bytes += skb->len;
+ tx_q->txq_stats.tx_tso_frames++;
+ tx_q->txq_stats.tx_tso_nfrags += nfrags;
+ if (set_ic)
+ tx_q->txq_stats.tx_set_ic_bit++;
+ u64_stats_update_end_irqrestore(&tx_q->txq_stats.syncp, flags);
if (priv->sarc_type)
stmmac_set_desc_sarc(priv, first, priv->sarc_type);
@@ -4344,7 +4358,7 @@ static netdev_tx_t stmmac_tso_xmit(struct sk_buff *skb, struct net_device *dev)
dma_map_err:
dev_err(priv->device, "Tx dma map failed\n");
dev_kfree_skb(skb);
- priv->dev->stats.tx_dropped++;
+ priv->xstats.tx_dropped++;
return NETDEV_TX_OK;
}
@@ -4370,6 +4384,7 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, struct net_device *dev)
struct stmmac_tx_queue *tx_q;
bool has_vlan, set_ic;
int entry, first_tx;
+ unsigned long flags;
dma_addr_t des;
tx_q = &priv->dma_conf.tx_queue[queue];
@@ -4498,7 +4513,6 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, struct net_device *dev)
tx_q->tx_count_frames = 0;
stmmac_set_tx_ic(priv, desc);
- priv->xstats.tx_set_ic_bit++;
}
/* We've used all descriptors we need for this skb, however,
@@ -4525,7 +4539,11 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, struct net_device *dev)
netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, queue));
}
- dev->stats.tx_bytes += skb->len;
+ flags = u64_stats_update_begin_irqsave(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_bytes += skb->len;
+ if (set_ic)
+ tx_q->txq_stats.tx_set_ic_bit++;
+ u64_stats_update_end_irqrestore(&tx_q->txq_stats.syncp, flags);
if (priv->sarc_type)
stmmac_set_desc_sarc(priv, first, priv->sarc_type);
@@ -4587,7 +4605,7 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, struct net_device *dev)
dma_map_err:
netdev_err(priv->dev, "Tx DMA map failed\n");
dev_kfree_skb(skb);
- priv->dev->stats.tx_dropped++;
+ priv->xstats.tx_dropped++;
return NETDEV_TX_OK;
}
@@ -4788,9 +4806,12 @@ static int stmmac_xdp_xmit_xdpf(struct stmmac_priv *priv, int queue,
set_ic = false;
if (set_ic) {
+ unsigned long flags;
tx_q->tx_count_frames = 0;
stmmac_set_tx_ic(priv, tx_desc);
- priv->xstats.tx_set_ic_bit++;
+ flags = u64_stats_update_begin_irqsave(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.tx_set_ic_bit++;
+ u64_stats_update_end_irqrestore(&tx_q->txq_stats.syncp, flags);
}
stmmac_enable_dma_transmission(priv, priv->ioaddr);
@@ -4935,16 +4956,18 @@ static void stmmac_dispatch_skb_zc(struct stmmac_priv *priv, u32 queue,
struct dma_desc *p, struct dma_desc *np,
struct xdp_buff *xdp)
{
+ struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue];
struct stmmac_channel *ch = &priv->channel[queue];
unsigned int len = xdp->data_end - xdp->data;
enum pkt_hash_types hash_type;
int coe = priv->hw->rx_csum;
+ unsigned long flags;
struct sk_buff *skb;
u32 hash;
skb = stmmac_construct_skb_zc(ch, xdp);
if (!skb) {
- priv->dev->stats.rx_dropped++;
+ priv->xstats.rx_dropped++;
return;
}
@@ -4963,8 +4986,10 @@ static void stmmac_dispatch_skb_zc(struct stmmac_priv *priv, u32 queue,
skb_record_rx_queue(skb, queue);
napi_gro_receive(&ch->rxtx_napi, skb);
- priv->dev->stats.rx_packets++;
- priv->dev->stats.rx_bytes += len;
+ flags = u64_stats_update_begin_irqsave(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.rx_pkt_n++;
+ rx_q->rxq_stats.rx_bytes += len;
+ u64_stats_update_end_irqrestore(&rx_q->rxq_stats.syncp, flags);
}
static bool stmmac_rx_refill_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
@@ -5031,9 +5056,11 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
unsigned int count = 0, error = 0, len = 0;
int dirty = stmmac_rx_dirty(priv, queue);
unsigned int next_entry = rx_q->cur_rx;
+ u32 rx_errors = 0, rx_dropped = 0;
unsigned int desc_size;
struct bpf_prog *prog;
bool failure = false;
+ unsigned long flags;
int xdp_status = 0;
int status = 0;
@@ -5088,8 +5115,7 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
p = rx_q->dma_rx + entry;
/* read the status of the incoming frame */
- status = stmmac_rx_status(priv, &priv->dev->stats,
- &priv->xstats, p);
+ status = stmmac_rx_status(priv, &priv->xstats, p);
/* check if managed by the DMA otherwise go ahead */
if (unlikely(status & dma_own))
break;
@@ -5111,8 +5137,7 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
break;
if (priv->extend_desc)
- stmmac_rx_extended_status(priv, &priv->dev->stats,
- &priv->xstats,
+ stmmac_rx_extended_status(priv, &priv->xstats,
rx_q->dma_erx + entry);
if (unlikely(status == discard_frame)) {
xsk_buff_free(buf->xdp);
@@ -5120,7 +5145,7 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
dirty++;
error = 1;
if (!priv->hwts_rx_en)
- priv->dev->stats.rx_errors++;
+ rx_errors++;
}
if (unlikely(error && (status & rx_not_ls)))
@@ -5163,7 +5188,7 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
break;
case STMMAC_XDP_CONSUMED:
xsk_buff_free(buf->xdp);
- priv->dev->stats.rx_dropped++;
+ rx_dropped++;
break;
case STMMAC_XDP_TX:
case STMMAC_XDP_REDIRECT:
@@ -5184,8 +5209,12 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
stmmac_finalize_xdp_rx(priv, xdp_status);
- priv->xstats.rx_pkt_n += count;
- priv->xstats.rxq_stats[queue].rx_pkt_n += count;
+ flags = u64_stats_update_begin_irqsave(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.rx_pkt_n += count;
+ u64_stats_update_end_irqrestore(&rx_q->rxq_stats.syncp, flags);
+
+ priv->xstats.rx_dropped += rx_dropped;
+ priv->xstats.rx_errors += rx_errors;
if (xsk_uses_need_wakeup(rx_q->xsk_pool)) {
if (failure || stmmac_rx_dirty(priv, queue) > 0)
@@ -5209,6 +5238,7 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
*/
static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
{
+ u32 rx_errors = 0, rx_dropped = 0, rx_bytes = 0, rx_packets = 0;
struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue];
struct stmmac_channel *ch = &priv->channel[queue];
unsigned int count = 0, error = 0, len = 0;
@@ -5218,6 +5248,7 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
unsigned int desc_size;
struct sk_buff *skb = NULL;
struct stmmac_xdp_buff ctx;
+ unsigned long flags;
int xdp_status = 0;
int buf_sz;
@@ -5274,8 +5305,7 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
p = rx_q->dma_rx + entry;
/* read the status of the incoming frame */
- status = stmmac_rx_status(priv, &priv->dev->stats,
- &priv->xstats, p);
+ status = stmmac_rx_status(priv, &priv->xstats, p);
/* check if managed by the DMA otherwise go ahead */
if (unlikely(status & dma_own))
break;
@@ -5292,14 +5322,13 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
prefetch(np);
if (priv->extend_desc)
- stmmac_rx_extended_status(priv, &priv->dev->stats,
- &priv->xstats, rx_q->dma_erx + entry);
+ stmmac_rx_extended_status(priv, &priv->xstats, rx_q->dma_erx + entry);
if (unlikely(status == discard_frame)) {
page_pool_recycle_direct(rx_q->page_pool, buf->page);
buf->page = NULL;
error = 1;
if (!priv->hwts_rx_en)
- priv->dev->stats.rx_errors++;
+ rx_errors++;
}
if (unlikely(error && (status & rx_not_ls)))
@@ -5362,7 +5391,7 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
virt_to_head_page(ctx.xdp.data),
sync_len, true);
buf->page = NULL;
- priv->dev->stats.rx_dropped++;
+ rx_dropped++;
/* Clear skb as it was set as
* status by XDP program.
@@ -5391,7 +5420,7 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
skb = napi_alloc_skb(&ch->rx_napi, buf1_len);
if (!skb) {
- priv->dev->stats.rx_dropped++;
+ rx_dropped++;
count++;
goto drain_data;
}
@@ -5451,8 +5480,8 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
napi_gro_receive(&ch->rx_napi, skb);
skb = NULL;
- priv->dev->stats.rx_packets++;
- priv->dev->stats.rx_bytes += len;
+ rx_packets++;
+ rx_bytes += len;
count++;
}
@@ -5467,8 +5496,14 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
stmmac_rx_refill(priv, queue);
- priv->xstats.rx_pkt_n += count;
- priv->xstats.rxq_stats[queue].rx_pkt_n += count;
+ flags = u64_stats_update_begin_irqsave(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.rx_packets += rx_packets;
+ rx_q->rxq_stats.rx_bytes += rx_bytes;
+ rx_q->rxq_stats.rx_pkt_n += count;
+ u64_stats_update_end_irqrestore(&rx_q->rxq_stats.syncp, flags);
+
+ priv->xstats.rx_dropped += rx_dropped;
+ priv->xstats.rx_errors += rx_errors;
return count;
}
@@ -5478,10 +5513,15 @@ static int stmmac_napi_poll_rx(struct napi_struct *napi, int budget)
struct stmmac_channel *ch =
container_of(napi, struct stmmac_channel, rx_napi);
struct stmmac_priv *priv = ch->priv_data;
+ struct stmmac_rx_queue *rx_q;
u32 chan = ch->index;
+ unsigned long flags;
int work_done;
- priv->xstats.napi_poll++;
+ rx_q = &priv->dma_conf.rx_queue[chan];
+ flags = u64_stats_update_begin_irqsave(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.napi_poll++;
+ u64_stats_update_end_irqrestore(&rx_q->rxq_stats.syncp, flags);
work_done = stmmac_rx(priv, budget, chan);
if (work_done < budget && napi_complete_done(napi, work_done)) {
@@ -5500,10 +5540,15 @@ static int stmmac_napi_poll_tx(struct napi_struct *napi, int budget)
struct stmmac_channel *ch =
container_of(napi, struct stmmac_channel, tx_napi);
struct stmmac_priv *priv = ch->priv_data;
+ struct stmmac_tx_queue *tx_q;
u32 chan = ch->index;
+ unsigned long flags;
int work_done;
- priv->xstats.napi_poll++;
+ tx_q = &priv->dma_conf.tx_queue[chan];
+ flags = u64_stats_update_begin_irqsave(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.napi_poll++;
+ u64_stats_update_end_irqrestore(&tx_q->txq_stats.syncp, flags);
work_done = stmmac_tx_clean(priv, budget, chan);
work_done = min(work_done, budget);
@@ -5525,9 +5570,20 @@ static int stmmac_napi_poll_rxtx(struct napi_struct *napi, int budget)
container_of(napi, struct stmmac_channel, rxtx_napi);
struct stmmac_priv *priv = ch->priv_data;
int rx_done, tx_done, rxtx_done;
+ struct stmmac_rx_queue *rx_q;
+ struct stmmac_tx_queue *tx_q;
u32 chan = ch->index;
+ unsigned long flags;
+
+ rx_q = &priv->dma_conf.rx_queue[chan];
+ flags = u64_stats_update_begin_irqsave(&rx_q->rxq_stats.syncp);
+ rx_q->rxq_stats.napi_poll++;
+ u64_stats_update_end_irqrestore(&rx_q->rxq_stats.syncp, flags);
- priv->xstats.napi_poll++;
+ tx_q = &priv->dma_conf.tx_queue[chan];
+ flags = u64_stats_update_begin_irqsave(&tx_q->txq_stats.syncp);
+ tx_q->txq_stats.napi_poll++;
+ u64_stats_update_end_irqrestore(&tx_q->txq_stats.syncp, flags);
tx_done = stmmac_tx_clean(priv, budget, chan);
tx_done = min(tx_done, budget);
@@ -6765,6 +6821,56 @@ int stmmac_xsk_wakeup(struct net_device *dev, u32 queue, u32 flags)
return 0;
}
+static void stmmac_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
+{
+ struct stmmac_priv *priv = netdev_priv(dev);
+ u32 tx_cnt = priv->plat->tx_queues_to_use;
+ u32 rx_cnt = priv->plat->rx_queues_to_use;
+ unsigned int start;
+ int q;
+
+ for (q = 0; q < tx_cnt; q++) {
+ struct stmmac_txq_stats *txq_stats = &priv->dma_conf.tx_queue[q].txq_stats;
+ u64 tx_packets;
+ u64 tx_bytes;
+
+ do {
+ start = u64_stats_fetch_begin(&txq_stats->syncp);
+ tx_packets = txq_stats->tx_packets;
+ tx_bytes = txq_stats->tx_bytes;
+ } while (u64_stats_fetch_retry(&txq_stats->syncp, start));
+
+ stats->tx_packets += tx_packets;
+ stats->tx_bytes += tx_bytes;
+ }
+
+ for (q = 0; q < rx_cnt; q++) {
+ struct stmmac_rxq_stats *rxq_stats = &priv->dma_conf.rx_queue[q].rxq_stats;
+ u64 rx_packets;
+ u64 rx_bytes;
+
+ do {
+ start = u64_stats_fetch_begin(&rxq_stats->syncp);
+ rx_packets = rxq_stats->rx_packets;
+ rx_bytes = rxq_stats->rx_bytes;
+ } while (u64_stats_fetch_retry(&rxq_stats->syncp, start));
+
+ stats->rx_packets += rx_packets;
+ stats->rx_bytes += rx_bytes;
+ }
+
+ stats->rx_dropped = priv->xstats.rx_dropped;
+ stats->rx_errors = priv->xstats.rx_errors;
+ stats->tx_dropped = priv->xstats.tx_dropped;
+ stats->tx_errors = priv->xstats.tx_errors;
+ stats->tx_carrier_errors = priv->xstats.tx_losscarrier + priv->xstats.tx_carrier;
+ stats->collisions = priv->xstats.tx_collision + priv->xstats.rx_collision;
+ stats->rx_length_errors = priv->xstats.rx_length;
+ stats->rx_crc_errors = priv->xstats.rx_crc_errors;
+ stats->rx_over_errors = priv->xstats.rx_overflow_cntr;
+ stats->rx_missed_errors = priv->xstats.rx_missed_cntr;
+}
+
static const struct net_device_ops stmmac_netdev_ops = {
.ndo_open = stmmac_open,
.ndo_start_xmit = stmmac_xmit,
@@ -6775,6 +6881,7 @@ static const struct net_device_ops stmmac_netdev_ops = {
.ndo_set_rx_mode = stmmac_set_rx_mode,
.ndo_tx_timeout = stmmac_tx_timeout,
.ndo_eth_ioctl = stmmac_ioctl,
+ .ndo_get_stats64 = stmmac_get_stats64,
.ndo_setup_tc = stmmac_setup_tc,
.ndo_select_queue = stmmac_select_queue,
#ifdef CONFIG_NET_POLL_CONTROLLER
@@ -7109,6 +7216,11 @@ int stmmac_dvr_probe(struct device *device,
priv->device = device;
priv->dev = ndev;
+ for (i = 0; i < MTL_MAX_RX_QUEUES; i++)
+ u64_stats_init(&priv->dma_conf.rx_queue[i].rxq_stats.syncp);
+ for (i = 0; i < MTL_MAX_TX_QUEUES; i++)
+ u64_stats_init(&priv->dma_conf.tx_queue[i].txq_stats.syncp);
+
stmmac_set_ethtool_ops(ndev);
priv->pause = pause;
priv->plat = plat_dat;
--
2.51.0
next prev parent reply other threads:[~2026-01-09 12:45 UTC|newest]
Thread overview: 649+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-09 11:34 [PATCH 6.1 000/634] 6.1.160-rc1 review Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 001/634] xfrm: delete x->tunnel as we delete x Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 002/634] Revert "xfrm: destroy xfrm_state synchronously on net exit path" Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 003/634] xfrm: also call xfrm_state_delete_tunnel at destroy time for states that were never added Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 004/634] xfrm: flush all states in xfrm_state_fini Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 005/634] leds: Replace all non-returning strlcpy with strscpy Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 006/634] leds: spi-byte: Use devm_led_classdev_register_ext() Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 007/634] Documentation: process: Also mention Sasha Levin as stable tree maintainer Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 008/634] jbd2: avoid bug_on in jbd2_journal_get_create_access() when file system corrupted Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 009/634] ext4: refresh inline data size before write operations Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 010/634] ksmbd: ipc: fix use-after-free in ipc_msg_send_request Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 011/634] locking/spinlock/debug: Fix data-race in do_raw_write_lock Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 012/634] ext4: add i_data_sem protection in ext4_destroy_inline_data_nolock() Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 013/634] comedi: pcl818: fix null-ptr-deref in pcl818_ai_cancel() Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 014/634] USB: serial: option: add Foxconn T99W760 Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 015/634] USB: serial: option: add Telit Cinterion FE910C04 new compositions Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 016/634] USB: serial: option: move Telit 0x10c7 composition in the right place Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 017/634] USB: serial: ftdi_sio: match on interface number for jtag Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 018/634] serial: add support of CPCI cards Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 019/634] USB: serial: belkin_sa: fix TIOCMBIS and TIOCMBIC Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 020/634] USB: serial: kobil_sct: " Greg Kroah-Hartman
2026-01-09 11:34 ` [PATCH 6.1 021/634] ftrace: bpf: Fix IPMODIFY + DIRECT in modify_ftrace_direct() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 022/634] spi: xilinx: increase number of retries before declaring stall Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 023/634] spi: imx: keep dma request disabled before dma transfer setup Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 024/634] drm/vmwgfx: Use kref in vmw_bo_dirty Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 025/634] smb: fix invalid username check in smb3_fs_context_parse_param() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 026/634] ALSA: usb-audio: Add native DSD quirks for PureAudio DAC series Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 027/634] bfs: Reconstruct file type when loading from disk Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 028/634] pinctrl: qcom: msm: Fix deadlock in pinmux configuration Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 029/634] platform/x86: acer-wmi: Ignore backlight event Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 030/634] HID: apple: Add SONiX AK870 PRO to non_apple_keyboards quirk list Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 031/634] platform/x86: huawei-wmi: add keys for HONOR models Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 032/634] HID: elecom: Add support for ELECOM M-XT3URBK (018F) Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 033/634] LoongArch: Mask all interrupts during kexec/kdump Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 034/634] samples: work around glibc redefining some of our defines wrong Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 035/634] comedi: c6xdigio: Fix invalid PNP driver unregistration Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 036/634] comedi: multiq3: sanitize config options in multiq3_attach() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 037/634] comedi: check devices attached status in compat ioctls Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 038/634] staging: rtl8723bs: fix out-of-bounds read in rtw_get_ie() parser Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 039/634] staging: rtl8723bs: fix stack buffer overflow in OnAssocReq IE parsing Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 040/634] staging: rtl8723bs: fix out-of-bounds read in OnBeacon ESR " Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 041/634] smack: fix bug: unprivileged task can create labels Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 042/634] gpu: host1x: Fix race in syncpt alloc/free Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 043/634] drm/panel: visionox-rm69299: Dont clear all mode flags Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 044/634] drm/vgem-fence: Fix potential deadlock on release Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 045/634] USB: Fix descriptor count when handling invalid MBIM extended descriptor Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 046/634] clk: renesas: cpg-mssr: Add missing 1ms delay into reset toggle callback Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 047/634] objtool: Fix find_{symbol,func}_containing() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 048/634] objtool: Fix weak symbol detection Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 049/634] irqchip/irq-bcm7038-l1: Fix section mismatch Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 050/634] irqchip/irq-bcm7120-l2: " Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 051/634] irqchip/irq-brcmstb-l2: " Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 052/634] irqchip/imx-mu-msi: " Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 053/634] irqchip/qcom-irq-combiner: " Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 054/634] ntfs3: fix uninit memory after failed mi_read in mi_format_new Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 055/634] ntfs3: Fix uninit buffer allocated by __getname() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 056/634] rculist: Add hlist_nulls_replace_rcu() and hlist_nulls_replace_init_rcu() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 057/634] inet: Avoid ehash lookup race in inet_ehash_insert() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 058/634] arm64: dts: imx8mm-venice-gw72xx: remove unused sdhc1 pinctrl Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 059/634] uio: uio_fsl_elbc_gpcm:: Add null pointer check to uio_fsl_elbc_gpcm_probe Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 060/634] crypto: asymmetric_keys - prevent overflow in asymmetric_key_generate_id Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 061/634] crypto: hisilicon/qm - restore original qos values Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 062/634] wifi: ath11k: fix peer HE MCS assignment Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 063/634] s390/smp: Fix fallback CPU detection Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 064/634] s390/ap: Dont leak debug feature files if AP instructions are not available Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 065/634] firmware: imx: scu-irq: fix OF node leak in Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 066/634] phy: mscc: Fix PTP for VSC8574 and VSC8572 Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 067/634] sctp: Defer SCTP_DBG_OBJCNT_DEC() to sctp_destroy_sock() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 068/634] x86/dumpstack: Prevent KASAN false positive warnings in __show_regs() Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 069/634] tools/nolibc/stdio: let perror work when NOLIBC_IGNORE_ERRNO is set Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 070/634] soc: qcom: smem: fix hwspinlock resource leak in probe error paths Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 071/634] pinctrl: stm32: fix hwspinlock resource leak in probe function Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 072/634] i3c: Allow OF-alias-based persistent bus numbering Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 073/634] i3c: master: Inherit DMA masks and parameters from parent device Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 074/634] i3c: fix refcount inconsistency in i3c_master_register Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 075/634] i3c: master: svc: Prevent incomplete IBI transaction Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 076/634] interconnect: qcom: msm8996: add missing link to SLAVE_USB_HS Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 077/634] perf record: skip synthesize event when open evsel failed Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 078/634] power: supply: cw2015: Check devm_delayed_work_autocancel() return code Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 079/634] power: supply: wm831x: Check wm831x_set_bits() return value Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 080/634] power: supply: apm_power: only unset own apm_get_power_status Greg Kroah-Hartman
2026-01-09 11:35 ` [PATCH 6.1 081/634] scsi: target: Do not write NUL characters into ASCII configfs output Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 082/634] spi: tegra210-quad: Fix timeout handling Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 083/634] x86/boot: Fix page table access in 5-level to 4-level paging transition Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 084/634] efi/libstub: " Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 085/634] mfd: da9055: Fix missing regmap_del_irq_chip() in error path Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 086/634] ext4: correct the checking of quota files before moving extents Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 087/634] perf/x86/intel: Correct large PEBS flag check Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 088/634] regulator: core: disable supply if enabling main regulator fails Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 089/634] nbd: defer config put in recv_work Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 090/634] scsi: stex: Fix reboot_notifier leak in probe error path Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 091/634] scsi: smartpqi: Convert to host_tagset Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 092/634] scsi: smartpqi: Remove contention for raid_bypass_cnt Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 093/634] scsi: smartpqi: Add abort handler Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 094/634] scsi: smartpqi: Fix device resources accessed after device removal Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 095/634] dt-bindings: PCI: convert amlogic,meson-pcie.txt to dt-schema Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 096/634] dt-bindings: PCI: amlogic: Fix the register name of the DBI region Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 097/634] RDMA/rtrs: server: Fix error handling in get_or_create_srv Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 098/634] ntfs3: init run lock for extend inode Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 099/634] scsi: ufs: core: fix incorrect buffer duplication in ufshcd_read_string_desc() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 100/634] powerpc/32: Fix unpaired stwcx. on interrupt exit Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 101/634] macintosh/mac_hid: fix race condition in mac_hid_toggle_emumouse Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 102/634] wifi: cw1200: Fix potential memory leak in cw1200_bh_rx_helper() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 103/634] nbd: defer config unlock in nbd_genl_connect Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 104/634] coresight: etm4x: Correct polling IDLE bit Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 105/634] coresight: etm4x: Extract the trace unit controlling Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 106/634] coresight: etm4x: Add context synchronization before enabling trace Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 107/634] soc: renesas: r9a06g032-sysctrl: Handle h2mode setting based on USBF presence Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 108/634] clk: renesas: r9a06g032: Fix memory leak in error path Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 109/634] lib/vsprintf: Check pointer before dereferencing in time_and_date() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 110/634] ocfs2: relax BUG() to ocfs2_error() in __ocfs2_move_extent() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 111/634] ACPI: property: Fix fwnode refcount leak in acpi_fwnode_graph_parse_endpoint() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 112/634] scsi: sim710: Fix resource leak by adding missing ioport_unmap() calls Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 113/634] leds: netxbig: Fix GPIO descriptor leak in error paths Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 114/634] PCI: keystone: Exit ks_pcie_probe() for invalid mode Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 115/634] ps3disk: use memcpy_{from,to}_bvec index Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 116/634] selftests/bpf: Fix failure paths in send_signal test Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 117/634] bpf: Check skb->transport_header is set in bpf_skb_check_mtu Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 118/634] watchdog: wdat_wdt: Fix ACPI table leak in probe function Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 119/634] NFSD/blocklayout: Fix minlength check in proc_layoutget Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 120/634] wifi: rtl818x: Fix potential memory leaks in rtl8180_init_rx_ring() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 121/634] bpf: Improve program stats run-time calculation Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 122/634] bpf: Fix invalid prog->stats access when update_effective_progs fails Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 123/634] powerpc/64s/ptdump: Fix kernel_hash_pagetable dump for ISA v3.00 HPTE format Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 124/634] fs/ntfs3: out1 also needs to put mi Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 125/634] fs/ntfs3: Prevent memory leaks in add sub record Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 126/634] drm/mediatek: Fix CCORR mtk_ctm_s31_32_to_s1_n function issue Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 127/634] pwm: bcm2835: Make sure the channel is enabled after pwm_request() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 128/634] mfd: mt6397-irq: Fix missing irq_domain_remove() in error path Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 129/634] mfd: mt6358-irq: " Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 130/634] phy: renesas: rcar-gen3-usb2: Fix an error handling path in rcar_gen3_phy_usb2_probe() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 131/634] net: phy: adin1100: Fix software power-down ready condition Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 132/634] cpuset: Treat cpusets in attaching as populated Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 133/634] wifi: rtl818x: rtl8187: Fix potential buffer underflow in rtl8187_rx_cb() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 134/634] ima: Handle error code returned by ima_filter_rule_match() Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 135/634] usb: chaoskey: fix locking for O_NONBLOCK Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 136/634] usb: dwc2: disable platform lowlevel hw resources during shutdown Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 137/634] usb: dwc2: fix hang during shutdown if set as peripheral Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 138/634] usb: dwc2: fix hang during suspend " Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 139/634] usb: raw-gadget: cap raw_io transfer length to KMALLOC_MAX_SIZE Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 140/634] selftests/bpf: skip test_perf_branches_hw() on unsupported platforms Greg Kroah-Hartman
2026-01-09 11:36 ` [PATCH 6.1 141/634] selftests/bpf: Improve reliability of test_perf_branches_no_hw() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 142/634] crypto: ccree - Correctly handle return of sg_nents_for_len Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 143/634] RISC-V: KVM: Fix guest page fault within HLV* instructions Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 144/634] mt76: mt7615: Fix memory leak in mt7615_mcu_wtbl_sta_add() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 145/634] firmware: stratix10-svc: fix make htmldocs warning for stratix10_svc Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 146/634] staging: fbtft: core: fix potential memory leak in fbtft_probe_common() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 147/634] PCI: dwc: Fix wrong PORT_LOGIC_LTSSM_STATE_MASK definition Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 148/634] wifi: ieee80211: correct FILS status codes Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 149/634] backlight: led_bl: Take led_access lock when required Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 150/634] backlight: led-bl: Add devlink to supplier LEDs Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 151/634] backlight: lp855x: Fix lp855x.h kernel-doc warnings Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 152/634] iommu/arm-smmu-qcom: Enable use of all SMR groups when running bare-metal Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 153/634] RDMA/irdma: Fix data race in irdma_sc_ccq_arm Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 154/634] RDMA/irdma: Fix data race in irdma_free_pble Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 155/634] ASoC: fsl_xcvr: Add Counter registers Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 156/634] ASoC: fsl_xcvr: Add support for i.MX93 platform Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 157/634] ASoC: fsl_xcvr: clear the channel status control memory Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 158/634] drm/amd/display: Fix logical vs bitwise bug in get_embedded_panel_info_v2_1() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 159/634] hwmon: sy7636a: Fix regulator_enable resource leak on error path Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 160/634] ACPI: processor_core: fix map_x2apic_id for amd-pstate on am4 Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 161/634] ext4: remove unused return value of __mb_check_buddy Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 162/634] ext4: improve integrity checking in __mb_check_buddy by enhancing order-0 validation Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 163/634] virtio_vdpa: fix misleading return in void function Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 164/634] virtio: fix typo in virtio_device_ready() comment Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 165/634] virtio: fix virtqueue_set_affinity() docs Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 166/634] ASoC: Intel: catpt: Fix error path in hw_params() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 167/634] regulator: core: Protect regulator_supply_alias_list with regulator_list_mutex Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 168/634] resource: Replace printk(KERN_WARNING) by pr_warn(), printk() by pr_info() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 169/634] resource: Reuse for_each_resource() macro Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 170/634] resource: replace open coded resource_intersection() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 171/634] resource: introduce is_type_match() helper and use it Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 172/634] Reinstate "resource: avoid unnecessary lookups in find_next_iomem_res()" Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 173/634] netfilter: flowtable: check for maximum number of encapsulations in bridge vlan Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 174/634] netfilter: nf_conncount: rework API to use sk_buff directly Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 175/634] netfilter: nft_connlimit: update the count if add was skipped Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 176/634] net: stmmac: fix rx limit check in stmmac_rx_zc() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 177/634] mtd: rawnand: renesas: Handle devm_pm_runtime_enable() errors Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 178/634] mtd: lpddr_cmds: fix signed shifts in lpddr_cmds Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 179/634] remoteproc: qcom_q6v5_wcss: fix parsing of qcom,halt-regs Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 180/634] md: export md_is_rdwr() and is_md_suspended() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 181/634] md/raid5: fix IO hang when array is broken with IO inflight Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 182/634] net/sched: sch_cake: Fix incorrect qlen reduction in cake_drop Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 183/634] perf tools: Fix split kallsyms DSO counting Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 184/634] pinctrl: single: Fix PIN_CONFIG_BIAS_DISABLE handling Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 185/634] pinctrl: single: Fix incorrect type for error return variable Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 186/634] fbdev: ssd1307fb: fix potential page leak in ssd1307fb_probe() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 187/634] NFS: Avoid changing nlink when file removes and attribute updates race Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 188/634] fs/nls: Fix utf16 to utf8 conversion Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 189/634] NFS: Initialise verifiers for visible dentries in readdir and lookup Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 190/634] NFS: Initialise verifiers for visible dentries in nfs_atomic_open() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 191/634] NFSv4/pNFS: Clear NFS_INO_LAYOUTCOMMIT in pnfs_mark_layout_stateid_invalid Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 192/634] Revert "nfs: ignore SB_RDONLY when remounting nfs" Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 193/634] Revert "nfs: clear SB_RDONLY before getting superblock" Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 194/634] Revert "nfs: ignore SB_RDONLY when mounting nfs" Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 195/634] fs_context: drop the unused lsm_flags member Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 196/634] NFS: Automounted filesystems should inherit ro,noexec,nodev,sync flags Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 197/634] Expand the type of nfs_fattr->valid Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 198/634] NFS: Fix inheritance of the block sizes when automounting Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 199/634] fs/nls: Fix inconsistency between utf8_to_utf32() and utf32_to_utf8() Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 200/634] platform/x86: asus-wmi: use brightness_set_blocking() for kbd led Greg Kroah-Hartman
2026-01-09 11:37 ` [PATCH 6.1 201/634] ASoC: bcm: bcm63xx-pcm-whistler: Check return value of of_dma_configure() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 202/634] ASoC: ak4458: Disable regulator when error happens Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 203/634] ASoC: ak5558: " Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 204/634] blk-mq: Abort suspend when wakeup events are pending Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 205/634] block: fix comment for op_is_zone_mgmt() to include RESET_ALL Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 206/634] ALSA: firewire-motu: fix buffer overflow in hwdep read for DSP events Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 207/634] dma/pool: eliminate alloc_pages warning in atomic_pool_expand Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 208/634] ALSA: uapi: Fix typo in asound.h comment Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 209/634] rtc: gamecube: Check the return value of ioremap() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 210/634] ALSA: firewire-motu: add bounds check in put_user loop for DSP events Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 211/634] ARM: 9464/1: fix input-only operand modification in load_unaligned_zeropad() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 212/634] dm-raid: fix possible NULL dereference with undefined raid type Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 213/634] dm log-writes: Add missing set_freezable() for freezable kthread Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 214/634] efi/cper: Add a new helper function to print bitmasks Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 215/634] efi/cper: Adjust infopfx size to accept an extra space Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 216/634] efi/cper: align ARM CPER type with UEFI 2.9A/2.10 specs Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 217/634] irqchip/mchp-eic: Fix error code in mchp_eic_domain_alloc() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 218/634] ocfs2: fix memory leak in ocfs2_merge_rec_left() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 219/634] [PATCH 6.12] LoongArch: Add machine_kexec_mask_interrupts() implementation Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 220/634] net: lan743x: Allocate rings outside ZONE_DMA Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 221/634] usb: gadget: tegra-xudc: Always reinitialize data toggle when clear halt Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 222/634] usb: phy: Initialize struct usb_phy list_head Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 223/634] ALSA: dice: fix buffer overflow in detect_stream_formats() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 224/634] ASoC: fsl_xcvr: get channel status data when PHY is not exists Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 225/634] btrfs: do not skip logging new dentries when logging a new name Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 226/634] bpf, arm64: Do not audit capability check in do_jit() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 227/634] btrfs: fix memory leak of fs_devices in degraded seed device path Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 228/634] perf/x86/amd: Check event before enable to avoid GPF Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 229/634] sched/deadline: only set free_cpus for online runqueues Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 230/634] sched/fair: Revert max_newidle_lb_cost bump Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 231/634] x86/ptrace: Always inline trivial accessors Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 232/634] ACPICA: Avoid walking the Namespace if start_node is NULL Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 233/634] ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint() only Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 234/634] cpufreq: s5pv210: fix refcount leak Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 235/634] livepatch: Match old_sympos 0 and 1 in klp_find_func() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 236/634] fs/ntfs3: Support timestamps prior to epoch Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 237/634] kbuild: Use objtree for module signing key path Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 238/634] hfsplus: fix volume corruption issue for generic/070 Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 239/634] hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 240/634] hfsplus: Verify inode mode when loading from disk Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 241/634] hfsplus: fix volume corruption issue for generic/073 Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 242/634] wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 243/634] btrfs: scrub: always update btrfs_scrub_progress::last_physical Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 244/634] smb/server: fix return value of smb2_ioctl() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 245/634] ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 246/634] Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 247/634] gfs2: Fix use of bio_chain Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 248/634] netrom: Fix memory leak in nr_sendmsg() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 249/634] net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 250/634] ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 251/634] mlxsw: spectrum_router: Fix neighbour use-after-free Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 252/634] mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 253/634] net: openvswitch: fix middle attribute validation in push_nsh() action Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 254/634] broadcom: b44: prevent uninitialized value usage Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 255/634] netfilter: nf_conncount: fix leaked ct in error paths Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 256/634] ipvs: fix ipv4 null-ptr-deref in route error path Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 257/634] caif: fix integer underflow in cffrml_receive() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 258/634] net/sched: ets: Remove drr class from the active list if it changes to strict Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 259/634] nfc: pn533: Fix error code in pn533_acr122_poweron_rdr() Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 260/634] net/ethtool/ioctl: remove if n_stats checks from ethtool_get_phy_stats Greg Kroah-Hartman
2026-01-09 11:38 ` [PATCH 6.1 261/634] net/ethtool/ioctl: split ethtool_get_phy_stats into multiple helpers Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 262/634] ethtool: Avoid overflowing userspace buffer on stats query Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 263/634] net/mlx5: fw reset, clear reset requested on drain_fw_reset Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 264/634] net/mlx5: Create a new profile for SFs Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 265/634] net/mlx5: Drain firmware reset in shutdown callback Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 266/634] net/mlx5: fw_tracer, Add support for unrecognized string Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 267/634] net/mlx5: fw_tracer, Validate format string parameters Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 268/634] net/mlx5: fw_tracer, Handle escaped percent properly Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 269/634] net: hns3: using the num_tqps in the vf driver to apply for resources Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 270/634] net: hns3: using the num_tqps to check whether tqp_index is out of range when vf get ring info from mbx Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 271/634] net: hns3: add VLAN id validation before using Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 272/634] hwmon: (ibmpex) fix use-after-free in high/low store Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 273/634] hwmon: (tmp401) fix overflow caused by default conversion rate value Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 274/634] MIPS: Fix a reference leak bug in ip22_check_gio() Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 275/634] x86/xen: Move Xen upcall handler Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 276/634] x86/xen: Fix sparse warning in enlighten_pv.c Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 277/634] spi: cadence-quadspi: Add support for StarFive JH7110 QSPI Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 278/634] spi: cadence-quadspi: Add compatible for AMD Pensando Elba SoC Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 279/634] spi: cadence-quadspi: Add clock configuration for StarFive JH7110 QSPI Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 280/634] spi: cadence-quadspi: add missing clk_disable_unprepare() in cqspi_probe() Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 281/634] spi: cadence-quadspi: Fix clock disable on probe failure path Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 282/634] block: rnbd-clt: Fix leaked ID in init_dev() Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 283/634] ksmbd: skip lock-range check on equal size to avoid size==0 underflow Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 284/634] ksmbd: Fix refcount leak when invalid session is found on session lookup Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 285/634] ksmbd: fix buffer validation by including null terminator size in EA length Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 286/634] HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 287/634] Input: ti_am335x_tsc - fix off-by-one error in wire_order validation Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 288/634] Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk table Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 289/634] ACPI: CPPC: Fix missing PCC check for guaranteed_perf Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 290/634] spi: fsl-cpm: Check length parity before switching to 16 bit mode Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 291/634] mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 292/634] net/hsr: fix NULL pointer dereference in prp_get_untagged_frame() Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 293/634] ALSA: vxpocket: Fix resource leak in vxpocket_probe error path Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 294/634] ALSA: pcmcia: Fix resource leak in snd_pdacf_probe " Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 295/634] ALSA: usb-mixer: us16x08: validate meter packet indices Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 296/634] ipmi: Fix the race between __scan_channels() and deliver_response() Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 297/634] ipmi: Fix __scan_channels() failing to rescan channels Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 298/634] firmware: imx: scu-irq: Init workqueue before request mbox channel Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 299/634] ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 300/634] clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4 Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 301/634] powerpc/addnote: Fix overflow on 32-bit builds Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 302/634] scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 303/634] scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 304/634] scsi: qla2xxx: Use reinit_completion on mbx_intr_comp Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 305/634] via_wdt: fix critical boot hang due to unnamed resource allocation Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 306/634] reset: fix BIT macro reference Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 307/634] exfat: fix remount failure in different process environments Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 308/634] usbip: Fix locking bug in RT-enabled kernels Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 309/634] usb: typec: ucsi: Handle incorrect num_connectors capability Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 310/634] iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 311/634] usb: xhci: limit run_graceperiod for only usb 3.0 devices Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 312/634] usb: usb-storage: No additional quirks need to be added to the EL-R12 optical drive Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 313/634] serial: sprd: Return -EPROBE_DEFER when uart clock is not ready Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 314/634] nvme-fc: dont hold rport lock when putting ctrl Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 315/634] platform/x86/intel/hid: Add Dell Pro Rugged 10/12 tablet to VGBS DMI quirks Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 316/634] block: rnbd-clt: Fix signedness bug in init_dev() Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 317/634] vhost/vsock: improve RCU read sections around vhost_vsock_get() Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 318/634] KEYS: trusted: Fix a memory leak in tpm2_load_cmd Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 319/634] mmc: sdhci-msm: Avoid early clock doubling during HS400 transition Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 320/634] lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit Greg Kroah-Hartman
2026-01-09 11:39 ` [PATCH 6.1 321/634] s390/dasd: Fix gendisk parent after copy pair swap Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 322/634] block: rate-limit capacity change info log Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 323/634] floppy: fix for PAGE_SIZE != 4KB Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 324/634] kallsyms: Fix wrong "big" kernel symbol type read from procfs Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 325/634] fs/ntfs3: fix mount failure for sparse runs in run_unpack() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 326/634] ktest.pl: Fix uninitialized var in config-bisect.pl Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 327/634] ext4: xattr: fix null pointer deref in ext4_raw_inode() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 328/634] ext4: clear i_state_flags when alloc inode Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 329/634] ext4: fix incorrect group number assertion in mb_check_buddy Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 330/634] ext4: align max orphan file size with e2fsprogs limit Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 331/634] jbd2: use a weaker annotation in journal handling Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 332/634] media: v4l2-mem2mem: Fix outdated documentation Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 333/634] usb: usb-storage: Maintain minimal modifications to the bcdDevice range Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 334/634] media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 335/634] media: pvrusb2: Fix incorrect variable used in trace message Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 336/634] phy: broadcom: bcm63xx-usbh: fix section mismatches Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 337/634] USB: lpc32xx_udc: Fix error handling in probe Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 338/634] usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 339/634] usb: phy: isp1301: fix non-OF device reference imbalance Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 340/634] usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 341/634] usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 342/634] char: applicom: fix NULL pointer dereference in ac_ioctl Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 343/634] intel_th: Fix error handling in intel_th_output_open Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 344/634] cpufreq: nforce2: fix reference count leak in nforce2 Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 345/634] scsi: Revert "scsi: qla2xxx: Perform lockless command completion in abort path" Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 346/634] scsi: aic94xx: fix use-after-free in device removal path Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 347/634] NFSD: use correct reservation type in nfsd4_scsi_fence_client Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 348/634] scsi: target: Reset t_task_cdb pointer in error case Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 349/634] f2fs: invalidate dentry cache on failed whiteout creation Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 350/634] f2fs: fix return value of f2fs_recover_fsync_data() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 351/634] tools/testing/nvdimm: Use per-DIMM device handle Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 352/634] media: vidtv: initialize local pointers upon transfer of memory ownership Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 353/634] ocfs2: fix kernel BUG in ocfs2_find_victim_chain Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 354/634] KVM: x86: Dont clear async #PF queue when CR0.PG is disabled (e.g. on #SMI) Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 355/634] platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 356/634] scs: fix a wrong parameter in __scs_magic Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 357/634] parisc: Do not reprogram affinitiy on ASP chip Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 358/634] libceph: make decode_pool() more resilient against corrupted osdmaps Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 359/634] KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with period=0 Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 360/634] KVM: x86: Explicitly set new periodic hrtimer expiration in apic_timer_fn() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 361/634] KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 362/634] KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 363/634] KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 364/634] KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW emulation Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 365/634] KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 366/634] KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR (failed VMRUN) Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 367/634] KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested VM-Exits Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 368/634] xfs: fix a memory leak in xfs_buf_item_init() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 369/634] tracing: Do not register unsupported perf events Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 370/634] PM: runtime: Do not clear needs_force_resume with enabled runtime PM Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 371/634] r8169: fix RTL8117 Wake-on-Lan in DASH mode Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 372/634] fsnotify: do not generate ACCESS/MODIFY events on child for special files Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 373/634] nfsd: Mark variable __maybe_unused to avoid W=1 build break Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 374/634] svcrdma: return 0 on success from svc_rdma_copy_inline_range Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 375/634] powerpc/kexec: Enable SMT before waking offline CPUs Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 376/634] io_uring/poll: correctly handle io_poll_add() return value on update Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 377/634] io_uring: fix filename leak in __io_openat_prep() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 378/634] drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state() Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 379/634] amba: tegra-ahb: Fix device leak on SMMU enable Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 380/634] soc: qcom: ocmem: fix device leak on lookup Greg Kroah-Hartman
2026-01-09 11:40 ` [PATCH 6.1 381/634] soc: amlogic: canvas: " Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 382/634] rpmsg: glink: fix rpmsg device leak Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 383/634] platform/x86: intel: chtwc_int33fe: dont dereference swnode args Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 384/634] i2c: amd-mp2: fix reference leak in MP2 PCI device Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 385/634] hwmon: (max16065) Use local variable to avoid TOCTOU Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 386/634] hwmon: (w83791d) Convert macros to functions " Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 387/634] hwmon: (w83l786ng) " Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 388/634] wifi: cfg80211: sme: store capped length in __cfg80211_connect_result() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 389/634] cfg80211: Update Transition Disable policy during port authorization Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 390/634] wifi: mac80211: mlme: handle EHT channel puncturing Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 391/634] wifi: cfg80211: move puncturing bitmap validation from mac80211 Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 392/634] wifi: nl80211: validate and configure puncturing bitmap Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 393/634] wifi: nl80211: add a command to enable/disable HW timestamping Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 394/634] wifi: mac80211: generate EMA beacons in AP mode Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 395/634] cfg80211: support RNR for EMA AP Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 396/634] mac80211: " Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 397/634] wifi: mac80211: do not use old MBSSID elements Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 398/634] i40e: fix scheduling in set_rx_mode Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 399/634] i40e: Refactor argument of several client notification functions Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 400/634] i40e: Refactor argument of i40e_detect_recover_hung() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 401/634] i40e: validate ring_len parameter against hardware-specific values Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 402/634] iavf: fix off-by-one issues in iavf_config_rss_reg() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 403/634] crypto: seqiv - Do not use req->iv after crypto_aead_encrypt Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 404/634] Bluetooth: btusb: revert use of devm_kzalloc in btusb Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 405/634] net: mdio: aspeed: add dummy read to avoid read-after-write issue Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 406/634] net: openvswitch: Avoid needlessly taking the RTNL on vport destroy Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 407/634] ip6_gre: make ip6gre_header() robust Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 408/634] platform/x86: msi-laptop: add missing sysfs_remove_group() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 409/634] platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 410/634] team: fix check for port enabled in team_queue_override_port_prio_changed() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 411/634] net: usb: rtl8150: fix memory leak on usb_submit_urb() failure Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 412/634] selftests: net: fix "buffer overflow detected" for tap.c Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 413/634] smc91x: fix broken irq-context in PREEMPT_RT Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 414/634] genalloc.h: fix htmldocs warning Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 415/634] firewire: nosy: Fix dma_free_coherent() size Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 416/634] net: dsa: b53: skip multicast entries for fdb_dump() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 417/634] net: usb: asix: validate PHY address before use Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 418/634] net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group struct Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 419/634] octeontx2-pf: fix "UBSAN: shift-out-of-bounds error" Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 420/634] net: stmmac: Power up SERDES after the PHY link Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 421/634] net: stmmac: Remove some unnecessary void pointers Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 422/634] net: stmmac: Pass stmmac_priv in some callbacks Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 423/634] net: stmmac: dwmac4: Allow platforms to specify some DMA/MTL offsets Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 424/634] net: stmmac: introduce wrapper for struct xdp_buff Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 425/634] net: stmmac: xgmac: add ethtool per-queue irq statistic support Greg Kroah-Hartman
2026-01-09 11:41 ` Greg Kroah-Hartman [this message]
2026-01-09 11:41 ` [PATCH 6.1 427/634] net: stmmac: fix the crash issue for zero copy XDP_TX action Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 428/634] ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 429/634] ipv4: Fix reference count leak when using error routes with nexthop objects Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 430/634] net: rose: fix invalid array index in rose_kill_by_device() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 431/634] RDMA/irdma: avoid invalid read in irdma_net_event Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 432/634] RDMA/efa: Remove possible negative shift Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 433/634] RDMA/core: Fix logic error in ib_get_gids_from_rdma_hdr() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 434/634] RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db() Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 435/634] RDMA/bnxt_re: Fix IB_SEND_IP_CSUM handling in post_send Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 436/634] RDMA/bnxt_re: Fix to use correct page size for PDE table Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 437/634] RDMA/rtrs: Fix clt_path::max_pages_per_mr calculation Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 438/634] RDMA/bnxt_re: fix dma_free_coherent() pointer Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 439/634] sched/isolation: add cpu_is_isolated() API Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 440/634] blk-mq: dont schedule block kworker on isolated CPUs Greg Kroah-Hartman
2026-01-09 11:41 ` [PATCH 6.1 441/634] blk-mq: skip CPU offline notify on unmapped hctx Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 442/634] selftests/ftrace: traceonoff_triggers: strip off names Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 443/634] ntfs: Do not overwrite uptodate pages Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 444/634] ASoC: stm32: sai: fix device leak on probe Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 445/634] ASoC: qcom: q6apm-dai: set flags to reflect correct operation of appl_ptr Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 446/634] ASoC: qcom: q6asm-dai: perform correct state check before closing Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 447/634] ASoC: qcom: q6adm: the the copp device only during last instance Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 448/634] ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 449/634] iommu/amd: Fix pci_segment memleak in alloc_pci_segment() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 450/634] iommu/apple-dart: fix device leak on of_xlate() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 451/634] iommu/exynos: " Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 452/634] iommu/ipmmu-vmsa: " Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 453/634] iommu/mediatek-v1: fix device leak on probe_device() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 454/634] iommu/mediatek: fix device leak on of_xlate() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 455/634] iommu/omap: fix device leaks on probe_device() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 456/634] iommu/sun50i: fix device leak on of_xlate() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 457/634] iommu/tegra: fix device leak on probe_device() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 458/634] HID: logitech-dj: Remove duplicate error logging Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 459/634] PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 460/634] powerpc, mm: Fix mprotect on book3s 32-bit Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 461/634] powerpc/64s/slb: Fix SLB multihit issue during SLB preload Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 462/634] leds: leds-lp50xx: Allow LED 0 to be added to module bank Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 463/634] leds: leds-lp50xx: LP5009 supports 3 modules for a total of 9 LEDs Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 464/634] leds: leds-lp50xx: Enable chip before any communication Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 465/634] mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 466/634] mfd: max77620: Fix potential IRQ chip conflict when probing two devices Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 467/634] media: rc: st_rc: Fix reset control resource leak Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 468/634] parisc: entry.S: fix space adjustment on interruption for 64-bit userspace Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 469/634] parisc: entry: set W bit for !compat tasks in syscall_restore_rfi() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 470/634] powerpc/pseries/cmm: call balloon_devinfo_init() also without CONFIG_BALLOON_COMPACTION Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 471/634] media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 472/634] firmware: stratix10-svc: Add mutex in stratix10 memory management Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 473/634] dm-ebs: Mark full buffer dirty even on partial write Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 474/634] dm-bufio: align write boundary on physical block size Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 475/634] fbdev: gbefb: fix to use physical address instead of dma address Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 476/634] fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 477/634] fbdev: tcx.c fix mem_map to correct smem_start offset Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 478/634] media: cec: Fix debugfs leak on bus_register() failure Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 479/634] media: msp3400: Avoid possible out-of-bounds array accesses in msp3400c_thread() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 480/634] media: renesas: rcar_drif: fix device node reference leak in rcar_drif_bond_enabled Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 481/634] media: samsung: exynos4-is: fix potential ABBA deadlock on init Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 482/634] media: TDA1997x: Remove redundant cancel_delayed_work in probe Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 483/634] media: verisilicon: Protect G2 HEVC decoder against invalid DPB index Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 484/634] media: videobuf2: Fix device reference leak in vb2_dc_alloc error path Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 485/634] media: vpif_capture: fix section mismatch Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 486/634] media: vpif_display: " Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 487/634] media: amphion: Cancel message work before releasing the VPU core Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 488/634] media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 489/634] media: i2c: adv7842: " Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 490/634] LoongArch: Add new PCI ID for pci_fixup_vgadev() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 491/634] LoongArch: Correct the calculation logic of thread_count Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 492/634] LoongArch: Use __pmd()/__pte() for swap entry conversions Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 493/634] compiler_types.h: add "auto" as a macro for "__auto_type" Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 494/634] kasan: refactor pcpu kasan vmalloc unpoison Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 495/634] idr: fix idr_alloc() returning an ID out of range Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 496/634] RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 497/634] RDMA/cm: Fix leaking the multicast GID table reference Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 498/634] e1000: fix OOB in e1000_tbi_should_accept() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 499/634] fjes: Add missing iounmap in fjes_hw_init() Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 500/634] LoongArch: BPF: Zero-extend bpf_tail_call() index Greg Kroah-Hartman
2026-01-09 11:42 ` [PATCH 6.1 501/634] nfsd: Drop the client reference in client_states_open() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 502/634] net: usb: sr9700: fix incorrect command used to write single register Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 503/634] net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 504/634] net: macb: Relocate mog_init_rings() callback from macb_mac_link_up() to macb_open() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 505/634] drm/msm/a6xx: Fix out of bound IO access in a6xx_get_gmu_registers Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 506/634] drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 507/634] drm/ttm: Avoid NULL pointer deref for evicted BOs Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 508/634] drm/mgag200: Fix big-endian support Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 509/634] drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 510/634] drm/nouveau/dispnv50: Dont call drm_atomic_get_crtc_state() in prepare_fb Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 511/634] blk-mq: add helper for checking if one CPU is mapped to specified hctx Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 512/634] tpm: Cap the number of PCR banks Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 513/634] powerpc/64s/radix/kfence: map __kfence_pool at page granularity Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 514/634] mm/damon/tests/vaddr-kunit: handle alloc failures in damon_test_split_evenly_fail() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 515/634] mm/damon/tests/vaddr-kunit: handle alloc failures on damon_do_test_apply_three_regions() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 516/634] RDMA/core: Fix "KASAN: slab-use-after-free Read in ib_register_device" problem Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 517/634] mm/damon/tests/vaddr-kunit: handle alloc failures on damon_test_split_evenly_succ() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 518/634] mm/damon/tests/core-kunit: handle allocation failures in damon_test_regions() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 519/634] mm/damon/tests/core-kunit: handle alloc failures on damon_test_split_at() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 520/634] mm/damon/tests/core-kunit: handle alloc failures on dasmon_test_merge_regions_of() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 521/634] mm/damon/tests/core-kunit: handle alloc failures on damon_test_merge_two() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 522/634] mm/damon/tests/core-kunit: handle memory failure from damon_test_target() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 523/634] mm/damon/tests/core-kunit: handle alloc failures on damon_test_split_regions_of() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 524/634] mm/damon/tests/core-kunit: handle memory alloc failure from damon_test_aggregate() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 525/634] mm/damon/tests/core-kunit: handle alloc failures in damon_test_set_regions() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 526/634] kbuild: Use CRC32 and a 1MiB dictionary for XZ compressed modules Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 527/634] fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 528/634] net: dsa: sja1105: fix kasan out-of-bounds warning in sja1105_table_delete_entry() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 529/634] ksmbd: fix out-of-bounds in parse_sec_desc() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 530/634] page_pool: Fix use-after-free in page_pool_recycle_in_ring Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 531/634] KVM: x86/mmu: Use EMULTYPE flag to track write #PFs to shadow pages Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 532/634] KVM: SVM: Dont skip unrelated instruction if INT3/INTO is replaced Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 533/634] mptcp: Initialise rcv_mss before calling tcp_send_active_reset() in mptcp_do_fastclose() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 534/634] ALSA: hda: cs35l41: Fix NULL pointer dereference in cs35l41_hda_read_acpi() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 535/634] ALSA: wavefront: Use guard() for spin locks Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 536/634] ALSA: wavefront: Clear substream pointers on close Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 537/634] ALSA: wavefront: Use standard print API Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 538/634] ALSA: wavefront: Fix integer overflow in sample size validation Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 539/634] can: gs_usb: gs_can_open(): fix error handling Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 540/634] wifi: mt76: Fix DTS power-limits on little endian systems Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 541/634] btrfs: dont rewrite ret from inode_permission Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 542/634] gfs2: fix freeze error handling Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 543/634] jbd2: fix the inconsistency between checksum and data in memory for journal sb Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 544/634] ext4: fix string copying in parse_apply_sb_mount_options() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 545/634] mptcp: avoid deadlock on fallback while reinjecting Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 546/634] usb: ohci-nxp: Use helper function devm_clk_get_enabled() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 547/634] usb: ohci-nxp: fix device leak on probe failure Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 548/634] mptcp: pm: ignore unknown endpoint flags Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 549/634] usb: dwc3: keep susphy enabled during exit to avoid controller faults Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 550/634] scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 551/634] f2fs: fix to avoid updating zero-sized extent in extent cache Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 552/634] f2fs: remove unused GC_FAILURE_PIN Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 553/634] f2fs: keep POSIX_FADV_NOREUSE ranges Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 554/634] f2fs: drop inode from the donation list when the last file is closed Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 555/634] f2fs: fix to avoid updating compression context during writeback Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 556/634] f2fs: fix to propagate error from f2fs_enable_checkpoint() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 557/634] f2fs: use global inline_xattr_slab instead of per-sb slab cache Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 558/634] f2fs: fix to detect recoverable inode during dryrun of find_fsync_dnodes() Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 559/634] NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 560/634] SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf Greg Kroah-Hartman
2026-01-09 11:43 ` [PATCH 6.1 561/634] btrfs: dont log conflicting inode if its a dir moved in the current transaction Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 562/634] crypto: af_alg - zero initialize memory allocated via sock_kmalloc Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 563/634] ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32 Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 564/634] ARM: dts: microchip: sama7g5: fix uart " Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 565/634] iommu/mediatek: Improve safety for mediatek,smi property in larb nodes Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 566/634] iommu/mediatek: fix use-after-free on probe deferral Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 567/634] iommu/mtk_iommu_v1: Convert to platform remove callback returning void Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 568/634] iommu/mediatek-v1: fix device leaks on probe() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 569/634] ASoC: stm32: sai: Use the devm_clk_get_optional() helper Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 570/634] ASoC: stm32: sai: fix clk prepare imbalance on probe failure Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 571/634] fuse: fix readahead reclaim deadlock Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 572/634] ASoC: stm: stm32_sai_sub: Convert to platform remove callback returning void Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 573/634] ASoC: stm32: sai: fix OF node leak on probe Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 574/634] media: verisilicon: Fix CPU stalls on G2 bus error Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 575/634] arm64: dts: ti: k3-j721e-sk: Fix pinmux for pin Y1 used by power regulator Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 576/634] PCI: brcmstb: Fix disabling L0s capability Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 577/634] mm/balloon_compaction: we cannot have isolated pages in the balloon list Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 578/634] mm/balloon_compaction: convert balloon_page_delete() to balloon_page_finalize() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 579/634] powerpc/pseries/cmm: adjust BALLOON_MIGRATE when migrating pages Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 580/634] KVM: nVMX: Immediately refresh APICv controls as needed on nested VM-Exit Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 581/634] media: amphion: Add a frame flush mode for decoder Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 582/634] media: amphion: Make some vpu_v4l2 functions static Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 583/634] media: amphion: Remove vpu_vb_is_codecconfig Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 584/634] media: mediatek: vcodec: Fix a reference leak in mtk_vcodec_fw_vpu_init() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 585/634] pmdomain: Use device_get_match_data() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 586/634] pmdomain: imx: Fix reference count leak in imx_gpc_probe() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 587/634] mptcp: fallback earlier on simult connection Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 588/634] lockd: fix vfs_test_lock() calls Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 589/634] mm: simplify folio_expected_ref_count() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 590/634] mm: consider non-anon swap cache folios in folio_expected_ref_count() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 591/634] wifi: mac80211: Discard Beacon frames to non-broadcast address Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 592/634] drm/amdgpu: cleanup scheduler job initialization v2 Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 593/634] drm/amdgpu: add missing lock to amdgpu_ttm_access_memory_sdma Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 594/634] drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 595/634] net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 596/634] serial: Make uart_remove_one_port() return void Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 597/634] tty: introduce and use tty_port_tty_vhangup() helper Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 598/634] xhci: dbgtty: fix device unregister: fixup Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 599/634] NFSD: NFSv4 file creation neglects setting ACL Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 600/634] iommu/arm-smmu: Drop if with an always false condition Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 601/634] iommu/arm-smmu: Convert to platform remove callback returning void Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 602/634] iommu/qcom: Use the asid read from device-tree if specified Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 603/634] iommu/qcom: Index contexts by asid number to allow asid 0 Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 604/634] iommu/qcom: fix device leak on of_xlate() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 605/634] virtio_console: fix order of fields cols and rows Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 606/634] KVM: arm64: sys_regs: disable -Wuninitialized-const-pointer warning Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 607/634] dmaengine: idxd: Remove improper idxd_free Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 608/634] x86/mm/pat: clear VM_PAT if copy_p4d_range failed Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 609/634] x86/mm/pat: Fix VM_PAT handling when fork() fails in copy_page_range() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 610/634] mm/mprotect: use long for page accountings and retval Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 611/634] mm/mprotect: delete pmd_none_or_clear_bad_unless_trans_huge() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 612/634] drm/vmwgfx: Fix a null-ptr access in the cursor snooper Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 613/634] usb: xhci: move link chain bit quirk checks into one helper function Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 614/634] usb: xhci: Apply the link chain quirk on NEC isoc endpoints Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 615/634] sched/fair: Small cleanup to sched_balance_newidle() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 616/634] sched/fair: Small cleanup to update_newidle_cost() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 617/634] sched/fair: Proportional newidle balance Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 618/634] ext4: filesystems without casefold feature cannot be mounted with siphash Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 619/634] ext4: factor out ext4_hash_info_init() Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 620/634] ext4: fix error message when rejecting the default hash Greg Kroah-Hartman
2026-01-09 11:44 ` [PATCH 6.1 621/634] pwm: stm32: Always program polarity Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 622/634] blk-mq: setup queue ->tag_set before initializing hctx Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 623/634] tty: fix tty_port_tty_*hangup() kernel-doc Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 624/634] firmware: arm_scmi: Fix unused notifier-block in unregister Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 625/634] Revert "iommu/amd: Skip enabling command/event buffers for kdump" Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 626/634] net: ethtool: fix the error condition in ethtool_get_phy_stats_ethtool() Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 627/634] kernel/fork: only call untrack_pfn_clear() on VMAs duplicated for fork() Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 628/634] mm: (un)track_pfn_copy() fix + doc improvements Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 629/634] usb: gadget: lpc32xx_udc: fix clock imbalance in error path Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 630/634] net: stmmac: fix incorrect rxq|txq_stats reference Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 631/634] net: stmmac: fix ethtool per-queue statistics Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 632/634] net: stmmac: protect updates of 64-bit statistics counters Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 633/634] wifi: nl80211: fix puncturing bitmap policy Greg Kroah-Hartman
2026-01-09 11:45 ` [PATCH 6.1 634/634] wifi: mac80211: fix switch count in EMA beacons Greg Kroah-Hartman
2026-01-09 19:01 ` [PATCH 6.1 000/634] 6.1.160-rc1 review Brett A C Sheffield
2026-01-09 19:26 ` Florian Fainelli
2026-01-09 20:27 ` Slade Watkins
2026-01-10 0:05 ` Shuah Khan
2026-01-10 7:06 ` Ron Economos
2026-01-10 7:17 ` Peter Schneider
2026-01-10 8:41 ` Francesco Dolcini
2026-01-10 8:53 ` Greg Kroah-Hartman
2026-01-10 11:23 ` Mark Brown
2026-01-10 11:32 ` Mark Brown
2026-01-10 12:50 ` Jon Hunter
2026-01-10 13:50 ` Greg Kroah-Hartman
2026-01-10 10:22 ` Jeffrin Thalakkottoor
2026-01-12 10:26 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260109112133.573599102@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=jszhang@kernel.org \
--cc=kuba@kernel.org \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox