Commit ef351f8e authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'thunderbolt-for-v6.18-rc1' of...

Merge tag 'thunderbolt-for-v6.18-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next

Mika writes:

thunderbolt: Changes for v6.18 merge window

This includes following USB4/Thunderbolt changes for the v6.18 merge
window:

  - HMAC hashing improvements
  - Switch to use Linux Foundation IDs for XDomain discovery
  - Use is_pciehp instead of is_hotplug_bridge
  - Fixes for various kernel-doc issues
  - Fix use-after-free in DP tunneling error path.

I'm sending the UAF fix with this pull request because it came quite
late and I would like to give it some exposure before it lands the
mainline.

All these except the UAF fix have been in linux-next with no reported
issues.

* tag 'thunderbolt-for-v6.18-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt: (33 commits)
  thunderbolt: Fix use-after-free in tb_dp_dprx_work
  thunderbolt: Update thunderbolt.h header file
  thunderbolt: Update xdomain.c function documentation
  thunderbolt: Update usb4_port.c function documentation
  thunderbolt: Update usb4.c function documentation
  thunderbolt: Update tunnel.h function documentation
  thunderbolt: Update tunnel.c function documentation
  thunderbolt: Update tmu.c function documentation
  thunderbolt: Add missing documentation in tb.h
  thunderbolt: Update tb.h function documentation
  thunderbolt: Update tb.c function documentation
  thunderbolt: Update switch.c function documentation
  thunderbolt: Update retimer.c function documentation
  thunderbolt: Update property.c function documentation
  thunderbolt: Update path.c function documentation
  thunderbolt: Update nvm.c function documentation
  thunderbolt: Add missing documentation in nhi_regs.h ring_desc structure
  thunderbolt: Update nhi.c function documentation
  thunderbolt: Update lc.c function documentation
  thunderbolt: Update eeprom.c function documentation
  ...
parents a4e14363 67600ccf
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1890,6 +1890,11 @@ S: Reading
S: RG6 2NU
S: United Kingdom

N: Michael Jamet
E: michael.jamet@intel.com
D: Thunderbolt/USB4 driver maintainer
D: Thunderbolt/USB4 networking driver maintainer

N: Dave Jeffery
E: dhjeffery@gmail.com
D: SCSI hacks and IBM ServeRAID RAID driver maintenance
+0 −2
Original line number Diff line number Diff line
@@ -25138,7 +25138,6 @@ F: drivers/thunderbolt/dma_test.c
THUNDERBOLT DRIVER
M:	Andreas Noever <andreas.noever@gmail.com>
M:	Michael Jamet <michael.jamet@intel.com>
M:	Mika Westerberg <westeri@kernel.org>
M:	Yehezkel Bernat <YehezkelShB@gmail.com>
L:	linux-usb@vger.kernel.org
@@ -25149,7 +25148,6 @@ F: drivers/thunderbolt/
F:	include/linux/thunderbolt.h
THUNDERBOLT NETWORK DRIVER
M:	Michael Jamet <michael.jamet@intel.com>
M:	Mika Westerberg <westeri@kernel.org>
M:	Yehezkel Bernat <YehezkelShB@gmail.com>
L:	netdev@vger.kernel.org
+1 −1
Original line number Diff line number Diff line
@@ -3829,7 +3829,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MELLANOX, 0xcf80, quirk_no_pm_reset);
 */
static void quirk_thunderbolt_hotplug_msi(struct pci_dev *pdev)
{
	if (pdev->is_hotplug_bridge &&
	if (pdev->is_pciehp &&
	    (pdev->device != PCI_DEVICE_ID_INTEL_CACTUS_RIDGE_4C ||
	     pdev->revision <= 1))
		pdev->no_msi = 1;
+2 −2
Original line number Diff line number Diff line
@@ -4,8 +4,8 @@ menuconfig USB4
	depends on PCI
	select APPLE_PROPERTIES if EFI_STUB && X86
	select CRC32
	select CRYPTO
	select CRYPTO_HASH
	select CRYPTO_LIB_SHA256
	select CRYPTO_LIB_UTILS
	select NVMEM
	help
	  USB4 and Thunderbolt driver. USB4 is the public specification
+15 −13
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ static acpi_status tb_acpi_add_link(acpi_handle handle, u32 level, void *data,
 * @nhi ACPI node. For each reference a device link is added. The link
 * is automatically removed by the driver core.
 *
 * Returns %true if at least one link was created.
 * Returns %true if at least one link was created, %false otherwise.
 */
bool tb_acpi_add_links(struct tb_nhi *nhi)
{
@@ -113,8 +113,10 @@ bool tb_acpi_add_links(struct tb_nhi *nhi)
/**
 * tb_acpi_is_native() - Did the platform grant native TBT/USB4 control
 *
 * Returns %true if the platform granted OS native control over
 * TBT/USB4. In this case software based connection manager can be used,
 * Return: %true if the platform granted OS native control over
 * TBT/USB4, %false otherwise.
 *
 * When returned %true, software based connection manager can be used,
 * otherwise there is firmware based connection manager running.
 */
bool tb_acpi_is_native(void)
@@ -126,8 +128,8 @@ bool tb_acpi_is_native(void)
/**
 * tb_acpi_may_tunnel_usb3() - Is USB3 tunneling allowed by the platform
 *
 * When software based connection manager is used, this function
 * returns %true if platform allows native USB3 tunneling.
 * Return: %true if software based connection manager is used and
 * platform allows native USB 3.x tunneling, %false otherwise.
 */
bool tb_acpi_may_tunnel_usb3(void)
{
@@ -139,8 +141,8 @@ bool tb_acpi_may_tunnel_usb3(void)
/**
 * tb_acpi_may_tunnel_dp() - Is DisplayPort tunneling allowed by the platform
 *
 * When software based connection manager is used, this function
 * returns %true if platform allows native DP tunneling.
 * Return: %true if software based connection manager is used and
 * platform allows native DP tunneling, %false otherwise.
 */
bool tb_acpi_may_tunnel_dp(void)
{
@@ -152,8 +154,8 @@ bool tb_acpi_may_tunnel_dp(void)
/**
 * tb_acpi_may_tunnel_pcie() - Is PCIe tunneling allowed by the platform
 *
 * When software based connection manager is used, this function
 * returns %true if platform allows native PCIe tunneling.
 * Return: %true if software based connection manager is used and
 * platform allows native PCIe tunneling, %false otherwise.
 */
bool tb_acpi_may_tunnel_pcie(void)
{
@@ -165,8 +167,8 @@ bool tb_acpi_may_tunnel_pcie(void)
/**
 * tb_acpi_is_xdomain_allowed() - Are XDomain connections allowed
 *
 * When software based connection manager is used, this function
 * returns %true if platform allows XDomain connections.
 * Return: %true if software based connection manager is used and
 * platform allows XDomain tunneling, %false otherwise.
 */
bool tb_acpi_is_xdomain_allowed(void)
{
@@ -256,7 +258,7 @@ static int tb_acpi_retimer_set_power(struct tb_port *port, bool power)
 *
 * This should only be called if the USB4/TBT link is not up.
 *
 * Returns %0 on success.
 * Return: %0 on success, negative errno otherwise.
 */
int tb_acpi_power_on_retimers(struct tb_port *port)
{
@@ -270,7 +272,7 @@ int tb_acpi_power_on_retimers(struct tb_port *port)
 * This is the opposite of tb_acpi_power_on_retimers(). After returning
 * successfully the normal operations with the @port can continue.
 *
 * Returns %0 on success.
 * Return: %0 on success, negative errno otherwise.
 */
int tb_acpi_power_off_retimers(struct tb_port *port)
{
Loading