linux-kernel.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,
	Mathias Nyman <mathias.nyman@linux.intel.com>
Subject: [PATCH 5.10 013/121] usb: hub: Fix usb enumeration issue due to address0 race
Date: Mon, 29 Nov 2021 19:17:24 +0100	[thread overview]
Message-ID: <20211129181712.095274914@linuxfoundation.org> (raw)
In-Reply-To: <20211129181711.642046348@linuxfoundation.org>

From: Mathias Nyman <mathias.nyman@linux.intel.com>

commit 6ae6dc22d2d1ce6aa77a6da8a761e61aca216f8b upstream.

xHC hardware can only have one slot in default state with address 0
waiting for a unique address at a time, otherwise "undefined behavior
may occur" according to xhci spec 5.4.3.4

The address0_mutex exists to prevent this across both xhci roothubs.

If hub_port_init() fails, it may unlock the mutex and exit with a xhci
slot in default state. If the other xhci roothub calls hub_port_init()
at this point we end up with two slots in default state.

Make sure the address0_mutex protects the slot default state across
hub_port_init() retries, until slot is addressed or disabled.

Note, one known minor case is not fixed by this patch.
If device needs to be reset during resume, but fails all hub_port_init()
retries in usb_reset_and_verify_device(), then it's possible the slot is
still left in default state when address0_mutex is unlocked.

Cc: <stable@vger.kernel.org>
Fixes: 638139eb95d2 ("usb: hub: allow to process more usb hub events in parallel")
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20211115221630.871204-1-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/usb/core/hub.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -4628,8 +4628,6 @@ hub_port_init(struct usb_hub *hub, struc
 	if (oldspeed == USB_SPEED_LOW)
 		delay = HUB_LONG_RESET_TIME;
 
-	mutex_lock(hcd->address0_mutex);
-
 	/* Reset the device; full speed may morph to high speed */
 	/* FIXME a USB 2.0 device may morph into SuperSpeed on reset. */
 	retval = hub_port_reset(hub, port1, udev, delay, false);
@@ -4940,7 +4938,6 @@ fail:
 		hub_port_disable(hub, port1, 0);
 		update_devnum(udev, devnum);	/* for disconnect processing */
 	}
-	mutex_unlock(hcd->address0_mutex);
 	return retval;
 }
 
@@ -5170,6 +5167,9 @@ static void hub_port_connect(struct usb_
 		unit_load = 100;
 
 	status = 0;
+
+	mutex_lock(hcd->address0_mutex);
+
 	for (i = 0; i < PORT_INIT_TRIES; i++) {
 
 		/* reallocate for each attempt, since references
@@ -5206,6 +5206,8 @@ static void hub_port_connect(struct usb_
 		if (status < 0)
 			goto loop;
 
+		mutex_unlock(hcd->address0_mutex);
+
 		if (udev->quirks & USB_QUIRK_DELAY_INIT)
 			msleep(2000);
 
@@ -5294,6 +5296,7 @@ static void hub_port_connect(struct usb_
 
 loop_disable:
 		hub_port_disable(hub, port1, 1);
+		mutex_lock(hcd->address0_mutex);
 loop:
 		usb_ep0_reinit(udev);
 		release_devnum(udev);
@@ -5320,6 +5323,8 @@ loop:
 	}
 
 done:
+	mutex_unlock(hcd->address0_mutex);
+
 	hub_port_disable(hub, port1, 1);
 	if (hcd->driver->relinquish_port && !hub->hdev->parent) {
 		if (status != -ENOTCONN && status != -ENODEV)
@@ -5839,6 +5844,8 @@ static int usb_reset_and_verify_device(s
 	bos = udev->bos;
 	udev->bos = NULL;
 
+	mutex_lock(hcd->address0_mutex);
+
 	for (i = 0; i < PORT_INIT_TRIES; ++i) {
 
 		/* ep0 maxpacket size may change; let the HCD know about it.
@@ -5848,6 +5855,7 @@ static int usb_reset_and_verify_device(s
 		if (ret >= 0 || ret == -ENOTCONN || ret == -ENODEV)
 			break;
 	}
+	mutex_unlock(hcd->address0_mutex);
 
 	if (ret < 0)
 		goto re_enumerate;



  parent reply	other threads:[~2021-11-29 22:58 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-29 18:17 [PATCH 5.10 000/121] 5.10.83-rc1 review Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 001/121] bpf: Fix toctou on read-only maps constant scalar tracking Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 002/121] ACPI: Get acpi_devices parent from the parent field Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 003/121] USB: serial: option: add Telit LE910S1 0x9200 composition Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 004/121] USB: serial: option: add Fibocom FM101-GL variants Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 005/121] usb: dwc2: gadget: Fix ISOC flow for elapsed frames Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 006/121] usb: dwc2: hcd_queue: Fix use of floating point literal Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 007/121] usb: dwc3: gadget: Ignore NoStream after End Transfer Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 008/121] usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 009/121] usb: dwc3: gadget: Fix null pointer exception Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 010/121] net: nexthop: fix null pointer dereference when IPv6 is not enabled Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 011/121] usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 012/121] usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts Greg Kroah-Hartman
2021-11-29 18:17 ` Greg Kroah-Hartman [this message]
2021-11-29 18:17 ` [PATCH 5.10 014/121] usb: hub: Fix locking issues with address0_mutex Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 015/121] binder: fix test regression due to sender_euid change Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 016/121] ALSA: ctxfi: Fix out-of-range access Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 017/121] ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 018/121] ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 019/121] media: cec: copy sequence field for the reply Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 020/121] Revert "parisc: Fix backtrace to always include init funtion names" Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 021/121] HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 022/121] staging/fbtft: Fix backlight Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 023/121] staging: greybus: Add missing rwsem around snd_ctl_remove() calls Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 024/121] staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 025/121] fuse: release pipe buf after last use Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 026/121] xen: dont continue xenstore initialization in case of errors Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 027/121] xen: detect uninitialized xenbus in xenbus_init Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 028/121] KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 029/121] tracing/uprobe: Fix uprobe_perf_open probes iteration Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 030/121] tracing: Fix pid filtering when triggers are attached Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 031/121] mmc: sdhci-esdhc-imx: disable CMDQ support Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 032/121] mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 033/121] mdio: aspeed: Fix "Link is Down" issue Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 034/121] powerpc/32: Fix hardlockup on vmap stack overflow Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 035/121] PCI: aardvark: Deduplicate code in advk_pcie_rd_conf() Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 036/121] PCI: aardvark: Update comment about disabling link training Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 037/121] PCI: aardvark: Implement re-issuing config requests on CRS response Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 038/121] PCI: aardvark: Simplify initialization of rootcap on virtual bridge Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 039/121] PCI: aardvark: Fix link training Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 040/121] proc/vmcore: fix clearing user buffer by properly using clear_user() Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 041/121] netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 042/121] netfilter: ctnetlink: do not erase error code with EINVAL Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 043/121] netfilter: ipvs: Fix reuse connection if RS weight is 0 Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 044/121] netfilter: flowtable: fix IPv6 tunnel addr match Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 045/121] ARM: dts: BCM5301X: Fix I2C controller interrupt Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 046/121] ARM: dts: BCM5301X: Add interrupt properties to GPIO node Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 047/121] ARM: dts: bcm2711: Fix PCIe interrupts Greg Kroah-Hartman
2021-11-29 18:17 ` [PATCH 5.10 048/121] ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 049/121] ASoC: qdsp6: q6asm: fix q6asm_dai_prepare error handling Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 050/121] ASoC: topology: Add missing rwsem around snd_ctl_remove() calls Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 051/121] ASoC: codecs: wcd934x: return error code correctly from hw_params Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 052/121] net: ieee802154: handle iftypes as u32 Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 053/121] firmware: arm_scmi: pm: Propagate return value to caller Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 054/121] NFSv42: Dont fail clone() unless the OP_CLONE operation failed Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 055/121] ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 056/121] drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 057/121] scsi: mpt3sas: Fix kernel panic during drive powercycle test Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 058/121] drm/vc4: fix error code in vc4_create_object() Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 059/121] net: marvell: prestera: fix double free issue on err path Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 060/121] iavf: Prevent changing static ITR values if adaptive moderation is on Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 061/121] ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 062/121] mptcp: fix delack timer Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 063/121] firmware: smccc: Fix check for ARCH_SOC_ID not implemented Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 064/121] ipv6: fix typos in __ip6_finish_output() Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 065/121] nfp: checking parameter process for rx-usecs/tx-usecs is invalid Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 066/121] net: stmmac: fix system hang caused by eee_ctrl_timer during suspend/resume Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 067/121] net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 068/121] net: ipv6: add fib6_nh_release_dsts stub Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 069/121] net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 070/121] ice: fix vsi->txq_map sizing Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 071/121] ice: avoid bpf_prog refcount underflow Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 072/121] scsi: core: sysfs: Fix setting device state to SDEV_RUNNING Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 073/121] scsi: scsi_debug: Zero clear zones at reset write pointer Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 074/121] erofs: fix deadlock when shrink erofs slab Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 075/121] net/smc: Ensure the active closing peer first closes clcsock Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 076/121] mlxsw: Verify the accessed index doesnt exceed the array length Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 077/121] mlxsw: spectrum: Protect driver from buggy firmware Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 078/121] net: marvell: mvpp2: increase MTU limit when XDP enabled Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 079/121] nvmet-tcp: fix incomplete data digest send Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 080/121] net/ncsi : Add payload to be 32-bit aligned to fix dropped packets Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 081/121] PM: hibernate: use correct mode for swsusp_close() Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 082/121] drm/amd/display: Set plane update flags for all planes in reset Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 083/121] tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 084/121] lan743x: fix deadlock in lan743x_phy_link_status_change() Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 085/121] net: phylink: Force link down and retrigger resolve on interface change Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 086/121] net: phylink: Force retrigger in case of latched link-fail indicator Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 087/121] net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 088/121] net/smc: Fix loop in smc_listen Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 089/121] nvmet: use IOCB_NOWAIT only if the filesystem supports it Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 090/121] igb: fix netpoll exit with traffic Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 091/121] MIPS: loongson64: fix FTLB configuration Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 092/121] MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 093/121] tls: splice_read: fix record type check Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 094/121] tls: fix replacing proto_ops Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 095/121] net/sched: sch_ets: dont peek at classes beyond nbands Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 096/121] net: vlan: fix underflow for the real_dev refcnt Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 097/121] net/smc: Dont call clcsock shutdown twice when smc shutdown Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 098/121] net: hns3: fix VF RSS failed problem after PF enable multi-TCs Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 099/121] net: mscc: ocelot: dont downgrade timestamping RX filters in SIOCSHWTSTAMP Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 100/121] net: mscc: ocelot: correctly report the timestamping RX filters in ethtool Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 101/121] tcp: correctly handle increased zerocopy args struct size Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 102/121] sched/scs: Reset task stack state in bringup_cpu() Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 103/121] f2fs: set SBI_NEED_FSCK flag when inconsistent node block found Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 104/121] ceph: properly handle statfs on multifs setups Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 105/121] smb3: do not error on fsync when readonly Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 106/121] iommu/amd: Clarify AMD IOMMUv2 initialization messages Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 107/121] vhost/vsock: fix incorrect used length reported to the guest Greg Kroah-Hartman
2021-11-29 18:18 ` [PATCH 5.10 108/121] tracing: Check pid filtering when creating events Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 109/121] xen: sync include/xen/interface/io/ring.h with Xens newest version Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 110/121] xen/blkfront: read response from backend only once Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 111/121] xen/blkfront: dont take local copy of a request from the ring page Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 112/121] xen/blkfront: dont trust the backend response data blindly Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 113/121] xen/netfront: read response from backend only once Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 114/121] xen/netfront: dont read data from request on the ring page Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 115/121] xen/netfront: disentangle tx_skb_freelist Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 116/121] xen/netfront: dont trust the backend response data blindly Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 117/121] tty: hvc: replace BUG_ON() with negative return value Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 118/121] s390/mm: validate VMA in PGSTE manipulation functions Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 119/121] shm: extend forced shm destroy to support objects from several IPC nses Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 120/121] net: stmmac: platform: fix build warning when with !CONFIG_PM_SLEEP Greg Kroah-Hartman
2021-11-29 18:19 ` [PATCH 5.10 121/121] drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ Greg Kroah-Hartman
2021-11-30  1:03 ` [PATCH 5.10 000/121] 5.10.83-rc1 review Shuah Khan
2021-11-30  1:22 ` Samuel Zou
2021-11-30  4:02 ` Florian Fainelli
2021-11-30  5:55 ` Naresh Kamboju
2021-11-30 12:04 ` Fox Chen
2021-11-30 13:35 ` Sudip Mukherjee
2021-11-30 16:03 ` Pavel Machek
2021-11-30 17:41 ` Guenter Roeck

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=20211129181712.095274914@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.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;
as well as URLs for NNTP newsgroup(s).