From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
Daniel Bristot de Oliveira <bristot@redhat.com>,
"Steven Rostedt (VMware)" <rostedt@goodmis.org>,
Aaron Lu <aaron.lu@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Baoquan He <bhe@redhat.com>, Borislav Petkov <bp@alien8.de>,
Claudio Fontana <claudio.fontana@huawei.com>,
Denys Vlasenko <dvlasenk@redhat.com>,
Dou Liyang <douly.fnst@cn.fujitsu.com>,
Gu Zheng <guz.fnst@cn.fujitsu.com>,
Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Nicolai Stange <nicstange@gmail.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Tony Luck <tony.luck@intel.com>,
Wanpeng Li <wanpeng.li@hotmail.com>,
linux-edac@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
Sasha Levin <alexander.levin@verizon.com>
Subject: [PATCH 4.9 24/72] x86/irq, trace: Add __irq_entry annotation to x86s platform IRQ handlers
Date: Sun, 19 Nov 2017 15:38:28 +0100 [thread overview]
Message-ID: <20171119143533.372826559@linuxfoundation.org> (raw)
In-Reply-To: <20171119143532.376035495@linuxfoundation.org>
4.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Daniel Bristot de Oliveira <bristot@redhat.com>
[ Upstream commit c4158ff536439619fa342810cc575ae2c809f03f ]
This patch adds the __irq_entry annotation to the default x86
platform IRQ handlers. ftrace's function_graph tracer uses the
__irq_entry annotation to notify the entry and return of IRQ
handlers.
For example, before the patch:
354549.667252 | 3) d..1 | default_idle_call() {
354549.667252 | 3) d..1 | arch_cpu_idle() {
354549.667253 | 3) d..1 | default_idle() {
354549.696886 | 3) d..1 | smp_trace_reschedule_interrupt() {
354549.696886 | 3) d..1 | irq_enter() {
354549.696886 | 3) d..1 | rcu_irq_enter() {
After the patch:
366416.254476 | 3) d..1 | arch_cpu_idle() {
366416.254476 | 3) d..1 | default_idle() {
366416.261566 | 3) d..1 ==========> |
366416.261566 | 3) d..1 | smp_trace_reschedule_interrupt() {
366416.261566 | 3) d..1 | irq_enter() {
366416.261566 | 3) d..1 | rcu_irq_enter() {
KASAN also uses this annotation. The smp_apic_timer_interrupt()
was already annotated.
Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Aaron Lu <aaron.lu@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Baoquan He <bhe@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Claudio Fontana <claudio.fontana@huawei.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
Cc: Gu Zheng <guz.fnst@cn.fujitsu.com>
Cc: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nicolai Stange <nicstange@gmail.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Wanpeng Li <wanpeng.li@hotmail.com>
Cc: linux-edac@vger.kernel.org
Link: http://lkml.kernel.org/r/059fdf437c2f0c09b13c18c8fe4e69999d3ffe69.1483528431.git.bristot@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/kernel/apic/apic.c | 8 ++++----
arch/x86/kernel/apic/vector.c | 2 +-
arch/x86/kernel/cpu/mcheck/mce_amd.c | 4 ++--
arch/x86/kernel/cpu/mcheck/therm_throt.c | 6 ++++--
arch/x86/kernel/cpu/mcheck/threshold.c | 4 ++--
arch/x86/kernel/irq.c | 4 ++--
arch/x86/kernel/irq_work.c | 5 +++--
arch/x86/kernel/smp.c | 15 +++++++++------
8 files changed, 27 insertions(+), 21 deletions(-)
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1863,14 +1863,14 @@ static void __smp_spurious_interrupt(u8
"should never happen.\n", vector, smp_processor_id());
}
-__visible void smp_spurious_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_spurious_interrupt(struct pt_regs *regs)
{
entering_irq();
__smp_spurious_interrupt(~regs->orig_ax);
exiting_irq();
}
-__visible void smp_trace_spurious_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_trace_spurious_interrupt(struct pt_regs *regs)
{
u8 vector = ~regs->orig_ax;
@@ -1921,14 +1921,14 @@ static void __smp_error_interrupt(struct
}
-__visible void smp_error_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_error_interrupt(struct pt_regs *regs)
{
entering_irq();
__smp_error_interrupt(regs);
exiting_irq();
}
-__visible void smp_trace_error_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_trace_error_interrupt(struct pt_regs *regs)
{
entering_irq();
trace_error_apic_entry(ERROR_APIC_VECTOR);
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -559,7 +559,7 @@ void send_cleanup_vector(struct irq_cfg
__send_cleanup_vector(data);
}
-asmlinkage __visible void smp_irq_move_cleanup_interrupt(void)
+asmlinkage __visible void __irq_entry smp_irq_move_cleanup_interrupt(void)
{
unsigned vector, me;
--- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
@@ -593,14 +593,14 @@ static inline void __smp_deferred_error_
deferred_error_int_vector();
}
-asmlinkage __visible void smp_deferred_error_interrupt(void)
+asmlinkage __visible void __irq_entry smp_deferred_error_interrupt(void)
{
entering_irq();
__smp_deferred_error_interrupt();
exiting_ack_irq();
}
-asmlinkage __visible void smp_trace_deferred_error_interrupt(void)
+asmlinkage __visible void __irq_entry smp_trace_deferred_error_interrupt(void)
{
entering_irq();
trace_deferred_error_apic_entry(DEFERRED_ERROR_VECTOR);
--- a/arch/x86/kernel/cpu/mcheck/therm_throt.c
+++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c
@@ -431,14 +431,16 @@ static inline void __smp_thermal_interru
smp_thermal_vector();
}
-asmlinkage __visible void smp_thermal_interrupt(struct pt_regs *regs)
+asmlinkage __visible void __irq_entry
+smp_thermal_interrupt(struct pt_regs *regs)
{
entering_irq();
__smp_thermal_interrupt();
exiting_ack_irq();
}
-asmlinkage __visible void smp_trace_thermal_interrupt(struct pt_regs *regs)
+asmlinkage __visible void __irq_entry
+smp_trace_thermal_interrupt(struct pt_regs *regs)
{
entering_irq();
trace_thermal_apic_entry(THERMAL_APIC_VECTOR);
--- a/arch/x86/kernel/cpu/mcheck/threshold.c
+++ b/arch/x86/kernel/cpu/mcheck/threshold.c
@@ -24,14 +24,14 @@ static inline void __smp_threshold_inter
mce_threshold_vector();
}
-asmlinkage __visible void smp_threshold_interrupt(void)
+asmlinkage __visible void __irq_entry smp_threshold_interrupt(void)
{
entering_irq();
__smp_threshold_interrupt();
exiting_ack_irq();
}
-asmlinkage __visible void smp_trace_threshold_interrupt(void)
+asmlinkage __visible void __irq_entry smp_trace_threshold_interrupt(void)
{
entering_irq();
trace_threshold_apic_entry(THRESHOLD_APIC_VECTOR);
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -265,7 +265,7 @@ void __smp_x86_platform_ipi(void)
x86_platform_ipi_callback();
}
-__visible void smp_x86_platform_ipi(struct pt_regs *regs)
+__visible void __irq_entry smp_x86_platform_ipi(struct pt_regs *regs)
{
struct pt_regs *old_regs = set_irq_regs(regs);
@@ -316,7 +316,7 @@ __visible void smp_kvm_posted_intr_wakeu
}
#endif
-__visible void smp_trace_x86_platform_ipi(struct pt_regs *regs)
+__visible void __irq_entry smp_trace_x86_platform_ipi(struct pt_regs *regs)
{
struct pt_regs *old_regs = set_irq_regs(regs);
--- a/arch/x86/kernel/irq_work.c
+++ b/arch/x86/kernel/irq_work.c
@@ -9,6 +9,7 @@
#include <linux/hardirq.h>
#include <asm/apic.h>
#include <asm/trace/irq_vectors.h>
+#include <linux/interrupt.h>
static inline void __smp_irq_work_interrupt(void)
{
@@ -16,14 +17,14 @@ static inline void __smp_irq_work_interr
irq_work_run();
}
-__visible void smp_irq_work_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_irq_work_interrupt(struct pt_regs *regs)
{
ipi_entering_ack_irq();
__smp_irq_work_interrupt();
exiting_irq();
}
-__visible void smp_trace_irq_work_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_trace_irq_work_interrupt(struct pt_regs *regs)
{
ipi_entering_ack_irq();
trace_irq_work_entry(IRQ_WORK_VECTOR);
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -259,7 +259,7 @@ static inline void __smp_reschedule_inte
scheduler_ipi();
}
-__visible void smp_reschedule_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_reschedule_interrupt(struct pt_regs *regs)
{
irq_enter();
ack_APIC_irq();
@@ -270,7 +270,7 @@ __visible void smp_reschedule_interrupt(
*/
}
-__visible void smp_trace_reschedule_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_trace_reschedule_interrupt(struct pt_regs *regs)
{
/*
* Need to call irq_enter() before calling the trace point.
@@ -294,14 +294,15 @@ static inline void __smp_call_function_i
inc_irq_stat(irq_call_count);
}
-__visible void smp_call_function_interrupt(struct pt_regs *regs)
+__visible void __irq_entry smp_call_function_interrupt(struct pt_regs *regs)
{
ipi_entering_ack_irq();
__smp_call_function_interrupt();
exiting_irq();
}
-__visible void smp_trace_call_function_interrupt(struct pt_regs *regs)
+__visible void __irq_entry
+smp_trace_call_function_interrupt(struct pt_regs *regs)
{
ipi_entering_ack_irq();
trace_call_function_entry(CALL_FUNCTION_VECTOR);
@@ -316,14 +317,16 @@ static inline void __smp_call_function_s
inc_irq_stat(irq_call_count);
}
-__visible void smp_call_function_single_interrupt(struct pt_regs *regs)
+__visible void __irq_entry
+smp_call_function_single_interrupt(struct pt_regs *regs)
{
ipi_entering_ack_irq();
__smp_call_function_single_interrupt();
exiting_irq();
}
-__visible void smp_trace_call_function_single_interrupt(struct pt_regs *regs)
+__visible void __irq_entry
+smp_trace_call_function_single_interrupt(struct pt_regs *regs)
{
ipi_entering_ack_irq();
trace_call_function_single_entry(CALL_FUNCTION_SINGLE_VECTOR);
next prev parent reply other threads:[~2017-11-19 14:38 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-19 14:38 [PATCH 4.9 00/72] 4.9.64-stable review Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 01/72] media: imon: Fix null-ptr-deref in imon_probe Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 02/72] media: dib0700: fix invalid dvb_detach argument Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 03/72] [PATCH -stable] arm: crypto: reduce priority of bit-sliced AES cipher Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 04/72] Bluetooth: btusb: fix QCA Rome suspend/resume Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 05/72] extcon: Remove potential problem when calling extcon_register_notifier() Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 06/72] extcon: palmas: Check the parent instance to prevent the NULL Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 07/72] fm10k: request reset when mbx->state changes Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 08/72] ARM: dts: Fix compatible for ti81xx uarts for 8250 Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 09/72] ARM: dts: Fix am335x and dm814x scm syscon to probe children Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 10/72] ARM: OMAP2+: Fix init for multiple quirks for the same SoC Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 11/72] ARM: dts: Fix omap3 off mode pull defines Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 12/72] ARM: dts: omap5-uevm: Allow bootloader to configure USB Ethernet MAC Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 13/72] ata: ATA_BMDMA should depend on HAS_DMA Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 14/72] ata: SATA_HIGHBANK " Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 15/72] ata: SATA_MV " Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 16/72] drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 17/72] igb: reset the PHY before reading the PHY ID Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 18/72] igb: close/suspend race in netif_device_detach Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 19/72] igb: Fix hw_dbg logging in igb_update_flash_i210 Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 20/72] scsi: ufs-qcom: Fix module autoload Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 21/72] scsi: ufs: add capability to keep auto bkops always enabled Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 22/72] tcp: provide timestamps for partial writes Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 23/72] staging: rtl8188eu: fix incorrect ERROR tags from logs Greg Kroah-Hartman
2017-11-19 14:38 ` Greg Kroah-Hartman [this message]
2017-11-19 14:38 ` [PATCH 4.9 25/72] scsi: lpfc: Add missing memory barrier Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 26/72] scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 27/72] scsi: lpfc: Correct host name in symbolic_name field Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 28/72] scsi: lpfc: Correct issue leading to oops during link reset Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 29/72] scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 30/72] rtc: rx8010: change lock mechanism Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 31/72] power: supply: axp288_fuel_gauge: Read 15 bit values 2 registers at a time Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 32/72] power: supply: axp288_fuel_gauge: Read 12 " Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 33/72] ALSA: vx: Dont try to update capture stream before running Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 34/72] ALSA: vx: Fix possible transfer overflow Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 35/72] drm/omap: panel-sony-acx565akm.c: Add MODULE_ALIAS Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 37/72] backlight: adp5520: Fix error handling in adp5520_bl_probe() Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 38/72] gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 39/72] ALSA: hda/realtek - Add new codec ID ALC299 Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 40/72] arm64: dts: NS2: reserve memory for Nitro firmware Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 41/72] ixgbe: Configure advertised speeds correctly for KR/KX backplane Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 42/72] ixgbe: fix AER error handling Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 43/72] ixgbe: handle close/suspend race with netif_device_detach/present Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 44/72] ixgbe: Fix reporting of 100Mb capability Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 45/72] ixgbe: Reduce I2C retry count on X550 devices Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 46/72] ixgbe: add mask for 64 RSS queues Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 47/72] ixgbe: do not disable FEC from the driver Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 48/72] staging: rtl8712: fixed little endian problem Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 49/72] staging: wilc1000: Fix endian sparse warning Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 50/72] staging: greybus: add host device function pointer checks Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 51/72] MIPS: End asm function prologue macros with .insn Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 52/72] MIPS: init: Ensure bootmem does not corrupt reserved memory Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 53/72] MIPS: init: Ensure reserved memory regions are not added to bootmem Greg Kroah-Hartman
2017-11-19 14:38 ` [PATCH 4.9 54/72] MIPS: traps: Ensure L1 & L2 ECC checking match for CM3 systems Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 56/72] Revert "crypto: xts - Add ECB dependency" Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 57/72] Revert "uapi: fix linux/rds.h userspace compilation errors" Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 58/72] uapi: fix linux/rds.h userspace compilation error Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 59/72] uapi: fix linux/rds.h userspace compilation errors Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 60/72] Revert "dt-bindings: Add vendor prefix for LEGO" Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 61/72] Revert "dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification" Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 62/72] crypto: dh - Dont permit p to be 0 Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 63/72] crypto: dh - Dont permit key or g size longer than p Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 64/72] USB: usbfs: compute urb->actual_length for isochronous Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 65/72] USB: Add delay-init quirk for Corsair K70 LUX keyboards Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 66/72] usb: gadget: f_fs: Fix use-after-free in ffs_free_inst Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 67/72] USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 68/72] USB: serial: garmin_gps: fix I/O after failed probe and remove Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 69/72] USB: serial: garmin_gps: fix memory leak on probe errors Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 70/72] x86/MCE/AMD: Always give panic severity for UC errors in kernel context Greg Kroah-Hartman
2017-11-19 14:39 ` [PATCH 4.9 72/72] staging: greybus: spilib: fix use-after-free after deregistration Greg Kroah-Hartman
2017-11-20 6:22 ` [PATCH 4.9 00/72] 4.9.64-stable review Naresh Kamboju
2017-11-20 19:25 ` Greg Kroah-Hartman
2017-11-20 14:10 ` Guenter Roeck
2017-11-20 15:10 ` Greg Kroah-Hartman
2017-11-20 21:17 ` Shuah Khan
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=20171119143533.372826559@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=aaron.lu@intel.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.levin@verizon.com \
--cc=bhe@redhat.com \
--cc=bp@alien8.de \
--cc=bristot@redhat.com \
--cc=claudio.fontana@huawei.com \
--cc=douly.fnst@cn.fujitsu.com \
--cc=dvlasenk@redhat.com \
--cc=guz.fnst@cn.fujitsu.com \
--cc=hidehiro.kawai.ez@hitachi.com \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=nicstange@gmail.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=torvalds@linux-foundation.org \
--cc=wanpeng.li@hotmail.com \
/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).