stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Taehee Yoo <ap420073@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 022/102] net: sfc: fix memory leak due to ptp channel
Date: Mon, 16 May 2022 21:35:56 +0200	[thread overview]
Message-ID: <20220516193624.637587003@linuxfoundation.org> (raw)
In-Reply-To: <20220516193623.989270214@linuxfoundation.org>

From: Taehee Yoo <ap420073@gmail.com>

[ Upstream commit 49e6123c65dac6393b04f39ceabf79c44f66b8be ]

It fixes memory leak in ring buffer change logic.

When ring buffer size is changed(ethtool -G eth0 rx 4096), sfc driver
works like below.
1. stop all channels and remove ring buffers.
2. allocates new buffer array.
3. allocates rx buffers.
4. start channels.

While the above steps are working, it skips some steps if the channel
doesn't have a ->copy callback function.
Due to ptp channel doesn't have ->copy callback, these above steps are
skipped for ptp channel.
It eventually makes some problems.
a. ptp channel's ring buffer size is not changed, it works only
   1024(default).
b. memory leak.

The reason for memory leak is to use the wrong ring buffer values.
There are some values, which is related to ring buffer size.
a. efx->rxq_entries
 - This is global value of rx queue size.
b. rx_queue->ptr_mask
 - used for access ring buffer as circular ring.
 - roundup_pow_of_two(efx->rxq_entries) - 1
c. rx_queue->max_fill
 - efx->rxq_entries - EFX_RXD_HEAD_ROOM

These all values should be based on ring buffer size consistently.
But ptp channel's values are not.
a. efx->rxq_entries
 - This is global(for sfc) value, always new ring buffer size.
b. rx_queue->ptr_mask
 - This is always 1023(default).
c. rx_queue->max_fill
 - This is new ring buffer size - EFX_RXD_HEAD_ROOM.

Let's assume we set 4096 for rx ring buffer,

                      normal channel     ptp channel
efx->rxq_entries      4096               4096
rx_queue->ptr_mask    4095               1023
rx_queue->max_fill    4086               4086

sfc driver allocates rx ring buffers based on these values.
When it allocates ptp channel's ring buffer, 4086 ring buffers are
allocated then, these buffers are attached to the allocated array.
But ptp channel's ring buffer array size is still 1024(default)
and ptr_mask is still 1023 too.
So, 3062 ring buffers will be overwritten to the array.
This is the reason for memory leak.

Test commands:
   ethtool -G <interface name> rx 4096
   while :
   do
       ip link set <interface name> up
       ip link set <interface name> down
   done

In order to avoid this problem, it adds ->copy callback to ptp channel
type.
So that rx_queue->ptr_mask value will be updated correctly.

Fixes: 7c236c43b838 ("sfc: Add support for IEEE-1588 PTP")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/sfc/efx_channels.c |  7 ++++++-
 drivers/net/ethernet/sfc/ptp.c          | 14 +++++++++++++-
 drivers/net/ethernet/sfc/ptp.h          |  1 +
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/sfc/efx_channels.c b/drivers/net/ethernet/sfc/efx_channels.c
index 2623df1fa741..d5f2ccd3bca4 100644
--- a/drivers/net/ethernet/sfc/efx_channels.c
+++ b/drivers/net/ethernet/sfc/efx_channels.c
@@ -844,7 +844,9 @@ static void efx_set_xdp_channels(struct efx_nic *efx)
 
 int efx_realloc_channels(struct efx_nic *efx, u32 rxq_entries, u32 txq_entries)
 {
-	struct efx_channel *other_channel[EFX_MAX_CHANNELS], *channel;
+	struct efx_channel *other_channel[EFX_MAX_CHANNELS], *channel,
+			   *ptp_channel = efx_ptp_channel(efx);
+	struct efx_ptp_data *ptp_data = efx->ptp_data;
 	unsigned int i, next_buffer_table = 0;
 	u32 old_rxq_entries, old_txq_entries;
 	int rc, rc2;
@@ -915,6 +917,7 @@ int efx_realloc_channels(struct efx_nic *efx, u32 rxq_entries, u32 txq_entries)
 
 	efx_set_xdp_channels(efx);
 out:
+	efx->ptp_data = NULL;
 	/* Destroy unused channel structures */
 	for (i = 0; i < efx->n_channels; i++) {
 		channel = other_channel[i];
@@ -925,6 +928,7 @@ int efx_realloc_channels(struct efx_nic *efx, u32 rxq_entries, u32 txq_entries)
 		}
 	}
 
+	efx->ptp_data = ptp_data;
 	rc2 = efx_soft_enable_interrupts(efx);
 	if (rc2) {
 		rc = rc ? rc : rc2;
@@ -943,6 +947,7 @@ int efx_realloc_channels(struct efx_nic *efx, u32 rxq_entries, u32 txq_entries)
 	efx->txq_entries = old_txq_entries;
 	for (i = 0; i < efx->n_channels; i++)
 		swap(efx->channel[i], other_channel[i]);
+	efx_ptp_update_channel(efx, ptp_channel);
 	goto out;
 }
 
diff --git a/drivers/net/ethernet/sfc/ptp.c b/drivers/net/ethernet/sfc/ptp.c
index 797e51802ccb..725b0f38813a 100644
--- a/drivers/net/ethernet/sfc/ptp.c
+++ b/drivers/net/ethernet/sfc/ptp.c
@@ -45,6 +45,7 @@
 #include "farch_regs.h"
 #include "tx.h"
 #include "nic.h" /* indirectly includes ptp.h */
+#include "efx_channels.h"
 
 /* Maximum number of events expected to make up a PTP event */
 #define	MAX_EVENT_FRAGS			3
@@ -541,6 +542,12 @@ struct efx_channel *efx_ptp_channel(struct efx_nic *efx)
 	return efx->ptp_data ? efx->ptp_data->channel : NULL;
 }
 
+void efx_ptp_update_channel(struct efx_nic *efx, struct efx_channel *channel)
+{
+	if (efx->ptp_data)
+		efx->ptp_data->channel = channel;
+}
+
 static u32 last_sync_timestamp_major(struct efx_nic *efx)
 {
 	struct efx_channel *channel = efx_ptp_channel(efx);
@@ -1443,6 +1450,11 @@ int efx_ptp_probe(struct efx_nic *efx, struct efx_channel *channel)
 	int rc = 0;
 	unsigned int pos;
 
+	if (efx->ptp_data) {
+		efx->ptp_data->channel = channel;
+		return 0;
+	}
+
 	ptp = kzalloc(sizeof(struct efx_ptp_data), GFP_KERNEL);
 	efx->ptp_data = ptp;
 	if (!efx->ptp_data)
@@ -2179,7 +2191,7 @@ static const struct efx_channel_type efx_ptp_channel_type = {
 	.pre_probe		= efx_ptp_probe_channel,
 	.post_remove		= efx_ptp_remove_channel,
 	.get_name		= efx_ptp_get_channel_name,
-	/* no copy operation; there is no need to reallocate this channel */
+	.copy                   = efx_copy_channel,
 	.receive_skb		= efx_ptp_rx,
 	.want_txqs		= efx_ptp_want_txqs,
 	.keep_eventq		= false,
diff --git a/drivers/net/ethernet/sfc/ptp.h b/drivers/net/ethernet/sfc/ptp.h
index 9855e8c9e544..7b1ef7002b3f 100644
--- a/drivers/net/ethernet/sfc/ptp.h
+++ b/drivers/net/ethernet/sfc/ptp.h
@@ -16,6 +16,7 @@ struct ethtool_ts_info;
 int efx_ptp_probe(struct efx_nic *efx, struct efx_channel *channel);
 void efx_ptp_defer_probe_with_channel(struct efx_nic *efx);
 struct efx_channel *efx_ptp_channel(struct efx_nic *efx);
+void efx_ptp_update_channel(struct efx_nic *efx, struct efx_channel *channel);
 void efx_ptp_remove(struct efx_nic *efx);
 int efx_ptp_set_ts_config(struct efx_nic *efx, struct ifreq *ifr);
 int efx_ptp_get_ts_config(struct efx_nic *efx, struct ifreq *ifr);
-- 
2.35.1




  parent reply	other threads:[~2022-05-16 19:54 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-16 19:35 [PATCH 5.15 000/102] 5.15.41-rc1 review Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 001/102] batman-adv: Dont skb_split skbuffs with frag_list Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 002/102] iwlwifi: iwl-dbg: Use del_timer_sync() before freeing Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 003/102] hwmon: (tmp401) Add OF device ID table Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 004/102] mac80211: Reset MBSSID parameters upon connection Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 005/102] net: Fix features skip in for_each_netdev_feature() Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 006/102] net: mscc: ocelot: fix last VCAP IS1/IS2 filter persisting in hardware when deleted Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 007/102] net: mscc: ocelot: fix VCAP IS2 filters matching on both lookups Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 008/102] net: mscc: ocelot: restrict tc-trap actions to VCAP IS2 lookup 0 Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 009/102] net: mscc: ocelot: avoid corrupting hardware counters when moving VCAP filters Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 010/102] fbdev: simplefb: Cleanup fb_info in .fb_destroy rather than .remove Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 011/102] fbdev: efifb: " Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 012/102] fbdev: vesafb: " Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 013/102] platform/surface: aggregator: Fix initialization order when compiling as builtin module Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 014/102] ice: Fix race during aux device (un)plugging Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 015/102] ice: fix PTP stale Tx timestamps cleanup Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 016/102] ipv4: drop dst in multicast routing path Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 017/102] drm/nouveau: Fix a potential theorical leak in nouveau_get_backlight_name() Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 018/102] netlink: do not reset transport header in netlink_recvmsg() Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 019/102] net: chelsio: cxgb4: Avoid potential negative array offset Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 020/102] fbdev: efifb: Fix a use-after-free due early fb_info cleanup Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 021/102] sfc: Use swap() instead of open coding it Greg Kroah-Hartman
2022-05-16 19:35 ` Greg Kroah-Hartman [this message]
2022-05-16 19:35 ` [PATCH 5.15 023/102] mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 024/102] nfs: fix broken handling of the softreval mount option Greg Kroah-Hartman
2022-05-16 19:35 ` [PATCH 5.15 025/102] ionic: fix missing pci_release_regions() on error in ionic_probe() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 026/102] dim: initialize all struct fields Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 027/102] hwmon: (ltq-cputemp) restrict it to SOC_XWAY Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 028/102] procfs: prevent unprivileged processes accessing fdinfo dir Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 029/102] selftests: vm: Makefile: rename TARGETS to VMTARGETS Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 030/102] arm64: vdso: fix makefile dependency on vdso.so Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 031/102] virtio: fix virtio transitional ids Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 032/102] s390/ctcm: fix variable dereferenced before check Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 033/102] s390/ctcm: fix potential memory leak Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 034/102] s390/lcs: fix variable dereferenced before check Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 035/102] net/sched: act_pedit: really ensure the skb is writable Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 036/102] net: ethernet: mediatek: ppe: fix wrong size passed to memset() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 037/102] net: bcmgenet: Check for Wake-on-LAN interrupt probe deferral Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 038/102] drm/vc4: hdmi: Fix build error for implicit function declaration Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 039/102] net: dsa: bcm_sf2: Fix Wake-on-LAN with mac_link_down() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 040/102] net/smc: non blocking recvmsg() return -EAGAIN when no data and signal_pending Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 041/102] net: sfc: ef10: fix memory leak in efx_ef10_mtd_probe() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 042/102] tls: Fix context leak on tls_device_down Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 043/102] drm/vmwgfx: Fix fencing on SVGAv3 Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 044/102] gfs2: Fix filesystem block deallocation for short writes Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 045/102] hwmon: (f71882fg) Fix negative temperature Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 046/102] RDMA/irdma: Fix deadlock in irdma_cleanup_cm_core() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 047/102] iommu: arm-smmu: disable large page mappings for Nvidia arm-smmu Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 048/102] ASoC: max98090: Reject invalid values in custom control put() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 049/102] ASoC: max98090: Generate notifications on changes for custom control Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 050/102] ASoC: ops: Validate input values in snd_soc_put_volsw_range() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 051/102] s390: disable -Warray-bounds Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 052/102] ASoC: SOF: Fix NULL pointer exception in sof_pci_probe callback Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 053/102] net: emaclite: Dont advertise 1000BASE-T and do auto negotiation Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 054/102] net: sfp: Add tx-fault workaround for Huawei MA5671A SFP ONT Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 055/102] secure_seq: use the 64 bits of the siphash for port offset calculation Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 056/102] tcp: use different parts of the port_offset for index and offset Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 057/102] tcp: resalt the secret every 10 seconds Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 058/102] tcp: add small random increments to the source port Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 059/102] tcp: dynamically allocate the perturb table used by source ports Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 060/102] tcp: increase source port perturb table to 2^16 Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 061/102] tcp: drop the hash_32() part from the index calculation Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 062/102] interconnect: Restore sync state by ignoring ipa-virt in provider count Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 063/102] firmware_loader: use kernel credentials when reading firmware Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 064/102] KVM: PPC: Book3S PR: Enable MSR_DR for switch_mmu_context() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 065/102] usb: xhci-mtk: fix fs isocs transfer error Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 066/102] x86/mm: Fix marking of unused sub-pmd ranges Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 067/102] tty/serial: digicolor: fix possible null-ptr-deref in digicolor_uart_probe() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 068/102] tty: n_gsm: fix buffer over-read in gsm_dlci_data() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 069/102] tty: n_gsm: fix mux activation issues in gsm_config() Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 070/102] usb: cdc-wdm: fix reading stuck on device close Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 071/102] usb: typec: tcpci: Dont skip cleanup in .remove() on error Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 072/102] usb: typec: tcpci_mt6360: Update for BMC PHY setting Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 073/102] USB: serial: pl2303: add device id for HP LM930 Display Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 074/102] USB: serial: qcserial: add support for Sierra Wireless EM7590 Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 075/102] USB: serial: option: add Fibocom L610 modem Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 076/102] USB: serial: option: add Fibocom MA510 modem Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 077/102] slimbus: qcom: Fix IRQ check in qcom_slim_probe Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 078/102] fsl_lpuart: Dont enable interrupts too early Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 079/102] serial: 8250_mtk: Fix UART_EFR register address Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 080/102] serial: 8250_mtk: Fix register address for XON/XOFF character Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 081/102] ceph: fix setting of xattrs on async created inodes Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 082/102] Revert "mm/memory-failure.c: skip huge_zero_page in memory_failure()" Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 083/102] mm/huge_memory: do not overkill when splitting huge_zero_page Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 084/102] drm/vmwgfx: Disable command buffers on svga3 without gbobjects Greg Kroah-Hartman
2022-05-16 19:36 ` [PATCH 5.15 085/102] drm/nouveau/tegra: Stop using iommu_present() Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 086/102] i40e: i40e_main: fix a missing check on list iterator Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 087/102] net: atlantic: always deep reset on pm op, fixing up my null deref regression Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 088/102] net: phy: Fix race condition on link status change Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 089/102] writeback: Avoid skipping inode writeback Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 090/102] cgroup/cpuset: Remove cpus_allowed/mems_allowed setup in cpuset_init_smp() Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 091/102] arm[64]/memremap: dont abuse pfn_valid() to ensure presence of linear map Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 092/102] net: phy: micrel: Do not use kszphy_suspend/resume for KSZ8061 Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 093/102] net: phy: micrel: Pass .probe for KS8737 Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 094/102] SUNRPC: Ensure that the gssproxy client can start in a connected state Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 095/102] drm/vmwgfx: Initialize drm_mode_fb_cmd2 Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 096/102] Revert "drm/amd/pm: keep the BACO feature enabled for suspend" Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 097/102] dma-buf: call dma_buf_stats_setup after dmabuf is in valid list Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 098/102] mm/hwpoison: use pr_err() instead of dump_page() in get_any_page() Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 099/102] SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 100/102] ping: fix address binding wrt vrf Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 101/102] usb: gadget: uvc: rename function to be more consistent Greg Kroah-Hartman
2022-05-16 19:37 ` [PATCH 5.15 102/102] usb: gadget: uvc: allow for application to cleanly shutdown Greg Kroah-Hartman
2022-05-17  4:12 ` [PATCH 5.15 000/102] 5.15.41-rc1 review Shuah Khan
2022-05-17  7:41 ` Jon Hunter
2022-05-17  8:08 ` Fox Chen
2022-05-17 11:03 ` Sudip Mukherjee
2022-05-17 11:15 ` Naresh Kamboju
2022-05-17 15:59 ` Ron Economos
2022-05-17 16:22 ` Florian Fainelli
2022-05-17 19:31 ` 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=20220516193624.637587003@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ap420073@gmail.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).