public inbox for linux-kernel@vger.kernel.org
 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,
	Naresh Kamboju <naresh.kamboju@linaro.org>,
	Ariel Elior <aelior@marvell.com>, Shai Malin <smalin@marvell.com>,
	"David S. Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 039/230] qed: Improve the stack space of filter_config()
Date: Mon, 11 Jul 2022 11:04:55 +0200	[thread overview]
Message-ID: <20220711090605.192560383@linuxfoundation.org> (raw)
In-Reply-To: <20220711090604.055883544@linuxfoundation.org>

From: Shai Malin <smalin@marvell.com>

[ Upstream commit f55e36d5ab76c3097ff36ecea60b91c6b0d80fc8 ]

As it was reported and discussed in: https://lore.kernel.org/lkml/CAHk-=whF9F89vsfH8E9TGc0tZA-yhzi2Di8wOtquNB5vRkFX5w@mail.gmail.com/
This patch improves the stack space of qede_config_rx_mode() by
splitting filter_config() to 3 functions and removing the
union qed_filter_type_params.

Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Ariel Elior <aelior@marvell.com>
Signed-off-by: Shai Malin <smalin@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/qlogic/qed/qed_l2.c      | 23 ++-------
 .../net/ethernet/qlogic/qede/qede_filter.c    | 47 ++++++++-----------
 include/linux/qed/qed_eth_if.h                | 21 ++++-----
 3 files changed, 30 insertions(+), 61 deletions(-)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c
index dfaf10edfabf..ba8c7a31cce1 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_l2.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c
@@ -2763,25 +2763,6 @@ static int qed_configure_filter_mcast(struct qed_dev *cdev,
 	return qed_filter_mcast_cmd(cdev, &mcast, QED_SPQ_MODE_CB, NULL);
 }
 
-static int qed_configure_filter(struct qed_dev *cdev,
-				struct qed_filter_params *params)
-{
-	enum qed_filter_rx_mode_type accept_flags;
-
-	switch (params->type) {
-	case QED_FILTER_TYPE_UCAST:
-		return qed_configure_filter_ucast(cdev, &params->filter.ucast);
-	case QED_FILTER_TYPE_MCAST:
-		return qed_configure_filter_mcast(cdev, &params->filter.mcast);
-	case QED_FILTER_TYPE_RX_MODE:
-		accept_flags = params->filter.accept_flags;
-		return qed_configure_filter_rx_mode(cdev, accept_flags);
-	default:
-		DP_NOTICE(cdev, "Unknown filter type %d\n", (int)params->type);
-		return -EINVAL;
-	}
-}
-
 static int qed_configure_arfs_searcher(struct qed_dev *cdev,
 				       enum qed_filter_config_mode mode)
 {
@@ -2904,7 +2885,9 @@ static const struct qed_eth_ops qed_eth_ops_pass = {
 	.q_rx_stop = &qed_stop_rxq,
 	.q_tx_start = &qed_start_txq,
 	.q_tx_stop = &qed_stop_txq,
-	.filter_config = &qed_configure_filter,
+	.filter_config_rx_mode = &qed_configure_filter_rx_mode,
+	.filter_config_ucast = &qed_configure_filter_ucast,
+	.filter_config_mcast = &qed_configure_filter_mcast,
 	.fastpath_stop = &qed_fastpath_stop,
 	.eth_cqe_completion = &qed_fp_cqe_completion,
 	.get_vport_stats = &qed_get_vport_stats,
diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c
index a2e4dfb5cb44..f99b085b56a5 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_filter.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c
@@ -619,30 +619,28 @@ static int qede_set_ucast_rx_mac(struct qede_dev *edev,
 				 enum qed_filter_xcast_params_type opcode,
 				 unsigned char mac[ETH_ALEN])
 {
-	struct qed_filter_params filter_cmd;
+	struct qed_filter_ucast_params ucast;
 
-	memset(&filter_cmd, 0, sizeof(filter_cmd));
-	filter_cmd.type = QED_FILTER_TYPE_UCAST;
-	filter_cmd.filter.ucast.type = opcode;
-	filter_cmd.filter.ucast.mac_valid = 1;
-	ether_addr_copy(filter_cmd.filter.ucast.mac, mac);
+	memset(&ucast, 0, sizeof(ucast));
+	ucast.type = opcode;
+	ucast.mac_valid = 1;
+	ether_addr_copy(ucast.mac, mac);
 
-	return edev->ops->filter_config(edev->cdev, &filter_cmd);
+	return edev->ops->filter_config_ucast(edev->cdev, &ucast);
 }
 
 static int qede_set_ucast_rx_vlan(struct qede_dev *edev,
 				  enum qed_filter_xcast_params_type opcode,
 				  u16 vid)
 {
-	struct qed_filter_params filter_cmd;
+	struct qed_filter_ucast_params ucast;
 
-	memset(&filter_cmd, 0, sizeof(filter_cmd));
-	filter_cmd.type = QED_FILTER_TYPE_UCAST;
-	filter_cmd.filter.ucast.type = opcode;
-	filter_cmd.filter.ucast.vlan_valid = 1;
-	filter_cmd.filter.ucast.vlan = vid;
+	memset(&ucast, 0, sizeof(ucast));
+	ucast.type = opcode;
+	ucast.vlan_valid = 1;
+	ucast.vlan = vid;
 
-	return edev->ops->filter_config(edev->cdev, &filter_cmd);
+	return edev->ops->filter_config_ucast(edev->cdev, &ucast);
 }
 
 static int qede_config_accept_any_vlan(struct qede_dev *edev, bool action)
@@ -1057,18 +1055,17 @@ static int qede_set_mcast_rx_mac(struct qede_dev *edev,
 				 enum qed_filter_xcast_params_type opcode,
 				 unsigned char *mac, int num_macs)
 {
-	struct qed_filter_params filter_cmd;
+	struct qed_filter_mcast_params mcast;
 	int i;
 
-	memset(&filter_cmd, 0, sizeof(filter_cmd));
-	filter_cmd.type = QED_FILTER_TYPE_MCAST;
-	filter_cmd.filter.mcast.type = opcode;
-	filter_cmd.filter.mcast.num = num_macs;
+	memset(&mcast, 0, sizeof(mcast));
+	mcast.type = opcode;
+	mcast.num = num_macs;
 
 	for (i = 0; i < num_macs; i++, mac += ETH_ALEN)
-		ether_addr_copy(filter_cmd.filter.mcast.mac[i], mac);
+		ether_addr_copy(mcast.mac[i], mac);
 
-	return edev->ops->filter_config(edev->cdev, &filter_cmd);
+	return edev->ops->filter_config_mcast(edev->cdev, &mcast);
 }
 
 int qede_set_mac_addr(struct net_device *ndev, void *p)
@@ -1194,7 +1191,6 @@ void qede_config_rx_mode(struct net_device *ndev)
 {
 	enum qed_filter_rx_mode_type accept_flags;
 	struct qede_dev *edev = netdev_priv(ndev);
-	struct qed_filter_params rx_mode;
 	unsigned char *uc_macs, *temp;
 	struct netdev_hw_addr *ha;
 	int rc, uc_count;
@@ -1220,10 +1216,6 @@ void qede_config_rx_mode(struct net_device *ndev)
 
 	netif_addr_unlock_bh(ndev);
 
-	/* Configure the struct for the Rx mode */
-	memset(&rx_mode, 0, sizeof(struct qed_filter_params));
-	rx_mode.type = QED_FILTER_TYPE_RX_MODE;
-
 	/* Remove all previous unicast secondary macs and multicast macs
 	 * (configure / leave the primary mac)
 	 */
@@ -1271,8 +1263,7 @@ void qede_config_rx_mode(struct net_device *ndev)
 		qede_config_accept_any_vlan(edev, false);
 	}
 
-	rx_mode.filter.accept_flags = accept_flags;
-	edev->ops->filter_config(edev->cdev, &rx_mode);
+	edev->ops->filter_config_rx_mode(edev->cdev, accept_flags);
 out:
 	kfree(uc_macs);
 }
diff --git a/include/linux/qed/qed_eth_if.h b/include/linux/qed/qed_eth_if.h
index 812a4d751163..4df0bf0a0864 100644
--- a/include/linux/qed/qed_eth_if.h
+++ b/include/linux/qed/qed_eth_if.h
@@ -145,12 +145,6 @@ struct qed_filter_mcast_params {
 	unsigned char mac[64][ETH_ALEN];
 };
 
-union qed_filter_type_params {
-	enum qed_filter_rx_mode_type accept_flags;
-	struct qed_filter_ucast_params ucast;
-	struct qed_filter_mcast_params mcast;
-};
-
 enum qed_filter_type {
 	QED_FILTER_TYPE_UCAST,
 	QED_FILTER_TYPE_MCAST,
@@ -158,11 +152,6 @@ enum qed_filter_type {
 	QED_MAX_FILTER_TYPES,
 };
 
-struct qed_filter_params {
-	enum qed_filter_type type;
-	union qed_filter_type_params filter;
-};
-
 struct qed_tunn_params {
 	u16 vxlan_port;
 	u8 update_vxlan_port;
@@ -314,8 +303,14 @@ struct qed_eth_ops {
 
 	int (*q_tx_stop)(struct qed_dev *cdev, u8 rss_id, void *handle);
 
-	int (*filter_config)(struct qed_dev *cdev,
-			     struct qed_filter_params *params);
+	int (*filter_config_rx_mode)(struct qed_dev *cdev,
+				     enum qed_filter_rx_mode_type type);
+
+	int (*filter_config_ucast)(struct qed_dev *cdev,
+				   struct qed_filter_ucast_params *params);
+
+	int (*filter_config_mcast)(struct qed_dev *cdev,
+				   struct qed_filter_mcast_params *params);
 
 	int (*fastpath_stop)(struct qed_dev *cdev);
 
-- 
2.35.1




  parent reply	other threads:[~2022-07-11  9:42 UTC|newest]

Thread overview: 244+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-11  9:04 [PATCH 5.15 000/230] 5.15.54-rc1 review Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 001/230] mm/slub: add missing TID updates on slab deactivation Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 002/230] mm/filemap: fix UAF in find_lock_entries Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 003/230] Revert "selftests/bpf: Add test for bpf_timer overwriting crash" Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 004/230] ALSA: usb-audio: Workarounds for Behringer UMC 204/404 HD Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 005/230] ALSA: hda/realtek: Add quirk for Clevo L140PU Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 006/230] ALSA: cs46xx: Fix missing snd_card_free() call at probe error Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 007/230] can: bcm: use call_rcu() instead of costly synchronize_rcu() Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 008/230] can: grcan: grcan_probe(): remove extra of_node_get() Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 009/230] can: gs_usb: gs_usb_open/close(): fix memory leak Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 010/230] can: m_can: m_can_chip_config(): actually enable internal timestamping Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 011/230] can: m_can: m_can_{read_fifo,echo_tx_event}(): shift timestamp to full 32 bits Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 012/230] can: mcp251xfd: mcp251xfd_regmap_crc_read(): improve workaround handling for mcp2517fd Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 013/230] can: mcp251xfd: mcp251xfd_regmap_crc_read(): update workaround broken CRC on TBC register Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 014/230] bpf: Fix incorrect verifier simulation around jmp32s jeq/jne Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 015/230] bpf: Fix insufficient bounds propagation from adjust_scalar_min_max_vals Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 016/230] usbnet: fix memory leak in error case Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 017/230] net: rose: fix UAF bug caused by rose_t0timer_expiry Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 018/230] netfilter: nft_set_pipapo: release elements in clone from abort path Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 019/230] netfilter: nf_tables: stricter validation of element data Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 020/230] btrfs: rename btrfs_alloc_chunk to btrfs_create_chunk Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 021/230] btrfs: add additional parameters to btrfs_init_tree_ref/btrfs_init_data_ref Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 022/230] btrfs: fix invalid delayed ref after subvolume creation failure Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 023/230] btrfs: fix warning when freeing leaf " Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 024/230] Input: cpcap-pwrbutton - handle errors from platform_get_irq() Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 025/230] Input: goodix - change goodix_i2c_write() len parameter type to int Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 026/230] Input: goodix - add a goodix.h header file Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 027/230] Input: goodix - refactor reset handling Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 028/230] Input: goodix - try not to touch the reset-pin on x86/ACPI devices Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 029/230] dma-buf/poll: Get a file reference for outstanding fence callbacks Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 030/230] btrfs: fix deadlock between chunk allocation and chunk btree modifications Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 031/230] drm/i915: Disable bonding on gen12+ platforms Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 032/230] drm/i915/gt: Register the migrate contexts with their engines Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 033/230] drm/i915: Replace the unconditional clflush with drm_clflush_virt_range() Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 034/230] PCI/portdrv: Rename pm_iter() to pcie_port_device_iter() Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 035/230] PCI: pciehp: Ignore Link Down/Up caused by error-induced Hot Reset Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 036/230] media: ir_toy: prevent device from hanging during transmit Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 037/230] memory: renesas-rpc-if: Avoid unaligned bus access for HyperFlash Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 038/230] ath11k: add hw_param for wakeup_mhi Greg Kroah-Hartman
2022-07-11  9:04 ` Greg Kroah-Hartman [this message]
2022-07-11  9:04 ` [PATCH 5.15 040/230] platform/x86: wmi: introduce helper to convert driver to WMI driver Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 041/230] platform/x86: wmi: Replace read_takes_no_args with a flags field Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 042/230] platform/x86: wmi: Fix driver->notify() vs ->probe() race Greg Kroah-Hartman
2022-07-11  9:04 ` [PATCH 5.15 043/230] mt76: mt7921: get rid of mt7921_mac_set_beacon_filter Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 044/230] mt76: mt7921: introduce mt7921_mcu_set_beacon_filter utility routine Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 045/230] mt76: mt7921: fix a possible race enabling/disabling runtime-pm Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 046/230] bpf, arm64: Use emit_addr_mov_i64() for BPF_PSEUDO_FUNC Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 047/230] riscv: defconfig: enable DRM_NOUVEAU Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 048/230] RISC-V: defconfigs: Set CONFIG_FB=y, for FB console Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 049/230] net/mlx5e: Check action fwd/drop flag exists also for nic flows Greg Kroah-Hartman
2023-01-12 22:07   ` dann frazier
2023-01-14 13:49     ` Greg Kroah-Hartman
2023-01-15  8:10       ` Roi Dayan
2022-07-11  9:05 ` [PATCH 5.15 050/230] net/mlx5e: Split actions_match_supported() into a sub function Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 051/230] net/mlx5e: TC, Reject rules with drop and modify hdr action Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 052/230] net/mlx5e: TC, Reject rules with forward and drop actions Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 053/230] ASoC: rt5682: Avoid the unexpected IRQ event during going to suspend Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 054/230] ASoC: rt5682: Re-detect the combo jack after resuming Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 055/230] ASoC: rt5682: Fix deadlock on resume Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 056/230] netfilter: nf_tables: convert pktinfo->tprot_set to flags field Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 057/230] netfilter: nft_payload: support for inner header matching / mangling Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 058/230] netfilter: nft_payload: dont allow th access for fragments Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 059/230] s390/boot: allocate amode31 section in decompressor Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 060/230] s390/setup: use physical pointers for memblock_reserve() Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 061/230] s390/setup: preserve memory at OLDMEM_BASE and OLDMEM_SIZE Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 062/230] ibmvnic: init init_done_rc earlier Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 063/230] ibmvnic: clear fop when retrying probe Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 064/230] ibmvnic: Allow queueing resets during probe Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 065/230] virtio-blk: avoid preallocating big SGL for data Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 066/230] io_uring: ensure that fsnotify is always called Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 067/230] block: use bdev_get_queue() in bio.c Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 068/230] block: only mark bio as tracked if it really is tracked Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 069/230] block: fix rq-qos breakage from skipping rq_qos_done_bio() Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 070/230] stddef: Introduce struct_group() helper macro Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 071/230] media: omap3isp: Use struct_group() for memcpy() region Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 072/230] media: davinci: vpif: fix use-after-free on driver unbind Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 073/230] mt76: mt76_connac: fix MCU_CE_CMD_SET_ROC definition error Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 074/230] mt76: mt7921: do not always disable fw runtime-pm Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 075/230] cxl/port: Hold port reference until decoder release Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 076/230] clk: renesas: r9a07g044: Update multiplier and divider values for PLL2/3 Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 077/230] KVM: x86/mmu: Use yield-safe TDP MMU root iter in MMU notifier unmapping Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 078/230] KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 079/230] scsi: qla2xxx: Move heartbeat handling from DPC thread to workqueue Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 080/230] scsi: qla2xxx: Fix laggy FC remote port session recovery Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 081/230] scsi: qla2xxx: edif: Replace list_for_each_safe with list_for_each_entry_safe Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 082/230] scsi: qla2xxx: Fix crash during module load unload test Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 083/230] gfs2: Fix gfs2_file_buffered_write endless loop workaround Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 084/230] vdpa/mlx5: Avoid processing works if workqueue was destroyed Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 085/230] btrfs: handle device lookup with btrfs_dev_lookup_args Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 086/230] btrfs: add a btrfs_get_dev_args_from_path helper Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 087/230] btrfs: use btrfs_get_dev_args_from_path in dev removal ioctls Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 088/230] btrfs: remove device item and update super block in the same transaction Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 089/230] drbd: add error handling support for add_disk() Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 090/230] drbd: Fix double free problem in drbd_create_device Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 091/230] drbd: fix an invalid memory access caused by incorrect use of list iterator Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 092/230] drm/amd/display: Set min dcfclk if pipe count is 0 Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 093/230] drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 094/230] NFSD: De-duplicate net_generic(nf->nf_net, nfsd_net_id) Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 095/230] NFSD: COMMIT operations must not return NFS?ERR_INVAL Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 096/230] riscv/mm: Add XIP_FIXUP for riscv_pfn_base Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 097/230] iio: accel: mma8452: use the correct logic to get mma8452_data Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 098/230] batman-adv: Use netif_rx() Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 099/230] mtd: spi-nor: Skip erase logic when SPI_NOR_NO_ERASE is set Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 100/230] Compiler Attributes: add __alloc_size() for better bounds checking Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 101/230] mm: vmalloc: introduce array allocation functions Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 102/230] KVM: use __vcalloc for very large allocations Greg Kroah-Hartman
2022-07-11  9:05 ` [PATCH 5.15 103/230] btrfs: dont access possibly stale fs_info data in device_list_add Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 104/230] KVM: s390x: fix SCK locking Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 105/230] scsi: qla2xxx: Fix loss of NVMe namespaces after driver reload test Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 106/230] powerpc/32: Dont use lmw/stmw for saving/restoring non volatile regs Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 107/230] powerpc: flexible GPR range save/restore macros Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 108/230] powerpc/tm: Fix more userspace r13 corruption Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 109/230] serial: sc16is7xx: Clear RS485 bits in the shutdown Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 110/230] bus: mhi: core: Use correctly sized arguments for bit field Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 111/230] bus: mhi: Fix pm_state conversion to string Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 112/230] stddef: Introduce DECLARE_FLEX_ARRAY() helper Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 113/230] uapi/linux/stddef.h: Add include guards Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 114/230] ASoC: rt5682: move clk related code to rt5682_i2c_probe Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 115/230] ASoC: rt5682: fix an incorrect NULL check on list iterator Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 116/230] drm/amd/vcn: fix an error msg on vcn 3.0 Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 117/230] KVM: Dont create VM debugfs files outside of the VM directory Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 118/230] tty: n_gsm: Modify CR,PF bit when config requester Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 119/230] tty: n_gsm: Save dlci address open status " Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 120/230] tty: n_gsm: fix frame reception handling Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 121/230] ALSA: usb-audio: add mapping for MSI MPG X570S Carbon Max Wifi Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 122/230] ALSA: usb-audio: add mapping for MSI MAG X570S Torpedo MAX Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 123/230] tty: n_gsm: fix missing update of modem controls after DLCI open Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 124/230] btrfs: zoned: encapsulate inode locking for zoned relocation Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 125/230] btrfs: zoned: use dedicated lock for data relocation Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 126/230] KVM: Initialize debugfs_dentry when a VM is created to avoid NULL deref Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 127/230] mm/hwpoison: mf_mutex for soft offline and unpoison Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 128/230] mm/hwpoison: avoid the impact of hwpoison_filter() return value on mce handler Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 129/230] mm/memory-failure.c: fix race with changing page compound again Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 130/230] mm/hwpoison: fix race between hugetlb free/demotion and memory_failure_hugetlb() Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 131/230] tty: n_gsm: fix invalid use of MSC in advanced option Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 132/230] tty: n_gsm: fix sometimes uninitialized warning in gsm_dlci_modem_output() Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 133/230] powerpc/vdso: Remove cvdso_call_time macro Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 134/230] powerpc/vdso: Move cvdso_call macro into gettimeofday.S Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 135/230] powerpc/vdso: Fix incorrect CFI in gettimeofday.S Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 136/230] serial: 8250_mtk: Make sure to select the right FEATURE_SEL Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 137/230] tty: n_gsm: fix invalid gsmtty_write_room() result Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 138/230] drm/amdgpu: bind to any 0x1002 PCI diplay class device Greg Kroah-Hartman
2022-07-11  9:29   ` Christian König
2022-07-11  9:37     ` Greg Kroah-Hartman
2022-07-11  9:50       ` Christian König
2022-07-11 14:01     ` Deucher, Alexander
2022-07-11 14:48       ` Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 139/230] drm/amdgpu: Fix rejecting Tahiti GPUs Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 140/230] drm/amdgpu: drop flags check for CHIP_IP_DISCOVERY Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 141/230] drm/amd: Refactor `amdgpu_aspm` to be evaluated per device Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 142/230] drm/amdgpu: vi: disable ASPM on Intel Alder Lake based systems Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 143/230] drm/i915: Fix a race between vma / object destruction and unbinding Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 144/230] drm/mediatek: Use mailbox rx_callback instead of cmdq_task_cb Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 145/230] drm/mediatek: Remove the pointer of struct cmdq_client Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 146/230] drm/mediatek: Detect CMDQ execution timeout Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 147/230] drm/mediatek: Add cmdq_handle in mtk_crtc Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 148/230] drm/mediatek: Add vblank register/unregister callback functions Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 149/230] Bluetooth: protect le accept and resolv lists with hdev->lock Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 150/230] Bluetooth: btmtksdio: fix use-after-free at btmtksdio_recv_event Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 151/230] io_uring: avoid io-wq -EAGAIN looping for !IOPOLL Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 152/230] irqchip/gic-v3: Ensure pseudo-NMIs have an ISB between ack and handling Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 153/230] rxrpc: Fix locking issue Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 154/230] dt-bindings: soc: qcom: smd-rpm: Add compatible for MSM8953 SoC Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 155/230] dt-bindings: soc: qcom: smd-rpm: Fix missing MSM8936 compatible Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 156/230] module: change to print useful messages from elf_validity_check() Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 157/230] module: fix [e_shstrndx].sh_size=0 OOB access Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 158/230] iommu/vt-d: Fix PCI bus rescan device hot add Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 159/230] fbdev: fbmem: Fix logo center image dx issue Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 160/230] fbmem: Check virtual screen sizes in fb_set_var() Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 161/230] fbcon: Disallow setting font bigger than screen size Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 162/230] fbcon: Prevent that screen size is smaller than font size Greg Kroah-Hartman
2022-07-11  9:06 ` [PATCH 5.15 163/230] PM: runtime: Redefine pm_runtime_release_supplier() Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 164/230] memregion: Fix memregion_free() fallback definition Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 165/230] video: of_display_timing.h: include errno.h Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 166/230] powerpc/powernv: delay rng platform device creation until later in boot Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 167/230] net: dsa: qca8k: reset cpu port on MTU change Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 168/230] can: kvaser_usb: replace run-time checks with struct kvaser_usb_driver_info Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 169/230] can: kvaser_usb: kvaser_usb_leaf: fix CAN clock frequency regression Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 170/230] can: kvaser_usb: kvaser_usb_leaf: fix bittiming limits Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 171/230] xfs: remove incorrect ASSERT in xfs_rename Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 172/230] Revert "serial: sc16is7xx: Clear RS485 bits in the shutdown" Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 173/230] btrfs: fix error pointer dereference in btrfs_ioctl_rm_dev_v2() Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 174/230] virtio-blk: modify the value type of num in virtio_queue_rq() Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 175/230] btrfs: fix use of uninitialized variable at rm device ioctl Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 176/230] tty: n_gsm: fix encoding of command/response bit Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 177/230] ARM: meson: Fix refcount leak in meson_smp_prepare_cpus Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 178/230] pinctrl: sunxi: a83t: Fix NAND function name for some pins Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 179/230] ASoC: rt711: Add endianness flag in snd_soc_component_driver Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 180/230] ASoC: rt711-sdca: " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 181/230] ASoC: codecs: rt700/rt711/rt711-sdca: resume bus/codec in .set_jack_detect Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 182/230] arm64: dts: qcom: msm8994: Fix CPU6/7 reg values Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 183/230] arm64: dts: qcom: sdm845: use dispcc AHB clock for mdss node Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 184/230] ARM: mxs_defconfig: Enable the framebuffer Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 185/230] arm64: dts: imx8mp-evk: correct mmc pad settings Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 186/230] arm64: dts: imx8mp-evk: correct the uart2 pinctl value Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 187/230] arm64: dts: imx8mp-evk: correct gpio-led pad settings Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 188/230] arm64: dts: imx8mp-evk: correct vbus " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 189/230] arm64: dts: imx8mp-evk: correct eqos " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 190/230] arm64: dts: imx8mp-evk: correct I2C1 " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 191/230] arm64: dts: imx8mp-evk: correct I2C3 " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 192/230] arm64: dts: imx8mp-phyboard-pollux-rdk: correct uart " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 193/230] arm64: dts: imx8mp-phyboard-pollux-rdk: correct eqos " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 194/230] arm64: dts: imx8mp-phyboard-pollux-rdk: correct i2c2 & mmc settings Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 195/230] pinctrl: sunxi: sunxi_pconf_set: use correct offset Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 196/230] arm64: dts: qcom: msm8992-*: Fix vdd_lvs1_2-supply typo Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 197/230] ARM: at91: pm: use proper compatible for sama5d2s rtc Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 198/230] ARM: at91: pm: use proper compatibles for sam9x60s rtc and rtt Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 199/230] ARM: at91: pm: use proper compatibles for sama7g5s " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 200/230] ARM: dts: at91: sam9x60ek: fix eeprom compatible and size Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 201/230] ARM: dts: at91: sama5d2_icp: fix eeprom compatibles Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 202/230] ARM: at91: fix soc detection for SAM9X60 SiPs Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 203/230] xsk: Clear page contiguity bit when unmapping pool Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 204/230] i2c: piix4: Fix a memory leak in the EFCH MMIO support Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 205/230] i40e: Fix dropped jumbo frames statistics Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 206/230] i40e: Fix VFs MAC Address change on VM Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 207/230] ARM: dts: stm32: use usbphyc ck_usbo_48m as USBH OHCI clock on stm32mp151 Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 208/230] ARM: dts: stm32: add missing usbh clock and fix clk order on stm32mp15 Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 209/230] ibmvnic: Properly dispose of all skbs during a failover Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 210/230] selftests: forwarding: fix flood_unicast_test when h2 supports IFF_UNICAST_FLT Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 211/230] selftests: forwarding: fix learning_test when h1 " Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 212/230] selftests: forwarding: fix error message in learning_test Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 213/230] r8169: fix accessing unset transport header Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 214/230] i2c: cadence: Unregister the clk notifier in error path Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 215/230] dmaengine: imx-sdma: Allow imx8m for imx7 FW revs Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 216/230] misc: rtsx_usb: fix use of dma mapped buffer for usb bulk transfer Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 217/230] misc: rtsx_usb: use separate command and response buffers Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 218/230] misc: rtsx_usb: set return value in rsp_buf alloc err path Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 219/230] Revert "mm/memory-failure.c: fix race with changing page compound again" Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 220/230] Revert "serial: 8250_mtk: Make sure to select the right FEATURE_SEL" Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 221/230] dt-bindings: dma: allwinner,sun50i-a64-dma: Fix min/max typo Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 222/230] ida: dont use BUG_ON() for debugging Greg Kroah-Hartman
2022-07-11  9:07 ` [PATCH 5.15 223/230] dmaengine: pl330: Fix lockdep warning about non-static key Greg Kroah-Hartman
2022-07-11  9:08 ` [PATCH 5.15 224/230] dmaengine: lgm: Fix an error handling path in intel_ldma_probe() Greg Kroah-Hartman
2022-07-11  9:08 ` [PATCH 5.15 225/230] dmaengine: at_xdma: handle errors of at_xdmac_alloc_desc() correctly Greg Kroah-Hartman
2022-07-11  9:08 ` [PATCH 5.15 226/230] dmaengine: ti: Fix refcount leak in ti_dra7_xbar_route_allocate Greg Kroah-Hartman
2022-07-11  9:08 ` [PATCH 5.15 227/230] dmaengine: qcom: bam_dma: fix runtime PM underflow Greg Kroah-Hartman
2022-07-11  9:08 ` [PATCH 5.15 228/230] dmaengine: ti: Add missing put_device in ti_dra7_xbar_route_allocate Greg Kroah-Hartman
2022-07-11  9:08 ` [PATCH 5.15 229/230] dmaengine: idxd: force wq context cleanup on device disable path Greg Kroah-Hartman
2022-07-11  9:08 ` [PATCH 5.15 230/230] selftests/net: fix section name when using xdp_dummy.o Greg Kroah-Hartman
2022-07-11 12:43 ` [PATCH 5.15 000/230] 5.15.54-rc1 review Jon Hunter
2022-07-11 14:30   ` Naresh Kamboju
2022-07-11 14:36   ` Greg Kroah-Hartman
2022-07-12  3:26 ` Bagas Sanjaya
2022-07-12  8:13   ` Bagas Sanjaya

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=20220711090605.192560383@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=aelior@marvell.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=naresh.kamboju@linaro.org \
    --cc=sashal@kernel.org \
    --cc=smalin@marvell.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