stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Ashok Raj <ashok.raj@intel.com>,
	Borislav Petkov <bp@suse.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Arjan Van De Ven <arjan.van.de.ven@intel.com>
Subject: [PATCH 4.14 091/138] x86/microcode: Do not upload microcode if CPUs are offline
Date: Wed, 11 Apr 2018 00:24:41 +0200	[thread overview]
Message-ID: <20180410212912.759185934@linuxfoundation.org> (raw)
In-Reply-To: <20180410212902.121524696@linuxfoundation.org>

4.14-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Ashok Raj <ashok.raj@intel.com>

commit 30ec26da9967d0d785abc24073129a34c3211777 upstream.

Avoid loading microcode if any of the CPUs are offline, and issue a
warning. Having different microcode revisions on the system at any time
is outright dangerous.

[ Borislav: Massage changelog. ]

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
Tested-by: Ashok Raj <ashok.raj@intel.com>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Arjan Van De Ven <arjan.van.de.ven@intel.com>
Link: http://lkml.kernel.org/r/1519352533-15992-4-git-send-email-ashok.raj@intel.com
Link: https://lkml.kernel.org/r/20180228102846.13447-5-bp@alien8.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/x86/kernel/cpu/microcode/core.c |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

--- a/arch/x86/kernel/cpu/microcode/core.c
+++ b/arch/x86/kernel/cpu/microcode/core.c
@@ -486,6 +486,16 @@ static void __exit microcode_dev_exit(vo
 /* fake device for request_firmware */
 static struct platform_device	*microcode_pdev;
 
+static int check_online_cpus(void)
+{
+	if (num_online_cpus() == num_present_cpus())
+		return 0;
+
+	pr_err("Not all CPUs online, aborting microcode update.\n");
+
+	return -EINVAL;
+}
+
 static enum ucode_state reload_for_cpu(int cpu)
 {
 	struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
@@ -519,7 +529,13 @@ static ssize_t reload_store(struct devic
 		return size;
 
 	get_online_cpus();
+
+	ret = check_online_cpus();
+	if (ret)
+		goto put;
+
 	mutex_lock(&microcode_mutex);
+
 	for_each_online_cpu(cpu) {
 		tmp_ret = reload_for_cpu(cpu);
 		if (tmp_ret > UCODE_NFOUND) {
@@ -538,6 +554,8 @@ static ssize_t reload_store(struct devic
 		microcode_check();
 
 	mutex_unlock(&microcode_mutex);
+
+put:
 	put_online_cpus();
 
 	if (!ret)

  parent reply	other threads:[~2018-04-10 22:38 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-10 22:23 [PATCH 4.14 000/138] 4.14.34-stable review Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 001/138] i40iw: Fix sequence number for the first partial FPDU Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 002/138] i40iw: Correct Q1/XF object count equation Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 003/138] i40iw: Validate correct IRD/ORD connection parameters Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 004/138] clk: meson: mpll: use 64-bit maths in params_from_rate Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 005/138] ARM: dts: ls1021a: add "fsl,ls1021a-esdhc" compatible string to esdhc node Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 006/138] Bluetooth: Add a new 04ca:3015 QCA_ROME device Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 007/138] ipv6: Reinject IPv6 packets if IPsec policy matches after SNAT Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 008/138] thermal: power_allocator: fix one race condition issue for thermal_instances list Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 009/138] perf probe: Find versioned symbols from map Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 010/138] perf probe: Add warning message if there is unexpected event name Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 011/138] perf evsel: Enable ignore_missing_thread for pid option Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 012/138] net: hns3: free the ring_data structrue when change tqps Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 013/138] net: hns3: fix for getting auto-negotiation state in hclge_get_autoneg Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 014/138] l2tp: fix missing print session offset info Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 015/138] rds; Reset rs->rs_bound_addr in rds_add_bound() failure path Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 016/138] ACPI / video: Default lcd_only to true on Win8-ready and newer machines Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 017/138] net/mlx4_en: Change default QoS settings Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 018/138] VFS: close race between getcwd() and d_move() Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 019/138] watchdog: dw_wdt: add stop watchdog operation Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 020/138] clk: divider: fix incorrect usage of container_of Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 021/138] PM / devfreq: Fix potential NULL pointer dereference in governor_store Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 022/138] selftests/net: fix bugs in address and port initialization Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 023/138] RDMA/cma: Mark end of CMA ID messages Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 024/138] hwmon: (ina2xx) Make calibration register value fixed Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 026/138] media: videobuf2-core: dont go out of the buffer range Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 027/138] ASoC: Intel: Skylake: Disable clock gating during firmware and library download Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 028/138] ASoC: Intel: cht_bsw_rt5645: Analog Mic support Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 029/138] spi: sh-msiof: Fix timeout failures for TX-only DMA transfers Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 030/138] scsi: libiscsi: Allow sd_shutdown on bad transport Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 031/138] scsi: mpt3sas: Proper handling of set/clear of "ATA command pending" flag Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 032/138] irqchip/gic-v3: Fix the driver probe() fail due to disabled GICC entry Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 033/138] ACPI: EC: Fix debugfs_create_*() usage Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 035/138] vfb: fix video mode and line_length being set when loaded Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 036/138] gpio: label descriptors using the device name Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 037/138] powernv-cpufreq: Add helper to extract pstate from PMSR Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 038/138] IB/rdmavt: Allocate CQ memory on the correct node Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 039/138] blk-mq: avoid to map CPU into stale hw queue Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 040/138] blk-mq: fix race between updating nr_hw_queues and switching io sched Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 041/138] backlight: tdo24m: Fix the SPI CS between transfers Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 042/138] pinctrl: baytrail: Enable glitch filter for GPIOs used as interrupts Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 043/138] nvme_fcloop: disassocate local port structs Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 044/138] nvme_fcloop: fix abort race condition Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 045/138] tpm: return a TPM_RC_COMMAND_CODE response if command is not implemented Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 046/138] perf report: Fix a no annotate browser displayed issue Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 047/138] staging: lustre: disable preempt while sampling processor id Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 048/138] ASoC: Intel: sst: Fix the return value of sst_send_byte_stream_mrfld() Greg Kroah-Hartman
2018-04-10 22:23 ` [PATCH 4.14 049/138] power: supply: axp288_charger: Properly stop work on probe-error / remove Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 050/138] rt2x00: do not pause queue unconditionally on error path Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 051/138] wl1251: check return from call to wl1251_acx_arp_ip_filter Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 052/138] net/mlx5: Fix race for multiple RoCE enable Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 053/138] net: hns3: Fix an error of total drop packet statistics Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 054/138] net: hns3: Fix a loop index error of tqp statistics query Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 055/138] net: hns3: Fix an error macro definition of HNS3_TQP_STAT Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 056/138] net: hns3: fix for changing MTU Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 057/138] bcache: ret IOERR when read meets metadata error Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 058/138] bcache: stop writeback thread after detaching Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 059/138] bcache: segregate flash only volume write streams Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 060/138] scsi: libsas: fix memory leak in sas_smp_get_phy_events() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 061/138] scsi: libsas: fix error when getting phy events Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 062/138] scsi: libsas: initialize sas_phy status according to response of DISCOVER Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 063/138] blk-mq: fix kernel oops in blk_mq_tag_idle() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 064/138] tty: n_gsm: Allow ADM response in addition to UA for control dlci Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 066/138] EDAC, mv64x60: Fix an error handling path Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 067/138] uio_hv_generic: check that host supports monitor page Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 068/138] i40evf: dont rely on netif_running() outside rtnl_lock() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 069/138] cxgb4vf: Fix SGE FL buffer initialization logic for 64K pages Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 070/138] scsi: megaraid_sas: Error handling for invalid ldcount provided by firmware in RAID map Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 071/138] scsi: megaraid_sas: unload flag should be set after scsi_remove_host is called Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 072/138] RDMA/cma: Fix rdma_cm path querying for RoCE Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 073/138] gpio: thunderx: fix error return code in thunderx_gpio_probe() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 074/138] x86/gart: Exclude GART aperture from vmcore Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 075/138] sdhci: Advertise 2.0v supply on SDIO host controller Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 076/138] ibmvnic: Dont handle RX interrupts when not up Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 077/138] Input: goodix - disable IRQs while suspended Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 078/138] mtd: mtd_oobtest: Handle bitflips during reads Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 079/138] crypto: aes-generic - build with -Os on gcc-7+ Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 080/138] perf tools: Fix copyfile_offset update of output offset Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 081/138] tcmu: release blocks for partially setup cmds Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 082/138] thermal: int3400_thermal: fix error handling in int3400_thermal_probe() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 083/138] objtool: Add Clang support Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 084/138] crypto: arm64/aes-ce-cipher - move assembler code to .S file Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 085/138] x86/microcode: Propagate return value from updating functions Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 086/138] x86/CPU: Add a microcode loader callback Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 087/138] x86/CPU: Check CPU feature bits after microcode upgrade Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 088/138] x86/microcode: Get rid of struct apply_microcode_ctx Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 089/138] x86/microcode/intel: Check microcode revision before updating sibling threads Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 090/138] x86/microcode/intel: Writeback and invalidate caches before updating microcode Greg Kroah-Hartman
2018-04-10 22:24 ` Greg Kroah-Hartman [this message]
2018-04-10 22:24 ` [PATCH 4.14 092/138] x86/microcode/intel: Look into the patch cache first Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 093/138] x86/microcode: Request microcode on the BSP Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 094/138] x86/microcode: Synchronize late microcode loading Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 095/138] x86/microcode: Attempt late loading only when new microcode is present Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 096/138] x86/microcode: Fix CPU synchronization routine Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 097/138] arp: fix arp_filter on l3slave devices Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 098/138] ipv6: the entire IPv6 header chain must fit the first fragment Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 099/138] lan78xx: Crash in lan78xx_writ_reg (Workqueue: events lan78xx_deferred_multicast_write) Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 100/138] net: fix possible out-of-bound read in skb_network_protocol() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 101/138] net/ipv6: Fix route leaking between VRFs Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 102/138] net/ipv6: Increment OUTxxx counters after netfilter hook Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 103/138] netlink: make sure nladdr has correct size in netlink_connect() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 104/138] net sched actions: fix dumping which requires several messages to user space Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 105/138] net/sched: fix NULL dereference in the error path of tcf_bpf_init() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 106/138] pptp: remove a buggy dst release in pptp_connect() Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 107/138] r8169: fix setting driver_data after register_netdev Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 108/138] sctp: do not leak kernel memory to user space Greg Kroah-Hartman
2018-04-10 22:24 ` [PATCH 4.14 109/138] sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6 Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 110/138] sky2: Increase D3 delay to sky2 stops working after suspend Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 111/138] vhost: correctly remove wait queue during poll failure Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 112/138] vlan: also check phy_driver ts_info for vlans real device Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 113/138] vrf: Fix use after free and double free in vrf_finish_output Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 114/138] bonding: fix the err path for dev hwaddr sync in bond_enslave Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 115/138] bonding: move dev_mc_sync after master_upper_dev_link " Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 116/138] bonding: process the err returned by dev_set_allmulti properly " Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 117/138] net: fool proof dev_valid_name() Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 118/138] ip_tunnel: better validate user provided tunnel names Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 119/138] ipv6: sit: " Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 120/138] ip6_gre: " Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 121/138] ip6_tunnel: " Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 122/138] vti6: " Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 123/138] net/mlx5e: Avoid using the ipv6 stub in the TC offload neigh update path Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 124/138] net/mlx5e: Fix memory usage issues in offloading TC flows Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 125/138] nfp: use full 40 bits of the NSP buffer address Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 126/138] ipv6: sr: fix seg6 encap performances with TSO enabled Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 127/138] net/mlx5e: Dont override vport admin link state in switchdev mode Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 128/138] net/mlx5e: Sync netdev vxlan ports at open Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 129/138] net/sched: fix NULL dereference in the error path of tunnel_key_init() Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 130/138] net/sched: fix NULL dereference on the error path of tcf_skbmod_init() Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 131/138] strparser: Fix sign of err codes Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 132/138] net/mlx4_en: Fix mixed PFC and Global pause user control requests Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 133/138] net/mlx5e: Fix traffic being dropped on VF representor Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 134/138] vhost: validate log when IOTLB is enabled Greg Kroah-Hartman
2018-04-10 23:33   ` Michael S. Tsirkin
2018-04-11  0:55     ` David Miller
2018-04-11  8:04       ` Greg KH
2018-04-11 13:25         ` Michael S. Tsirkin
2018-04-11 14:44           ` David Miller
2018-04-10 22:25 ` [PATCH 4.14 135/138] route: check sysctl_fib_multipath_use_neigh earlier than hash Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 136/138] team: move dev_mc_sync after master_upper_dev_link in team_port_add Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 137/138] vhost_net: add missing lock nesting notation Greg Kroah-Hartman
2018-04-10 22:25 ` [PATCH 4.14 138/138] net/mlx4_core: Fix memory leak while delete slaves resources Greg Kroah-Hartman
2018-04-11 17:14 ` [PATCH 4.14 000/138] 4.14.34-stable review Shuah Khan
2018-04-11 17:26 ` Guenter Roeck
2018-04-11 19:19 ` Dan Rue

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=20180410212912.759185934@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=arjan.van.de.ven@intel.com \
    --cc=ashok.raj@intel.com \
    --cc=bp@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.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).