From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Ard Biesheuvel <ardb@kernel.org>,
Brian Gerst <brgerst@gmail.com>,
"Borislav Petkov (AMD)" <bp@alien8.de>,
Nathan Chancellor <nathan@kernel.org>
Subject: [PATCH 6.11 041/107] x86/stackprotector: Work around strict Clang TLS symbol requirements
Date: Wed, 20 Nov 2024 13:56:16 +0100 [thread overview]
Message-ID: <20241120125630.602084856@linuxfoundation.org> (raw)
In-Reply-To: <20241120125629.681745345@linuxfoundation.org>
6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ard Biesheuvel <ardb@kernel.org>
commit 577c134d311b9b94598d7a0c86be1f431f823003 upstream.
GCC and Clang both implement stack protector support based on Thread Local
Storage (TLS) variables, and this is used in the kernel to implement per-task
stack cookies, by copying a task's stack cookie into a per-CPU variable every
time it is scheduled in.
Both now also implement -mstack-protector-guard-symbol=, which permits the TLS
variable to be specified directly. This is useful because it will allow to
move away from using a fixed offset of 40 bytes into the per-CPU area on
x86_64, which requires a lot of special handling in the per-CPU code and the
runtime relocation code.
However, while GCC is rather lax in its implementation of this command line
option, Clang actually requires that the provided symbol name refers to a TLS
variable (i.e., one declared with __thread), although it also permits the
variable to be undeclared entirely, in which case it will use an implicit
declaration of the right type.
The upshot of this is that Clang will emit the correct references to the stack
cookie variable in most cases, e.g.,
10d: 64 a1 00 00 00 00 mov %fs:0x0,%eax
10f: R_386_32 __stack_chk_guard
However, if a non-TLS definition of the symbol in question is visible in the
same compilation unit (which amounts to the whole of vmlinux if LTO is
enabled), it will drop the per-CPU prefix and emit a load from a bogus
address.
Work around this by using a symbol name that never occurs in C code, and emit
it as an alias in the linker script.
Fixes: 3fb0fdb3bbe7 ("x86/stackprotector/32: Make the canary into a regular percpu variable")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Cc: stable@vger.kernel.org
Link: https://github.com/ClangBuiltLinux/linux/issues/1854
Link: https://lore.kernel.org/r/20241105155801.1779119-2-brgerst@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/Makefile | 5 +++--
arch/x86/entry/entry.S | 16 ++++++++++++++++
arch/x86/include/asm/asm-prototypes.h | 3 +++
arch/x86/kernel/cpu/common.c | 2 ++
arch/x86/kernel/vmlinux.lds.S | 3 +++
5 files changed, 27 insertions(+), 2 deletions(-)
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -138,9 +138,10 @@ ifeq ($(CONFIG_X86_32),y)
ifeq ($(CONFIG_STACKPROTECTOR),y)
ifeq ($(CONFIG_SMP),y)
- KBUILD_CFLAGS += -mstack-protector-guard-reg=fs -mstack-protector-guard-symbol=__stack_chk_guard
+ KBUILD_CFLAGS += -mstack-protector-guard-reg=fs \
+ -mstack-protector-guard-symbol=__ref_stack_chk_guard
else
- KBUILD_CFLAGS += -mstack-protector-guard=global
+ KBUILD_CFLAGS += -mstack-protector-guard=global
endif
endif
else
--- a/arch/x86/entry/entry.S
+++ b/arch/x86/entry/entry.S
@@ -51,3 +51,19 @@ EXPORT_SYMBOL_GPL(mds_verw_sel);
.popsection
THUNK warn_thunk_thunk, __warn_thunk
+
+#ifndef CONFIG_X86_64
+/*
+ * Clang's implementation of TLS stack cookies requires the variable in
+ * question to be a TLS variable. If the variable happens to be defined as an
+ * ordinary variable with external linkage in the same compilation unit (which
+ * amounts to the whole of vmlinux with LTO enabled), Clang will drop the
+ * segment register prefix from the references, resulting in broken code. Work
+ * around this by avoiding the symbol used in -mstack-protector-guard-symbol=
+ * entirely in the C code, and use an alias emitted by the linker script
+ * instead.
+ */
+#ifdef CONFIG_STACKPROTECTOR
+EXPORT_SYMBOL(__ref_stack_chk_guard);
+#endif
+#endif
--- a/arch/x86/include/asm/asm-prototypes.h
+++ b/arch/x86/include/asm/asm-prototypes.h
@@ -20,3 +20,6 @@
extern void cmpxchg8b_emu(void);
#endif
+#if defined(__GENKSYMS__) && defined(CONFIG_STACKPROTECTOR)
+extern unsigned long __ref_stack_chk_guard;
+#endif
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -2084,8 +2084,10 @@ void syscall_init(void)
#ifdef CONFIG_STACKPROTECTOR
DEFINE_PER_CPU(unsigned long, __stack_chk_guard);
+#ifndef CONFIG_SMP
EXPORT_PER_CPU_SYMBOL(__stack_chk_guard);
#endif
+#endif
#endif /* CONFIG_X86_64 */
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -492,6 +492,9 @@ SECTIONS
. = ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE),
"kernel image bigger than KERNEL_IMAGE_SIZE");
+/* needed for Clang - see arch/x86/entry/entry.S */
+PROVIDE(__ref_stack_chk_guard = __stack_chk_guard);
+
#ifdef CONFIG_X86_64
/*
* Per-cpu symbols which need to be offset from __per_cpu_load
next prev parent reply other threads:[~2024-11-20 12:59 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-20 12:55 [PATCH 6.11 000/107] 6.11.10-rc1 review Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 001/107] netlink: terminate outstanding dump on socket close Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 002/107] sctp: fix possible UAF in sctp_v6_available() Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 003/107] net: vertexcom: mse102x: Fix tx_bytes calculation Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 004/107] drm/rockchip: vop: Fix a dereferenced before check warning Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 005/107] net: fix data-races around sk->sk_forward_alloc Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 006/107] mptcp: error out earlier on disconnect Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 007/107] mptcp: cope racing subflow creation in mptcp_rcv_space_adjust Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 008/107] net/mlx5: Fix msix vectors to respect platform limit Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 009/107] net/mlx5: fs, lock FTE when checking if active Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 010/107] net/mlx5e: kTLS, Fix incorrect page refcounting Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 011/107] net/mlx5e: clear xdp features on non-uplink representors Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 012/107] net/mlx5e: CT: Fix null-ptr-deref in add rule err flow Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 013/107] net/mlx5e: Disable loopback self-test on multi-PF netdev Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 014/107] drm/i915/gsc: ARL-H and ARL-U need a newer GSC FW Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 015/107] virtio/vsock: Fix accept_queue memory leak Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 016/107] vsock: Fix sk_error_queue " Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 017/107] virtio/vsock: Improve MSG_ZEROCOPY error handling Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 018/107] Revert "RDMA/core: Fix ENODEV error for iWARP test over vlan" Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 019/107] drivers: perf: Fix wrong put_cpu() placement Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 020/107] Bluetooth: hci_core: Fix calling mgmt_device_connected Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 021/107] Bluetooth: btintel: Direct exception event to bluetooth stack Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 022/107] drm/panthor: Fix handling of partial GPU mapping of BOs Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 023/107] net: sched: cls_u32: Fix u32s systematic failure to free IDR entries for hnodes Greg Kroah-Hartman
2024-11-20 12:55 ` [PATCH 6.11 024/107] net: phylink: ensure PHY momentary link-fails are handled Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 025/107] samples: pktgen: correct dev to DEV Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 026/107] net: stmmac: dwmac-mediatek: Fix inverted handling of mediatek,mac-wol Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 027/107] net: Make copy_safe_from_sockptr() match documentation Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 028/107] stmmac: dwmac-intel-plat: fix call balance of tx_clk handling routines Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 029/107] drm/vmwgfx: avoid null_ptr_deref in vmw_framebuffer_surface_create_handle Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 030/107] net: ti: icssg-prueth: Fix 1 PPS sync Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 031/107] bonding: add ns target multicast address to slave device Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 032/107] ARM: 9419/1: mm: Fix kernel memory mapping for xip kernels Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 033/107] ARM: fix cacheflush with PAN Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 034/107] tools/mm: fix compile error Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 035/107] Revert "drm/amd/pm: correct the workload setting" Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 036/107] drm/amd/display: Run idle optimizations at end of vblank handler Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 037/107] drm/amd/display: Change some variable name of psr Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 038/107] drm/amd/display: Fix Panel Replay not update screen correctly Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 039/107] x86/CPU/AMD: Clear virtualized VMLOAD/VMSAVE on Zen4 client Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 040/107] x86/mm: Fix a kdump kernel failure on SME system when CONFIG_IMA_KEXEC=y Greg Kroah-Hartman
2024-11-20 12:56 ` Greg Kroah-Hartman [this message]
2024-11-20 12:56 ` [PATCH 6.11 042/107] mm: fix NULL pointer dereference in alloc_pages_bulk_noprof Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 043/107] ocfs2: uncache inode which has failed entering the group Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 044/107] crash, powerpc: default to CRASH_DUMP=n on PPC_BOOK3S_32 Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 045/107] sched/task_stack: fix object_is_on_stack() for KASAN tagged pointers Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 046/107] fs/proc/task_mmu: prevent integer overflow in pagemap_scan_get_args() Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 047/107] mm/mremap: fix address wraparound in move_page_tables() Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 048/107] mm: revert "mm: shmem: fix data-race in shmem_getattr()" Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 049/107] vdpa: solidrun: Fix UB bug with devres Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 050/107] vdpa/mlx5: Fix PA offset with unaligned starting iotlb map Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 051/107] vp_vdpa: fix id_table array not null terminated error Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 052/107] ima: fix buffer overrun in ima_eventdigest_init_common Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 053/107] evm: stop avoidably reading i_writecount in evm_file_release Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 054/107] KVM: selftests: Disable strict aliasing Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 055/107] KVM: nVMX: Treat vpid01 as current if L2 is active, but with VPID disabled Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 056/107] KVM: x86: Unconditionally set irr_pending when updating APICv state Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 057/107] KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 058/107] nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 059/107] nommu: pass NULL argument to vma_iter_prealloc() Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 060/107] tpm: Disable TPM on tpm2_create_primary() failure Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 061/107] mm: page_alloc: move mlocked flag clearance into free_pages_prepare() Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 062/107] ALSA: hda/realtek - Fixed Clevo platform headset Mic issue Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 063/107] ALSA: hda/realtek - update set GPIO3 to default for Thinkpad with ALC1318 Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 064/107] ALSA: hda/realtek: fix mute/micmute LEDs for a HP EliteBook 645 G10 Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 065/107] mptcp: update local address flags when setting it Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 066/107] mptcp: hold pm lock when deleting entry Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 067/107] mptcp: pm: use _rcu variant under rcu_read_lock Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 068/107] ocfs2: fix UBSAN warning in ocfs2_verify_volume() Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 069/107] nilfs2: fix null-ptr-deref in block_dirty_buffer tracepoint Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 070/107] LoongArch: Fix early_numa_add_cpu() usage for FDT systems Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 071/107] LoongArch: Disable KASAN if PGDIR_SIZE is too large for cpu_vabits Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 072/107] LoongArch: Add WriteCombine shadow mapping in KASAN Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 073/107] LoongArch: Fix AP booting issue in VM mode Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 074/107] LoongArch: Make KASAN work with 5-level page-tables Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 075/107] selftests: hugetlb_dio: fixup check for initial conditions to skip in the start Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 076/107] Revert "mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K" Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 077/107] Revert "drm/amd/display: parse umc_info or vram_info based on ASIC" Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 078/107] btrfs: fix incorrect comparison for delayed refs Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 079/107] mailbox: qcom-cpucp: Mark the irq with IRQF_NO_SUSPEND flag Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 080/107] firmware: arm_scmi: Skip opp duplicates Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 081/107] firmware: arm_scmi: Report duplicate opps as firmware bugs Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 082/107] mmc: sunxi-mmc: Fix A100 compatible description Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 083/107] drm/bridge: tc358768: Fix DSI command tx Greg Kroah-Hartman
2024-11-20 12:56 ` [PATCH 6.11 084/107] drm/xe: handle flat ccs during hibernation on igpu Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 085/107] drm/xe/oa: Fix "Missing outer runtime PM protection" warning Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 086/107] pmdomain: imx93-blk-ctrl: correct remove path Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 087/107] pmdomain: arm: Use FLAG_DEV_NAME_FW to ensure unique names Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 088/107] pmdomain: core: Add GENPD_FLAG_DEV_NAME_FW flag Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 089/107] nouveau: fw: sync dma after setup is called Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 090/107] nouveau: handle EBUSY and EAGAIN for GSP aux errors Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 091/107] nouveau/dp: handle retries for AUX CH transfers with GSP Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 092/107] drm/amd: Fix initialization mistake for NBIO 7.7.0 Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 093/107] drm/amdgpu: fix check in gmc_v9_0_get_vm_pte() Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 094/107] drm/amdgpu: Fix video caps for H264 and HEVC encode maximum size Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 095/107] drm/amd/pm: print pp_dpm_mclk in ascending order on SMU v14.0.0 Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 096/107] drm/amdgpu: enable GTT fallback handling for dGPUs only Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 097/107] drm/amdgpu/mes12: correct kiq unmap latency Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 098/107] drm/amd/display: Adjust VSDB parser for replay feature Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 099/107] drm/amd/display: Require minimum VBlank size for stutter optimization Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 100/107] drm/amd/display: Handle dml allocation failure to avoid crash Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 101/107] drm/amd/display: Fix failure to read vram info due to static BP_RESULT Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 102/107] mm: refactor arch_calc_vm_flag_bits() and arm64 MTE handling Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 103/107] drm/xe: Restore system memory GGTT mappings Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 104/107] drm/xe: improve hibernation on igpu Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 105/107] lib/buildid: Fix build ID parsing logic Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 106/107] net: sched: u32: Add test case for systematic hnode IDR leaks Greg Kroah-Hartman
2024-11-20 12:57 ` [PATCH 6.11 107/107] media: dvbdev: fix the logic when DVB_DYNAMIC_MINORS is not set Greg Kroah-Hartman
2024-11-20 16:45 ` [PATCH 6.11 000/107] 6.11.10-rc1 review Mark Brown
2024-11-20 17:02 ` SeongJae Park
2024-11-20 19:18 ` Florian Fainelli
2024-11-20 23:20 ` Shuah Khan
2024-11-21 4:13 ` Ron Economos
2024-11-21 9:32 ` Pavel Machek
2024-11-21 11:38 ` Naresh Kamboju
2024-11-22 0:05 ` Justin Forbes
2024-11-22 6:41 ` Muhammad Usama Anjum
2024-11-22 8:06 ` Jon Hunter
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=20241120125630.602084856@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ardb@kernel.org \
--cc=bp@alien8.de \
--cc=brgerst@gmail.com \
--cc=nathan@kernel.org \
--cc=patches@lists.linux.dev \
--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).