All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Alan Stern <stern@rowland.harvard.edu>
Subject: [PATCH 6.1 060/119] USB: core: Add routines for endpoint checks in old drivers
Date: Sun, 28 May 2023 20:11:00 +0100	[thread overview]
Message-ID: <20230528190837.451627580@linuxfoundation.org> (raw)
In-Reply-To: <20230528190835.386670951@linuxfoundation.org>

From: Alan Stern <stern@rowland.harvard.edu>

commit 13890626501ffda22b18213ddaf7930473da5792 upstream.

Many of the older USB drivers in the Linux USB stack were written
based simply on a vendor's device specification.  They use the
endpoint information in the spec and assume these endpoints will
always be present, with the properties listed, in any device matching
the given vendor and product IDs.

While that may have been true back then, with spoofing and fuzzing it
is not true any more.  More and more we are finding that those old
drivers need to perform at least a minimum of checking before they try
to use any endpoint other than ep0.

To make this checking as simple as possible, we now add a couple of
utility routines to the USB core.  usb_check_bulk_endpoints() and
usb_check_int_endpoints() take an interface pointer together with a
list of endpoint addresses (numbers and directions).  They check that
the interface's current alternate setting includes endpoints with
those addresses and that each of these endpoints has the right type:
bulk or interrupt, respectively.

Although we already have usb_find_common_endpoints() and related
routines meant for a similar purpose, they are not well suited for
this kind of checking.  Those routines find endpoints of various
kinds, but only one (either the first or the last) of each kind, and
they don't verify that the endpoints' addresses agree with what the
caller expects.

In theory the new routines could be more general: They could take a
particular altsetting as their argument instead of always using the
interface's current altsetting.  In practice I think this won't matter
too much; multiple altsettings tend to be used for transferring media
(audio or visual) over isochronous endpoints, not bulk or interrupt.
Drivers for such devices will generally require more sophisticated
checking than these simplistic routines provide.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/dd2c8e8c-2c87-44ea-ba17-c64b97e201c9@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/usb/core/usb.c |   76 +++++++++++++++++++++++++++++++++++++++++++++++++
 include/linux/usb.h    |    5 +++
 2 files changed, 81 insertions(+)

--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -207,6 +207,82 @@ int usb_find_common_endpoints_reverse(st
 EXPORT_SYMBOL_GPL(usb_find_common_endpoints_reverse);
 
 /**
+ * usb_find_endpoint() - Given an endpoint address, search for the endpoint's
+ * usb_host_endpoint structure in an interface's current altsetting.
+ * @intf: the interface whose current altsetting should be searched
+ * @ep_addr: the endpoint address (number and direction) to find
+ *
+ * Search the altsetting's list of endpoints for one with the specified address.
+ *
+ * Return: Pointer to the usb_host_endpoint if found, %NULL otherwise.
+ */
+static const struct usb_host_endpoint *usb_find_endpoint(
+		const struct usb_interface *intf, unsigned int ep_addr)
+{
+	int n;
+	const struct usb_host_endpoint *ep;
+
+	n = intf->cur_altsetting->desc.bNumEndpoints;
+	ep = intf->cur_altsetting->endpoint;
+	for (; n > 0; (--n, ++ep)) {
+		if (ep->desc.bEndpointAddress == ep_addr)
+			return ep;
+	}
+	return NULL;
+}
+
+/**
+ * usb_check_bulk_endpoints - Check whether an interface's current altsetting
+ * contains a set of bulk endpoints with the given addresses.
+ * @intf: the interface whose current altsetting should be searched
+ * @ep_addrs: 0-terminated array of the endpoint addresses (number and
+ * direction) to look for
+ *
+ * Search for endpoints with the specified addresses and check their types.
+ *
+ * Return: %true if all the endpoints are found and are bulk, %false otherwise.
+ */
+bool usb_check_bulk_endpoints(
+		const struct usb_interface *intf, const u8 *ep_addrs)
+{
+	const struct usb_host_endpoint *ep;
+
+	for (; *ep_addrs; ++ep_addrs) {
+		ep = usb_find_endpoint(intf, *ep_addrs);
+		if (!ep || !usb_endpoint_xfer_bulk(&ep->desc))
+			return false;
+	}
+	return true;
+}
+EXPORT_SYMBOL_GPL(usb_check_bulk_endpoints);
+
+/**
+ * usb_check_int_endpoints - Check whether an interface's current altsetting
+ * contains a set of interrupt endpoints with the given addresses.
+ * @intf: the interface whose current altsetting should be searched
+ * @ep_addrs: 0-terminated array of the endpoint addresses (number and
+ * direction) to look for
+ *
+ * Search for endpoints with the specified addresses and check their types.
+ *
+ * Return: %true if all the endpoints are found and are interrupt,
+ * %false otherwise.
+ */
+bool usb_check_int_endpoints(
+		const struct usb_interface *intf, const u8 *ep_addrs)
+{
+	const struct usb_host_endpoint *ep;
+
+	for (; *ep_addrs; ++ep_addrs) {
+		ep = usb_find_endpoint(intf, *ep_addrs);
+		if (!ep || !usb_endpoint_xfer_int(&ep->desc))
+			return false;
+	}
+	return true;
+}
+EXPORT_SYMBOL_GPL(usb_check_int_endpoints);
+
+/**
  * usb_find_alt_setting() - Given a configuration, find the alternate setting
  * for the given interface.
  * @config: the configuration to search (not necessarily the current config).
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -279,6 +279,11 @@ void usb_put_intf(struct usb_interface *
 #define USB_MAXINTERFACES	32
 #define USB_MAXIADS		(USB_MAXINTERFACES/2)
 
+bool usb_check_bulk_endpoints(
+		const struct usb_interface *intf, const u8 *ep_addrs);
+bool usb_check_int_endpoints(
+		const struct usb_interface *intf, const u8 *ep_addrs);
+
 /*
  * USB Resume Timer: Every Host controller driver should drive the resume
  * signalling on the bus for the amount of time defined by this macro.



  parent reply	other threads:[~2023-05-28 19:36 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-28 19:10 [PATCH 6.1 000/119] 6.1.31-rc1 review Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 001/119] usb: dwc3: fix gadget mode suspend interrupt handler issue Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 002/119] tpm, tpm_tis: Avoid cache incoherency in test for interrupts Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 003/119] tpm, tpm_tis: Only handle supported interrupts Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 004/119] tpm_tis: Use tpm_chip_{start,stop} decoration inside tpm_tis_resume Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 005/119] tpm, tpm_tis: startup chip before testing for interrupts Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 006/119] tpm: Re-enable TPM chip boostrapping non-tpm_tis TPM drivers Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 007/119] tpm: Prevent hwrng from activating during resume Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 008/119] watchdog: sp5100_tco: Immediately trigger upon starting Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 009/119] drm/amd/amdgpu: update mes11 api def Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 010/119] drm/amdgpu/mes11: enable reg active poll Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 011/119] skbuff: Proactively round up to kmalloc bucket size Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 012/119] platform/x86: hp-wmi: Fix cast to smaller integer type warning Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 013/119] net: dsa: mv88e6xxx: Add RGMII delay to 88E6320 Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 014/119] drm/amd/display: hpd rx irq not working with eDP interface Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 015/119] ocfs2: Switch to security_inode_init_security() Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 016/119] arm64: Also reset KASAN tag if page is not PG_mte_tagged Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 017/119] x86/mm: Avoid incomplete Global INVLPG flushes Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 018/119] platform/x86/intel/ifs: Annotate work queue on stack so object debug does not complain Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 019/119] ALSA: hda/ca0132: add quirk for EVGA X299 DARK Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 020/119] ALSA: hda: Fix unhandled register update during auto-suspend period Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 021/119] ALSA: hda/realtek: Enable headset onLenovo M70/M90 Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 022/119] SUNRPC: Dont change task->tk_status after the call to rpc_exit_task Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 023/119] mmc: sdhci-esdhc-imx: make "no-mmc-hs400" works Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 024/119] mmc: block: ensure error propagation for non-blk Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 025/119] power: supply: axp288_fuel_gauge: Fix external_power_changed race Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 026/119] power: supply: bq25890: " Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 027/119] ASoC: rt5682: Disable jack detection interrupt during suspend Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 028/119] net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 029/119] m68k: Move signal frame following exception on 68020/030 Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 030/119] xtensa: fix signal delivery to FDPIC process Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 031/119] xtensa: add __bswap{si,di}2 helpers Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 032/119] parisc: Use num_present_cpus() in alternative patching code Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 033/119] parisc: Handle kgdb breakpoints only in kernel context Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 034/119] parisc: Fix flush_dcache_page() for usage from irq context Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 035/119] parisc: Allow to reboot machine after system halt Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 036/119] parisc: Enable LOCKDEP support Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 037/119] parisc: Handle kprobes breakpoints only in kernel context Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 038/119] gpio: mockup: Fix mode of debugfs files Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 039/119] btrfs: use nofs when cleaning up aborted transactions Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 040/119] dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 041/119] drm/mgag200: Fix gamma lut not initialized Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 042/119] drm/radeon: reintroduce radeon_dp_work_func content Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 043/119] drm/amd/pm: add missing NotifyPowerSource message mapping for SMU13.0.7 Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 044/119] drm/amd/pm: Fix output of pp_od_clk_voltage Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 045/119] Revert "binder_alloc: add missing mmap_lock calls when using the VMA" Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 046/119] Revert "android: binder: stop saving a pointer to " Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 047/119] binder: add lockless binder_alloc_(set|get)_vma() Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 048/119] binder: fix UAF caused by faulty buffer cleanup Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 049/119] binder: fix UAF of alloc->vma in race with munmap() Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 050/119] selftests/memfd: Fix unknown type name build failure Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 051/119] drm/amd/amdgpu: limit one queue per gang Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 052/119] perf/x86/uncore: Correct the number of CHAs on SPR Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 053/119] x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 054/119] irqchip/mips-gic: Dont touch vl_map if a local interrupt is not routable Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 055/119] irqchip/mips-gic: Use raw spinlock for gic_lock Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 056/119] debugobjects: Dont wake up kswapd from fill_pool() Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 057/119] fbdev: udlfb: Fix endpoint check Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 058/119] net: fix stack overflow when LRO is disabled for virtual interfaces Greg Kroah-Hartman
2023-05-28 19:10 ` [PATCH 6.1 059/119] udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated() Greg Kroah-Hartman
2023-05-28 19:11 ` Greg Kroah-Hartman [this message]
2023-05-28 19:11 ` [PATCH 6.1 061/119] USB: sisusbvga: Add endpoint checks Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 062/119] media: radio-shark: " Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 063/119] ASoC: lpass: Fix for KASAN use_after_free out of bounds Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 064/119] net: fix skb leak in __skb_tstamp_tx() Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 065/119] drm: fix drmm_mutex_init() Greg Kroah-Hartman
2023-05-28 19:11   ` Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 066/119] selftests: fib_tests: mute cleanup error message Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 067/119] octeontx2-pf: Fix TSOv6 offload Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 068/119] bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 069/119] bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 070/119] lan966x: Fix unloading/loading of the driver Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 071/119] ipv6: Fix out-of-bounds access in ipv6_find_tlv() Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 072/119] cifs: mapchars mount option ignored Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 073/119] power: supply: leds: Fix blink to LED on transition Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 074/119] power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 075/119] power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 076/119] power: supply: bq27xxx: Fix I2C IRQ race on remove Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 077/119] power: supply: bq27xxx: Fix poll_interval handling and races " Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 078/119] power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status() Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 079/119] power: supply: bq27xxx: Move bq27xxx_battery_update() down Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 080/119] power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 081/119] power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 082/119] power: supply: bq25890: Call power_supply_changed() after updating input current or voltage Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 083/119] power: supply: bq24190: Call power_supply_changed() after updating input current Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 084/119] power: supply: sbs-charger: Fix INHIBITED bit for Status reg Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 085/119] optee: fix uninited async notif value Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 086/119] firmware: arm_ffa: Check if ffa_driver remove is present before executing Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 087/119] firmware: arm_ffa: Fix FFA device names for logical partitions Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 088/119] fs: fix undefined behavior in bit shift for SB_NOUSER Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 089/119] regulator: pca9450: Fix BUCK2 enable_mask Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 090/119] platform/x86: ISST: Remove 8 socket limit Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 091/119] coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet() Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 092/119] ARM: dts: imx6qdl-mba6: Add missing pvcie-supply regulator Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 093/119] x86/pci/xen: populate MSI sysfs entries Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 094/119] xen/pvcalls-back: fix double frees with pvcalls_new_active_socket() Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 095/119] x86/show_trace_log_lvl: Ensure stack pointer is aligned, again Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 096/119] ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 097/119] ASoC: Intel: avs: Fix declaration of enum avs_channel_config Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 098/119] ASoC: Intel: avs: Access path components under lock Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 099/119] cxl: Wait Memory_Info_Valid before access memory related info Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 100/119] sctp: fix an issue that plpmtu can never go to complete state Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 101/119] forcedeth: Fix an error handling path in nv_probe() Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 102/119] platform/mellanox: mlxbf-pmc: fix sscanf() error checking Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 103/119] net/mlx5e: Fix SQ wake logic in ptp napi_poll context Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 104/119] net/mlx5e: Fix deadlock in tc route query code Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 105/119] net/mlx5e: Use correct encap attribute during invalidation Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 106/119] net/mlx5e: do as little as possible in napi poll when budget is 0 Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 107/119] net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 108/119] net/mlx5: Handle pairing of E-switch via uplink un/load APIs Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 109/119] net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 110/119] net/mlx5: Fix error message when failing to allocate device memory Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 111/119] net/mlx5: Collect command failures data only for known commands Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 112/119] net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 113/119] net/mlx5: Devcom, serialize devcom registration Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 114/119] arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 115/119] firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 116/119] regulator: mt6359: add read check for PMIC MT6359 Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 117/119] net/smc: Reset connection when trying to use SMCRv2 fails Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 118/119] 3c589_cs: Fix an error handling path in tc589_probe() Greg Kroah-Hartman
2023-05-28 19:11 ` [PATCH 6.1 119/119] net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE Greg Kroah-Hartman
2023-05-29  5:11 ` [PATCH 6.1 000/119] 6.1.31-rc1 review Bagas Sanjaya
2023-05-29 10:09 ` ogasawara takeshi
2023-05-29 12:03 ` Conor Dooley
2023-05-29 13:12 ` Markus Reichelt
2023-05-29 13:28 ` Naresh Kamboju
2023-05-29 16:07 ` Guenter Roeck
2023-05-29 21:49 ` Ron Economos
2023-05-30  9:19 ` Jon Hunter
2023-05-30 10:46 ` Wrong/strange TPM patches was " Pavel Machek
2023-05-30 11:50   ` Linus Torvalds
2023-05-30 13:02   ` Greg Kroah-Hartman
2023-05-30 13:58     ` Lino Sanfilippo
2023-05-30 11:52 ` Chris Paterson
2023-05-30 17:02 ` Allen Pais
2023-05-30 19:29 ` Florian Fainelli

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=20230528190837.451627580@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.