public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "Steven Rostedt (VMware)" <rostedt@goodmis.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Tom Zanussi <zanussi@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.13 095/127] tracing / histogram: Fix NULL pointer dereference on strcmp() on NULL event name
Date: Tue, 24 Aug 2021 12:55:35 -0400	[thread overview]
Message-ID: <20210824165607.709387-96-sashal@kernel.org> (raw)
In-Reply-To: <20210824165607.709387-1-sashal@kernel.org>

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

[ Upstream commit 5acce0bff2a0420ce87d4591daeb867f47d552c2 ]

The following commands:

 # echo 'read_max u64 size;' > synthetic_events
 # echo 'hist:keys=common_pid:count=count:onmax($count).trace(read_max,count)' > events/syscalls/sys_enter_read/trigger

Causes:

 BUG: kernel NULL pointer dereference, address: 0000000000000000
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page
 PGD 0 P4D 0
 Oops: 0000 [#1] PREEMPT SMP
 CPU: 4 PID: 1763 Comm: bash Not tainted 5.14.0-rc2-test+ #155
 Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01
v03.03 07/14/2016
 RIP: 0010:strcmp+0xc/0x20
 Code: 75 f7 31 c0 0f b6 0c 06 88 0c 02 48 83 c0 01 84 c9 75 f1 4c 89 c0
c3 0f 1f 80 00 00 00 00 31 c0 eb 08 48 83 c0 01 84 d2 74 0f <0f> b6 14 07
3a 14 06 74 ef 19 c0 83 c8 01 c3 31 c0 c3 66 90 48 89
 RSP: 0018:ffffb5fdc0963ca8 EFLAGS: 00010246
 RAX: 0000000000000000 RBX: ffffffffb3a4e040 RCX: 0000000000000000
 RDX: 0000000000000000 RSI: ffff9714c0d0b640 RDI: 0000000000000000
 RBP: 0000000000000000 R08: 00000022986b7cde R09: ffffffffb3a4dff8
 R10: 0000000000000000 R11: 0000000000000000 R12: ffff9714c50603c8
 R13: 0000000000000000 R14: ffff97143fdf9e48 R15: ffff9714c01a2210
 FS:  00007f1fa6785740(0000) GS:ffff9714da400000(0000)
knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 0000000000000000 CR3: 000000002d863004 CR4: 00000000001706e0
 Call Trace:
  __find_event_file+0x4e/0x80
  action_create+0x6b7/0xeb0
  ? kstrdup+0x44/0x60
  event_hist_trigger_func+0x1a07/0x2130
  trigger_process_regex+0xbd/0x110
  event_trigger_write+0x71/0xd0
  vfs_write+0xe9/0x310
  ksys_write+0x68/0xe0
  do_syscall_64+0x3b/0x90
  entry_SYSCALL_64_after_hwframe+0x44/0xae
 RIP: 0033:0x7f1fa6879e87

The problem was the "trace(read_max,count)" where the "count" should be
"$count" as "onmax()" only handles variables (although it really should be
able to figure out that "count" is a field of sys_enter_read). But there's
a path that does not find the variable and ends up passing a NULL for the
event, which ends up getting passed to "strcmp()".

Add a check for NULL to return and error on the command with:

 # cat error_log
  hist:syscalls:sys_enter_read: error: Couldn't create or find variable
  Command: hist:keys=common_pid:count=count:onmax($count).trace(read_max,count)
                                ^
Link: https://lkml.kernel.org/r/20210808003011.4037f8d0@oasis.local.home

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: stable@vger.kernel.org
Fixes: 50450603ec9cb tracing: Add 'onmax' hist trigger action support
Reviewed-by: Tom Zanussi <zanussi@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/trace/trace_events_hist.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index c59793ffd59c..4a2e1d360437 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -3430,6 +3430,8 @@ trace_action_create_field_var(struct hist_trigger_data *hist_data,
 			event = data->match_data.event;
 		}
 
+		if (!event)
+			goto free;
 		/*
 		 * At this point, we're looking at a field on another
 		 * event.  Because we can't modify a hist trigger on
-- 
2.30.2


  parent reply	other threads:[~2021-08-24 17:02 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-24 16:54 [PATCH 5.13 000/127] 5.13.13-rc1 review Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 001/127] mtd: cfi_cmdset_0002: fix crash when erasing/writing AMD cards Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 002/127] io_uring: Use WRITE_ONCE() when writing to sq_flags Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 003/127] USB: core: Avoid WARNings for 0-length descriptor requests Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 004/127] USB: core: Fix incorrect pipe calculation in do_proc_control() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 005/127] dmaengine: xilinx_dma: Fix read-after-free bug when terminating transfers Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 006/127] dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 007/127] spi: spi-mux: Add module info needed for autoloading Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 008/127] net: xfrm: Fix end of loop tests for list_for_each_entry Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 009/127] ARM: dts: am43x-epos-evm: Reduce i2c0 bus speed for tps65218 Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 010/127] dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 011/127] scsi: pm80xx: Fix TMF task completion race condition Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 012/127] scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 013/127] scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 014/127] scsi: core: Avoid printing an error if target_alloc() returns -ENXIO Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 015/127] scsi: core: Fix capacity set to zero after offlinining device Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 016/127] drm/amdgpu: fix the doorbell missing when in CGPG issue for renoir Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 017/127] qede: fix crash in rmmod qede while automatic debug collection Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 018/127] ARM: dts: nomadik: Fix up interrupt controller node names Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 019/127] net: usb: pegasus: Check the return value of get_geristers() and friends; Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 020/127] net: usb: lan78xx: don't modify phy_device state concurrently Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 021/127] perf/x86: Fix out of bound MSR access Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 022/127] spi: cadence-quadspi: Fix check condition for DTR ops Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 023/127] drm/amd/display: Fix Dynamic bpp issue with 8K30 with Navi 1X Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 024/127] drm/amd/display: workaround for hard hang on HPD on native DP Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 025/127] kyber: make trace_block_rq call consistent with documentation Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 026/127] mtd: rawnand: Add a check in of_get_nand_secure_regions() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 027/127] arm64: dts: qcom: c630: fix correct powerdown pin for WSA881x Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 028/127] arm64: dts: qcom: msm8992-bullhead: Remove PSCI Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 029/127] arm64: dts: qcom: msm8992-bullhead: Fix cont_splash_mem mapping Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 030/127] iommu: Check if group is NULL before remove device Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 031/127] cpufreq: arm_scmi: Fix error path when allocation failed Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 032/127] arm64: dts: qcom: msm8994-angler: Disable cont_splash_mem Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 033/127] arm64: dts: qcom: sdm845-oneplus: fix reserved-mem Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 034/127] mt76: fix enum type mismatch Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 035/127] mtd: rawnand: Fix probe failure due to of_get_nand_secure_regions() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 036/127] soc: fsl: qe: convert QE interrupt controller to platform_device Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 037/127] cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 038/127] dccp: add do-while-0 stubs for dccp_pr_debug macros Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 039/127] virtio: Protect vqs list access Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 040/127] vhost-vdpa: Fix integer overflow in vhost_vdpa_process_iotlb_update() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 041/127] bus: ti-sysc: Fix error handling for sysc_check_active_timer() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 042/127] vhost: Fix the calculation in vhost_overflow() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 043/127] vdpa_sim: Fix return value check for vdpa_alloc_device() Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 044/127] vp_vdpa: " Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 045/127] vDPA/ifcvf: " Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 046/127] vdpa/mlx5: Avoid destroying MR on empty iotlb Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 047/127] vdpa/mlx5: Fix queue type selection logic Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 048/127] drm/mediatek: Add AAL output size configuration Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 049/127] drm/mediatek: Add component_del in OVL and COLOR remove function Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 050/127] bpf: Clear zext_dst of dead insns Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 051/127] bnxt: don't lock the tx queue from napi poll Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 052/127] bnxt: disable napi before canceling DIM Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 053/127] bnxt: make sure xmit_more + errors does not miss doorbells Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 054/127] bnxt: count Tx drops Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 055/127] soc: fsl: qe: fix static checker warning Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 056/127] net: 6pack: fix slab-out-of-bounds in decode_data Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 057/127] ptp_pch: Restore dependency on PCI Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 058/127] bnxt_en: Disable aRFS if running on 212 firmware Sasha Levin
2021-08-24 16:54 ` [PATCH 5.13 059/127] bnxt_en: Add missing DMA memory barriers Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 060/127] vrf: Reset skb conntrack connection on VRF rcv Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 061/127] virtio-net: use NETIF_F_GRO_HW instead of NETIF_F_LRO Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 062/127] mac80211: fix locking in ieee80211_restart_work() Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 063/127] net: qlcnic: add missed unlock in qlcnic_83xx_flash_read32 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 064/127] ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 065/127] sch_cake: fix srchost/dsthost hashing mode Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 066/127] net: mdio-mux: Don't ignore memory allocation errors Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 067/127] net: mdio-mux: Handle -EPROBE_DEFER correctly Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 068/127] ovs: clear skb->tstamp in forwarding path Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 069/127] net: usb: asix: refactor asix_read_phy_addr() and handle errors on return Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 070/127] iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 071/127] drm/i915: Skip display interruption setup when display is not available Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 072/127] drm/i915: Tweaked Wa_14010685332 for all PCHs Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 073/127] pipe: avoid unnecessary EPOLLET wakeups under normal loads Sasha Levin
2021-08-24 17:00   ` Linus Torvalds
2021-08-24 17:35     ` Sasha Levin
2021-08-24 18:01       ` Linus Torvalds
2021-08-25 18:08     ` Linus Torvalds
2021-08-24 16:55 ` [PATCH 5.13 074/127] drm/amd/display: Use DCN30 watermark calc for DCN301 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 075/127] net: mscc: ocelot: allow forwarding from bridge ports to the tag_8021q CPU port Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 076/127] mptcp: fix memory leak on address flush Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 077/127] mptcp: full fully established support after ADD_ADDR Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 078/127] r8152: fix writing USB_BP2_EN Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 079/127] r8152: fix the maximum number of PLA bp for RTL8153C Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 080/127] PCI/sysfs: Use correct variable for the legacy_mem sysfs object Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 081/127] i40e: Fix ATR queue selection Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 082/127] iavf: Fix ping is lost after untrusted VF had tried to change MAC Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 083/127] Revert "flow_offload: action should not be NULL when it is referenced" Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 084/127] net: dpaa2-switch: disable the control interface on error path Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 085/127] iommu/dma: Fix leak in non-contiguous API Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 086/127] mmc: dw_mmc: Fix hang on data CRC error Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 087/127] mmc: mmci: stm32: Check when the voltage switch procedure should be done Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 088/127] mmc: sdhci-msm: Update the software timeout value for sdhc Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 089/127] clk: imx6q: fix uart earlycon unwork Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 090/127] clk: qcom: gdsc: Ensure regulator init state matches GDSC state Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 091/127] arm64: clean vdso & vdso32 files Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 092/127] cfi: Use rcu_read_{un}lock_sched_notrace Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 093/127] ALSA: hda - fix the 'Capture Switch' value change notifications Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 094/127] tracing: define needed config DYNAMIC_FTRACE_WITH_ARGS Sasha Levin
2021-08-24 16:55 ` Sasha Levin [this message]
2021-08-24 16:55 ` [PATCH 5.13 096/127] slimbus: messaging: start transaction ids from 1 instead of zero Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 097/127] slimbus: messaging: check for valid transaction id Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 098/127] slimbus: ngd: set correct device for pm Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 099/127] slimbus: ngd: reset dma setup during runtime pm Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 100/127] ipack: tpci200: fix many double free issues in tpci200_pci_probe Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 101/127] ipack: tpci200: fix memory leak in the tpci200_register Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 102/127] io_uring: fix code style problems Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 103/127] io_uring: only assign io_uring_enter() SQPOLL error in actual error case Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 104/127] ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9510 laptop Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 105/127] opp: Drop empty-table checks from _put functions Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 106/127] mmc: sdhci-iproc: Cap min clock frequency on BCM2711 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 107/127] mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN " Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 108/127] btrfs: prevent rename2 from exchanging a subvol with a directory from different parents Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 109/127] tracing: Apply trace filters on all output channels Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 110/127] ALSA: hda/via: Apply runtime PM workaround for ASUS B23E Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 111/127] s390/pci: fix use after free of zpci_dev Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 112/127] usb: typec: tcpm: Fix VDMs sometimes not being forwarded to alt-mode drivers Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 113/127] powerpc/32s: Move setup_{kuep/kuap}() into {kuep/kuap}.c Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 114/127] powerpc/32s: Refactor update of user segment registers Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 115/127] powerpc/32s: Fix random crashes by adding isync() after locking/unlocking KUEP Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 116/127] PCI: Increase D3 delay for AMD Renoir/Cezanne XHCI Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 117/127] ALSA: hda/realtek: Limit mic boost on HP ProBook 445 G8 Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 118/127] ASoC: intel: atom: Fix breakage for PCM buffer address setup Sasha Levin
2021-08-24 16:55 ` [PATCH 5.13 119/127] riscv: Fix a number of free'd resources in init_resources() Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 120/127] mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 121/127] mm,hwpoison: make get_hwpoison_page() call get_any_page() Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 122/127] mm/hwpoison: retry with shake_page() for unhandlable pages Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 123/127] kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 124/127] hugetlb: don't pass page cache pages to restore_reserve_on_error Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 125/127] io_uring: fix xa_alloc_cycle() error return value check Sasha Levin
2021-08-24 16:56 ` [PATCH 5.13 126/127] fs: warn about impending deprecation of mandatory locks Sasha Levin
2021-09-02 13:20   ` Naresh Kamboju
2021-09-02 13:27     ` Jeff Layton
2021-09-02 13:39       ` Naresh Kamboju
2021-09-02 13:31     ` Greg Kroah-Hartman
2021-09-02 13:38       ` Naresh Kamboju
2021-08-24 16:56 ` [PATCH 5.13 127/127] Linux 5.13.13-rc1 Sasha Levin
2021-08-25 16:21 ` [PATCH 5.13 000/127] 5.13.13-rc1 review Daniel Díaz
2021-08-26 12:49   ` Sasha Levin
2021-08-25 20:24 ` Guenter Roeck
2021-08-26 12:50   ` Sasha Levin
2021-08-25 22:34 ` Shuah Khan
2021-08-26 12:50   ` Sasha Levin

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=20210824165607.709387-96-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=stable@vger.kernel.org \
    --cc=zanussi@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