From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Tobias Waldekranz <tobias@waldekranz.com>,
Maxime Chevallier <maxime.chevallier@bootlin.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 244/279] net: mvpp2: Prevent parser TCAM memory corruption
Date: Tue, 8 Apr 2025 12:50:27 +0200 [thread overview]
Message-ID: <20250408104832.975195813@linuxfoundation.org> (raw)
In-Reply-To: <20250408104826.319283234@linuxfoundation.org>
5.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tobias Waldekranz <tobias@waldekranz.com>
[ Upstream commit 96844075226b49af25a69a1d084b648ec2d9b08d ]
Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM
information, from concurrent modifications.
Both the TCAM and SRAM tables are indirectly accessed by configuring
an index register that selects the row to read or write to. This means
that operations must be atomic in order to, e.g., avoid spreading
writes across multiple rows. Since the shadow SRAM array is used to
find free rows in the hardware table, it must also be protected in
order to avoid TOCTOU errors where multiple cores allocate the same
row.
This issue was detected in a situation where `mvpp2_set_rx_mode()` ran
concurrently on two CPUs. In this particular case the
MVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the
classifier unit to drop all incoming unicast - indicated by the
`rx_classifier_drops` counter.
Fixes: 3f518509dedc ("ethernet: Add new driver for Marvell Armada 375 network unit")
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Tested-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20250401065855.3113635-1-tobias@waldekranz.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 3 +
.../net/ethernet/marvell/mvpp2/mvpp2_main.c | 3 +-
.../net/ethernet/marvell/mvpp2/mvpp2_prs.c | 201 ++++++++++++------
3 files changed, 140 insertions(+), 67 deletions(-)
diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
index 24a8c9b8126b7..8732134cb33c9 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
@@ -1108,6 +1108,9 @@ struct mvpp2 {
/* Spinlocks for CM3 shared memory configuration */
spinlock_t mss_spinlock;
+
+ /* Spinlock for shared PRS parser memory and shadow table */
+ spinlock_t prs_spinlock;
};
struct mvpp2_pcpu_stats {
diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
index 2a60f949d9532..7fa880e62d096 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
@@ -7589,8 +7589,9 @@ static int mvpp2_probe(struct platform_device *pdev)
if (mvpp2_read(priv, MVPP2_VER_ID_REG) == MVPP2_VER_PP23)
priv->hw_version = MVPP23;
- /* Init mss lock */
+ /* Init locks for shared packet processor resources */
spin_lock_init(&priv->mss_spinlock);
+ spin_lock_init(&priv->prs_spinlock);
/* Initialize network controller */
err = mvpp2_init(pdev, priv);
diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
index 9af22f497a40f..93e978bdf303c 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
@@ -23,6 +23,8 @@ static int mvpp2_prs_hw_write(struct mvpp2 *priv, struct mvpp2_prs_entry *pe)
{
int i;
+ lockdep_assert_held(&priv->prs_spinlock);
+
if (pe->index > MVPP2_PRS_TCAM_SRAM_SIZE - 1)
return -EINVAL;
@@ -43,11 +45,13 @@ static int mvpp2_prs_hw_write(struct mvpp2 *priv, struct mvpp2_prs_entry *pe)
}
/* Initialize tcam entry from hw */
-int mvpp2_prs_init_from_hw(struct mvpp2 *priv, struct mvpp2_prs_entry *pe,
- int tid)
+static int __mvpp2_prs_init_from_hw(struct mvpp2 *priv,
+ struct mvpp2_prs_entry *pe, int tid)
{
int i;
+ lockdep_assert_held(&priv->prs_spinlock);
+
if (tid > MVPP2_PRS_TCAM_SRAM_SIZE - 1)
return -EINVAL;
@@ -73,6 +77,18 @@ int mvpp2_prs_init_from_hw(struct mvpp2 *priv, struct mvpp2_prs_entry *pe,
return 0;
}
+int mvpp2_prs_init_from_hw(struct mvpp2 *priv, struct mvpp2_prs_entry *pe,
+ int tid)
+{
+ int err;
+
+ spin_lock_bh(&priv->prs_spinlock);
+ err = __mvpp2_prs_init_from_hw(priv, pe, tid);
+ spin_unlock_bh(&priv->prs_spinlock);
+
+ return err;
+}
+
/* Invalidate tcam hw entry */
static void mvpp2_prs_hw_inv(struct mvpp2 *priv, int index)
{
@@ -374,7 +390,7 @@ static int mvpp2_prs_flow_find(struct mvpp2 *priv, int flow)
priv->prs_shadow[tid].lu != MVPP2_PRS_LU_FLOWS)
continue;
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
bits = mvpp2_prs_sram_ai_get(&pe);
/* Sram store classification lookup ID in AI bits [5:0] */
@@ -441,7 +457,7 @@ static void mvpp2_prs_mac_drop_all_set(struct mvpp2 *priv, int port, bool add)
if (priv->prs_shadow[MVPP2_PE_DROP_ALL].valid) {
/* Entry exist - update port only */
- mvpp2_prs_init_from_hw(priv, &pe, MVPP2_PE_DROP_ALL);
+ __mvpp2_prs_init_from_hw(priv, &pe, MVPP2_PE_DROP_ALL);
} else {
/* Entry doesn't exist - create new */
memset(&pe, 0, sizeof(pe));
@@ -469,14 +485,17 @@ static void mvpp2_prs_mac_drop_all_set(struct mvpp2 *priv, int port, bool add)
}
/* Set port to unicast or multicast promiscuous mode */
-void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port,
- enum mvpp2_prs_l2_cast l2_cast, bool add)
+static void __mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port,
+ enum mvpp2_prs_l2_cast l2_cast,
+ bool add)
{
struct mvpp2_prs_entry pe;
unsigned char cast_match;
unsigned int ri;
int tid;
+ lockdep_assert_held(&priv->prs_spinlock);
+
if (l2_cast == MVPP2_PRS_L2_UNI_CAST) {
cast_match = MVPP2_PRS_UCAST_VAL;
tid = MVPP2_PE_MAC_UC_PROMISCUOUS;
@@ -489,7 +508,7 @@ void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port,
/* promiscuous mode - Accept unknown unicast or multicast packets */
if (priv->prs_shadow[tid].valid) {
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
} else {
memset(&pe, 0, sizeof(pe));
mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_MAC);
@@ -522,6 +541,14 @@ void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port,
mvpp2_prs_hw_write(priv, &pe);
}
+void mvpp2_prs_mac_promisc_set(struct mvpp2 *priv, int port,
+ enum mvpp2_prs_l2_cast l2_cast, bool add)
+{
+ spin_lock_bh(&priv->prs_spinlock);
+ __mvpp2_prs_mac_promisc_set(priv, port, l2_cast, add);
+ spin_unlock_bh(&priv->prs_spinlock);
+}
+
/* Set entry for dsa packets */
static void mvpp2_prs_dsa_tag_set(struct mvpp2 *priv, int port, bool add,
bool tagged, bool extend)
@@ -539,7 +566,7 @@ static void mvpp2_prs_dsa_tag_set(struct mvpp2 *priv, int port, bool add,
if (priv->prs_shadow[tid].valid) {
/* Entry exist - update port only */
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
} else {
/* Entry doesn't exist - create new */
memset(&pe, 0, sizeof(pe));
@@ -610,7 +637,7 @@ static void mvpp2_prs_dsa_tag_ethertype_set(struct mvpp2 *priv, int port,
if (priv->prs_shadow[tid].valid) {
/* Entry exist - update port only */
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
} else {
/* Entry doesn't exist - create new */
memset(&pe, 0, sizeof(pe));
@@ -673,7 +700,7 @@ static int mvpp2_prs_vlan_find(struct mvpp2 *priv, unsigned short tpid, int ai)
priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN)
continue;
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
match = mvpp2_prs_tcam_data_cmp(&pe, 0, tpid);
if (!match)
continue;
@@ -726,7 +753,7 @@ static int mvpp2_prs_vlan_add(struct mvpp2 *priv, unsigned short tpid, int ai,
priv->prs_shadow[tid_aux].lu != MVPP2_PRS_LU_VLAN)
continue;
- mvpp2_prs_init_from_hw(priv, &pe, tid_aux);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid_aux);
ri_bits = mvpp2_prs_sram_ri_get(&pe);
if ((ri_bits & MVPP2_PRS_RI_VLAN_MASK) ==
MVPP2_PRS_RI_VLAN_DOUBLE)
@@ -760,7 +787,7 @@ static int mvpp2_prs_vlan_add(struct mvpp2 *priv, unsigned short tpid, int ai,
mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VLAN);
} else {
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
}
/* Update ports' mask */
mvpp2_prs_tcam_port_map_set(&pe, port_map);
@@ -800,7 +827,7 @@ static int mvpp2_prs_double_vlan_find(struct mvpp2 *priv, unsigned short tpid1,
priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VLAN)
continue;
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
match = mvpp2_prs_tcam_data_cmp(&pe, 0, tpid1) &&
mvpp2_prs_tcam_data_cmp(&pe, 4, tpid2);
@@ -849,7 +876,7 @@ static int mvpp2_prs_double_vlan_add(struct mvpp2 *priv, unsigned short tpid1,
priv->prs_shadow[tid_aux].lu != MVPP2_PRS_LU_VLAN)
continue;
- mvpp2_prs_init_from_hw(priv, &pe, tid_aux);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid_aux);
ri_bits = mvpp2_prs_sram_ri_get(&pe);
ri_bits &= MVPP2_PRS_RI_VLAN_MASK;
if (ri_bits == MVPP2_PRS_RI_VLAN_SINGLE ||
@@ -880,7 +907,7 @@ static int mvpp2_prs_double_vlan_add(struct mvpp2 *priv, unsigned short tpid1,
mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VLAN);
} else {
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
}
/* Update ports' mask */
@@ -1213,8 +1240,8 @@ static void mvpp2_prs_mac_init(struct mvpp2 *priv)
/* Create dummy entries for drop all and promiscuous modes */
mvpp2_prs_drop_fc(priv);
mvpp2_prs_mac_drop_all_set(priv, 0, false);
- mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_UNI_CAST, false);
- mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_MULTI_CAST, false);
+ __mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_UNI_CAST, false);
+ __mvpp2_prs_mac_promisc_set(priv, 0, MVPP2_PRS_L2_MULTI_CAST, false);
}
/* Set default entries for various types of dsa packets */
@@ -1533,12 +1560,6 @@ static int mvpp2_prs_vlan_init(struct platform_device *pdev, struct mvpp2 *priv)
struct mvpp2_prs_entry pe;
int err;
- priv->prs_double_vlans = devm_kcalloc(&pdev->dev, sizeof(bool),
- MVPP2_PRS_DBL_VLANS_MAX,
- GFP_KERNEL);
- if (!priv->prs_double_vlans)
- return -ENOMEM;
-
/* Double VLAN: 0x88A8, 0x8100 */
err = mvpp2_prs_double_vlan_add(priv, ETH_P_8021AD, ETH_P_8021Q,
MVPP2_PRS_PORT_MASK);
@@ -1941,7 +1962,7 @@ static int mvpp2_prs_vid_range_find(struct mvpp2_port *port, u16 vid, u16 mask)
port->priv->prs_shadow[tid].lu != MVPP2_PRS_LU_VID)
continue;
- mvpp2_prs_init_from_hw(port->priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(port->priv, &pe, tid);
mvpp2_prs_tcam_data_byte_get(&pe, 2, &byte[0], &enable[0]);
mvpp2_prs_tcam_data_byte_get(&pe, 3, &byte[1], &enable[1]);
@@ -1970,6 +1991,8 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid)
memset(&pe, 0, sizeof(pe));
+ spin_lock_bh(&priv->prs_spinlock);
+
/* Scan TCAM and see if entry with this <vid,port> already exist */
tid = mvpp2_prs_vid_range_find(port, vid, mask);
@@ -1988,8 +2011,10 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid)
MVPP2_PRS_VLAN_FILT_MAX_ENTRY);
/* There isn't room for a new VID filter */
- if (tid < 0)
+ if (tid < 0) {
+ spin_unlock_bh(&priv->prs_spinlock);
return tid;
+ }
mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_VID);
pe.index = tid;
@@ -1997,7 +2022,7 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid)
/* Mask all ports */
mvpp2_prs_tcam_port_map_set(&pe, 0);
} else {
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
}
/* Enable the current port */
@@ -2019,6 +2044,7 @@ int mvpp2_prs_vid_entry_add(struct mvpp2_port *port, u16 vid)
mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VID);
mvpp2_prs_hw_write(priv, &pe);
+ spin_unlock_bh(&priv->prs_spinlock);
return 0;
}
@@ -2028,15 +2054,16 @@ void mvpp2_prs_vid_entry_remove(struct mvpp2_port *port, u16 vid)
struct mvpp2 *priv = port->priv;
int tid;
- /* Scan TCAM and see if entry with this <vid,port> already exist */
- tid = mvpp2_prs_vid_range_find(port, vid, 0xfff);
+ spin_lock_bh(&priv->prs_spinlock);
- /* No such entry */
- if (tid < 0)
- return;
+ /* Invalidate TCAM entry with this <vid,port>, if it exists */
+ tid = mvpp2_prs_vid_range_find(port, vid, 0xfff);
+ if (tid >= 0) {
+ mvpp2_prs_hw_inv(priv, tid);
+ priv->prs_shadow[tid].valid = false;
+ }
- mvpp2_prs_hw_inv(priv, tid);
- priv->prs_shadow[tid].valid = false;
+ spin_unlock_bh(&priv->prs_spinlock);
}
/* Remove all existing VID filters on this port */
@@ -2045,6 +2072,8 @@ void mvpp2_prs_vid_remove_all(struct mvpp2_port *port)
struct mvpp2 *priv = port->priv;
int tid;
+ spin_lock_bh(&priv->prs_spinlock);
+
for (tid = MVPP2_PRS_VID_PORT_FIRST(port->id);
tid <= MVPP2_PRS_VID_PORT_LAST(port->id); tid++) {
if (priv->prs_shadow[tid].valid) {
@@ -2052,6 +2081,8 @@ void mvpp2_prs_vid_remove_all(struct mvpp2_port *port)
priv->prs_shadow[tid].valid = false;
}
}
+
+ spin_unlock_bh(&priv->prs_spinlock);
}
/* Remove VID filering entry for this port */
@@ -2060,10 +2091,14 @@ void mvpp2_prs_vid_disable_filtering(struct mvpp2_port *port)
unsigned int tid = MVPP2_PRS_VID_PORT_DFLT(port->id);
struct mvpp2 *priv = port->priv;
+ spin_lock_bh(&priv->prs_spinlock);
+
/* Invalidate the guard entry */
mvpp2_prs_hw_inv(priv, tid);
priv->prs_shadow[tid].valid = false;
+
+ spin_unlock_bh(&priv->prs_spinlock);
}
/* Add guard entry that drops packets when no VID is matched on this port */
@@ -2079,6 +2114,8 @@ void mvpp2_prs_vid_enable_filtering(struct mvpp2_port *port)
memset(&pe, 0, sizeof(pe));
+ spin_lock_bh(&priv->prs_spinlock);
+
pe.index = tid;
reg_val = mvpp2_read(priv, MVPP2_MH_REG(port->id));
@@ -2111,6 +2148,8 @@ void mvpp2_prs_vid_enable_filtering(struct mvpp2_port *port)
/* Update shadow table */
mvpp2_prs_shadow_set(priv, pe.index, MVPP2_PRS_LU_VID);
mvpp2_prs_hw_write(priv, &pe);
+
+ spin_unlock_bh(&priv->prs_spinlock);
}
/* Parser default initialization */
@@ -2118,6 +2157,20 @@ int mvpp2_prs_default_init(struct platform_device *pdev, struct mvpp2 *priv)
{
int err, index, i;
+ priv->prs_shadow = devm_kcalloc(&pdev->dev, MVPP2_PRS_TCAM_SRAM_SIZE,
+ sizeof(*priv->prs_shadow),
+ GFP_KERNEL);
+ if (!priv->prs_shadow)
+ return -ENOMEM;
+
+ priv->prs_double_vlans = devm_kcalloc(&pdev->dev, sizeof(bool),
+ MVPP2_PRS_DBL_VLANS_MAX,
+ GFP_KERNEL);
+ if (!priv->prs_double_vlans)
+ return -ENOMEM;
+
+ spin_lock_bh(&priv->prs_spinlock);
+
/* Enable tcam table */
mvpp2_write(priv, MVPP2_PRS_TCAM_CTRL_REG, MVPP2_PRS_TCAM_EN_MASK);
@@ -2136,12 +2189,6 @@ int mvpp2_prs_default_init(struct platform_device *pdev, struct mvpp2 *priv)
for (index = 0; index < MVPP2_PRS_TCAM_SRAM_SIZE; index++)
mvpp2_prs_hw_inv(priv, index);
- priv->prs_shadow = devm_kcalloc(&pdev->dev, MVPP2_PRS_TCAM_SRAM_SIZE,
- sizeof(*priv->prs_shadow),
- GFP_KERNEL);
- if (!priv->prs_shadow)
- return -ENOMEM;
-
/* Always start from lookup = 0 */
for (index = 0; index < MVPP2_MAX_PORTS; index++)
mvpp2_prs_hw_port_init(priv, index, MVPP2_PRS_LU_MH,
@@ -2158,26 +2205,13 @@ int mvpp2_prs_default_init(struct platform_device *pdev, struct mvpp2 *priv)
mvpp2_prs_vid_init(priv);
err = mvpp2_prs_etype_init(priv);
- if (err)
- return err;
-
- err = mvpp2_prs_vlan_init(pdev, priv);
- if (err)
- return err;
-
- err = mvpp2_prs_pppoe_init(priv);
- if (err)
- return err;
-
- err = mvpp2_prs_ip6_init(priv);
- if (err)
- return err;
-
- err = mvpp2_prs_ip4_init(priv);
- if (err)
- return err;
+ err = err ? : mvpp2_prs_vlan_init(pdev, priv);
+ err = err ? : mvpp2_prs_pppoe_init(priv);
+ err = err ? : mvpp2_prs_ip6_init(priv);
+ err = err ? : mvpp2_prs_ip4_init(priv);
- return 0;
+ spin_unlock_bh(&priv->prs_spinlock);
+ return err;
}
/* Compare MAC DA with tcam entry data */
@@ -2217,7 +2251,7 @@ mvpp2_prs_mac_da_range_find(struct mvpp2 *priv, int pmap, const u8 *da,
(priv->prs_shadow[tid].udf != udf_type))
continue;
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
entry_pmap = mvpp2_prs_tcam_port_map_get(&pe);
if (mvpp2_prs_mac_range_equals(&pe, da, mask) &&
@@ -2229,7 +2263,8 @@ mvpp2_prs_mac_da_range_find(struct mvpp2 *priv, int pmap, const u8 *da,
}
/* Update parser's mac da entry */
-int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add)
+static int __mvpp2_prs_mac_da_accept(struct mvpp2_port *port,
+ const u8 *da, bool add)
{
unsigned char mask[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
struct mvpp2 *priv = port->priv;
@@ -2261,7 +2296,7 @@ int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add)
/* Mask all ports */
mvpp2_prs_tcam_port_map_set(&pe, 0);
} else {
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
}
mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_MAC);
@@ -2317,6 +2352,17 @@ int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add)
return 0;
}
+int mvpp2_prs_mac_da_accept(struct mvpp2_port *port, const u8 *da, bool add)
+{
+ int err;
+
+ spin_lock_bh(&port->priv->prs_spinlock);
+ err = __mvpp2_prs_mac_da_accept(port, da, add);
+ spin_unlock_bh(&port->priv->prs_spinlock);
+
+ return err;
+}
+
int mvpp2_prs_update_mac_da(struct net_device *dev, const u8 *da)
{
struct mvpp2_port *port = netdev_priv(dev);
@@ -2345,6 +2391,8 @@ void mvpp2_prs_mac_del_all(struct mvpp2_port *port)
unsigned long pmap;
int index, tid;
+ spin_lock_bh(&priv->prs_spinlock);
+
for (tid = MVPP2_PE_MAC_RANGE_START;
tid <= MVPP2_PE_MAC_RANGE_END; tid++) {
unsigned char da[ETH_ALEN], da_mask[ETH_ALEN];
@@ -2354,7 +2402,7 @@ void mvpp2_prs_mac_del_all(struct mvpp2_port *port)
(priv->prs_shadow[tid].udf != MVPP2_PRS_UDF_MAC_DEF))
continue;
- mvpp2_prs_init_from_hw(priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(priv, &pe, tid);
pmap = mvpp2_prs_tcam_port_map_get(&pe);
@@ -2375,14 +2423,17 @@ void mvpp2_prs_mac_del_all(struct mvpp2_port *port)
continue;
/* Remove entry from TCAM */
- mvpp2_prs_mac_da_accept(port, da, false);
+ __mvpp2_prs_mac_da_accept(port, da, false);
}
+
+ spin_unlock_bh(&priv->prs_spinlock);
}
int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type)
{
switch (type) {
case MVPP2_TAG_TYPE_EDSA:
+ spin_lock_bh(&priv->prs_spinlock);
/* Add port to EDSA entries */
mvpp2_prs_dsa_tag_set(priv, port, true,
MVPP2_PRS_TAGGED, MVPP2_PRS_EDSA);
@@ -2393,9 +2444,11 @@ int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type)
MVPP2_PRS_TAGGED, MVPP2_PRS_DSA);
mvpp2_prs_dsa_tag_set(priv, port, false,
MVPP2_PRS_UNTAGGED, MVPP2_PRS_DSA);
+ spin_unlock_bh(&priv->prs_spinlock);
break;
case MVPP2_TAG_TYPE_DSA:
+ spin_lock_bh(&priv->prs_spinlock);
/* Add port to DSA entries */
mvpp2_prs_dsa_tag_set(priv, port, true,
MVPP2_PRS_TAGGED, MVPP2_PRS_DSA);
@@ -2406,10 +2459,12 @@ int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type)
MVPP2_PRS_TAGGED, MVPP2_PRS_EDSA);
mvpp2_prs_dsa_tag_set(priv, port, false,
MVPP2_PRS_UNTAGGED, MVPP2_PRS_EDSA);
+ spin_unlock_bh(&priv->prs_spinlock);
break;
case MVPP2_TAG_TYPE_MH:
case MVPP2_TAG_TYPE_NONE:
+ spin_lock_bh(&priv->prs_spinlock);
/* Remove port form EDSA and DSA entries */
mvpp2_prs_dsa_tag_set(priv, port, false,
MVPP2_PRS_TAGGED, MVPP2_PRS_DSA);
@@ -2419,6 +2474,7 @@ int mvpp2_prs_tag_mode_set(struct mvpp2 *priv, int port, int type)
MVPP2_PRS_TAGGED, MVPP2_PRS_EDSA);
mvpp2_prs_dsa_tag_set(priv, port, false,
MVPP2_PRS_UNTAGGED, MVPP2_PRS_EDSA);
+ spin_unlock_bh(&priv->prs_spinlock);
break;
default:
@@ -2437,11 +2493,15 @@ int mvpp2_prs_add_flow(struct mvpp2 *priv, int flow, u32 ri, u32 ri_mask)
memset(&pe, 0, sizeof(pe));
+ spin_lock_bh(&priv->prs_spinlock);
+
tid = mvpp2_prs_tcam_first_free(priv,
MVPP2_PE_LAST_FREE_TID,
MVPP2_PE_FIRST_FREE_TID);
- if (tid < 0)
+ if (tid < 0) {
+ spin_unlock_bh(&priv->prs_spinlock);
return tid;
+ }
pe.index = tid;
@@ -2461,6 +2521,7 @@ int mvpp2_prs_add_flow(struct mvpp2 *priv, int flow, u32 ri, u32 ri_mask)
mvpp2_prs_tcam_port_map_set(&pe, MVPP2_PRS_PORT_MASK);
mvpp2_prs_hw_write(priv, &pe);
+ spin_unlock_bh(&priv->prs_spinlock);
return 0;
}
@@ -2472,6 +2533,8 @@ int mvpp2_prs_def_flow(struct mvpp2_port *port)
memset(&pe, 0, sizeof(pe));
+ spin_lock_bh(&port->priv->prs_spinlock);
+
tid = mvpp2_prs_flow_find(port->priv, port->id);
/* Such entry not exist */
@@ -2480,8 +2543,10 @@ int mvpp2_prs_def_flow(struct mvpp2_port *port)
tid = mvpp2_prs_tcam_first_free(port->priv,
MVPP2_PE_LAST_FREE_TID,
MVPP2_PE_FIRST_FREE_TID);
- if (tid < 0)
+ if (tid < 0) {
+ spin_unlock_bh(&port->priv->prs_spinlock);
return tid;
+ }
pe.index = tid;
@@ -2492,13 +2557,14 @@ int mvpp2_prs_def_flow(struct mvpp2_port *port)
/* Update shadow table */
mvpp2_prs_shadow_set(port->priv, pe.index, MVPP2_PRS_LU_FLOWS);
} else {
- mvpp2_prs_init_from_hw(port->priv, &pe, tid);
+ __mvpp2_prs_init_from_hw(port->priv, &pe, tid);
}
mvpp2_prs_tcam_lu_set(&pe, MVPP2_PRS_LU_FLOWS);
mvpp2_prs_tcam_port_map_set(&pe, (1 << port->id));
mvpp2_prs_hw_write(port->priv, &pe);
+ spin_unlock_bh(&port->priv->prs_spinlock);
return 0;
}
@@ -2509,11 +2575,14 @@ int mvpp2_prs_hits(struct mvpp2 *priv, int index)
if (index > MVPP2_PRS_TCAM_SRAM_SIZE)
return -EINVAL;
+ spin_lock_bh(&priv->prs_spinlock);
+
mvpp2_write(priv, MVPP2_PRS_TCAM_HIT_IDX_REG, index);
val = mvpp2_read(priv, MVPP2_PRS_TCAM_HIT_CNT_REG);
val &= MVPP2_PRS_TCAM_HIT_CNT_MASK;
+ spin_unlock_bh(&priv->prs_spinlock);
return val;
}
--
2.39.5
next prev parent reply other threads:[~2025-04-08 11:48 UTC|newest]
Thread overview: 289+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 10:46 [PATCH 5.15 000/279] 5.15.180-rc1 review Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 001/279] vlan: fix memory leak in vlan_newlink() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 002/279] clockevents/drivers/i8253: Fix stop sequence for timer 0 Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 003/279] sched/isolation: Prevent boot crash when the boot CPU is nohz_full Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 004/279] ipv6: Fix signed integer overflow in __ip6_append_data Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 005/279] fbdev: hyperv_fb: iounmap() the correct memory when removing a device Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 006/279] pinctrl: bcm281xx: Fix incorrect regmap max_registers value Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 007/279] netfilter: nft_ct: Use __refcount_inc() for per-CPU nft_ct_pcpu_template Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 008/279] ice: fix memory leak in aRFS after reset Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 009/279] net: dsa: mv88e6xxx: Verify after ATU Load ops Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 010/279] netpoll: hold rcu read lock in __netpoll_send_skb() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 011/279] Drivers: hv: vmbus: Dont release fb_mmio resource in vmbus_free_mmio() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 012/279] net/mlx5: handle errors in mlx5_chains_create_table() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 013/279] netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 014/279] ipvs: prevent integer overflow in do_ip_vs_get_ctl() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 015/279] net_sched: Prevent creation of classes with TC_H_ROOT Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 016/279] netfilter: nft_exthdr: fix offset with ipv4_find_option() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 017/279] gre: Fix IPv6 link-local address generation Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 018/279] slab: clean up function prototypes Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 019/279] slab: Introduce kmalloc_size_roundup() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 020/279] openvswitch: Use kmalloc_size_roundup() to match ksize() usage Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 021/279] net: openvswitch: remove misbehaving actions length check Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 022/279] net/mlx5: Bridge, fix the crash caused by LAG state check Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 023/279] net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 024/279] nvme-fc: go straight to connecting state when initializing Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 025/279] hrtimers: Mark is_migration_base() with __always_inline Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 026/279] powercap: call put_device() on an error path in powercap_register_control_type() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 027/279] iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic() Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 028/279] scsi: core: Use GFP_NOIO to avoid circular locking dependency Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 029/279] scsi: qla1280: Fix kernel oops when debug level > 2 Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 030/279] ACPI: resource: IRQ override for Eluktronics MECH-17 Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 031/279] alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 032/279] vboxsf: fix building with GCC 15 Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 033/279] HID: intel-ish-hid: fix the length of MNG_SYNC_FW_CLOCK in doorbell Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 034/279] HID: ignore non-functional sensor in HP 5MP Camera Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 035/279] sched: Clarify wake_up_q()s write to task->wake_q.next Greg Kroah-Hartman
2025-04-08 10:46 ` [PATCH 5.15 036/279] s390/cio: Fix CHPID "configure" attribute caching Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 037/279] thermal/cpufreq_cooling: Remove structure member documentation Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 038/279] ASoC: rsnd: dont indicate warning on rsnd_kctrl_accept_runtime() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 039/279] ASoC: arizona/madera: use fsleep() in up/down DAPM event delays Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 040/279] ASoC: SOF: Intel: hda: add softdep pre to snd-hda-codec-hdmi module Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 041/279] net: wwan: mhi_wwan_mbim: Silence sequence number glitch errors Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 042/279] nvmet-rdma: recheck queue state is LIVE in state lock in recv done Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 043/279] sctp: Fix undefined behavior in left shift operation Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 044/279] nvme: only allow entering LIVE from CONNECTING state Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 045/279] ASoC: tas2770: Fix volume scale Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 046/279] ASoC: tas2764: Fix power control mask Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 047/279] ASoC: tas2764: Set the SDOUT polarity correctly Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 048/279] fuse: dont truncate cached, mutated symlink Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 049/279] x86/irq: Define trace events conditionally Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 050/279] mptcp: safety check before fallback Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 051/279] drm/nouveau: Do not override forced connector status Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 052/279] block: fix kmem_cache of name bio-108 already exists Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 053/279] USB: serial: ftdi_sio: add support for Altera USB Blaster 3 Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 054/279] USB: serial: option: add Telit Cinterion FE990B compositions Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 055/279] USB: serial: option: fix Telit Cinterion FE990A name Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 056/279] USB: serial: option: match on interface class for Telit FN990B Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 057/279] x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 058/279] drm/atomic: Filter out redundant DPMS calls Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 059/279] drm/amd/display: Restore correct backlight brightness after a GPU reset Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 060/279] drm/amd/display: Assign normalized_pix_clk when color depth = 14 Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 061/279] drm/amd/display: Fix slab-use-after-free on hdcp_work Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 062/279] qlcnic: fix memory leak issues in qlcnic_sriov_common.c Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 063/279] lib/buildid: Handle memfd_secret() files in build_id_parse() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 064/279] tcp: fix races in tcp_abort() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 065/279] ASoC: ops: Consistently treat platform_max as control value Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 066/279] drm/gma500: Add NULL check for pci_gfx_root in mid_get_vbt_data() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 067/279] ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 068/279] cifs: Fix integer overflow while processing acregmax mount option Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 069/279] cifs: Fix integer overflow while processing acdirmax " Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 070/279] cifs: Fix integer overflow while processing actimeo " Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 071/279] cifs: Fix integer overflow while processing closetimeo " Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 072/279] i2c: ali1535: Fix an error handling path in ali1535_probe() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 073/279] i2c: ali15x3: Fix an error handling path in ali15x3_probe() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 074/279] i2c: sis630: Fix an error handling path in sis630_probe() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 075/279] drm/amd/display: Check for invalid input params when building scaling params Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 076/279] drm/amd/display: Fix null check for pipe_ctx->plane_state in resource_build_scaling_params Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 077/279] smb: client: Fix match_session bug preventing session reuse Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 078/279] smb: client: fix potential UAF in cifs_debug_files_proc_show() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 079/279] firmware: imx-scu: fix OF node leak in .probe() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 080/279] xfrm_output: Force software GSO only in tunnel mode Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 081/279] ARM: dts: bcm2711: PL011 UARTs are actually r1p5 Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 082/279] RDMA/bnxt_re: Add missing paranthesis in map_qp_id_to_tbl_indx Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 083/279] ARM: dts: bcm2711: Dont mark timer regs unconfigured Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 084/279] RDMA/bnxt_re: Avoid clearing VLAN_ID mask in modify qp path Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 085/279] RDMA/hns: Remove redundant phy_addr in hns_roce_hem_list_find_mtt() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 086/279] RDMA/hns: Fix soft lockup during bt pages loop Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 087/279] RDMA/hns: Fix unmatched condition in error path of alloc_user_qp_db() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 088/279] RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 089/279] RDMA/hns: Fix wrong value of max_sge_rd Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 090/279] Bluetooth: Fix error code in chan_alloc_skb_cb() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 091/279] ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 092/279] ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 093/279] net: atm: fix use after free in lec_send() Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 094/279] net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 095/279] Revert "gre: Fix IPv6 link-local address generation." Greg Kroah-Hartman
2025-04-08 10:47 ` [PATCH 5.15 096/279] i2c: omap: fix IRQ storms Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 097/279] drm/v3d: Dont run jobs that have errors flagged in its fence Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 098/279] regulator: check that dummy regulator has been probed before using it Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 099/279] mmc: atmel-mci: Add missing clk_disable_unprepare() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 100/279] proc: fix UAF in proc_get_inode() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 101/279] ARM: shmobile: smp: Enforce shmobile_smp_* alignment Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 102/279] batman-adv: Ignore own maximum aggregation size during RX Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 103/279] soc: qcom: pdr: Fix the potential deadlock Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 104/279] drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 105/279] drm/amdgpu: Fix JPEG video caps max size for navi1x and raven Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 106/279] mptcp: Fix data stream corruption in the address announcement Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 107/279] arm64: dts: rockchip: fix u2phy1_host status for NanoPi R4S Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 108/279] Bluetooth: hci_event: Align BR/EDR JUST_WORKS paring with LE Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 109/279] bpf, sockmap: Fix race between element replace and close() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 110/279] ALSA: usb-audio: Add quirk for Plantronics headsets to fix control names Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 111/279] HID: hid-plantronics: Add mic mute mapping and generalize quirks Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 112/279] atm: Fix NULL pointer dereference Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 113/279] ARM: 9350/1: fault: Implement copy_from_kernel_nofault_allowed() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 114/279] ARM: 9351/1: fault: Add "cut here" line for prefetch aborts Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 115/279] ARM: Remove address checking for MMUless devices Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 116/279] netfilter: socket: Lookup orig tuple for IPv6 SNAT Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 117/279] ALSA: hda/realtek: Support mute LED on HP Laptop 15s-du3xxx Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 118/279] counter: stm32-lptimer-cnt: fix error handling when enabling Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 119/279] counter: microchip-tcb-capture: Fix undefined counter channel state on probe Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 120/279] tty: serial: 8250: Add some more device IDs Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 121/279] tty: serial: 8250: Add Brainboxes XC devices Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 122/279] net: usb: qmi_wwan: add Telit Cinterion FN990B composition Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 123/279] net: usb: qmi_wwan: add Telit Cinterion FE990B composition Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 124/279] net: usb: usbnet: restore usb%d name exception for local mac addresses Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 125/279] memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 126/279] serial: 8250_dma: terminate correct DMA in tx_dma_flush() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 127/279] media: i2c: et8ek8: Dont strip remove function when driver is builtin Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 128/279] watch_queue: fix pipe accounting mismatch Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 129/279] x86/mm/pat: cpa-test: fix length for CPA_ARRAY test Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 130/279] cpufreq: scpi: compare kHz instead of Hz Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 131/279] cpufreq: governor: Fix negative idle_time handling in dbs_update() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 132/279] x86/fpu: Avoid copying dynamic FP state from init_task in arch_dup_task_struct() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 133/279] x86/platform: Only allow CONFIG_EISA for 32-bit Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 134/279] PM: sleep: Adjust check before setting power.must_resume Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 135/279] selinux: Chain up tool resolving errors in install_policy.sh Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 136/279] EDAC/ie31200: Fix the size of EDAC_MC_LAYER_CHIP_SELECT layer Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 137/279] EDAC/ie31200: Fix the DIMM size mask for several SoCs Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 138/279] EDAC/ie31200: Fix the error path order of ie31200_init() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 139/279] thermal: int340x: Add NULL check for adev Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 140/279] PM: sleep: Fix handling devices with direct_complete set on errors Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 141/279] lockdep: Dont disable interrupts on RT in disable_irq_nosync_lockdep.*() Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 142/279] perf/ring_buffer: Allow the EPOLLRDNORM flag for poll Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 143/279] media: platform: allgro-dvt: unregister v4l2_device on the error path Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 144/279] HID: remove superfluous (and wrong) Makefile entry for CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 145/279] ALSA: hda/realtek: Always honor no_shutup_pins Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 146/279] ASoC: ti: j721e-evm: Fix clock configuration for ti,j7200-cpb-audio compatible Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 147/279] drm/bridge: ti-sn65dsi86: Fix multiple instances Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 148/279] drm/dp_mst: Fix drm RAD print Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 149/279] drm: xlnx: zynqmp: Fix max dma segment size Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 150/279] drm/vkms: Fix use after free and double free on init error Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 151/279] drm/mediatek: mtk_hdmi: Unregister audio platform device on failure Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 152/279] drm/mediatek: mtk_hdmi: Fix typo for aud_sampe_size member Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 153/279] PCI/ASPM: Fix link state exit during switch upstream function removal Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 154/279] PCI: cadence-ep: Fix the driver to send MSG TLP for INTx without data payload Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 155/279] PCI: brcmstb: Use internal register to change link capability Greg Kroah-Hartman
2025-04-08 10:48 ` [PATCH 5.15 156/279] PCI/portdrv: Only disable pciehp interrupts early when needed Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 157/279] PCI: Avoid reset when disabled via sysfs Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 158/279] drm/amd/display: fix type mismatch in CalculateDynamicMetadataParameters() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 159/279] PCI: Remove stray put_device() in pci_register_host_bridge() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 160/279] PCI: xilinx-cpm: Fix IRQ domain leak in error path of probe Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 161/279] drm/mediatek: dsi: fix error codes in mtk_dsi_host_transfer() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 162/279] PCI: pciehp: Dont enable HPIE when resuming in poll mode Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 163/279] fbdev: au1100fb: Move a variable assignment behind a null pointer check Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 164/279] mdacon: rework dependency list Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 165/279] fbdev: sm501fb: Add some geometry checks Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 166/279] clk: amlogic: gxbb: drop incorrect flag on 32k clock Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 167/279] crypto: hisilicon/sec2 - fix for aead authsize alignment Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 168/279] remoteproc: core: Clear table_sz when rproc_shutdown Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 169/279] of: property: Increase NR_FWNODE_REFERENCE_ARGS Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 170/279] remoteproc: qcom_q6v5_pas: Make single-PD handling more robust Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 171/279] libbpf: Fix hypothetical STT_SECTION extern NULL deref case Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 172/279] clk: samsung: Fix UBSAN panic in samsung_clk_init() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 173/279] clk: qcom: gcc-msm8953: fix stuck venus0_core0 clock Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 174/279] bpf: Use preempt_count() directly in bpf_send_signal_common() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 175/279] lib: 842: Improve error handling in sw842_compress() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 176/279] pinctrl: renesas: rza2: Fix missing of_node_put() call Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 177/279] pinctrl: renesas: rzg2l: " Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 178/279] clk: rockchip: rk3328: fix wrong clk_ref_usb3otg parent Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 179/279] RDMA/core: Dont expose hw_counters outside of init net namespace Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 180/279] remoteproc: qcom_q6v5_mss: Handle platforms with one power domain Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 181/279] IB/mad: Check available slots before posting receive WRs Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 182/279] pinctrl: tegra: Set SFIO mode to Mux Register Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 183/279] clk: amlogic: g12b: fix cluster A parent data Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 184/279] clk: amlogic: gxbb: drop non existing 32k clock parent Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 185/279] clk: amlogic: g12a: fix mmc A peripheral clock Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 186/279] x86/entry: Fix ORC unwinder for PUSH_REGS with save_ret=1 Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 187/279] power: supply: max77693: Fix wrong conversion of charge input threshold value Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 188/279] crypto: nx - Fix uninitialised hv_nxc on error Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 189/279] RDMA/mlx5: Fix mlx5_poll_one() cur_qp update flow Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 190/279] mfd: sm501: Switch to BIT() to mitigate integer overflows Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 191/279] x86/dumpstack: Fix inaccurate unwinding from exception stacks due to misplaced assignment Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 192/279] crypto: hisilicon/sec2 - fix for aead auth key length Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 193/279] clk: qcom: mmcc-sdm660: fix stuck video_subcore0 clock Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 194/279] isofs: fix KMSAN uninit-value bug in do_isofs_readdir() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 195/279] soundwire: slave: fix an OF node reference leak in soundwire slave device Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 196/279] coresight: catu: Fix number of pages while using 64k pages Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 197/279] iio: accel: mma8452: Ensure error return on failure to matching oversampling ratio Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 198/279] fs/ntfs3: Fix a couple integer overflows on 32bit systems Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 199/279] iio: adc: ad7124: Fix comparison of channel configs Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 200/279] perf units: Fix insufficient array space Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 201/279] kexec: initialize ELF lowest address to ULONG_MAX Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 202/279] ocfs2: validate l_tree_depth to avoid out-of-bounds access Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 203/279] NFSv4: Dont trigger uneccessary scans for return-on-close delegations Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 204/279] fuse: fix dax truncate/punch_hole fault path Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 205/279] i3c: master: svc: Fix missing the IBI rules Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 206/279] perf python: Fixup description of sample.id event member Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 207/279] perf python: Decrement the refcount of just created event on failure Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 208/279] perf python: Dont keep a raw_data pointer to consumed ring buffer space Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 209/279] perf python: Check if there is space to copy all the event Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 210/279] fs/procfs: fix the comment above proc_pid_wchan() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 211/279] objtool, media: dib8000: Prevent divide-by-zero in dib8000_set_dds() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 212/279] exfat: fix the infinite loop in exfat_find_last_cluster() Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 213/279] rtnetlink: Allocate vfinfo size for VF GUIDs when supported Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 214/279] ksmbd: use aead_request_free to match aead_request_alloc Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 215/279] ksmbd: fix multichannel connection failure Greg Kroah-Hartman
2025-04-08 10:49 ` [PATCH 5.15 216/279] ring-buffer: Fix bytes_dropped calculation issue Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 217/279] ACPI: processor: idle: Return an error if both P_LVL{2,3} idle states are invalid Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 218/279] octeontx2-af: Fix mbox INTR handler when num VFs > 64 Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 219/279] octeontx2-af: Free NIX_AF_INT_VEC_GEN irq Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 220/279] sched/smt: Always inline sched_smt_active() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 221/279] wifi: iwlwifi: fw: allocate chained SG tables for dump Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 222/279] nvme-tcp: fix possible UAF in nvme_tcp_poll Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 223/279] nvme-pci: clean up CMBMSC when registering CMB fails Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 224/279] nvme-pci: skip CMB blocks incompatible with PCI P2P DMA Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 225/279] affs: generate OFS sequence numbers starting at 1 Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 226/279] affs: dont write overlarge OFS data block size fields Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 227/279] ksmbd: fix incorrect validation for num_aces field of smb_acl Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 228/279] sched/deadline: Use online cpus for validating runtime Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 229/279] locking/semaphore: Use wake_q to wake up processes outside lock critical section Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 230/279] x86/sgx: Warn explicitly if X86_FEATURE_SGX_LC is not enabled Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 231/279] drm/amd: Keep display off while going into S4 Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 232/279] ALSA: hda/realtek: Add mute LED quirk for HP Pavilion x360 14-dy1xxx Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 233/279] can: statistics: use atomic access in hot path Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 234/279] hwmon: (nct6775-core) Fix out of bounds access for NCT679{8,9} Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 235/279] spufs: fix a leak on spufs_new_file() failure Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 236/279] spufs: fix a leak in spufs_create_context() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 237/279] riscv: ftrace: Add parentheses in macro definitions of make_call_t0 and make_call_ra Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 238/279] ntb_hw_switchtec: Fix shift-out-of-bounds in switchtec_ntb_mw_set_trans Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 239/279] ntb: intel: Fix using link status DBs Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 240/279] ASoC: imx-card: Add NULL check in imx_card_probe() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 241/279] netfilter: nft_set_hash: GC reaps elements with conncount for dynamic sets only Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 242/279] netlabel: Fix NULL pointer exception caused by CALIPSO on IPv4 sockets Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 243/279] net_sched: skbprio: Remove overly strict queue assertions Greg Kroah-Hartman
2025-04-08 10:50 ` Greg Kroah-Hartman [this message]
2025-04-08 10:50 ` [PATCH 5.15 245/279] vsock: avoid timeout during connect() if the socket is closing Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 246/279] tunnels: Accept PACKET_HOST in skb_tunnel_check_pmtu() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 247/279] netfilter: nft_tunnel: fix geneve_opt type confusion addition Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 248/279] ipv6: fix omitted netlink attributes when using RTEXT_FILTER_SKIP_STATS Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 249/279] net: fix geneve_opt length integer overflow Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 250/279] arcnet: Add NULL check in com20020pci_probe() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 251/279] can: flexcan: only change CAN state when link up in system PM Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 252/279] can: flexcan: disable transceiver during " Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 253/279] mmc: sdhci-brcmstb: Add ability to increase max clock rate for 72116b0 Greg Kroah-Hartman
2025-04-08 16:02 ` Nathan Chancellor
2025-04-09 10:52 ` Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 254/279] mmc: sdhci-brcmstb: add cqhci suspend/resume to PM ops Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 255/279] tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 256/279] tty: serial: fsl_lpuart: disable transmitter before changing RS485 related registers Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 257/279] drm/amd/pm: Fix negative array index read Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 258/279] drm/amd/display: Skip inactive planes within ModeSupportAndSystemConfiguration Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 259/279] usbnet:fix NPE during rx_complete Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 260/279] platform/x86: ISST: Correct command storage data length Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 261/279] ntb_perf: Delete duplicate dmaengine_unmap_put() call in perf_copy_chunk() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 262/279] btrfs: handle errors from btrfs_dec_ref() properly Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 263/279] x86/tsc: Always save/restore TSC sched_clock() on suspend/resume Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 264/279] x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 265/279] acpi: nfit: fix narrowing conversion in acpi_nfit_ctl Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 266/279] ACPI: resource: Skip IRQ override on ASUS Vivobook 14 X1404VAP Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 267/279] mmc: sdhci-pxav3: set NEED_RSP_BUSY capability Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 268/279] tracing: Fix use-after-free in print_graph_function_flags during tracer switching Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 269/279] tracing: Ensure module defining synth event cannot be unloaded while tracing Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 270/279] tracing: Fix synth event printk format for str fields Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 271/279] tracing/osnoise: Fix possible recursive locking for cpus_read_lock() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 272/279] ext4: dont over-report free space or inodes in statvfs Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 273/279] ext4: fix OOB read when checking dotdot dir Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 274/279] jfs: fix slab-out-of-bounds read in ea_get() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 275/279] jfs: add index corruption check to DT_GETPAGE() Greg Kroah-Hartman
2025-04-08 10:50 ` [PATCH 5.15 276/279] nfsd: put dl_stid if fail to queue dl_recall Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.15 277/279] NFSD: Skip sending CB_RECALL_ANY when the backchannel isnt up Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.15 278/279] mmc: sdhci-brcmstb: use clk_get_rate(base_clk) in PM resume Greg Kroah-Hartman
2025-04-08 10:51 ` [PATCH 5.15 279/279] mm, slab: remove duplicate kernel-doc comment for ksize() Greg Kroah-Hartman
2025-04-08 15:08 ` [PATCH 5.15 000/279] 5.15.180-rc1 review Mark Brown
2025-04-08 21:42 ` Florian Fainelli
2025-04-09 2:36 ` SeongJae Park
2025-04-09 6:26 ` Vijayendra Suman
2025-04-09 7:01 ` Ron Economos
2025-04-09 8:00 ` Jon Hunter
2025-04-09 10:53 ` Naresh Kamboju
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=20250408104832.975195813@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=kuba@kernel.org \
--cc=maxime.chevallier@bootlin.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=tobias@waldekranz.com \
/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