public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Ben Dooks <ben.dooks@codethink.co.uk>,
	Tristram Ha <Tristram.Ha@microchip.com>,
	netdev@vger.kernel.org, Ronald Wahl <ronald.wahl@raritan.com>,
	Simon Horman <horms@kernel.org>
Subject: [PATCH 6.6 120/156] net: ks8851: Fix TX stall caused by TX buffer overrun
Date: Sat, 30 Dec 2023 11:59:34 +0000	[thread overview]
Message-ID: <20231230115816.284204605@linuxfoundation.org> (raw)
In-Reply-To: <20231230115812.333117904@linuxfoundation.org>

6.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Ronald Wahl <ronald.wahl@raritan.com>

commit 3dc5d44545453de1de9c53cc529cc960a85933da upstream.

There is a bug in the ks8851 Ethernet driver that more data is written
to the hardware TX buffer than actually available. This is caused by
wrong accounting of the free TX buffer space.

The driver maintains a tx_space variable that represents the TX buffer
space that is deemed to be free. The ks8851_start_xmit_spi() function
adds an SKB to a queue if tx_space is large enough and reduces tx_space
by the amount of buffer space it will later need in the TX buffer and
then schedules a work item. If there is not enough space then the TX
queue is stopped.

The worker function ks8851_tx_work() dequeues all the SKBs and writes
the data into the hardware TX buffer. The last packet will trigger an
interrupt after it was send. Here it is assumed that all data fits into
the TX buffer.

In the interrupt routine (which runs asynchronously because it is a
threaded interrupt) tx_space is updated with the current value from the
hardware. Also the TX queue is woken up again.

Now it could happen that after data was sent to the hardware and before
handling the TX interrupt new data is queued in ks8851_start_xmit_spi()
when the TX buffer space had still some space left. When the interrupt
is actually handled tx_space is updated from the hardware but now we
already have new SKBs queued that have not been written to the hardware
TX buffer yet. Since tx_space has been overwritten by the value from the
hardware the space is not accounted for.

Now we have more data queued then buffer space available in the hardware
and ks8851_tx_work() will potentially overrun the hardware TX buffer. In
many cases it will still work because often the buffer is written out
fast enough so that no overrun occurs but for example if the peer
throttles us via flow control then an overrun may happen.

This can be fixed in different ways. The most simple way would be to set
tx_space to 0 before writing data to the hardware TX buffer preventing
the queuing of more SKBs until the TX interrupt has been handled. I have
chosen a slightly more efficient (and still rather simple) way and
track the amount of data that is already queued and not yet written to
the hardware. When new SKBs are to be queued the already queued amount
of data is honoured when checking free TX buffer space.

I tested this with a setup of two linked KS8851 running iperf3 between
the two in bidirectional mode. Before the fix I got a stall after some
minutes. With the fix I saw now issues anymore after hours.

Fixes: 3ba81f3ece3c ("net: Micrel KS8851 SPI network driver")
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Ben Dooks <ben.dooks@codethink.co.uk>
Cc: Tristram Ha <Tristram.Ha@microchip.com>
Cc: netdev@vger.kernel.org
Cc: stable@vger.kernel.org # 5.10+
Signed-off-by: Ronald Wahl <ronald.wahl@raritan.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20231214181112.76052-1-rwahl@gmx.de
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/ethernet/micrel/ks8851.h        |    3 ++
 drivers/net/ethernet/micrel/ks8851_common.c |   20 ++++++-------
 drivers/net/ethernet/micrel/ks8851_spi.c    |   42 ++++++++++++++++++----------
 3 files changed, 40 insertions(+), 25 deletions(-)

--- a/drivers/net/ethernet/micrel/ks8851.h
+++ b/drivers/net/ethernet/micrel/ks8851.h
@@ -350,6 +350,8 @@ union ks8851_tx_hdr {
  * @rxd: Space for receiving SPI data, in DMA-able space.
  * @txd: Space for transmitting SPI data, in DMA-able space.
  * @msg_enable: The message flags controlling driver output (see ethtool).
+ * @tx_space: Free space in the hardware TX buffer (cached copy of KS_TXMIR).
+ * @queued_len: Space required in hardware TX buffer for queued packets in txq.
  * @fid: Incrementing frame id tag.
  * @rc_ier: Cached copy of KS_IER.
  * @rc_ccr: Cached copy of KS_CCR.
@@ -399,6 +401,7 @@ struct ks8851_net {
 	struct work_struct	rxctrl_work;
 
 	struct sk_buff_head	txq;
+	unsigned int		queued_len;
 
 	struct eeprom_93cx6	eeprom;
 	struct regulator	*vdd_reg;
--- a/drivers/net/ethernet/micrel/ks8851_common.c
+++ b/drivers/net/ethernet/micrel/ks8851_common.c
@@ -362,16 +362,18 @@ static irqreturn_t ks8851_irq(int irq, v
 		handled |= IRQ_RXPSI;
 
 	if (status & IRQ_TXI) {
-		handled |= IRQ_TXI;
+		unsigned short tx_space = ks8851_rdreg16(ks, KS_TXMIR);
 
-		/* no lock here, tx queue should have been stopped */
+		netif_dbg(ks, intr, ks->netdev,
+			  "%s: txspace %d\n", __func__, tx_space);
 
-		/* update our idea of how much tx space is available to the
-		 * system */
-		ks->tx_space = ks8851_rdreg16(ks, KS_TXMIR);
+		spin_lock(&ks->statelock);
+		ks->tx_space = tx_space;
+		if (netif_queue_stopped(ks->netdev))
+			netif_wake_queue(ks->netdev);
+		spin_unlock(&ks->statelock);
 
-		netif_dbg(ks, intr, ks->netdev,
-			  "%s: txspace %d\n", __func__, ks->tx_space);
+		handled |= IRQ_TXI;
 	}
 
 	if (status & IRQ_RXI)
@@ -414,9 +416,6 @@ static irqreturn_t ks8851_irq(int irq, v
 	if (status & IRQ_LCI)
 		mii_check_link(&ks->mii);
 
-	if (status & IRQ_TXI)
-		netif_wake_queue(ks->netdev);
-
 	return IRQ_HANDLED;
 }
 
@@ -500,6 +499,7 @@ static int ks8851_net_open(struct net_de
 	ks8851_wrreg16(ks, KS_ISR, ks->rc_ier);
 	ks8851_wrreg16(ks, KS_IER, ks->rc_ier);
 
+	ks->queued_len = 0;
 	netif_start_queue(ks->netdev);
 
 	netif_dbg(ks, ifup, ks->netdev, "network device up\n");
--- a/drivers/net/ethernet/micrel/ks8851_spi.c
+++ b/drivers/net/ethernet/micrel/ks8851_spi.c
@@ -287,6 +287,18 @@ static void ks8851_wrfifo_spi(struct ks8
 }
 
 /**
+ * calc_txlen - calculate size of message to send packet
+ * @len: Length of data
+ *
+ * Returns the size of the TXFIFO message needed to send
+ * this packet.
+ */
+static unsigned int calc_txlen(unsigned int len)
+{
+	return ALIGN(len + 4, 4);
+}
+
+/**
  * ks8851_rx_skb_spi - receive skbuff
  * @ks: The device state
  * @skb: The skbuff
@@ -305,7 +317,9 @@ static void ks8851_rx_skb_spi(struct ks8
  */
 static void ks8851_tx_work(struct work_struct *work)
 {
+	unsigned int dequeued_len = 0;
 	struct ks8851_net_spi *kss;
+	unsigned short tx_space;
 	struct ks8851_net *ks;
 	unsigned long flags;
 	struct sk_buff *txb;
@@ -322,6 +336,8 @@ static void ks8851_tx_work(struct work_s
 		last = skb_queue_empty(&ks->txq);
 
 		if (txb) {
+			dequeued_len += calc_txlen(txb->len);
+
 			ks8851_wrreg16_spi(ks, KS_RXQCR,
 					   ks->rc_rxqcr | RXQCR_SDA);
 			ks8851_wrfifo_spi(ks, txb, last);
@@ -332,6 +348,13 @@ static void ks8851_tx_work(struct work_s
 		}
 	}
 
+	tx_space = ks8851_rdreg16_spi(ks, KS_TXMIR);
+
+	spin_lock(&ks->statelock);
+	ks->queued_len -= dequeued_len;
+	ks->tx_space = tx_space;
+	spin_unlock(&ks->statelock);
+
 	ks8851_unlock_spi(ks, &flags);
 }
 
@@ -347,18 +370,6 @@ static void ks8851_flush_tx_work_spi(str
 }
 
 /**
- * calc_txlen - calculate size of message to send packet
- * @len: Length of data
- *
- * Returns the size of the TXFIFO message needed to send
- * this packet.
- */
-static unsigned int calc_txlen(unsigned int len)
-{
-	return ALIGN(len + 4, 4);
-}
-
-/**
  * ks8851_start_xmit_spi - transmit packet using SPI
  * @skb: The buffer to transmit
  * @dev: The device used to transmit the packet.
@@ -386,16 +397,17 @@ static netdev_tx_t ks8851_start_xmit_spi
 
 	spin_lock(&ks->statelock);
 
-	if (needed > ks->tx_space) {
+	if (ks->queued_len + needed > ks->tx_space) {
 		netif_stop_queue(dev);
 		ret = NETDEV_TX_BUSY;
 	} else {
-		ks->tx_space -= needed;
+		ks->queued_len += needed;
 		skb_queue_tail(&ks->txq, skb);
 	}
 
 	spin_unlock(&ks->statelock);
-	schedule_work(&kss->tx_work);
+	if (ret == NETDEV_TX_OK)
+		schedule_work(&kss->tx_work);
 
 	return ret;
 }



  parent reply	other threads:[~2023-12-30 12:05 UTC|newest]

Thread overview: 176+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-30 11:57 [PATCH 6.6 000/156] 6.6.9-rc1 review Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 001/156] bpf: Fix prog_array_map_poke_run map poke update Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 002/156] mm/damon/core: use number of passed access sampling as a timer Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 003/156] mm/damon/core: make damon_start() waits until kdamond_fn() starts Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 004/156] btrfs: qgroup: iterate qgroups without memory allocation for qgroup_reserve() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 005/156] btrfs: qgroup: use qgroup_iterator in qgroup_convert_meta() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 006/156] btrfs: free qgroup pertrans reserve on transaction abort Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 007/156] drm/amd/display: fix hw rotated modes when PSR-SU is enabled Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 008/156] drm/i915: Fix FEC state dump Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 009/156] drm/i915: Introduce crtc_state->enhanced_framing Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 010/156] drm/i915/edp: dont write to DP_LINK_BW_SET when using rate select Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 011/156] drm: Update file owner during use Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 012/156] drm: Fix FD ownership check in drm_master_check_perm() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 013/156] spi: spi-imx: correctly configure burst length when using dma Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 014/156] arm64: dts: allwinner: h616: update emac for Orange Pi Zero 3 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 015/156] ARM: dts: dra7: Fix DRA7 L3 NoC node register size Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 016/156] ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 017/156] reset: Fix crash when freeing non-existent optional resets Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 018/156] s390/vx: fix save/restore of fpu kernel context Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 019/156] platform/x86/intel/pmc: Fix hang in pmc_core_send_ltr_ignore() Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 020/156] SUNRPC: Revert 5f7fc5d69f6e92ec0b38774c387f5cf7812c5806 Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 021/156] wifi: ieee80211: dont require protected vendor action frames Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 022/156] wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 023/156] wifi: mac80211: check if the existing link config remains unchanged Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 024/156] wifi: mac80211: dont re-add debugfs during reconfig Greg Kroah-Hartman
2023-12-30 11:57 ` [PATCH 6.6 025/156] wifi: mac80211: check defragmentation succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 026/156] wifi: mac80211: mesh: check element parsing succeeded Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 027/156] wifi: mac80211: mesh_plink: fix matches_local logic Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 028/156] ice: fix theoretical out-of-bounds access in ethtool link modes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 029/156] bpf: syzkaller found null ptr deref in unix_bpf proto add Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 030/156] Revert "net/mlx5e: fix double free of encap_header in update funcs" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 031/156] Revert "net/mlx5e: fix double free of encap_header" Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 032/156] net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 033/156] net/mlx5e: Fix a race in command alloc flow Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 034/156] net/mlx5e: fix a potential double-free in fs_udp_create_groups Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 035/156] net/mlx5e: Fix overrun reported by coverity Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 036/156] net/mlx5e: Decrease num_block_tc when unblock tc offload Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 037/156] net/mlx5e: XDP, Drop fragmented packets larger than MTU size Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 038/156] net/mlx5: Fix fw tracer first block check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 039/156] net/mlx5: Refactor mlx5_flow_destination->rep pointer to vport num Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 040/156] net/mlx5e: Fix error code in mlx5e_tc_action_miss_mapping_get() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 041/156] net/mlx5e: Fix error codes in alloc_branch_attr() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 042/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 043/156] net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 044/156] net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 045/156] net: mscc: ocelot: fix pMAC " Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 046/156] octeontx2-pf: Fix graceful exit during PFC configuration failure Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 047/156] net: Return error from sk_stream_wait_connect() if sk_wait_event() fails Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 048/156] net: sched: ife: fix potential use-after-free Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 049/156] ethernet: atheros: fix a memleak in atl1e_setup_ring_resources Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 050/156] net/rose: fix races in rose_kill_by_device() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 051/156] Bluetooth: Fix not notifying when connection encryption changes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 052/156] Bluetooth: Fix deadlock in vhci_send_frame Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 053/156] Bluetooth: hci_event: shut up a false-positive warning Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 054/156] Bluetooth: hci_core: Fix hci_conn_hash_lookup_cis Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 055/156] bnxt_en: do not map packet buffers twice Greg Kroah-Hartman
2024-01-02 15:22   ` Andy Gospodarek
2024-01-03 10:04     ` Greg Kroah-Hartman
2024-01-04 20:07       ` Andy Gospodarek
2024-01-05  9:52         ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 056/156] net: phy: skip LED triggers on PHYs on SFP modules Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 057/156] ice: stop trashing VF VSI aggregator node ID information Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 058/156] ice: alter feature support check for SRIOV and LAG Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 059/156] ice: Fix PF with enabled XDP going no-carrier after reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 060/156] net: mana: select PAGE_POOL Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 061/156] net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 062/156] afs: Fix the dynamic roots d_delete to always delete unused dentries Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 063/156] afs: Fix dynamic root lookup DNS check Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 064/156] net: ethernet: mtk_wed: fix possible NULL pointer dereference in mtk_wed_wo_queue_tx_clean() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 065/156] net/ipv6: Revert remove expired routes with a separated list of routes Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 066/156] net: check dev->gso_max_size in gso_features_check() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 067/156] keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry Greg Kroah-Hartman
2024-01-05  2:13   ` Jeffrey E Altman
2024-01-05  9:51     ` Greg Kroah-Hartman
2024-01-05 10:06       ` Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 068/156] afs: Fix overwriting of result of DNS query Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 069/156] afs: Fix use-after-free due to get/remove race in volume tree Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 070/156] drm/i915/hwmon: Fix static analysis tool reported issues Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 071/156] drm/i915/mtl: Fix HDMI/DP PLL clock selection Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 072/156] ASoC: hdmi-codec: fix missing report for jack initial status Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 073/156] ASoC: fsl_sai: Fix channel swap issue on i.MX8MP Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 074/156] i2c: qcom-geni: fix missing clk_disable_unprepare() and geni_se_resources_off() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 075/156] drm/amdgpu: re-create idle bos PTE during VM state machine reset Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 076/156] i2c: aspeed: Handle the coalesced stop conditions with the start conditions Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 077/156] x86/xen: add CPU dependencies for 32-bit build Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 078/156] pinctrl: at91-pio4: use dedicated lock class for IRQ Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 079/156] gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 080/156] nvme-pci: fix sleeping function called from interrupt context Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 081/156] interconnect: Treat xlate() returning NULL node as an error Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 082/156] iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 083/156] interconnect: qcom: sm8250: Enable sync_state Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 084/156] Input: ipaq-micro-keys - add error handling for devm_kmemdup Greg Kroah-Hartman
2023-12-30 11:58 ` [PATCH 6.6 085/156] iio: adc: meson: add separate config for axg SoC family Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 086/156] scsi: bnx2fc: Fix skb double free in bnx2fc_rcv() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 087/156] scsi: ufs: qcom: Return ufs_qcom_clk_scale_*() errors in ufs_qcom_clk_scale_notify() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 088/156] scsi: ufs: core: Let the sq_lock protect sq_tail_slot access Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 089/156] iio: kx022a: Fix acceleration value scaling Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 090/156] iio: adc: imx93: add four channels for imx93 adc Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 091/156] iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 092/156] iio: imu: adis16475: add spi_device_id table Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 093/156] iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 094/156] iio: tmag5273: fix temperature offset Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 095/156] iio: triggered-buffer: prevent possible freeing of wrong buffer Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 096/156] ALSA: usb-audio: Increase delay in MOTU M quirk Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 097/156] ARM: dts: Fix occasional boot hang for am3 usb Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 098/156] usb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3 Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 099/156] wifi: mt76: fix crash with WED rx support enabled Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 100/156] wifi: cfg80211: Add my certificate Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 101/156] wifi: cfg80211: fix certs build to not depend on file order Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 102/156] USB: serial: ftdi_sio: update Actisense PIDs constant names Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 103/156] USB: serial: option: add Quectel EG912Y module support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 104/156] USB: serial: option: add Foxconn T99W265 with new baseline Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 105/156] USB: serial: option: add Quectel RM500Q R13 firmware support Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 106/156] ALSA: hda/tas2781: select program 0, conf 0 by default Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 107/156] ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 108/156] ASoC: tas2781: check the validity of prm_no/cfg_no Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 109/156] Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 110/156] Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 111/156] Bluetooth: L2CAP: Send reject on command corrupted request Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 112/156] Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 113/156] Bluetooth: Add more enc key size check Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 114/156] usb: typec: ucsi: fix gpio-based orientation detection Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 115/156] usb: fotg210-hcd: delete an incorrect bounds test Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 116/156] net: usb: ax88179_178a: avoid failed operations when device is disconnected Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 117/156] Input: soc_button_array - add mapping for airplane mode button Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 118/156] net: 9p: avoid freeing uninit memory in p9pdu_vreadf Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 119/156] net: rfkill: gpio: set GPIO direction Greg Kroah-Hartman
2023-12-30 11:59 ` Greg Kroah-Hartman [this message]
2023-12-30 11:59 ` [PATCH 6.6 121/156] net: avoid build bug in skb extension length calculation Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 122/156] net: stmmac: fix incorrect flag check in timestamp interrupt Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 123/156] dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 124/156] nfsd: call nfsd_last_thread() before final nfsd_put() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 125/156] smb: client: fix OOB in cifsd when receiving compounded resps Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 126/156] smb: client: fix potential OOB in cifs_dump_detail() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 127/156] smb: client: fix OOB in SMB2_query_info_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 128/156] smb: client: fix OOB in smbCalcSize() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 129/156] drm/i915: Reject async flips with bigjoiner Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 130/156] drm/i915/dmc: Dont enable any pipe DMC events Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 131/156] 9p: prevent read overrun in protocol dump tracepoint Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 132/156] ring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 133/156] ring-buffer: Remove useless update to write_stamp in rb_try_to_discard() Greg Kroah-Hartman
2023-12-30 21:47   ` Steven Rostedt
2024-01-03 10:05     ` Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 134/156] ring-buffer: Fix slowpath of interrupted event Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 135/156] spi: atmel: Do not cancel a transfer upon any signal Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 136/156] spi: atmel: Prevent spi transfers from being killed Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 137/156] spi: atmel: Fix clock issue when using devices with different polarities Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 138/156] nvmem: brcm_nvram: store a copy of NVRAM content Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 139/156] Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 140/156] scsi: core: Always send batch on reset or error handling command Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 141/156] tracing / synthetic: Disable events after testing in synth_event_gen_test_init() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 142/156] dm-integrity: dont modify bios immutable bio_vec in integrity_metadata() Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 143/156] selftests: mptcp: join: fix subflow_send_ack lookup Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 144/156] pinctrl: starfive: jh7110: ignore disabled device tree nodes Greg Kroah-Hartman
2023-12-30 11:59 ` [PATCH 6.6 145/156] pinctrl: starfive: jh7100: " Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 146/156] bus: ti-sysc: Flush posted write only after srst_udelay Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 147/156] gpio: dwapb: mask/unmask IRQ when disable/enale it Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 148/156] lib/vsprintf: Fix %pfwf when current node refcount == 0 Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 149/156] thunderbolt: Fix memory leak in margining_port_remove() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 150/156] KVM: arm64: vgic: Simplify kvm_vgic_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 151/156] KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 152/156] KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 153/156] x86/alternatives: Sync core before enabling interrupts Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 154/156] x86/alternatives: Disable interrupts and sync when optimizing NOPs in place Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 155/156] x86/smpboot/64: Handle X2APIC BIOS inconsistency gracefully Greg Kroah-Hartman
2023-12-30 12:00 ` [PATCH 6.6 156/156] spi: cadence: revert "Add SPI transfer delays" Greg Kroah-Hartman
2023-12-30 12:59 ` [PATCH 6.6 000/156] 6.6.9-rc1 review Ricardo B. Marliere
2023-12-30 15:05 ` Takeshi Ogasawara
2023-12-30 16:59 ` Florian Fainelli
2023-12-30 18:11 ` SeongJae Park
2023-12-31  1:03 ` Ron Economos
2023-12-31  3:18 ` Luna Jernberg
2023-12-31  9:18   ` Greg Kroah-Hartman
2023-12-31  8:10 ` Bagas Sanjaya
2023-12-31  9:19 ` Naresh Kamboju
2023-12-31 16:33 ` Guenter Roeck

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=20231230115816.284204605@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=Tristram.Ha@microchip.com \
    --cc=ben.dooks@codethink.co.uk \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=patches@lists.linux.dev \
    --cc=ronald.wahl@raritan.com \
    --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