Date: Sun, 8 Sep 2024 09:49:03 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org,
	linux-usb@vger.kernel.org
Subject: [GIT PULL] USB driver fixes for 6.11-rc7

The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git tags/usb-6.11-rc7

for you to fetch changes up to 87eb3cb4ec619299cd5572e1d5eb68aef4074ac2:

  usb: typec: ucsi: Fix cable registration (2024-09-03 19:26:18 +0200)

----------------------------------------------------------------
USB fixes for 6.11-rc7

Here are a handful of small USB fixes for 6.11-rc7.  Included in here
are:
  - dwc3 driver fixes for two reported problems
  - two typec ucsi driver fixes
  - cdns2 controller reset fix

All of these have been in linux-next this week with no reported
problems.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

----------------------------------------------------------------
Faisal Hassan (1):
      usb: dwc3: core: update LC timer as per USB Spec V3.2

Heikki Krogerus (2):
      usb: typec: ucsi: Fix the partner PD revision
      usb: typec: ucsi: Fix cable registration

Pawel Laszczak (1):
      usb: cdns2: Fix controller reset issue

Prashanth K (1):
      usb: dwc3: Avoid waking up gadget during startxfer

 drivers/usb/dwc3/core.c                     | 15 ++++++
 drivers/usb/dwc3/core.h                     |  2 +
 drivers/usb/dwc3/gadget.c                   | 41 ++++++---------
 drivers/usb/gadget/udc/cdns2/cdns2-gadget.c | 12 ++---
 drivers/usb/gadget/udc/cdns2/cdns2-gadget.h |  9 ++++
 drivers/usb/typec/ucsi/ucsi.c               | 80 +++++++++++++++--------------
 drivers/usb/typec/ucsi/ucsi.h               |  1 -
 7 files changed, 87 insertions(+), 73 deletions(-)

.
Date: Sun, 8 Sep 2024 09:49:29 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>, linux-kernel@vger.kernel.org
Subject: [GIT PULL] Char/Misc driver fixes for 6.11-rc7

The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

  Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git tags/char-misc-6.11-rc7

for you to fetch changes up to 48b9a8dabcc3cf5f961b2ebcd8933bf9204babb7:

  VMCI: Fix use-after-free when removing resource in vmci_resource_remove() (2024-09-03 13:16:42 +0200)

----------------------------------------------------------------
Char/Misc driver fixes for 6.11-rc7

Here are some small char/misc/other driver fixes for 6.11-rc7.  It's
nothing huge, just a bunch of small fixes of reported problems,
including:
  - lots of tiny iio driver fixes
  - nvmem driver fixex
  - binder UAF bugfix
  - uio driver crash fix
  - other small fixes

All of these have been in linux-next this week with no reported
problems.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

----------------------------------------------------------------
Aleksandr Mishin (1):
      staging: iio: frequency: ad9834: Validate frequency parameter value

Carlos Llamas (1):
      binder: fix UAF caused by offsets overwrite

David Fernandez Gonzalez (1):
      VMCI: Fix use-after-free when removing resource in vmci_resource_remove()

David Lechner (1):
      iio: buffer-dmaengine: fix releasing dma channel on error

Dumitru Ceclan (5):
      iio: adc: ad7173: Fix incorrect compatible string
      iio: adc: ad7124: fix chip ID mismatch
      iio: adc: ad7124: fix config comparison
      iio: adc: ad7124: fix DT configuration parsing
      iio: adc: ad7173: fix GPIO device info

Francesco Dolcini (1):
      iio: adc: ads1119: Fix IRQ flags

Geert Uytterhoeven (1):
      nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc

Gerhard Engleder (1):
      misc: keba: Fix sysfs group creation

Greg Kroah-Hartman (1):
      Merge tag 'iio-fixes-for-6.11a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-linus

Guillaume Stols (1):
      iio: adc: ad7606: remove frstdata check for serial mode

Jean-Baptiste Maneyrol (1):
      iio: imu: inv_mpu6050: fix interrupt status read for old buggy chips

John Thomson (1):
      nvmem: u-boot-env: error if NVMEM device is too small

Matteo Martelli (1):
      iio: fix scale application in iio_convert_raw_to_processed_unlocked

Michal Simek (1):
      dt-bindings: nvmem: Use soc-nvmem node name instead of nvmem

Naman Jain (1):
      Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic

Nuno Sa (1):
      iio: adc: ad_sigma_delta: fix irq_flags on irq request

Saurabh Sengar (1):
      uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind

Sukrut Bellary (1):
      misc: fastrpc: Fix double free of 'buf' in error path

 .../bindings/nvmem/xlnx,zynqmp-nvmem.yaml          |  2 +-
 drivers/android/binder.c                           |  1 +
 drivers/hv/vmbus_drv.c                             |  1 +
 drivers/iio/adc/ad7124.c                           | 30 ++++++++------
 drivers/iio/adc/ad7173.c                           | 13 +++---
 drivers/iio/adc/ad7606.c                           | 28 +------------
 drivers/iio/adc/ad7606.h                           |  2 +
 drivers/iio/adc/ad7606_par.c                       | 46 +++++++++++++++++++++-
 drivers/iio/adc/ad_sigma_delta.c                   |  2 +-
 drivers/iio/adc/ti-ads1119.c                       |  2 +-
 drivers/iio/buffer/industrialio-buffer-dmaengine.c |  4 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c      | 13 +++++-
 drivers/iio/inkern.c                               |  8 ++--
 drivers/misc/fastrpc.c                             |  5 +--
 drivers/misc/keba/cp500.c                          | 14 ++-----
 drivers/misc/vmw_vmci/vmci_resource.c              |  3 +-
 drivers/nvmem/core.c                               |  6 +--
 drivers/nvmem/u-boot-env.c                         |  7 ++++
 drivers/staging/iio/frequency/ad9834.c             |  2 +-
 drivers/uio/uio_hv_generic.c                       | 11 +++++-
 20 files changed, 122 insertions(+), 78 deletions(-)

.
Date: Sun, 8 Sep 2024 11:03:02 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] locking/urgent for v6.11-rc7

Hi Linus,

please pull the locking/urgent lineup for v6.11-rc7.

Thx.

---

The following changes since commit d33d26036a0274b472299d7dcdaa5fb34329f91b:

  rtmutex: Drop rt_mutex::wait_lock before scheduling (2024-08-15 15:38:53 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/locking_urgent_for_v6.11_rc7

for you to fetch changes up to de752774f38bb766941ed1bf910ba5a9f6cc6bf7:

  jump_label: Fix static_key_slow_dec() yet again (2024-09-06 16:29:22 +0200)

----------------------------------------------------------------
- Correct unwinding the static_call machinery when encountering an error while
  loading a module due to a mis-assumption in the static_call_del_module()
  path

- Replace a WARN_ON in the memory allocation failure path of the static_call
  module machinery which unnecessarily leads to a panic when panic_on_warn is
  set

- Fix an ordering problem in jump_label's static key reference counting code

----------------------------------------------------------------
Peter Zijlstra (1):
      jump_label: Fix static_key_slow_dec() yet again

Thomas Gleixner (2):
      static_call: Handle module init failure correctly in static_call_del_module()
      static_call: Replace pointless WARN_ON() in static_call_module_notify()

 kernel/jump_label.c         | 83 +++++++++++++++++++++++++++++----------------
 kernel/static_call_inline.c | 13 ++++++-
 2 files changed, 66 insertions(+), 30 deletions(-)


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Sun, 8 Sep 2024 11:07:59 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] perf/urgent for v6.11-rc7

Hi Linus,

please pull two urgent perf fixes for v6.11-rc7.

Thx.

---

The following changes since commit 25dfc9e357af8aed1ca79b318a73f2c59c1f0b2b:

  perf/x86/intel: Limit the period on Haswell (2024-08-25 16:49:05 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/perf_urgent_for_v6.11_rc7

for you to fetch changes up to 2ab9d830262c132ab5db2f571003d80850d56b2a:

  perf/aux: Fix AUX buffer serialization (2024-09-04 18:22:56 +0200)

----------------------------------------------------------------
- Fix perf's AUX buffer serialization

- Prevent uninitialized struct members in perf's uprobes handling

----------------------------------------------------------------
Peter Zijlstra (1):
      perf/aux: Fix AUX buffer serialization

Sven Schnelle (1):
      uprobes: Use kzalloc to allocate xol area

 kernel/events/core.c        | 18 ++++++++++++------
 kernel/events/internal.h    |  1 +
 kernel/events/ring_buffer.c |  2 ++
 kernel/events/uprobes.c     |  3 +--
 4 files changed, 16 insertions(+), 8 deletions(-)


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Sun, 8 Sep 2024 11:12:00 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] timers/urgent for v6.11-rc7

Hi Linus,

please pull clocksource driver fixes for v6.11-rc7, courtesy of Daniel
Lezcano.

Thx.

---

The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/timers_urgent_for_v6.11_rc7

for you to fetch changes up to 342123d6913c62be17e5ca1bb325758c5fd0db34:

  Merge tag 'timers-v6.11-rc7' of https://git.linaro.org/people/daniel.lezcano/linux into timers/urgent (2024-09-02 11:56:59 +0200)

----------------------------------------------------------------
- Remove percpu irq related code in the timer-of initialization
  routine as it is broken but also unused (Daniel Lezcano)

- Fix return -ETIME when delta exceeds INT_MAX and the next event not
  taking effect sometimes (Jacky Bai)

----------------------------------------------------------------
Daniel Lezcano (1):
      clocksource/drivers/timer-of: Remove percpu irq related code

Jacky Bai (2):
      clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
      clocksource/drivers/imx-tpm: Fix next event not taking effect sometime

Thomas Gleixner (1):
      Merge tag 'timers-v6.11-rc7' of https://git.linaro.org/people/daniel.lezcano/linux into timers/urgent

 drivers/clocksource/timer-imx-tpm.c | 16 ++++++++++++----
 drivers/clocksource/timer-of.c      | 17 ++++-------------
 drivers/clocksource/timer-of.h      |  1 -
 3 files changed, 16 insertions(+), 18 deletions(-)


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Sun, 8 Sep 2024 23:42:25 +0900
From: Chanwoo Choi <chanwoo@kernel.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
 "open list:DEVICE FREQUENCY (DEVFREQ)" <linux-pm@vger.kernel.org>,
 Kyungmin Park <kyungmin.park@samsung.com>,
 MyungJoo Ham <myungjoo.ham@samsung.com>, Chanwoo Choi <chanwoo@kernel.org>
Subject: GIT PULL] devfreq next for 6.12

Dear Rafael,

This is devfreq-next pull request for v6.12. I add detailed description of
this pull request on the following tag. Please pull devfreq with
following updates.

Best Regards,
Chanwoo Choi

The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git tags/devfreq-next-for-6.12

for you to fetch changes up to d47552124bb0b9527da7a95357ae7d2e6046c4f6:

  PM / devfreq: imx-bus: Use of_property_present() (2024-09-05 01:23:56 +0900)

----------------------------------------------------------------
Update devfreq next for v6.12

Detailed description for this pull request:
- Add missing MODULE_DESCRIPTION() macros for devfreq governors.
- Use Use devm_clk_get_enabled() helpers for exyns-bus devfreq driver.
- Use of_property_present() instead of of_get_property() for imx-bus devfreq driver.
----------------------------------------------------------------
Anand Moon (1):
      PM / devfreq: exynos: Use Use devm_clk_get_enabled() helpers

Jeff Johnson (1):
      PM/devfreq: governor: add missing MODULE_DESCRIPTION() macros

Rob Herring (Arm) (1):
      PM / devfreq: imx-bus: Use of_property_present()

 drivers/devfreq/exynos-bus.c              | 22 +++++-----------------
 drivers/devfreq/governor_performance.c    |  1 +
 drivers/devfreq/governor_powersave.c      |  1 +
 drivers/devfreq/governor_simpleondemand.c |  1 +
 drivers/devfreq/governor_userspace.c      |  1 +
 drivers/devfreq/imx-bus.c                 |  2 +-
 6 files changed, 10 insertions(+), 18 deletions(-)

.
Date: Mon, 9 Sep 2024 00:18:11 +0900
From: Chanwoo Choi <chanwoo@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
 Chanwoo Choi <cw00.choi@samsung.com>, MyungJoo Ham <myungjoo.ham@samsung.com>
Subject: [GIT PULL] extcon next for v6.12

Dear Greg,

This is extcon-next pull request for v6.12. I add detailed description of
this pull request on below. Please pull extcon with following updates.

Best Regards,
Chanwoo Choi


The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

  Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git tags/extcon-next-for-6.12

for you to fetch changes up to 2e01ac83c1c7166e58043ff2bdb0dc7dbfcfd11a:

  extcon: lc824206xa: Fix build error of POWER_SUPPLY_PROP_USB_TYPE (2024-09-05 01:44:51 +0900)

----------------------------------------------------------------
Update extcon next for v6.12

Detailed description for this pull request:
- Add missing child node port on exttcon-ptn5150 binding document

- Convert extcon-usb-gpio.txt to yaml format for binding document

- Add new LC824206XA microUSB switch driver
 : Add a new driver for the ON Semiconductor LC824206XA microUSB switch and
   accessory detector chip. It has been tested on a Lenovo Yoga Tablet 2 Pro
   1380. And this driver is only used on x86/ACPI (non devicetree) devices,
   Therefor there is no devicetree bindings documentation.

- Apply immutable branch between power_supply and extcon tree for extcon-lc824206xa.c
----------------------------------------------------------------

Chanwoo Choi (1):
      Merge tag 'ib-psy-usb-types-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply into extcon-next

Frank Li (2):
      dt-bindings: extcon: ptn5150: add child node port
      dt-bindings: extcon: convert extcon-usb-gpio.txt to yaml format

Hans de Goede (7):
      power: supply: "usb_type" property may be written to
      power: supply: ucs1002: Adjust ucs1002_set_usb_type() to accept string values
      power: supply: rt9467-charger: Remove "usb_type" property write support
      power: supply: sysfs: Add power_supply_show_enum_with_available() helper
      power: supply: sysfs: Move power_supply_show_enum_with_available() up
      power: supply: Change usb_types from an array into a bitmask
      extcon: Add LC824206XA microUSB switch driver

Stephen Rothwell (1):
      extcon: lc824206xa: Fix build error of POWER_SUPPLY_PROP_USB_TYPE

 Documentation/ABI/testing/sysfs-class-power        |   7 +-
 .../devicetree/bindings/extcon/extcon-ptn5150.yaml |  11 +
 .../devicetree/bindings/extcon/extcon-usb-gpio.txt |  21 -
 .../bindings/extcon/linux,extcon-usb-gpio.yaml     |  37 ++
 drivers/extcon/Kconfig                             |  11 +
 drivers/extcon/Makefile                            |   1 +
 drivers/extcon/extcon-intel-cht-wc.c               |  15 +-
 drivers/extcon/extcon-lc824206xa.c                 | 495 +++++++++++++++++++++
 drivers/phy/ti/phy-tusb1210.c                      |  11 +-
 drivers/power/supply/axp20x_usb_power.c            |  13 +-
 drivers/power/supply/bq256xx_charger.c             |  15 +-
 drivers/power/supply/cros_usbpd-charger.c          |  22 +-
 drivers/power/supply/lenovo_yoga_c630_battery.c    |   7 +-
 drivers/power/supply/mp2629_charger.c              |  15 +-
 drivers/power/supply/mt6360_charger.c              |  13 +-
 drivers/power/supply/mt6370-charger.c              |  13 +-
 drivers/power/supply/power_supply_core.c           |   4 -
 drivers/power/supply/power_supply_sysfs.c          |  66 +--
 drivers/power/supply/qcom_battmgr.c                |  37 +-
 drivers/power/supply/qcom_pmi8998_charger.c        |  13 +-
 drivers/power/supply/rk817_charger.c               |   9 +-
 drivers/power/supply/rn5t618_power.c               |  13 +-
 drivers/power/supply/rt9467-charger.c              |  16 +-
 drivers/power/supply/rt9471.c                      |  15 +-
 drivers/power/supply/ucs1002_power.c               |  26 +-
 drivers/usb/typec/anx7411.c                        |  11 +-
 drivers/usb/typec/rt1719.c                         |  11 +-
 drivers/usb/typec/tcpm/tcpm.c                      |  11 +-
 drivers/usb/typec/tipd/core.c                      |   9 +-
 drivers/usb/typec/ucsi/psy.c                       |  11 +-
 include/linux/power_supply.h                       |   3 +-
 31 files changed, 687 insertions(+), 275 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/extcon/linux,extcon-usb-gpio.yaml
 create mode 100644 drivers/extcon/extcon-lc824206xa.c

.
Date: Mon, 9 Sep 2024 11:03:02 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-edac <linux-edac@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] EDAC updates for v6.12

Hi Linus,

please pull EDAC updates for v6.12.

Like you said "All the actual work should be done before the
merge window" and before we bring you the pull requests live, written with
a pen and paper, lemme send you some now so that there's less stress next
week.

Thx.

---

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras.git tags/edac_updates_for_v6.12

for you to fetch changes up to 92f8358bce13da0b2c37122573a2b2d7de0071df:

  Merge remote-tracking branches 'ras/edac-amd-atl', 'ras/edac-misc' and 'ras/edac-drivers' into edac-updates (2024-09-09 10:51:30 +0200)

----------------------------------------------------------------
- Drop a now obsolete ppc4xx_edac driver

- Fix conversion to physical memory addresses on Intel's Elkhart Lake and Ice
  Lake hardware when the system address is above the (Top-Of-Memory) TOM
  address

- Pay attention to the memory hole on Zynq UltraScale+ MPSoC DDR controllers
  when injecting errors for testing purposes

- Add support for translating normalized error addresses reported by an AMD
  memory controller into system physical addresses using an UEFI mechanism
  called platform runtime mechanism (PRM).

- The usual cleanups and fixes

----------------------------------------------------------------
Borislav Petkov (AMD) (1):
      Merge remote-tracking branches 'ras/edac-amd-atl', 'ras/edac-misc' and 'ras/edac-drivers' into edac-updates

John Allen (2):
      ACPI: PRM: Add PRM handler direct call support
      RAS/AMD/ATL: Translate normalized to system physical addresses using PRM

Qiuxu Zhuo (4):
      EDAC/igen6: Fix conversion of system address to physical memory address
      EDAC/{skx_common,skx,i10nm}: Move the common debug code to skx_common
      EDAC/{skx_common,i10nm}: Remove the AMAP register for determing DDR5
      EDAC/sb_edac: Fix the compile warning of large frame size

Rob Herring (Arm) (1):
      EDAC: Drop obsolete PPC4xx driver

Shubhrajyoti Datta (1):
      EDAC/synopsys: Fix error injection on Zynq UltraScale+

 drivers/acpi/prmt.c            |   24 +
 drivers/edac/Kconfig           |    9 -
 drivers/edac/Makefile          |    1 -
 drivers/edac/i10nm_base.c      |   61 +-
 drivers/edac/igen6_edac.c      |    2 +-
 drivers/edac/ppc4xx_edac.c     | 1425 ----------------------------------------
 drivers/edac/ppc4xx_edac.h     |  167 -----
 drivers/edac/sb_edac.c         |   35 +-
 drivers/edac/skx_base.c        |   52 +-
 drivers/edac/skx_common.c      |   49 +-
 drivers/edac/skx_common.h      |    8 +
 drivers/edac/synopsys_edac.c   |   35 +-
 drivers/ras/amd/atl/Kconfig    |    4 +
 drivers/ras/amd/atl/Makefile   |    2 +
 drivers/ras/amd/atl/internal.h |   10 +
 drivers/ras/amd/atl/prm.c      |   57 ++
 drivers/ras/amd/atl/umc.c      |    5 +
 include/linux/prmt.h           |    5 +
 18 files changed, 222 insertions(+), 1729 deletions(-)
 delete mode 100644 drivers/edac/ppc4xx_edac.c
 delete mode 100644 drivers/edac/ppc4xx_edac.h
 create mode 100644 drivers/ras/amd/atl/prm.c


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Mon, 9 Sep 2024 14:50:25 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] x86/microcode for v6.12-rc1

Hi Linus,

please pull the x86/microcode lineup for v6.12-rc1.

Thx.

---

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/x86_microcode_for_v6.12_rc1

for you to fetch changes up to 5343558a868e7e635b40baa2e46bf53df1a2d131:

  x86/microcode/AMD: Fix a -Wsometimes-uninitialized clang false positive (2024-07-30 09:52:43 +0200)

----------------------------------------------------------------
- Simplify microcode patches loading on AMD Zen and newer by using the family,
  model and stepping encoded in the patch revision number

- Fix a silly clang warning

----------------------------------------------------------------
Borislav Petkov (1):
      x86/microcode/AMD: Use the family,model,stepping encoded in the patch ID

Borislav Petkov (AMD) (1):
      x86/microcode/AMD: Fix a -Wsometimes-uninitialized clang false positive

 arch/x86/kernel/cpu/microcode/amd.c | 192 +++++++++++++++++++++++++++++-------
 1 file changed, 159 insertions(+), 33 deletions(-)


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Mon, 9 Sep 2024 14:54:25 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] ras/core for v6.12-rc1

Hi Linus,

please pull some x86 RAS updates for v6.12-rc1.

Thx.

---

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/ras_core_for_v6.12_rc1

for you to fetch changes up to 793aa4bf192d0ad07cca001a596f955d121f5c10:

  x86/mce: Use mce_prep_record() helpers for apei_smca_report_x86_error() (2024-08-01 18:20:25 +0200)

----------------------------------------------------------------
- Reorganize the struct mce populating functions so that MCA errors
  reported through BIOS' BERT method can report the correct CPU number
  the error has been detected on

----------------------------------------------------------------
Yazen Ghannam (3):
      x86/mce: Rename mce_setup() to mce_prep_record()
      x86/mce: Define mce_prep_record() helpers for common and per-CPU fields
      x86/mce: Use mce_prep_record() helpers for apei_smca_report_x86_error()

 arch/x86/include/asm/mce.h         |  2 +-
 arch/x86/kernel/cpu/mce/amd.c      |  2 +-
 arch/x86/kernel/cpu/mce/apei.c     | 18 +++++++++---------
 arch/x86/kernel/cpu/mce/core.c     | 38 +++++++++++++++++++++++++-------------
 arch/x86/kernel/cpu/mce/internal.h |  2 ++
 5 files changed, 38 insertions(+), 24 deletions(-)


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Mon, 9 Sep 2024 14:58:00 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] x86/sev for v6.12-rc1

Hi Linus,

please pull some x86 SEV cleanups for v6.12-rc1.

Thx.

---

The following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37:

  Linux 6.11-rc5 (2024-08-25 19:07:11 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/x86_sev_for_v6.12_rc1

for you to fetch changes up to 2b9ac0b84c2cae91bbaceab62df4de6d503421ec:

  virt: sev-guest: Ensure the SNP guest messages do not exceed a page (2024-08-27 10:35:38 +0200)

----------------------------------------------------------------
- A bunch of cleanups to the sev-guest driver. All in preparation for
  future SEV work

----------------------------------------------------------------
Nikunj A Dadhania (4):
      virt: sev-guest: Replace dev_dbg() with pr_debug()
      virt: sev-guest: Rename local guest message variables
      virt: sev-guest: Fix user-visible strings
      virt: sev-guest: Ensure the SNP guest messages do not exceed a page

 arch/x86/include/asm/sev.h              |   2 +-
 drivers/virt/coco/sev-guest/sev-guest.c | 132 ++++++++++++++++----------------
 2 files changed, 69 insertions(+), 65 deletions(-)


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Mon, 9 Sep 2024 09:52:26 -0400
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-bcachefs@vger.kernel.org, linux-fsdevel@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] bcachefs fixes for 6.11-rc8/final

this closes out the main critical bug users have been hitting

now to dig through the bug tracker some more...

The following changes since commit 53f6619554fb1edf8d7599b560d44dbea085c730:

  bcachefs: BCH_SB_MEMBER_INVALID (2024-09-03 20:43:14 -0400)

are available in the Git repository at:

  git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-09-09

for you to fetch changes up to 16005147cca41a0f67b5def2a4656286f8c0db4a:

  bcachefs: Don't delete open files in online fsck (2024-09-09 09:41:47 -0400)

----------------------------------------------------------------
bcachefs fixes for 6.11-rc8

- fix ca->io_ref usage; analagous to previous patch doing that for main
  discard path
- cond_resched() in __journal_keys_sort(), cutting down on "hung task"
  warnings when journal is big
- rest of basic BCH_SB_MEMBER_INVALID support
- and the critical one: don't delete open files in online fsck, this was
  causing the "dirent points to inode that doesn't point back"
  inconsistencies some users were seeing

----------------------------------------------------------------
Kent Overstreet (6):
      bcachefs: Fix ca->io_ref usage
      bcachefs: Add a cond_resched() to __journal_keys_sort()
      bcachefs: Simplify bch2_bkey_drop_ptrs()
      bcachefs: More BCH_SB_MEMBER_INVALID support
      bcachefs: fix btree_key_cache sysfs knob
      bcachefs: Don't delete open files in online fsck

 fs/bcachefs/alloc_background.c   | 24 ++++++++++++------------
 fs/bcachefs/btree_journal_iter.c |  2 ++
 fs/bcachefs/buckets.c            | 15 ++++++++-------
 fs/bcachefs/ec.h                 |  4 +++-
 fs/bcachefs/extents.c            | 26 ++++++++++----------------
 fs/bcachefs/extents.h            | 23 +++++++++--------------
 fs/bcachefs/fs.c                 |  8 ++++++++
 fs/bcachefs/fs.h                 |  7 +++++++
 fs/bcachefs/fsck.c               | 18 ++++++++++++++++++
 fs/bcachefs/replicas.c           |  2 +-
 fs/bcachefs/sysfs.c              |  2 +-
 11 files changed, 79 insertions(+), 52 deletions(-)

.
Date: Mon, 9 Sep 2024 16:59:08 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] x86/cpu for v6.12-rc1

Hi Linus,

please pull the x86/cpu lineup for v6.12-rc1.

Thx.

---

The following changes since commit c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e:

  Merge tag 'x86-urgent-2024-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2024-09-01 14:43:08 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/x86_cpu_for_v6.12_rc1

for you to fetch changes up to db4001f9cc32e3ef105a4e4f492d7d813b28292a:

  x86/cpu/vfm: Delete all the *_FAM6_ CPU #defines (2024-09-04 18:11:08 +0200)

----------------------------------------------------------------
- Add the final conversions to the new Intel VFM CPU model matching macros
  which include the vendor and finally drop the old ones which hardcode family 6

----------------------------------------------------------------
Dave Hansen (1):
      x86/cpu/intel: Replace PAT erratum model/family magic numbers with symbolic IFM references

Tony Luck (3):
      extcon: axp288: Switch to new Intel CPU model defines
      x86/cpu/vfm: Delete X86_MATCH_INTEL_FAM6_MODEL[_STEPPING]() macros
      x86/cpu/vfm: Delete all the *_FAM6_ CPU #defines

 arch/x86/include/asm/cpu_device_id.h | 20 ---------
 arch/x86/include/asm/intel-family.h  | 87 ++----------------------------------
 arch/x86/kernel/cpu/intel.c          | 18 ++++----
 drivers/extcon/extcon-axp288.c       |  2 +-
 4 files changed, 15 insertions(+), 112 deletions(-)


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Mon, 9 Sep 2024 17:13:44 +0200
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] x86/bugs for v6.12-rc1

Hi Linus,

please pull the x86/bugs lineup for v6.12-rc1.

Thx.

---

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip tags/x86_bugs_for_v6.12_rc1

for you to fetch changes up to 1dbb6b1495d472806fef1f4c94f5b3e4c89a3c1d:

  x86/bugs: Fix handling when SRSO mitigation is disabled (2024-09-05 11:20:50 +0200)

----------------------------------------------------------------
- Add CONFIG_ option for every hw CPU mitigation. The intent is to support
  configurations and scenarios where the mitigations code is irrelevant

- Other small fixlets and improvements

----------------------------------------------------------------
Borislav Petkov (AMD) (1):
      Documentation/srso: Document a method for checking safe RET operates properly

Breno Leitao (11):
      x86/bugs: Add a separate config for MDS
      x86/bugs: Add a separate config for TAA
      x86/bugs: Add a separate config for MMIO Stable Data
      x86/bugs: Add a separate config for L1TF
      x86/bugs: Add a separate config for RETBLEED
      x86/bugs: Add a separate config for Spectre v1
      x86/bugs: Add a separate config for SRBDS
      x86/bugs: Add a separate config for Spectre V2
      x86/bugs: Add a separate config for SSB
      x86/bugs: Remove GDS Force Kconfig option
      x86/bugs: Add a separate config for GDS

Daniel Sneddon (1):
      x86/bugs: Add missing NO_SSB flag

David Kaplan (1):
      x86/bugs: Fix handling when SRSO mitigation is disabled

 Documentation/admin-guide/hw-vuln/srso.rst |  69 ++++++++++++++++
 arch/x86/Kconfig                           | 124 +++++++++++++++++++++++++----
 arch/x86/kernel/cpu/bugs.c                 |  60 +++++++-------
 arch/x86/kernel/cpu/common.c               |   4 +-
 tools/testing/selftests/x86/Makefile       |   2 +-
 tools/testing/selftests/x86/srso.c         |  70 ++++++++++++++++
 6 files changed, 281 insertions(+), 48 deletions(-)
 create mode 100644 tools/testing/selftests/x86/srso.c


-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

.
Date: Mon, 9 Sep 2024 16:14:54 -0400
From: Steven Rostedt <rostedt@goodmis.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>, Masami Hiramatsu
 <mhiramat@kernel.org>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [GIT PULL] tracing: A couple of fixes for 6.11


Linus,

More tracing fixes for 6.11:

- Move declaration of interface_lock outside of CONFIG_TIMERLAT_TRACER

  The fix to some locking races moved the declaration of the
  interface_lock up in the file, but also moved it into the
  CONFIG_TIMERLAT_TRACER #ifdef block, breaking the build when
  that wasn't set. Move it further up and out of that #ifdef block.

- Remove unused function run_tracer_selftest() stub

  When CONFIG_FTRACE_STARTUP_TEST is not set the stub function
  run_tracer_selftest() is not used and clang is warning about it.
  Remove the function stub as it is not needed.

Note, I updated my test suite to test the case of OSNOISE tracer enabled
when the TIMERLAT tracer is not to catch the case that the one config not
enabled will not break the build again.


Please pull the latest trace-v6.11-rc6 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-v6.11-rc6

Tag SHA1: 0dc65da7e7ed16903411c35ccea3a00ffb3f9fac
Head SHA1: 4e378158e5c15bd237a6ff44b7abb9184d61208c


Andy Shevchenko (1):
      tracing: Drop unused helper function to fix the build

Steven Rostedt (1):
      tracing/osnoise: Fix build when timerlat is not enabled

----
 kernel/trace/trace.c         |  4 ----
 kernel/trace/trace_osnoise.c | 10 +++++-----
 2 files changed, 5 insertions(+), 9 deletions(-)
---------------------------
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index edf6bc817aa1..c3b2c7dfadef 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2226,10 +2226,6 @@ static __init int init_trace_selftests(void)
 }
 core_initcall(init_trace_selftests);
 #else
-static inline int run_tracer_selftest(struct tracer *type)
-{
-	return 0;
-}
 static inline int do_run_tracer_selftest(struct tracer *type)
 {
 	return 0;
diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c
index bbe47781617e..7e75c1214b36 100644
--- a/kernel/trace/trace_osnoise.c
+++ b/kernel/trace/trace_osnoise.c
@@ -228,6 +228,11 @@ static inline struct osnoise_variables *this_cpu_osn_var(void)
 	return this_cpu_ptr(&per_cpu_osnoise_var);
 }
 
+/*
+ * Protect the interface.
+ */
+static struct mutex interface_lock;
+
 #ifdef CONFIG_TIMERLAT_TRACER
 /*
  * Runtime information for the timer mode.
@@ -252,11 +257,6 @@ static inline struct timerlat_variables *this_cpu_tmr_var(void)
 	return this_cpu_ptr(&per_cpu_timerlat_var);
 }
 
-/*
- * Protect the interface.
- */
-static struct mutex interface_lock;
-
 /*
  * tlat_var_reset - Reset the values of the given timerlat_variables
  */

.
Date: Tue, 10 Sep 2024 11:44:37 -0600
From: Shuah Khan <skhan@linuxfoundation.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Thomas Renninger <trenn@suse.de>, Thomas Renninger <trenn@suse.com>,
 Shuah Khan <skhan@linuxfoundation.org>, shuah <shuah@kernel.org>,
 linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Subject: [GIT PULL] cpupower second update for Linux 6.12-rc1

This is a multi-part message in MIME format.
--------------jjT60Xg7OJjn7N018L42dldc
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rafael,

Please pull the following cpupower second update for Linux 6.12-rc1.

This cpupower second update for Linux 6.12-rc1 consists of a fix
and a new feature.

-- adds missing powercap_set_enabled() stub function
-- adds SWIG bindings files for libcpupower

SWIG is a tool packaged in Fedora and other distros that can generate
bindings from C and C++ code for several languages including Python,
Perl, and Go.

These bindings allows users to easily write scripts that use and extend
libcpupower's functionality. Currently, only Python is provided in the
makefile, but additional languages may be added if there is demand.

Note that while SWIG itself is GPL v3+ licensed; the resulting output,
the bindings code, is permissively licensed + the license of the .o
files. Please see the following for more details.

- https://swig.org/legal.html.
- https://lore.kernel.org/linux-pm/Zqv9BOjxLAgyNP5B@hatbackup

diff is attached.

thanks,
-- Shuah

----------------------------------------------------------------
The following changes since commit 76fb981ad6774b82f06703c896b492c8659b543b:

   tools/cpupower: display residency value in idle-info (2024-08-09 10:32:33 -0600)

are available in the Git repository at:

   git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux tags/linux-cpupower-6.12-rc1-2

for you to fetch changes up to 80e67f1802d0fc21543216557a68320c71d7dbe1:

   pm:cpupower: Add error warning when SWIG is not installed (2024-09-06 10:58:35 -0600)

----------------------------------------------------------------
linux-cpupower-6.12-rc1-2

This cpupower second update for Linux 6.12-rc1 consists of a fix
and a new feature.

-- adds missing powercap_set_enabled() stub function
-- adds SWIG bindings files for libcpupower

SWIG is a tool packaged in Fedora and other distros that can generate
bindings from C and C++ code for several languages including Python,
Perl, and Go.

These bindings allows users to easily write scripts that use and extend
libcpupower's functionality. Currently, only Python is provided in the
makefile, but additional languages may be added if there is demand.

Note that while SWIG itself is GPL v3+ licensed; the resulting output,
the bindings code, is permissively licensed + the license of the .o
files. Please see the following for more details.

- https://swig.org/legal.html.
- https://lore.kernel.org/linux-pm/Zqv9BOjxLAgyNP5B@hatbackup

----------------------------------------------------------------
John B. Wyatt IV (5):
       pm:cpupower: Add missing powercap_set_enabled() stub function
       pm:cpupower: Add SWIG bindings files for libcpupower
       pm:cpupower: Include test_raw_pylibcpupower.py
       MAINTAINERS: Add Maintainers for SWIG Python bindings
       pm:cpupower: Add error warning when SWIG is not installed

  MAINTAINERS                                        |   3 +
  tools/power/cpupower/bindings/python/.gitignore    |   8 +
  tools/power/cpupower/bindings/python/Makefile      |  33 +++
  tools/power/cpupower/bindings/python/README        |  59 +++++
  .../cpupower/bindings/python/raw_pylibcpupower.i   | 247 +++++++++++++++++++++
  .../bindings/python/test_raw_pylibcpupower.py      |  42 ++++
  tools/power/cpupower/lib/powercap.c                |   8 +
  7 files changed, 400 insertions(+)
  create mode 100644 tools/power/cpupower/bindings/python/.gitignore
  create mode 100644 tools/power/cpupower/bindings/python/Makefile
  create mode 100644 tools/power/cpupower/bindings/python/README
  create mode 100644 tools/power/cpupower/bindings/python/raw_pylibcpupower.i
  create mode 100755 tools/power/cpupower/bindings/python/test_raw_pylibcpupower.py
----------------------------------------------------------------
--------------jjT60Xg7OJjn7N018L42dldc
Content-Type: text/x-patch; charset=UTF-8;
 name="linux-cpupower-6.12-rc1-2.diff"
Content-Disposition: attachment; filename="linux-cpupower-6.12-rc1-2.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5kZXggNDJkZWNkZTM4
MzIwLi5kM2I2NjFlNTQ5NmUgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5U
QUlORVJTCkBAIC01ODE5LDYgKzU4MTksOSBAQCBDUFUgUE9XRVIgTU9OSVRPUklORyBTVUJT
WVNURU0KIE06CVRob21hcyBSZW5uaW5nZXIgPHRyZW5uQHN1c2UuY29tPgogTToJU2h1YWgg
S2hhbiA8c2h1YWhAa2VybmVsLm9yZz4KIE06CVNodWFoIEtoYW4gPHNraGFuQGxpbnV4Zm91
bmRhdGlvbi5vcmc+CitNOglKb2huIEIuIFd5YXR0IElWIDxqd3lhdHRAcmVkaGF0LmNvbT4K
K006CUpvaG4gQi4gV3lhdHQgSVYgPHNhZ2VvZnJlZG9uZG9AZ21haWwuY29tPgorTToJSm9o
biBLYWN1ciA8amthY3VyQHJlZGhhdC5jb20+CiBMOglsaW51eC1wbUB2Z2VyLmtlcm5lbC5v
cmcKIFM6CU1haW50YWluZWQKIEY6CXRvb2xzL3Bvd2VyL2NwdXBvd2VyLwpkaWZmIC0tZ2l0
IGEvdG9vbHMvcG93ZXIvY3B1cG93ZXIvYmluZGluZ3MvcHl0aG9uLy5naXRpZ25vcmUgYi90
b29scy9wb3dlci9jcHVwb3dlci9iaW5kaW5ncy9weXRob24vLmdpdGlnbm9yZQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjVjOWExZjAyMTJkZAotLS0gL2Rl
di9udWxsCisrKyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL2JpbmRpbmdzL3B5dGhvbi8uZ2l0
aWdub3JlCkBAIC0wLDAgKzEsOCBAQAorX19weWNhY2hlX18vCityYXdfcHlsaWJjcHVwb3dl
cl93cmFwLmMKKyoubworKi5zbworKi5weQorIXRlc3RfcmF3X3B5bGliY3B1cG93ZXIucHkK
KyMgZ2l0IGtlZXBzIGlnbm9yaW5nIHRoaXMgZmlsZSwgdXNlIGdpdCBhZGQgLWYgcmF3X2xp
YmNwdXBvd2VyLmkKKyFyYXdfcHlsaWJjcHVwb3dlci5pCmRpZmYgLS1naXQgYS90b29scy9w
b3dlci9jcHVwb3dlci9iaW5kaW5ncy9weXRob24vTWFrZWZpbGUgYi90b29scy9wb3dlci9j
cHVwb3dlci9iaW5kaW5ncy9weXRob24vTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi5kYzA5YzViNjZlYWQKLS0tIC9kZXYvbnVsbAorKysgYi90
b29scy9wb3dlci9jcHVwb3dlci9iaW5kaW5ncy9weXRob24vTWFrZWZpbGUKQEAgLTAsMCAr
MSwzMyBAQAorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisjIE1h
a2VmaWxlIGZvciBsaWJjcHVwb3dlcidzIFB5dGhvbiBiaW5kaW5ncworIworIyBUaGlzIE1h
a2VmaWxlIGV4cGVjdHMgeW91IGhhdmUgYWxyZWFkeSBydW4gdGhlIG1ha2VmaWxlIGZvciBj
cHVwb3dlciB0byBidWlsZAorIyB0aGUgLm8gZmlsZXMgaW4gdGhlIGxpYiBkaXJlY3Rvcnkg
Zm9yIHRoZSBiaW5kaW5ncyB0byBiZSBjcmVhdGVkLgorCitDQyA6PSBnY2MKK0hBVkVfU1dJ
RyA6PSAkKHNoZWxsIGlmIHdoaWNoIHN3aWcgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIGVjaG8g
MTsgZWxzZSBlY2hvIDA7IGZpKQorSEFWRV9QWUNPTkZJRyA6PSAkKHNoZWxsIGlmIHdoaWNo
IHB5dGhvbi1jb25maWcgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIGVjaG8gMTsgZWxzZSBlY2hv
IDA7IGZpKQorCitMSUJfRElSIDo9IC4uLy4uL2xpYgorUFlfSU5DTFVERSA9ICQoZmlyc3R3
b3JkICQoc2hlbGwgcHl0aG9uLWNvbmZpZyAtLWluY2x1ZGVzKSkKK09CSkVDVFNfTElCID0g
JCh3aWxkY2FyZCAkKExJQl9ESVIpLyoubykKKworYWxsOiBfcmF3X3B5bGliY3B1cG93ZXIu
c28KKworX3Jhd19weWxpYmNwdXBvd2VyLnNvOiByYXdfcHlsaWJjcHVwb3dlcl93cmFwLm8K
KwkkKENDKSAtc2hhcmVkICQoT0JKRUNUU19MSUIpIHJhd19weWxpYmNwdXBvd2VyX3dyYXAu
byAtbyBfcmF3X3B5bGliY3B1cG93ZXIuc28KKworcmF3X3B5bGliY3B1cG93ZXJfd3JhcC5v
OiByYXdfcHlsaWJjcHVwb3dlcl93cmFwLmMKKwkkKENDKSAtZlBJQyAtYyByYXdfcHlsaWJj
cHVwb3dlcl93cmFwLmMgJChQWV9JTkNMVURFKQorCityYXdfcHlsaWJjcHVwb3dlcl93cmFw
LmM6IHJhd19weWxpYmNwdXBvd2VyLmkKK2lmZXEgKCQoSEFWRV9TV0lHKSwwKQorCSQoZXJy
b3IgInN3aWcgd2FzIG5vdCBmb3VuZC4gTWFrZSBzdXJlIHlvdSBoYXZlIGl0IGluc3RhbGxl
ZCBhbmQgaW4gdGhlIFBBVEggdG8gZ2VuZXJhdGUgdGhlIGJpbmRpbmdzLiIpCitlbHNlIGlm
ZXEgKCQoSEFWRV9QWUNPTkZJRyksMCkKKwkkKGVycm9yICJweXRob24tY29uZmlnIHdhcyBu
b3QgZm91bmQuIE1ha2Ugc3VyZSB5b3UgaGF2ZSBpdCBpbnN0YWxsZWQgYW5kIGluIHRoZSBQ
QVRIIHRvIGdlbmVyYXRlIHRoZSBiaW5kaW5ncy4iKQorZW5kaWYKKwlzd2lnIC1weXRob24g
cmF3X3B5bGliY3B1cG93ZXIuaQorCisjIFdpbGwgb25seSBjbGVhbiB0aGUgYmluZGluZ3Mg
Zm9sZGVyOyB3aWxsIG5vdCBjbGVhbiB0aGUgYWN0dWFsIGNwdXBvd2VyIGZvbGRlcgorY2xl
YW46CisJcm0gLWYgcmF3X3B5bGliY3B1cG93ZXIucHkgcmF3X3B5bGliY3B1cG93ZXJfd3Jh
cC5jIHJhd19weWxpYmNwdXBvd2VyX3dyYXAubyBfcmF3X3B5bGliY3B1cG93ZXIuc28KZGlm
ZiAtLWdpdCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL2JpbmRpbmdzL3B5dGhvbi9SRUFETUUg
Yi90b29scy9wb3dlci9jcHVwb3dlci9iaW5kaW5ncy9weXRob24vUkVBRE1FCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGE0YmIyNTgxZThhCi0tLSAvZGV2
L251bGwKKysrIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvYmluZGluZ3MvcHl0aG9uL1JFQURN
RQpAQCAtMCwwICsxLDU5IEBACitUaGlzIGZvbGRlciBjb250YWlucyB0aGUgbmVjZXNzYXJ5
IGZpbGVzIHRvIGJ1aWxkIHRoZSBQeXRob24gYmluZGluZ3MgZm9yCitsaWJjcHVwb3dlciAo
YXNpZGUgZnJvbSB0aGUgbGliY3B1cG93ZXIgb2JqZWN0IGZpbGVzKS4KKworCityZXF1aXJl
bWVudHMKKy0tLS0tLS0tLS0tLQorCisqIFlvdSBuZWVkIHRoZSBvYmplY3QgZmlsZXMgaW4g
dGhlIGxpYmNwdXBvd2VyIGRpcmVjdG9yeSBjb21waWxlZCBieQorY3B1cG93ZXIncyBtYWtl
ZmlsZS4KKyogVGhlIFNXSUcgcHJvZ3JhbSBtdXN0IGJlIGluc3RhbGxlZC4KKyogVGhlIFB5
dGhvbidzIGRldmVsb3BtZW50IGxpYnJhcmllcyBpbnN0YWxsZWQuCisKK1BsZWFzZSBjaGVj
ayB0aGF0IHlvdXIgdmVyc2lvbiBvZiBTV0lHIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgdmVy
c2lvbiBvZiBQeXRob24KK2luc3RhbGxlZCBvbiB5b3VyIG1hY2hpbmUgYnkgY2hlY2tpbmcg
dGhlIFNXSUcgY2hhbmdlbG9nIG9uIHRoZWlyIHdlYnNpdGUuCitodHRwczovL3N3aWcub3Jn
LworCitOb3RlIHRoYXQgd2hpbGUgU1dJRyBpdHNlbGYgaXMgR1BMIHYzKyBsaWNlbnNlZDsg
dGhlIHJlc3VsdGluZyBvdXRwdXQsCit0aGUgYmluZGluZ3MgY29kZTogaXMgcGVybWlzc2l2
ZWx5IGxpY2Vuc2VkICsgdGhlIGxpY2Vuc2Ugb2YgbGliY3B1cG93ZXIncyAubworZmlsZXMu
IEZvciB0aGVzZSBiaW5kaW5ncyB0aGF0IG1lYW5zIEdQTCB2Mi4KKworUGxlYXNlIHNlZSBo
dHRwczovL3N3aWcub3JnL2xlZ2FsLmh0bWwgYW5kIHRoZSBkaXNjdXNzaW9uIFsxXSBmb3Ig
bW9yZSBkZXRhaWxzLgorCitbMV0KK2h0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LXBt
L1pxdjlCT2p4TEFneU5QNUJAaGF0YmFja3VwLworCisKK2J1aWxkCistLS0tLQorCitJbnN0
YWxsIFNXSUcgYW5kIHRoZSBQeXRob24gZGV2ZWxvcG1lbnQgZmlsZXMgcHJvdmlkZWQgYnkg
eW91ciBkaXN0cmlidXRpb24uCisKK0J1aWxkIHRoZSBvYmplY3QgZmlsZXMgZm9yIGxpYmNw
dXBvd2VyIGJ5IHJ1bm5pbmcgbWFrZSBpbiB0aGUgY3B1cG93ZXIKK2RpcmVjdG9yeS4KKwor
UmV0dXJuIHRvIHRoZSBkaXJlY3RvcnkgdGhpcyBSRUFETUUgaXMgaW4gdG8gcnVuOgorCisk
IG1ha2UKKworCit0ZXN0aW5nCistLS0tLS0tCisKK1BsZWFzZSB2ZXJpZnkgdGhlIF9yYXdf
cHlsaWJjcHVwb3dlci5zbyBhbmQgcmF3X3B5bGliY3B1cG93ZXIucHkgZmlsZXMgaGF2ZQor
YmVlbiBjcmVhdGVkLgorCitUbyBydW4gdGhlIHRlc3Qgc2NyaXB0OgorCiskIHB5dGhvbiB0
ZXN0X3Jhd19weWxpYmNwdXBvd2VyLnB5CisKKworY3JlZGl0cworLS0tLS0tLQorCitPcmln
aW5hbCBCaW5kaW5ncyBBdXRob3I6CitKb2huIEIuIFd5YXR0IElWCitqd3lhdHRAcmVkaGF0
LmNvbQorc2FnZW9mcmVkb25kb0BnbWFpbC5jb20KKworQ29weXJpZ2h0IChDKSAyMDI0IFJl
ZCBIYXQKZGlmZiAtLWdpdCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL2JpbmRpbmdzL3B5dGhv
bi9yYXdfcHlsaWJjcHVwb3dlci5pIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvYmluZGluZ3Mv
cHl0aG9uL3Jhd19weWxpYmNwdXBvd2VyLmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi45NjU1NmQ4N2E3NDUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9w
b3dlci9jcHVwb3dlci9iaW5kaW5ncy9weXRob24vcmF3X3B5bGliY3B1cG93ZXIuaQpAQCAt
MCwwICsxLDI0NyBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s
eSAqLworCislbW9kdWxlIHJhd19weWxpYmNwdXBvd2VyCisleworI2luY2x1ZGUgIi4uLy4u
L2xpYi9jcHVwb3dlcl9pbnRlcm4uaCIKKyNpbmNsdWRlICIuLi8uLi9saWIvYWNwaV9jcHBj
LmgiCisjaW5jbHVkZSAiLi4vLi4vbGliL2NwdWZyZXEuaCIKKyNpbmNsdWRlICIuLi8uLi9s
aWIvY3B1aWRsZS5oIgorI2luY2x1ZGUgIi4uLy4uL2xpYi9jcHVwb3dlci5oIgorI2luY2x1
ZGUgIi4uLy4uL2xpYi9wb3dlcmNhcC5oIgorJX0KKworLyoKKyAqIGNwdXBvd2VyX2ludGVy
bi5oCisgKi8KKworI2RlZmluZSBQQVRIX1RPX0NQVSAiL3N5cy9kZXZpY2VzL3N5c3RlbS9j
cHUvIgorI2RlZmluZSBNQVhfTElORV9MRU4gNDA5NgorI2RlZmluZSBTWVNGU19QQVRIX01B
WCAyNTUKKworaW50IGlzX3ZhbGlkX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CisKK3Vuc2ln
bmVkIGludCBjcHVwb3dlcl9yZWFkX3N5c2ZzKGNvbnN0IGNoYXIgKnBhdGgsIGNoYXIgKmJ1
Ziwgc2l6ZV90IGJ1Zmxlbik7CisKK3Vuc2lnbmVkIGludCBjcHVwb3dlcl93cml0ZV9zeXNm
cyhjb25zdCBjaGFyICpwYXRoLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4pOworCisvKgor
ICogYWNwaV9jcHBjLmgKKyAqLworCitlbnVtIGFjcGlfY3BwY192YWx1ZSB7CisJSElHSEVT
VF9QRVJGLAorCUxPV0VTVF9QRVJGLAorCU5PTUlOQUxfUEVSRiwKKwlMT1dFU1RfTk9OTElO
RUFSX1BFUkYsCisJTE9XRVNUX0ZSRVEsCisJTk9NSU5BTF9GUkVRLAorCVJFRkVSRU5DRV9Q
RVJGLAorCVdSQVBBUk9VTkRfVElNRSwKKwlNQVhfQ1BQQ19WQUxVRV9GSUxFUworfTsKKwor
dW5zaWduZWQgbG9uZyBhY3BpX2NwcGNfZ2V0X2RhdGEodW5zaWduZWQgaW50IGNwdSwKKwkJ
CQkgZW51bSBhY3BpX2NwcGNfdmFsdWUgd2hpY2gpOworCisvKgorICogY3B1ZnJlcS5oCisg
Ki8KKworc3RydWN0IGNwdWZyZXFfcG9saWN5IHsKKwl1bnNpZ25lZCBsb25nIG1pbjsKKwl1
bnNpZ25lZCBsb25nIG1heDsKKwljaGFyICpnb3Zlcm5vcjsKK307CisKK3N0cnVjdCBjcHVm
cmVxX2F2YWlsYWJsZV9nb3Zlcm5vcnMgeworCWNoYXIgKmdvdmVybm9yOworCXN0cnVjdCBj
cHVmcmVxX2F2YWlsYWJsZV9nb3Zlcm5vcnMgKm5leHQ7CisJc3RydWN0IGNwdWZyZXFfYXZh
aWxhYmxlX2dvdmVybm9ycyAqZmlyc3Q7Cit9OworCitzdHJ1Y3QgY3B1ZnJlcV9hdmFpbGFi
bGVfZnJlcXVlbmNpZXMgeworCXVuc2lnbmVkIGxvbmcgZnJlcXVlbmN5OworCXN0cnVjdCBj
cHVmcmVxX2F2YWlsYWJsZV9mcmVxdWVuY2llcyAqbmV4dDsKKwlzdHJ1Y3QgY3B1ZnJlcV9h
dmFpbGFibGVfZnJlcXVlbmNpZXMgKmZpcnN0OworfTsKKworCitzdHJ1Y3QgY3B1ZnJlcV9h
ZmZlY3RlZF9jcHVzIHsKKwl1bnNpZ25lZCBpbnQgY3B1OworCXN0cnVjdCBjcHVmcmVxX2Fm
ZmVjdGVkX2NwdXMgKm5leHQ7CisJc3RydWN0IGNwdWZyZXFfYWZmZWN0ZWRfY3B1cyAqZmly
c3Q7Cit9OworCitzdHJ1Y3QgY3B1ZnJlcV9zdGF0cyB7CisJdW5zaWduZWQgbG9uZyBmcmVx
dWVuY3k7CisJdW5zaWduZWQgbG9uZyBsb25nIHRpbWVfaW5fc3RhdGU7CisJc3RydWN0IGNw
dWZyZXFfc3RhdHMgKm5leHQ7CisJc3RydWN0IGNwdWZyZXFfc3RhdHMgKmZpcnN0OworfTsK
KwordW5zaWduZWQgbG9uZyBjcHVmcmVxX2dldF9mcmVxX2tlcm5lbCh1bnNpZ25lZCBpbnQg
Y3B1KTsKKwordW5zaWduZWQgbG9uZyBjcHVmcmVxX2dldF9mcmVxX2hhcmR3YXJlKHVuc2ln
bmVkIGludCBjcHUpOworCisjZGVmaW5lIGNwdWZyZXFfZ2V0KGNwdSkgY3B1ZnJlcV9nZXRf
ZnJlcV9rZXJuZWwoY3B1KTsKKwordW5zaWduZWQgbG9uZyBjcHVmcmVxX2dldF90cmFuc2l0
aW9uX2xhdGVuY3kodW5zaWduZWQgaW50IGNwdSk7CisKK2ludCBjcHVmcmVxX2dldF9oYXJk
d2FyZV9saW1pdHModW5zaWduZWQgaW50IGNwdSwKKwkJCQl1bnNpZ25lZCBsb25nICptaW4s
CisJCQkJdW5zaWduZWQgbG9uZyAqbWF4KTsKKworY2hhciAqY3B1ZnJlcV9nZXRfZHJpdmVy
KHVuc2lnbmVkIGludCBjcHUpOworCit2b2lkIGNwdWZyZXFfcHV0X2RyaXZlcihjaGFyICpw
dHIpOworCitzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKmNwdWZyZXFfZ2V0X3BvbGljeSh1bnNp
Z25lZCBpbnQgY3B1KTsKKwordm9pZCBjcHVmcmVxX3B1dF9wb2xpY3koc3RydWN0IGNwdWZy
ZXFfcG9saWN5ICpwb2xpY3kpOworCitzdHJ1Y3QgY3B1ZnJlcV9hdmFpbGFibGVfZ292ZXJu
b3JzCisqY3B1ZnJlcV9nZXRfYXZhaWxhYmxlX2dvdmVybm9ycyh1bnNpZ25lZCBpbnQgY3B1
KTsKKwordm9pZCBjcHVmcmVxX3B1dF9hdmFpbGFibGVfZ292ZXJub3JzKAorCXN0cnVjdCBj
cHVmcmVxX2F2YWlsYWJsZV9nb3Zlcm5vcnMgKmZpcnN0KTsKKworc3RydWN0IGNwdWZyZXFf
YXZhaWxhYmxlX2ZyZXF1ZW5jaWVzCisqY3B1ZnJlcV9nZXRfYXZhaWxhYmxlX2ZyZXF1ZW5j
aWVzKHVuc2lnbmVkIGludCBjcHUpOworCit2b2lkIGNwdWZyZXFfcHV0X2F2YWlsYWJsZV9m
cmVxdWVuY2llcygKKwkJc3RydWN0IGNwdWZyZXFfYXZhaWxhYmxlX2ZyZXF1ZW5jaWVzICpm
aXJzdCk7CisKK3N0cnVjdCBjcHVmcmVxX2F2YWlsYWJsZV9mcmVxdWVuY2llcworKmNwdWZy
ZXFfZ2V0X2Jvb3N0X2ZyZXF1ZW5jaWVzKHVuc2lnbmVkIGludCBjcHUpOworCit2b2lkIGNw
dWZyZXFfcHV0X2Jvb3N0X2ZyZXF1ZW5jaWVzKAorCQlzdHJ1Y3QgY3B1ZnJlcV9hdmFpbGFi
bGVfZnJlcXVlbmNpZXMgKmZpcnN0KTsKKworc3RydWN0IGNwdWZyZXFfYWZmZWN0ZWRfY3B1
cyAqY3B1ZnJlcV9nZXRfYWZmZWN0ZWRfY3B1cyh1bnNpZ25lZAorCQkJCQkJCWludCBjcHUp
OworCit2b2lkIGNwdWZyZXFfcHV0X2FmZmVjdGVkX2NwdXMoc3RydWN0IGNwdWZyZXFfYWZm
ZWN0ZWRfY3B1cyAqZmlyc3QpOworCitzdHJ1Y3QgY3B1ZnJlcV9hZmZlY3RlZF9jcHVzICpj
cHVmcmVxX2dldF9yZWxhdGVkX2NwdXModW5zaWduZWQKKwkJCQkJCQlpbnQgY3B1KTsKKwor
dm9pZCBjcHVmcmVxX3B1dF9yZWxhdGVkX2NwdXMoc3RydWN0IGNwdWZyZXFfYWZmZWN0ZWRf
Y3B1cyAqZmlyc3QpOworCitzdHJ1Y3QgY3B1ZnJlcV9zdGF0cyAqY3B1ZnJlcV9nZXRfc3Rh
dHModW5zaWduZWQgaW50IGNwdSwKKwkJCQkJdW5zaWduZWQgbG9uZyBsb25nICp0b3RhbF90
aW1lKTsKKwordm9pZCBjcHVmcmVxX3B1dF9zdGF0cyhzdHJ1Y3QgY3B1ZnJlcV9zdGF0cyAq
c3RhdHMpOworCit1bnNpZ25lZCBsb25nIGNwdWZyZXFfZ2V0X3RyYW5zaXRpb25zKHVuc2ln
bmVkIGludCBjcHUpOworCitpbnQgY3B1ZnJlcV9zZXRfcG9saWN5KHVuc2lnbmVkIGludCBj
cHUsIHN0cnVjdCBjcHVmcmVxX3BvbGljeSAqcG9saWN5KTsKKworaW50IGNwdWZyZXFfbW9k
aWZ5X3BvbGljeV9taW4odW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgbG9uZyBtaW5fZnJl
cSk7CisKK2ludCBjcHVmcmVxX21vZGlmeV9wb2xpY3lfbWF4KHVuc2lnbmVkIGludCBjcHUs
IHVuc2lnbmVkIGxvbmcgbWF4X2ZyZXEpOworCitpbnQgY3B1ZnJlcV9tb2RpZnlfcG9saWN5
X2dvdmVybm9yKHVuc2lnbmVkIGludCBjcHUsIGNoYXIgKmdvdmVybm9yKTsKKworaW50IGNw
dWZyZXFfc2V0X2ZyZXF1ZW5jeSh1bnNpZ25lZCBpbnQgY3B1LAorCQkJCXVuc2lnbmVkIGxv
bmcgdGFyZ2V0X2ZyZXF1ZW5jeSk7CisKK3Vuc2lnbmVkIGxvbmcgY3B1ZnJlcV9nZXRfc3lz
ZnNfdmFsdWVfZnJvbV90YWJsZSh1bnNpZ25lZCBpbnQgY3B1LAorCQkJCQkJIGNvbnN0IGNo
YXIgKip0YWJsZSwKKwkJCQkJCSB1bnNpZ25lZCBpbnQgaW5kZXgsCisJCQkJCQkgdW5zaWdu
ZWQgaW50IHNpemUpOworCisvKgorICogY3B1aWRsZS5oCisgKi8KKworaW50IGNwdWlkbGVf
aXNfc3RhdGVfZGlzYWJsZWQodW5zaWduZWQgaW50IGNwdSwKKwkJCQkgICAgICAgdW5zaWdu
ZWQgaW50IGlkbGVzdGF0ZSk7CitpbnQgY3B1aWRsZV9zdGF0ZV9kaXNhYmxlKHVuc2lnbmVk
IGludCBjcHUsIHVuc2lnbmVkIGludCBpZGxlc3RhdGUsCisJCQkJICAgdW5zaWduZWQgaW50
IGRpc2FibGUpOwordW5zaWduZWQgbG9uZyBjcHVpZGxlX3N0YXRlX2xhdGVuY3kodW5zaWdu
ZWQgaW50IGNwdSwKKwkJCQkJCXVuc2lnbmVkIGludCBpZGxlc3RhdGUpOwordW5zaWduZWQg
bG9uZyBjcHVpZGxlX3N0YXRlX3VzYWdlKHVuc2lnbmVkIGludCBjcHUsCisJCQkJCXVuc2ln
bmVkIGludCBpZGxlc3RhdGUpOwordW5zaWduZWQgbG9uZyBsb25nIGNwdWlkbGVfc3RhdGVf
dGltZSh1bnNpZ25lZCBpbnQgY3B1LAorCQkJCQkJdW5zaWduZWQgaW50IGlkbGVzdGF0ZSk7
CitjaGFyICpjcHVpZGxlX3N0YXRlX25hbWUodW5zaWduZWQgaW50IGNwdSwKKwkJCQl1bnNp
Z25lZCBpbnQgaWRsZXN0YXRlKTsKK2NoYXIgKmNwdWlkbGVfc3RhdGVfZGVzYyh1bnNpZ25l
ZCBpbnQgY3B1LAorCQkJCXVuc2lnbmVkIGludCBpZGxlc3RhdGUpOwordW5zaWduZWQgaW50
IGNwdWlkbGVfc3RhdGVfY291bnQodW5zaWduZWQgaW50IGNwdSk7CisKK2NoYXIgKmNwdWlk
bGVfZ2V0X2dvdmVybm9yKHZvaWQpOworCitjaGFyICpjcHVpZGxlX2dldF9kcml2ZXIodm9p
ZCk7CisKKy8qCisgKiBjcHVwb3dlci5oCisgKi8KKworc3RydWN0IGNwdXBvd2VyX3RvcG9s
b2d5IHsKKwkvKiBBbW91bnQgb2YgQ1BVIGNvcmVzLCBwYWNrYWdlcyBhbmQgdGhyZWFkcyBw
ZXIgY29yZSBpbiB0aGUgc3lzdGVtICovCisJdW5zaWduZWQgaW50IGNvcmVzOworCXVuc2ln
bmVkIGludCBwa2dzOworCXVuc2lnbmVkIGludCB0aHJlYWRzOyAvKiBwZXIgY29yZSAqLwor
CisJLyogQXJyYXkgZ2V0cyBtYWxsb2NhdGVkIHdpdGggY29yZXMgZW50cmllcywgaG9sZGlu
ZyBwZXIgY29yZSBpbmZvICovCisJc3RydWN0IGNwdWlkX2NvcmVfaW5mbyAqY29yZV9pbmZv
OworfTsKKworc3RydWN0IGNwdWlkX2NvcmVfaW5mbyB7CisJaW50IHBrZzsKKwlpbnQgY29y
ZTsKKwlpbnQgY3B1OworCisJLyogZmxhZ3MgKi8KKwl1bnNpZ25lZCBpbnQgaXNfb25saW5l
OjE7Cit9OworCitpbnQgZ2V0X2NwdV90b3BvbG9neShzdHJ1Y3QgY3B1cG93ZXJfdG9wb2xv
Z3kgKmNwdV90b3ApOworCit2b2lkIGNwdV90b3BvbG9neV9yZWxlYXNlKHN0cnVjdCBjcHVw
b3dlcl90b3BvbG9neSBjcHVfdG9wKTsKKworaW50IGNwdXBvd2VyX2lzX2NwdV9vbmxpbmUo
dW5zaWduZWQgaW50IGNwdSk7CisKKy8qCisgKiBwb3dlcmNhcC5oCisgKi8KKworc3RydWN0
IHBvd2VyY2FwX3pvbmUgeworCWNoYXIgbmFtZVtNQVhfTElORV9MRU5dOworCS8qCisJICog
c3lzX25hbWUgcmVsYXRpdmUgdG8gUEFUSF9UT19QT1dFUkNBUCwKKwkgKiBkbyBub3QgZm9y
Z2V0IHRoZSAvIGluIGJldHdlZW4KKwkgKi8KKwljaGFyIHN5c19uYW1lW1NZU0ZTX1BBVEhf
TUFYXTsKKwlpbnQgdHJlZV9kZXB0aDsKKwlzdHJ1Y3QgcG93ZXJjYXBfem9uZSAqcGFyZW50
OworCXN0cnVjdCBwb3dlcmNhcF96b25lICpjaGlsZHJlbltQT1dFUkNBUF9NQVhfQ0hJTERf
Wk9ORVNdOworCS8qIE1vcmUgcG9zc2libGUgY2FwcyBvciBhdHRyaWJ1dGVzIHRvIGJlIGFk
ZGVkPyAqLworCXVpbnQzMl90IGhhc19wb3dlcl91dzoxLAorCQkgaGFzX2VuZXJneV91ajox
OworCit9OworCitpbnQgcG93ZXJjYXBfd2Fsa196b25lcyhzdHJ1Y3QgcG93ZXJjYXBfem9u
ZSAqem9uZSwKKwkJCWludCAoKmYpKHN0cnVjdCBwb3dlcmNhcF96b25lICp6b25lKSk7CisK
K3N0cnVjdCBwb3dlcmNhcF96b25lICpwb3dlcmNhcF9pbml0X3pvbmVzKHZvaWQpOworCitp
bnQgcG93ZXJjYXBfZ2V0X2VuYWJsZWQoaW50ICptb2RlKTsKKworaW50IHBvd2VyY2FwX3Nl
dF9lbmFibGVkKGludCBtb2RlKTsKKworaW50IHBvd2VyY2FwX2dldF9kcml2ZXIoY2hhciAq
ZHJpdmVyLCBpbnQgYnVmbGVuKTsKKworaW50IHBvd2VyY2FwX2dldF9tYXhfZW5lcmd5X3Jh
bmdlX3VqKHN0cnVjdCBwb3dlcmNhcF96b25lICp6b25lLCB1aW50NjRfdCAqdmFsKTsKKwor
aW50IHBvd2VyY2FwX2dldF9lbmVyZ3lfdWooc3RydWN0IHBvd2VyY2FwX3pvbmUgKnpvbmUs
IHVpbnQ2NF90ICp2YWwpOworCitpbnQgcG93ZXJjYXBfZ2V0X21heF9wb3dlcl9yYW5nZV91
dyhzdHJ1Y3QgcG93ZXJjYXBfem9uZSAqem9uZSwgdWludDY0X3QgKnZhbCk7CisKK2ludCBw
b3dlcmNhcF9nZXRfcG93ZXJfdXcoc3RydWN0IHBvd2VyY2FwX3pvbmUgKnpvbmUsIHVpbnQ2
NF90ICp2YWwpOworCitpbnQgcG93ZXJjYXBfem9uZV9nZXRfZW5hYmxlZChzdHJ1Y3QgcG93
ZXJjYXBfem9uZSAqem9uZSwgaW50ICptb2RlKTsKKworaW50IHBvd2VyY2FwX3pvbmVfc2V0
X2VuYWJsZWQoc3RydWN0IHBvd2VyY2FwX3pvbmUgKnpvbmUsIGludCBtb2RlKTsKZGlmZiAt
LWdpdCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL2JpbmRpbmdzL3B5dGhvbi90ZXN0X3Jhd19w
eWxpYmNwdXBvd2VyLnB5IGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvYmluZGluZ3MvcHl0aG9u
L3Rlc3RfcmF3X3B5bGliY3B1cG93ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMDAwMDAwLi4zZDZmNjJiOTU1NmEKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9w
b3dlci9jcHVwb3dlci9iaW5kaW5ncy9weXRob24vdGVzdF9yYXdfcHlsaWJjcHVwb3dlci5w
eQpAQCAtMCwwICsxLDQyIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisjIFNQRFgtTGlj
ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKworaW1wb3J0IHJhd19weWxpYmNwdXBv
d2VyIGFzIHAKKworIyBTaW1wbGUgZnVuY3Rpb24gY2FsbAorCisiIiIKK0dldCBjc3RhdGUg
Y291bnQKKyIiIgorY3B1X2NzdGF0ZXNfY291bnQgPSBwLmNwdWlkbGVfc3RhdGVfY291bnQo
MCkKK2lmIGNwdV9jc3RhdGVzX2NvdW50ID4gLTE6CisgICAgcHJpbnQoZiJDUFUgMCBoYXMg
e2NwdV9jc3RhdGVzX2NvdW50fSBjLXN0YXRlcyIpCitlbHNlOgorICAgIHByaW50KGYiY3N0
YXRlIGNvdW50IGVycm9yOiByZXR1cm4gY29kZToge2NwdV9jc3RhdGVzX2NvdW50fSIpCisK
KyIiIgorRGlzYWJsZSBjc3RhdGUgKHdpbGwgZmFpbCBpZiB0aGUgYWJvdmUgaXMgMCwgZXg6
IGEgdmlydHVhbCBtYWNoaW5lKQorIiIiCitjc3RhdGVfZGlzYWJsZWQgPSBwLmNwdWlkbGVf
c3RhdGVfZGlzYWJsZSgwLCAwLCAxKQoraWYgY3B1X2NzdGF0ZXNfY291bnQgPT0gMDoKKyAg
ICBwcmludChmIkNQVSAwIGhhcyB7Y3B1X2NzdGF0ZXNfY291bnR9IGMtc3RhdGVzIikKK2Vs
c2U6CisgICAgcHJpbnQoZiJjc3RhdGUgY291bnQgZXJyb3I6IHJldHVybiBjb2RlOiB7Y3B1
X2NzdGF0ZXNfY291bnR9IikKKworbWF0Y2ggY3N0YXRlX2Rpc2FibGVkOgorICAgIGNhc2Ug
MDoKKyAgICAgICAgcHJpbnQoZiJDUFUgc3RhdGUgZGlzYWJsZWQiKQorICAgIGNhc2UgLTE6
CisgICAgICAgIHByaW50KGYiSWRsZXN0YXRlIG5vdCBhdmFpbGFibGUiKQorICAgIGNhc2Ug
XzoKKyAgICAgICAgcHJpbnQoZiJOb3QgZG9jdW1lbnRlZCIpCisKKworIyBQb2ludGVyIGV4
YW1wbGUKKwordG9wbyA9IHAuY3B1cG93ZXJfdG9wb2xvZ3koKQordG90YWxfY3B1cyA9IHAu
Z2V0X2NwdV90b3BvbG9neSh0b3BvKQoraWYgdG90YWxfY3B1cyA+IDA6CisgICAgcHJpbnQo
ZiJOdW1iZXIgb2YgdG90YWwgY3B1czoge3RvdGFsX2NwdXN9IGFuZCBudW1iZXIgb2YgY29y
ZXM6IHt0b3BvLmNvcmVzfSIpCitlbHNlOgorICAgIHByaW50KGYiRXJyb3I6IGNvdWxkIG5v
dCBnZXQgY3B1IHRvcG9sb2d5IikKZGlmZiAtLWdpdCBhL3Rvb2xzL3Bvd2VyL2NwdXBvd2Vy
L2xpYi9wb3dlcmNhcC5jIGIvdG9vbHMvcG93ZXIvY3B1cG93ZXIvbGliL3Bvd2VyY2FwLmMK
aW5kZXggYTdhNTljNmJhY2RhLi45NGEwYzY5ZTU1ZWYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Bv
d2VyL2NwdXBvd2VyL2xpYi9wb3dlcmNhcC5jCisrKyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2Vy
L2xpYi9wb3dlcmNhcC5jCkBAIC03Nyw2ICs3NywxNCBAQCBpbnQgcG93ZXJjYXBfZ2V0X2Vu
YWJsZWQoaW50ICptb2RlKQogCXJldHVybiBzeXNmc19nZXRfZW5hYmxlZChwYXRoLCBtb2Rl
KTsKIH0KIAorLyoKKyAqIFRPRE86IGltcGxlbWVudCBmdW5jdGlvbi4gUmV0dXJucyBkdW1t
eSAwIGZvciBub3cuCisgKi8KK2ludCBwb3dlcmNhcF9zZXRfZW5hYmxlZChpbnQgbW9kZSkK
K3sKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIEhhcmRjb2RlZCwgYmVjYXVzZSByYXBsIGlz
IHRoZSBvbmx5IHBvd2VyY2FwIGltcGxlbWVudGF0aW9uCiAtICogdGhpcyBuZWVkcyB0byBn
ZXQgbW9yZSBnZW5lcmljIGlmIG1vcmUgcG93ZXJjYXAgaW1wbGVtZW50YXRpb25zCg==

--------------jjT60Xg7OJjn7N018L42dldc--

.
Date: Tue, 10 Sep 2024 15:05:54 -0400
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-bcachefs@vger.kernel.org, linux-fsdevel@vger.kernel.org, 
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] bcachefs fixes for 6.10.y

Hey Greg, couple critical fixes for you:

The following changes since commit 1611860f184a2c9e74ed593948d43657734a7098:

  Linux 6.10.9 (2024-09-08 07:56:41 +0200)

are available in the Git repository at:

  git://evilpiepirate.org/bcachefs.git tags/bcachefs-v6.10.9-fixes

for you to fetch changes up to ee64e00984ec3ea3fbf9b4331cbd073690ff8765:

  bcachefs: Don't delete open files in online fsck (2024-09-10 10:52:16 -0400)

----------------------------------------------------------------
bcachefs fixes for 6.10.10

----------------------------------------------------------------
Kent Overstreet (3):
      bcachefs: Fix bch2_extents_match() false positive
      bcachefs: Revert lockless buffered IO path
      bcachefs: Don't delete open files in online fsck

 fs/bcachefs/extents.c        |  23 ++++++-
 fs/bcachefs/fs-io-buffered.c | 149 ++++++++++++-------------------------------
 fs/bcachefs/fs.c             |   8 +++
 fs/bcachefs/fs.h             |   7 ++
 fs/bcachefs/fsck.c           |  18 ++++++
 5 files changed, 95 insertions(+), 110 deletions(-)

.
Date: Wed, 11 Sep 2024 08:05:26 +0200
From: Johan Hovold <johan@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] USB-serial updates for 6.12-rc1

The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

  Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git tags/usb-serial-6.12-rc1

for you to fetch changes up to 4c0d9477ba69a417c698aec1d3012e188cf97add:

  USB: serial: kobil_sct: restore initial terminal settings (2024-08-26 15:29:27 +0200)

----------------------------------------------------------------
USB-serial updates for 6.12-rc1

Here are the USB-serial updates for 6.12-rc1, including:

 - fix kobil_sct initial terminal settings
 - set driver owner when registering drivers

All have been in linux-next with no reported issues.

----------------------------------------------------------------
Johan Hovold (1):
      USB: serial: kobil_sct: restore initial terminal settings

Krzysztof Kozlowski (2):
      USB: serial: set driver owner when registering drivers
      USB: serial: drop driver owner initialization

 drivers/usb/serial/aircable.c          |  1 -
 drivers/usb/serial/ark3116.c           |  1 -
 drivers/usb/serial/belkin_sa.c         |  1 -
 drivers/usb/serial/ch341.c             |  1 -
 drivers/usb/serial/cp210x.c            |  1 -
 drivers/usb/serial/cyberjack.c         |  1 -
 drivers/usb/serial/cypress_m8.c        |  3 ---
 drivers/usb/serial/digi_acceleport.c   |  2 --
 drivers/usb/serial/empeg.c             |  1 -
 drivers/usb/serial/f81232.c            |  2 --
 drivers/usb/serial/f81534.c            |  1 -
 drivers/usb/serial/ftdi_sio.c          |  1 -
 drivers/usb/serial/garmin_gps.c        |  1 -
 drivers/usb/serial/generic.c           |  1 -
 drivers/usb/serial/io_edgeport.c       |  4 ----
 drivers/usb/serial/io_ti.c             |  2 --
 drivers/usb/serial/ipaq.c              |  1 -
 drivers/usb/serial/ipw.c               |  1 -
 drivers/usb/serial/ir-usb.c            |  1 -
 drivers/usb/serial/iuu_phoenix.c       |  1 -
 drivers/usb/serial/keyspan.c           |  4 ----
 drivers/usb/serial/keyspan_pda.c       |  2 --
 drivers/usb/serial/kl5kusb105.c        |  1 -
 drivers/usb/serial/kobil_sct.c         |  4 +---
 drivers/usb/serial/mct_u232.c          |  1 -
 drivers/usb/serial/metro-usb.c         |  1 -
 drivers/usb/serial/mos7720.c           |  1 -
 drivers/usb/serial/mos7840.c           |  1 -
 drivers/usb/serial/mxuport.c           |  1 -
 drivers/usb/serial/navman.c            |  1 -
 drivers/usb/serial/omninet.c           |  1 -
 drivers/usb/serial/opticon.c           |  1 -
 drivers/usb/serial/option.c            |  1 -
 drivers/usb/serial/oti6858.c           |  1 -
 drivers/usb/serial/pl2303.c            |  1 -
 drivers/usb/serial/qcaux.c             |  1 -
 drivers/usb/serial/qcserial.c          |  1 -
 drivers/usb/serial/quatech2.c          |  1 -
 drivers/usb/serial/safe_serial.c       |  1 -
 drivers/usb/serial/sierra.c            |  1 -
 drivers/usb/serial/spcp8x5.c           |  1 -
 drivers/usb/serial/ssu100.c            |  1 -
 drivers/usb/serial/symbolserial.c      |  1 -
 drivers/usb/serial/ti_usb_3410_5052.c  |  2 --
 drivers/usb/serial/upd78f0730.c        |  1 -
 drivers/usb/serial/usb-serial-simple.c |  1 -
 drivers/usb/serial/usb-serial.c        | 12 +++++++-----
 drivers/usb/serial/usb_debug.c         |  2 --
 drivers/usb/serial/visor.c             |  3 ---
 drivers/usb/serial/whiteheat.c         |  2 --
 drivers/usb/serial/wishbone-serial.c   |  1 -
 drivers/usb/serial/xr_serial.c         |  1 -
 drivers/usb/serial/xsens_mt.c          |  1 -
 include/linux/usb/serial.h             |  7 +++++--
 54 files changed, 13 insertions(+), 78 deletions(-)

.
Date: Wed, 11 Sep 2024 08:08:43 +0200
From: Johan Hovold <johan@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] USB-serial fixes for 6.12-rc1-2

The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git tags/usb-serial-6.12-rc1-2

for you to fetch changes up to 7d47d22444bb7dc1b6d768904a22070ef35e1fc0:

  USB: serial: pl2303: add device id for Macrosilicon MS3020 (2024-09-06 17:11:13 +0200)

----------------------------------------------------------------
USB-serial device id for 6.12-rc1

Here's a new pl2303 device id.

This one has been in linux-next with no reported issues.

----------------------------------------------------------------
Junhao Xie (1):
      USB: serial: pl2303: add device id for Macrosilicon MS3020

 drivers/usb/serial/pl2303.c | 1 +
 drivers/usb/serial/pl2303.h | 4 ++++
 2 files changed, 5 insertions(+)

.
Date: Wed, 11 Sep 2024 09:58:49 +0200
From: Petr Mladek <pmladek@suse.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	John Ogness <john.ogness@linutronix.de>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>, Jan Kara <jack@suse.cz>,
	Peter Zijlstra <peterz@infradead.org>,
	Petr Mladek <pmladek@suse.com>, linux-kernel@vger.kernel.org,
	Tony Lindgren <tony.lindgren@linux.intel.com>,
	Yu Liao <liaoyu15@huawei.com>
Subject: [GIT PULL] printk build fixup for 6.11

Hi Linus,

please pull a printk related build fix for 6.11 from

  git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git tags/printk-for-6.11-fixup

=====================================

- Fix build of serial_core as a module.

----------------------------------------------------------------
Petr Mladek (1):
      Merge branch 'for-6.11-fixup' into for-linus

Yu Liao (1):
      printk: Export match_devname_and_update_preferred_console()

 kernel/printk/printk.c | 1 +
 1 file changed, 1 insertion(+)

.
Date: Wed, 11 Sep 2024 15:08:02 +0000
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Linus Torvalds" <torvalds@linux-foundation.org>
Cc: soc@kernel.org, linux-kernel@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] ARM: SoC fixes for 6.11, part 3

The following changes since commit 9cc7b1705141d1a077493dc107ed626e8dc84681:

  Merge tag 'at91-fixes-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes (2024-08-30 19:52:28 +0000)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git tags/arm-fixes-6.11-3

for you to fetch changes up to 0e7af99aef5f58b4bae00e45fd1c2626a987f7bb:

  Merge tag 'riscv-soc-fixes-for-v6.11-final' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into arm/fixes (2024-09-11 08:54:37 +0000)

----------------------------------------------------------------
ARM: SoC fixes for 6.11, part 3

The bulk of the changes this time are for device tree files in the
rockchips platform, addressing correctness issues on individual
boards, plus one change in the rk356x SoC file to make it match
the binding.

The only other changes that came in are

 - a CPU frequencey scaling fix for JH7110 (RISC-V)
 - a build fix for the cznic hwrandom driver
 - a fix for a deadlock in qualcomm uefi secure
   application firmware driver

----------------------------------------------------------------
Alexander Shiyan (1):
      arm64: dts: rockchip: Remove broken tsadc pinctrl binding for rk356x

Arnd Bergmann (4):
      Merge tag 'qcom-drivers-fixes-for-6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes
      Merge tag 'v6.11-rockchip-dtsfixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes
      platform: cznic: turris-omnia-mcu: fix HW_RANDOM dependency
      Merge tag 'riscv-soc-fixes-for-v6.11-final' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into arm/fixes

Cristian Ciocaltea (2):
      dt-bindings: soc: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
      arm64: dts: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF

Dan Carpenter (1):
      firmware: qcom: uefisecapp: Fix deadlock in qcuefi_acquire()

FUKAUMI Naoki (1):
      arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E

Quentin Schulz (2):
      arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
      arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma

Xingyu Wu (1):
      riscv: dts: starfive: jh7110-common: Fix lower rate of CPUfreq by setting PLL0 rate to 1.5GHz

 .../devicetree/bindings/soc/rockchip/grf.yaml      | 10 +++++-
 arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts  |  2 +-
 arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi      | 36 ++++++++++++++++++++--
 arch/arm64/boot/dts/rockchip/rk356x.dtsi           |  7 ++---
 arch/arm64/boot/dts/rockchip/rk3588-base.dtsi      |  6 ++--
 arch/riscv/boot/dts/starfive/jh7110-common.dtsi    |  6 ++++
 drivers/firmware/qcom/qcom_qseecom_uefisecapp.c    |  4 +++
 drivers/platform/cznic/Kconfig                     |  2 +-
 8 files changed, 60 insertions(+), 13 deletions(-)

.
Date: Wed, 11 Sep 2024 15:02:28 -0700
From: Dave Hansen <dave.hansen@linux.intel.com>
To: torvalds@linux-foundation.org
Cc: x86@kernel.org,
	linux-kernel@vger.kernel.org,
	Dave Hansen <dave.hansen@linux.intel.com>
Subject: [GIT PULL] x86/sgx for 6.12-rc1

Hi Linus,

Please pull some x86/sgx changes for 6.12-rc1. These fix a deadlock
in the SGX NUMA allocator. It's probably only triggerable today on
servers with buggy BIOSes, but it's theoretically possible it can
happen on less goofy systems.

--

The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/x86_sgx_for_6.12-rc1

for you to fetch changes up to c8ddc99eeba5f00b65efeae920eec3990bfc34ca:

  x86/sgx: Log information when a node lacks an EPC section (2024-09-05 15:20:47 -0700)

----------------------------------------------------------------
Fix deadlock in SGX NUMA node search

----------------------------------------------------------------
Aaron Lu (2):
      x86/sgx: Fix deadlock in SGX NUMA node search
      x86/sgx: Log information when a node lacks an EPC section

 arch/x86/kernel/cpu/sgx/main.c | 34 +++++++++++++++++++++-------------
 1 file changed, 21 insertions(+), 13 deletions(-)

.
Date: Thu, 12 Sep 2024 12:14:14 +0300
From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>, PDx86 <platform-driver-x86@vger.kernel.org>, Hans de Goede <hdegoede@redhat.com>, Andy Shevchenko <andy@kernel.org>
Subject: [GIT PULL] platform-drivers-x86 for v6.11-7

Hi Linus,

Here is a platform-drivers-x86 fixes PR for v6.11.

Fixes:
- asus-wmi: Disable OOBE that interferes with backlight control
- panasonic-laptop: Two fixes to SINF array handling

Regards, i.


The following changes since commit d34af755a533271f39cc7d86e49c0e74fde63a37:

  platform/x86/amd: pmf: Make ASUS GA403 quirk generic (2024-09-03 17:31:08 +0300)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git tags/platform-drivers-x86-v6.11-7

for you to fetch changes up to d6de45e3c6f3713d3825d3e2860c11d24e0f941f:

  platform/x86: asus-wmi: Disable OOBE experience on Zenbook S 16 (2024-09-10 15:43:58 +0300)

----------------------------------------------------------------
platform-drivers-x86 for v6.11-7

Fixes:
- asus-wmi: Disable OOBE that interferes with backlight control
- panasonic-laptop: Two fixes to SINF array handling

The following is an automated shortlog grouped by driver:

asus-wmi:
 -  Disable OOBE experience on Zenbook S 16

panasonic-laptop:
 -  Allocate 1 entry extra in the sinf array
 -  Fix SINF array out of bounds accesses

----------------------------------------------------------------
Bas Nieuwenhuizen (1):
      platform/x86: asus-wmi: Disable OOBE experience on Zenbook S 16

Hans de Goede (2):
      platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses
      platform/x86: panasonic-laptop: Allocate 1 entry extra in the sinf array

 drivers/platform/x86/asus-wmi.c            | 10 ++++++
 drivers/platform/x86/panasonic-laptop.c    | 58 ++++++++++++++++++++++++------
 include/linux/platform_data/x86/asus-wmi.h |  1 +
 3 files changed, 58 insertions(+), 11 deletions(-)

.
Date: Thu, 12 Sep 2024 11:54:41 +0200
From: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
To: torvalds@linux-foundation.org
Cc: linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] MIPS changes for v6.12

The following changes since commit 5be63fc19fcaa4c236b307420483578a56986a37:

  Linux 6.11-rc5 (2024-08-25 19:07:11 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/ tags/mips_6.12

for you to fetch changes up to 439667fb943cfea46d7bde5c7b29c89efec3cbc7:

  mips: Remove posix_types.h include from sigcontext.h (2024-08-29 10:46:00 +0200)

----------------------------------------------------------------
- use devm_clk_get_enabled() helper
- prototype fixes
- cleanup unused stuff

----------------------------------------------------------------
Gaosheng Cui (6):
      MIPS: Remove unused function dump_au1000_dma_channel() in dma.c
      mips/jazz: remove unused jazz_handle_int() declaration
      MIPS: MT: Remove unused function mips_mt_regdump()
      MIPS: Remove unused declarations in asm/cmp.h
      MIPS: Remove unused mips_display/_scroll_message() declarations
      MIPS: dec: prom: Remove unused unregister_prom_console() declaration

Vincent Legoll (2):
      MIPS: ralink: Fix missing `plat_time_init` prototype
      MIPS: ralink: Fix missing `get_c0_perfcount_int` prototype

Wu Bo (2):
      bus: bt1-axi: change to use devm_clk_get_enabled() helper
      bus: bt1-apb: change to use devm_clk_get_enabled() helper

Xi Ruoyao (1):
      mips: Remove posix_types.h include from sigcontext.h

 arch/mips/alchemy/common/dma.c                 | 23 --------
 arch/mips/include/asm/cmp.h                    |  8 ---
 arch/mips/include/asm/dec/prom.h               |  1 -
 arch/mips/include/asm/mach-au1x00/au1000_dma.h |  1 -
 arch/mips/include/asm/mips-boards/generic.h    |  3 -
 arch/mips/include/asm/mips_mt.h                |  2 -
 arch/mips/include/uapi/asm/sigcontext.h        |  1 -
 arch/mips/jazz/setup.c                         |  2 -
 arch/mips/kernel/mips-mt.c                     | 77 --------------------------
 arch/mips/ralink/irq-gic.c                     |  1 +
 arch/mips/ralink/timer-gic.c                   |  2 +
 drivers/bus/bt1-apb.c                          | 23 +-------
 drivers/bus/bt1-axi.c                          | 23 +-------
 13 files changed, 6 insertions(+), 161 deletions(-)

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

.
Date: Thu, 12 Sep 2024 13:59:35 +0100
From: Will Deacon <will@kernel.org>
To: joro@8bytes.org
Cc: iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, robin.murphy@arm.com,
	kernel-team@android.com
Subject: [GIT PULL] iommu/arm-smmu: Updates for 6.12

Hi Joerg,

Please pull these Arm SMMU updates for v6.12. The big new feature is
support for NVIDIA's virtual command queue implementation for SMMUv3,
but everything is summarised in the tag.

** Please note **: I've already pushed this to the arm/smmu branch for
-next coverage, but I thought sending a pull request was still useful
for the records and the signed tag. If you want to recreate the branch,
please feel free.

See you at LPC!

Cheers,

Will

--->8

The following changes since commit 7c626ce4bae1ac14f60076d00eafe71af30450ba:

  Linux 6.11-rc3 (2024-08-11 14:27:14 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git tags/arm-smmu-updates

for you to fetch changes up to f1c6cf8e7ab9d7498ee70c69d5093165952d3595:

  Merge branch 'for-joerg/arm-smmu/bindings' into for-joerg/arm-smmu/updates (2024-09-12 12:54:14 +0100)

----------------------------------------------------------------
Arm SMMU updates for 6.12

- SMMUv2:
  * Devicetree binding updates for Qualcomm MMU-500 implementations.
  * Extend workarounds for broken Qualcomm hypervisor to avoid touching
    features that are not available (e.g. 16KiB page support, reserved
    context banks).

- SMMUv3:
  * Support for NVIDIA's custom virtual command queue hardware.
  * Fix Stage-2 stall configuration and extend tests to cover this area.
  * A bunch of driver cleanups, including simplification of the master
    rbtree code.

- Plus minor cleanups and fixes across both drivers.

----------------------------------------------------------------
Dan Carpenter (2):
      iommu/arm-smmu-v3: Fix a NULL vs IS_ERR() check
      iommu/tegra241-cmdqv: Fix ioremap() error handling in probe()

Dmitry Baryshkov (1):
      iommu/arm-smmu-qcom: apply num_context_bank fixes for SDM630 / SDM660

Jason Gunthorpe (10):
      iommu/arm-smmu-v3: Add struct arm_smmu_impl_ops
      iommu/arm-smmu-v3: Use the new rb tree helpers
      iommu/arm-smmu-v3: Add arm_smmu_strtab_l1/2_idx()
      iommu/arm-smmu-v3: Add types for each level of the 2 level stream table
      iommu/arm-smmu-v3: Reorganize struct arm_smmu_strtab_cfg
      iommu/arm-smmu-v3: Remove strtab_base/cfg
      iommu/arm-smmu-v3: Do not use devm for the cd table allocations
      iommu/arm-smmu-v3: Shrink the cdtab l1_desc array
      iommu/arm-smmu-v3: Add types for each level of the CD table
      iommu/arm-smmu-v3: Reorganize struct arm_smmu_ctx_desc_cfg

Konrad Dybcio (1):
      iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages

Marc Gonzalez (1):
      iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux

Mostafa Saleh (2):
      iommu/arm-smmu-v3: Match Stall behaviour for S2
      iommu/arm-smmu-v3-test: Test masters with stall enabled

Nate Watterson (1):
      iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241 (Grace) CMDQV

Nicolin Chen (11):
      iommu/arm-smmu-v3: Issue a batch of commands to the same cmdq
      iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_build_sync_cmd
      iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_init
      iommu/arm-smmu-v3: Make symbols public for CONFIG_TEGRA241_CMDQV
      iommu/arm-smmu-v3: Add ARM_SMMU_OPT_TEGRA241_CMDQV
      iommu/arm-smmu-v3: Add acpi_smmu_iort_probe_model for impl
      iommu/arm-smmu-v3: Start a new batch if new command is not supported
      iommu/tegra241-cmdqv: Limit CMDs for VCMDQs of a guest owned VINTF
      iommu/tegra241-cmdqv: Fix -Wformat-truncation warnings in lvcmdq_error_header
      iommu/tegra241-cmdqv: Drop static at local variable
      iommu/tegra241-cmdqv: Do not allocate vcmdq until dma_set_mask_and_coherent

Nikunj Kela (1):
      dt-bindings: arm-smmu: document the support on SA8255p

Rob Clark (1):
      iommu/arm-smmu: Un-demote unhandled-fault msg

Will Deacon (1):
      Merge branch 'for-joerg/arm-smmu/bindings' into for-joerg/arm-smmu/updates

Zhang Zekun (1):
      iommu/arm-smmu-v3: Remove the unused empty definition

Zhenhua Huang (1):
      dt-bindings: arm-smmu: Add compatible for QCS8300 SoC

 .../devicetree/bindings/iommu/arm,smmu.yaml        |   5 +
 MAINTAINERS                                        |   1 +
 drivers/iommu/Kconfig                              |  11 +
 drivers/iommu/arm/arm-smmu-v3/Makefile             |   1 +
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c   |  83 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        | 576 +++++++------
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h        | 137 +++-
 drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c     | 909 +++++++++++++++++++++
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |  28 +
 drivers/iommu/arm/arm-smmu/arm-smmu.c              |   2 +-
 10 files changed, 1463 insertions(+), 290 deletions(-)
 create mode 100644 drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c

.
Date: Thu, 12 Sep 2024 17:22:01 +0200
From: David Sterba <dsterba@suse.com>
To: torvalds@linux-foundation.org
Cc: David Sterba <dsterba@suse.com>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] AFFS updates for 6.12

Hi,

please pull the following cleanups removing unused code and updating
definition of flexible struct array.

Thanks.

----------------------------------------------------------------
The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/affs-for-6.12-tag

for you to fetch changes up to bf751ad062b58d0750a5b9fb77d1400532a0ea44:

  affs: Replace one-element array with flexible-array member (2024-09-06 17:48:15 +0200)

----------------------------------------------------------------
Thorsten Blum (2):
      affs: Remove unused macros GET_END_PTR, AFFS_GET_HASHENTRY
      affs: Replace one-element array with flexible-array member

 fs/affs/affs.h     | 2 --
 fs/affs/amigaffs.h | 3 ++-
 2 files changed, 2 insertions(+), 3 deletions(-)

.
Date: Thu, 12 Sep 2024 09:25:44 -0700 (PDT)
From: Palmer Dabbelt <palmer@rivosinc.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Subject: [GIT PULL] RISC-V Fixes for 6.11-rc8

The following changes since commit 1ff95eb2bebda50c4c5406caaf201e0fcb24cc8f:

  riscv: Fix RISCV_ALTERNATIVE_EARLY (2024-09-03 07:57:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv-for-linus-6.11-rc8

for you to fetch changes up to 7c1e5b9690b0e14acead4ff98d8a6c40f2dff54b:

  riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF (2024-09-10 20:38:46 -0700)

----------------------------------------------------------------
RISC-V Fixes for 6.11-rc8

* Two fixes for smp_processor_id() calls in preemptible sections: one if
  the perf driver, and one in the fence.i prctl.

----------------------------------------------------------------
Alexandre Ghiti (1):
      drivers: perf: Fix smp_processor_id() use in preemptible code

Charlie Jenkins (1):
      riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF

 arch/riscv/mm/cacheflush.c   | 12 ++++++------
 drivers/perf/riscv_pmu_sbi.c |  7 ++++++-
 2 files changed, 12 insertions(+), 7 deletions(-)

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

.
Date: Thu, 12 Sep 2024 18:08:02 +0200
From: David Sterba <dsterba@suse.com>
To: torvalds@linux-foundation.org
Cc: David Sterba <dsterba@suse.com>,
	linux-btrfs@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] Btrfs updates for 6.12

Hi,

this update brings mostly refactoring, cleanups, minor performance
optimizations and usual fixes. The folio API conversions are most
noticeable.

There's one less visible change that could have a high impact. The
extent lock scope for read is reduced, not held for the entire
operation. In the buffered read case it's left to page or inode lock,
some direct io read synchronization is still needed.

This used to prevent deadlocks induced by page faults during direct io,
so there was a 4K limitation on the requests, e.g. for io_uring. In the
future this will allow smoother integration with iomap where the extent
read lock was a major obstacle.

Please pull, thanks.

User visible changes:

- the FSTRIM ioctl updates the processed range even after an error or
  interruption

- cleaner thread is woken up in SYNC ioctl instead of waking the
  transaction thread that can take some delay before waking up the
  cleaner, this can speed up cleaning of deleted subvolumes

- print an error message when opening a device fail, e.g. when it's
  unexpectedly read-only

Core changes:

- improved extent map handling in various ways (locking, iteration, ...)

- new assertions and locking annotations

- raid-stripe-tree locking fixes

- use xarray for tracking dirty qgroup extents, switched from rb-tree

- turn the subpage test to compile-time condition if possible (e.g. on
  x86_64 with 4K pages), this allows to skip a lot of ifs and remove
  dead code

- more preparatory work for compression in subpage mode

Cleanups and refactoring

- folio API conversions, many simple cases where page is passed so
  switch it to folios

- more subpage code refactoring, update page state bitmap processing

- introduce auto free for btrfs_path structure, use for the simple cases

----------------------------------------------------------------
The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.12-tag

for you to fetch changes up to bd610c0937aaf03b2835638ada1fab8b0524c61a:

  btrfs: only unlock the to-be-submitted ranges inside a folio (2024-09-10 16:51:22 +0200)

----------------------------------------------------------------
Boris Burkov (1):
      btrfs: add comment about locking in cow_file_range_inline()

David Sterba (14):
      btrfs: rename btrfs_submit_bio() to btrfs_submit_bbio()
      btrfs: rename __btrfs_submit_bio() and drop double underscores
      btrfs: rename __extent_writepage() and drop double underscores
      btrfs: rename __compare_inode_defrag() and drop double underscores
      btrfs: constify arguments of compare_inode_defrag()
      btrfs: rename __need_auto_defrag() and drop double underscores
      btrfs: rename __btrfs_add_inode_defrag() and drop double underscores
      btrfs: rename __btrfs_run_defrag_inode() and drop double underscores
      btrfs: clear defragmented inodes using postorder in btrfs_cleanup_defrag_inodes()
      btrfs: return void from btrfs_add_inode_defrag()
      btrfs: drop transaction parameter from btrfs_add_inode_defrag()
      btrfs: always pass readahead state to defrag
      btrfs: rework BTRFS_I as macro to preserve parameter const
      btrfs: constify more pointer parameters

Filipe Manana (5):
      btrfs: reduce size and overhead of extent_map_block_end()
      btrfs: reschedule when updating chunk maps at the end of a device replace
      btrfs: more efficient chunk map iteration when device replace finishes
      btrfs: directly wake up cleaner kthread in the BTRFS_IOC_SYNC ioctl
      btrfs: add and use helper to verify the calling task has locked the inode

Johannes Thumshirn (8):
      btrfs: update stripe extents for existing logical addresses
      btrfs: update stripe_extent delete loop assumptions
      btrfs: don't dump stripe-tree on lookup error
      btrfs: rename btrfs_io_stripe::is_scrub to rst_search_commit_root
      btrfs: set search_commit_root on stripe io in case of relocation
      btrfs: don't readahead the relocation inode on RST
      btrfs: change RST lookup error message level to debug
      btrfs: reduce chunk_map lookups in btrfs_map_block()

Josef Bacik (49):
      btrfs: convert btrfs_readahead() to only use folio
      btrfs: convert btrfs_read_folio() to only use a folio
      btrfs: convert end_page_read() to take a folio
      btrfs: convert begin_page_folio() to take a folio instead
      btrfs: convert submit_extent_page() to use a folio
      btrfs: convert btrfs_do_readpage() to only use a folio
      btrfs: update the writepage tracepoint to take a folio
      btrfs: convert __extent_writepage_io() to take a folio
      btrfs: convert extent_write_locked_range() to use folios
      btrfs: convert __extent_writepage() to be completely folio based
      btrfs: convert add_ra_bio_pages() to use only folios
      btrfs: utilize folio more in btrfs_page_mkwrite()
      btrfs: convert can_finish_ordered_extent() to use a folio
      btrfs: convert btrfs_finish_ordered_extent() to take a folio
      btrfs: convert btrfs_mark_ordered_io_finished() to take a folio
      btrfs: convert writepage_delalloc() to take a folio
      btrfs: convert find_lock_delalloc_range() to use a folio
      btrfs: convert lock_delalloc_pages() to take a folio
      btrfs: convert __unlock_for_delalloc() to take a folio
      btrfs: convert __process_pages_contig() to take a folio
      btrfs: convert process_one_page() to operate only on folios
      btrfs: convert extent_clear_unlock_delalloc() to take a folio
      btrfs: convert extent_write_locked_range() to take a folio
      btrfs: convert run_delalloc_cow() to take a folio
      btrfs: convert cow_file_range_inline() to take a folio
      btrfs: convert cow_file_range() to take a folio
      btrfs: convert fallback_to_cow() to take a folio
      btrfs: convert run_delalloc_nocow() to take a folio
      btrfs: convert btrfs_cleanup_ordered_extents() to use folios
      btrfs: convert btrfs_cleanup_ordered_extents() to take a folio
      btrfs: convert run_delalloc_compressed() to take a folio
      btrfs: convert btrfs_run_delalloc_range() to take a folio
      btrfs: convert struct async_chunk to hold a folio
      btrfs: convert submit_uncompressed_range() to take a folio
      btrfs: convert btrfs_writepage_fixup_worker() to use a folio
      btrfs: convert btrfs_writepage_cow_fixup() to use folio
      btrfs: convert struct btrfs_writepage_fixup to use a folio
      btrfs: convert uncompress_inline() to take a folio
      btrfs: convert read_inline_extent() to use a folio
      btrfs: convert btrfs_get_extent() to take a folio
      btrfs: convert __get_extent_map() to take a folio
      btrfs: convert find_next_dirty_byte() to take a folio
      btrfs: convert wait_subpage_spinlock() to only use a folio
      btrfs: convert btrfs_set_range_writeback() to use a folio
      btrfs: convert insert_inline_extent() to use a folio
      btrfs: convert extent_range_clear_dirty_for_io() to use a folio
      btrfs: introduce EXTENT_DIO_LOCKED
      btrfs: take the dio extent lock during O_DIRECT operations
      btrfs: do not hold the extent lock for entire read

Junchao Sun (2):
      btrfs: qgroup: use goto style to handle errors in add_delayed_ref()
      btrfs: qgroup: use xarray to track dirty extents in transaction

Leo Martins (3):
      btrfs: DEFINE_FREE for struct btrfs_path
      btrfs: use btrfs_path auto free in zoned.c
      btrfs: BTRFS_PATH_AUTO_FREE in orphan.c

Li Zetao (14):
      btrfs: convert clear_page_extent_mapped() to take a folio
      btrfs: convert get_next_extent_buffer() to take a folio
      btrfs: convert try_release_subpage_extent_buffer() to take a folio
      btrfs: convert try_release_extent_buffer() to take a folio
      btrfs: convert read_key_bytes() to take a folio
      btrfs: convert submit_eb_subpage() to take a folio
      btrfs: convert submit_eb_page() to take a folio
      btrfs: convert try_release_extent_state() to take a folio
      btrfs: convert try_release_extent_mapping() to take a folio
      btrfs: convert zlib_decompress() to take a folio
      btrfs: convert lzo_decompress() to take a folio
      btrfs: convert zstd_decompress() to take a folio
      btrfs: convert btrfs_decompress() to take a folio
      btrfs: convert copy_inline_to_page() to use folio

Li Zhang (1):
      btrfs: print message on device opening error during mount

Luca Stefani (1):
      btrfs: always update fstrim_range on failure in FITRIM ioctl

Qu Wenruo (11):
      btrfs: move uuid tree related code to uuid-tree.[ch]
      btrfs: make btrfs_is_subpage() to return false directly for 4K page size
      btrfs: subpage: fix the bitmap dump which can cause bitmap corruption
      btrfs: refactor __extent_writepage_io() to do sector-by-sector submission
      btrfs: remove the nr_ret parameter from __extent_writepage_io()
      btrfs: subpage: remove btrfs_fs_info::subpage_info member
      btrfs: merge btrfs_orig_bbio_end_io() into btrfs_bio_end_io()
      btrfs: make compression path to be subpage compatible
      btrfs: remove btrfs_folio_end_all_writers()
      btrfs: merge btrfs_folio_unlock_writer() into btrfs_folio_end_writer_lock()
      btrfs: only unlock the to-be-submitted ranges inside a folio

Thorsten Blum (1):
      btrfs: send: fix grammar in comments

 fs/btrfs/backref.c               |   6 +-
 fs/btrfs/bio.c                   |  54 ++-
 fs/btrfs/bio.h                   |   6 +-
 fs/btrfs/block-group.c           |  34 +-
 fs/btrfs/block-group.h           |  11 +-
 fs/btrfs/block-rsv.c             |   2 +-
 fs/btrfs/block-rsv.h             |   2 +-
 fs/btrfs/btrfs_inode.h           |  24 +-
 fs/btrfs/compression.c           |  82 ++--
 fs/btrfs/compression.h           |  16 +-
 fs/btrfs/ctree.c                 |  18 +-
 fs/btrfs/ctree.h                 |  11 +-
 fs/btrfs/defrag.c                |  97 ++---
 fs/btrfs/defrag.h                |   3 +-
 fs/btrfs/delayed-ref.c           |  36 +-
 fs/btrfs/delayed-ref.h           |   4 +-
 fs/btrfs/dev-replace.c           |  43 +-
 fs/btrfs/direct-io.c             |  73 ++--
 fs/btrfs/discard.c               |   4 +-
 fs/btrfs/disk-io.c               |  16 +-
 fs/btrfs/extent-io-tree.c        |  55 ++-
 fs/btrfs/extent-io-tree.h        |  38 +-
 fs/btrfs/extent-tree.c           |   4 +-
 fs/btrfs/extent_io.c             | 865 +++++++++++++++++----------------------
 fs/btrfs/extent_io.h             |  12 +-
 fs/btrfs/extent_map.c            |   9 +-
 fs/btrfs/file-item.c             |   4 +-
 fs/btrfs/file-item.h             |   2 +-
 fs/btrfs/file.c                  |  26 +-
 fs/btrfs/fs.h                    |   2 +-
 fs/btrfs/inode-item.c            |  10 +-
 fs/btrfs/inode-item.h            |   4 +-
 fs/btrfs/inode.c                 | 368 +++++++++--------
 fs/btrfs/ioctl.c                 |  11 +-
 fs/btrfs/lzo.c                   |  12 +-
 fs/btrfs/ordered-data.c          |  30 +-
 fs/btrfs/ordered-data.h          |   6 +-
 fs/btrfs/orphan.c                |  24 +-
 fs/btrfs/qgroup.c                |  66 ++-
 fs/btrfs/qgroup.h                |   1 -
 fs/btrfs/raid-stripe-tree.c      |  46 ++-
 fs/btrfs/reflink.c               |  35 +-
 fs/btrfs/relocation.c            |  22 +-
 fs/btrfs/scrub.c                 |  12 +-
 fs/btrfs/send.c                  |   4 +-
 fs/btrfs/space-info.c            |  25 +-
 fs/btrfs/space-info.h            |  10 +-
 fs/btrfs/subpage.c               | 277 ++++++-------
 fs/btrfs/subpage.h               |  60 ++-
 fs/btrfs/tests/extent-io-tests.c |  10 +-
 fs/btrfs/transaction.c           |   5 +-
 fs/btrfs/tree-log.c              |   2 +-
 fs/btrfs/tree-mod-log.c          |  14 +-
 fs/btrfs/tree-mod-log.h          |   6 +-
 fs/btrfs/uuid-tree.c             | 179 ++++++++
 fs/btrfs/uuid-tree.h             |   2 +
 fs/btrfs/verity.c                |  20 +-
 fs/btrfs/volumes.c               | 228 ++---------
 fs/btrfs/volumes.h               |   4 +-
 fs/btrfs/xattr.c                 |   2 +-
 fs/btrfs/zlib.c                  |  33 +-
 fs/btrfs/zoned.c                 |  36 +-
 fs/btrfs/zoned.h                 |   4 +-
 fs/btrfs/zstd.c                  |  35 +-
 include/trace/events/btrfs.h     |  18 +-
 65 files changed, 1583 insertions(+), 1597 deletions(-)

.
Date: Thu, 12 Sep 2024 20:08:01 +0200
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux PM <linux-pm@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, 
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Subject: [GIT PULL] Power management updates for v6.12-rc1

Hi Linus,

The next week will be all conference travel for me and I'll be traveling in
the week after it too, so here's an early request to pull power management
updates for 6.12-rc1.

To receive them, please pull from the tag

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 pm-6.12-rc1

with top-most commit 0a06811d664b8695a7612d3e59c1defb4382f4e0

 Merge branches 'pm-sleep', 'pm-opp' and 'pm-tools'

on top of commit da3ea35007d0af457a0afc87e84fddaebc4e0b63

 Linux 6.11-rc7

By the number of new lines of code, the most visible change here is the
addition of hybrid CPU capacity scaling support to the intel_pstate
driver.  Next are the amd-pstate driver changes related to the
calculation of the AMD boost numerator and preferred core detection.

As far as new hardware support is concerned, the intel_idle driver will
now handle Granite Rapids Xeon processors natively, the intel_rapl power
capping driver will recognize family 1Ah of AMD processors and Intel
ArrowLake-U chipos, and intel_pstate will handle Granite Rapids and
Sierra Forest chips in the out-of-band (OOB) mode.

Apart from the above, there is a usual collection of assorted fixes
and code cleanups in many places and there are tooling updates.

Specifics:

 - Remove LATENCY_MULTIPLIER from cpufreq (Qais Yousef).

 - Add support for Granite Rapids and Sierra Forest in OOB mode to the
   intel_pstate cpufreq driver (Srinivas Pandruvada).

 - Add basic support for CPU capacity scaling on x86 and make the
   intel_pstate driver set asymmetric CPU capacity on hybrid systems
   without SMT (Rafael Wysocki).

 - Add missing MODULE_DESCRIPTION() macros to the powerpc cpufreq
   driver (Jeff Johnson).

 - Several OF related cleanups in cpufreq drivers (Rob Herring).

 - Enable COMPILE_TEST for ARM drivers (Rob Herring).

 - Introduce quirks for syscon failures and use socinfo to get revision
   for TI cpufreq driver (Dhruva Gole, Nishanth Menon).

 - Minor cleanups in amd-pstate driver (Anastasia Belova, Dhananjay
   Ugwekar).

 - Minor cleanups for loongson, cpufreq-dt and powernv cpufreq drivers
   (Danila Tikhonov, Huacai Chen, and Liu Jing).

 - Make amd-pstate validate return of any attempt to update EPP limits,
   which fixes the masking hardware problems (Mario Limonciello).

 - Move the calculation of the AMD boost numerator outside of amd-pstate,
   correcting acpi-cpufreq on systems with preferred cores (Mario
   Limonciello).

 - Harden preferred core detection in amd-pstate to avoid potential
   false positives (Mario Limonciello).

 - Add extra unit test coverage for mode state machine (Mario
   Limonciello).

 - Fix an "Uninitialized variables" issue in amd-pstate (Qianqiang Liu).

 - Add Granite Rapids Xeon support to intel_idle (Artem Bityutskiy).

 - Disable promotion to C1E on Jasper Lake and Elkhart Lake in
   intel_idle (Kai-Heng Feng).

 - Use scoped device node handling to fix missing of_node_put() and
   simplify walking OF children in the riscv-sbi cpuidle driver (Krzysztof
   Kozlowski).

 - Remove dead code from cpuidle_enter_state() (Dhruva Gole).

 - Change an error pointer to NULL to fix error handling in the
   intel_rapl power capping driver (Dan Carpenter).

 - Fix off by one in get_rpi() in the intel_rapl power capping
   driver (Dan Carpenter).

 - Add support for ArrowLake-U to the intel_rapl power capping
   driver (Sumeet Pawnikar).

 - Fix the energy-pkg event for AMD CPUs in the intel_rapl power capping
   driver (Dhananjay Ugwekar).

 - Add support for AMD family 1Ah processors to the intel_rapl power
   capping driver (Dhananjay Ugwekar).

 - Remove unused stub for saveable_highmem_page() and remove deprecated
   macros from power management documentation (Andy Shevchenko).

 - Use ysfs_emit() and sysfs_emit_at() in "show" functions in the PM
   sysfs interface (Xueqin Luo).

 - Update the maintainers information for the operating-points-v2-ti-cpu DT
   binding (Dhruva Gole).

 - Drop unnecessary of_match_ptr() from ti-opp-supply (Rob Herring).

 - Add missing MODULE_DESCRIPTION() macros to devfreq governors (Jeff
   Johnson).

 - Use devm_clk_get_enabled() in the exynos-bus devfreq driver (Anand
   Moon).

 - Use of_property_present() instead of of_get_property() in the imx-bus
   devfreq driver (Rob Herring).

 - Update directory handling and installation process in the pm-graph
   Makefile and add .gitignore to ignore sleepgraph.py artifacts to
   pm-graph (Amit Vadhavana, Yo-Jung Lin).

 - Make cpupower display residency value in idle-info (Aboorva
   Devarajan).

 - Add missing powercap_set_enabled() stub function to cpupower (John
   B. Wyatt IV).

 - Add SWIG support to cpupower (John B. Wyatt IV).

Thanks!


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

Aboorva Devarajan (1):
      tools/cpupower: display residency value in idle-info

Amit Vadhavana (1):
      pm-graph: Update directory handling and installation process in Makefile

Anand Moon (1):
      PM / devfreq: exynos: Use Use devm_clk_get_enabled() helpers

Anastasia Belova (1):
      cpufreq: amd-pstate: add check for cpufreq_cpu_get's return value

Andy Shevchenko (2):
      Documentation: PM: Discourage use of deprecated macros
      PM: hibernate: Remove unused stub for saveable_highmem_page()

Artem Bityutskiy (1):
      intel_idle: add Granite Rapids Xeon support

Dan Carpenter (2):
      powercap: intel_rapl: Fix off by one in get_rpi()
      powercap: intel_rapl: Change an error pointer to NULL

Danila Tikhonov (1):
      cpufreq: Add SM7325 to cpufreq-dt-platdev blocklist

Dhananjay Ugwekar (3):
      powercap/intel_rapl: Add support for AMD family 1Ah
      powercap/intel_rapl: Fix the energy-pkg event for AMD CPUs
      cpufreq/amd-pstate: Add the missing cpufreq_cpu_put()

Dhruva Gole (3):
      cpuidle: remove dead code from cpuidle_enter_state()
      dt-bindings: opp: operating-points-v2-ti-cpu: Update maintainers
      cpufreq: ti-cpufreq: Use socinfo to get revision in AM62 family

Huacai Chen (1):
      cpufreq: loongson3: Use raw_smp_processor_id() in do_service_request()

Jeff Johnson (2):
      cpufreq: powerpc: add missing MODULE_DESCRIPTION() macros
      PM/devfreq: governor: add missing MODULE_DESCRIPTION() macros

John B. Wyatt IV (5):
      pm:cpupower: Add missing powercap_set_enabled() stub function
      pm:cpupower: Add SWIG bindings files for libcpupower
      pm:cpupower: Include test_raw_pylibcpupower.py
      MAINTAINERS: Add Maintainers for SWIG Python bindings
      pm:cpupower: Add error warning when SWIG is not installed

Kai-Heng Feng (1):
      intel_idle: Disable promotion to C1E on Jasper Lake and Elkhart Lake

Krzysztof Kozlowski (2):
      cpuidle: riscv-sbi: Use scoped device node handling to fix
missing of_node_put
      cpuidle: riscv-sbi: Simplify with scoped for each OF child loop

Liu Jing (1):
      cpufreq: Fix the cacography in powernv-cpufreq.c

Mario Limonciello (14):
      cpufreq/amd-pstate: Catch failures for amd_pstate_epp_update_limit()
      x86/amd: Move amd_get_highest_perf() from amd.c to cppc.c
      ACPI: CPPC: Adjust return code for inline functions in
!CONFIG_ACPI_CPPC_LIB
      x86/amd: Rename amd_get_highest_perf() to amd_get_boost_ratio_numerator()
      ACPI: CPPC: Drop check for non zero perf ratio
      ACPI: CPPC: Adjust debug messages in amd_set_max_freq_ratio() to warn
      x86/amd: Move amd_get_highest_perf() out of amd-pstate
      x86/amd: Detect preferred cores in amd_get_boost_ratio_numerator()
      cpufreq: amd-pstate: Merge amd_pstate_highest_perf_set() into
amd_get_boost_ratio_numerator()
      cpufreq: amd-pstate: Optimize amd_pstate_update_limits()
      cpufreq: amd-pstate: Add documentation for `amd_pstate_hw_prefcore`
      amd-pstate: Add missing documentation for `amd_pstate_prefcore_ranking`
      cpufreq/amd-pstate: Export symbols for changing modes
      cpufreq/amd-pstate-ut: Add test case for mode switches

Nishanth Menon (1):
      cpufreq: ti-cpufreq: Introduce quirks to handle syscon fails appropriately

Qais Yousef (1):
      cpufreq: Remove LATENCY_MULTIPLIER

Qianqiang Liu (1):
      cpufreq/amd-pstate-ut: Fix an "Uninitialized variables" issue

Rafael J. Wysocki (2):
      x86/sched: Add basic support for CPU capacity scaling
      cpufreq: intel_pstate: Set asymmetric CPU capacity on hybrid systems

Rob Herring (Arm) (10):
      cpufreq: Use of_property_present()
      cpufreq: spear: Use of_property_for_each_u32() instead of open coding
      cpufreq: qcom: Add explicit io.h include for readl/writel_relaxed
      cpufreq: omap: Drop asm includes
      cpufreq: armada-8k: Avoid excessive stack usage
      opp: ti: Drop unnecessary of_match_ptr()
      cpufreq: Enable COMPILE_TEST on Arm drivers
      cpufreq: Drop CONFIG_ARM and CONFIG_ARM64 dependency on Arm drivers
      cpufreq: Fix warning on unused of_device_id tables for !CONFIG_OF
      PM / devfreq: imx-bus: Use of_property_present()

Srinivas Pandruvada (1):
      cpufreq: intel_pstate: Support Granite Rapids and Sierra Forest OOB mode

Sumeet Pawnikar (1):
      powercap: intel_rapl: Add support for ArrowLake-U platform

Xueqin Luo (2):
      PM: hibernate: Use sysfs_emit() and sysfs_emit_at() in "show" functions
      PM: sleep: Use sysfs_emit() and sysfs_emit_at() in "show" functions

Yo-Jung (Leo) Lin (1):
      pm-graph: Make git ignore sleepgraph.py artifacts

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

 Documentation/admin-guide/pm/amd-pstate.rst        |  15 +-
 .../bindings/opp/operating-points-v2-ti-cpu.yaml   |   2 +-
 Documentation/power/pci.rst                        |  11 +-
 Documentation/power/runtime_pm.rst                 |   4 +-
 MAINTAINERS                                        |   3 +
 arch/x86/include/asm/processor.h                   |   3 -
 arch/x86/include/asm/topology.h                    |  13 ++
 arch/x86/kernel/acpi/cppc.c                        | 172 +++++++++++++-
 arch/x86/kernel/cpu/amd.c                          |  16 --
 arch/x86/kernel/cpu/aperfmperf.c                   |  89 +++++++-
 drivers/cpufreq/Kconfig                            |   2 -
 drivers/cpufreq/Kconfig.arm                        |  50 +++--
 drivers/cpufreq/acpi-cpufreq.c                     |  12 +-
 drivers/cpufreq/amd-pstate-ut.c                    |  41 +++-
 drivers/cpufreq/amd-pstate.c                       | 181 ++++++---------
 drivers/cpufreq/amd-pstate.h                       |  14 ++
 drivers/cpufreq/apple-soc-cpufreq.c                |   2 +-
 drivers/cpufreq/armada-8k-cpufreq.c                |   2 +-
 drivers/cpufreq/cpufreq-dt-platdev.c               |   1 +
 drivers/cpufreq/cpufreq-dt.c                       |  11 +-
 drivers/cpufreq/cpufreq.c                          |  27 +--
 drivers/cpufreq/intel_pstate.c                     | 240 +++++++++++++++++++-
 drivers/cpufreq/loongson3_cpufreq.c                |   2 +-
 drivers/cpufreq/maple-cpufreq.c                    |   1 +
 drivers/cpufreq/mediatek-cpufreq.c                 |   2 +-
 drivers/cpufreq/omap-cpufreq.c                     |   3 -
 drivers/cpufreq/pasemi-cpufreq.c                   |   1 +
 drivers/cpufreq/pmac64-cpufreq.c                   |   3 +-
 drivers/cpufreq/powernv-cpufreq.c                  |   3 +-
 drivers/cpufreq/ppc_cbe_cpufreq.c                  |   1 +
 drivers/cpufreq/qcom-cpufreq-hw.c                  |   1 +
 drivers/cpufreq/qcom-cpufreq-nvmem.c               |   2 +-
 drivers/cpufreq/spear-cpufreq.c                    |  18 +-
 drivers/cpufreq/sti-cpufreq.c                      |   2 +-
 drivers/cpufreq/sun50i-cpufreq-nvmem.c             |   2 +-
 drivers/cpufreq/ti-cpufreq.c                       |  31 ++-
 drivers/cpuidle/cpuidle-riscv-sbi.c                |  28 +--
 drivers/cpuidle/cpuidle.c                          |   5 +-
 drivers/devfreq/exynos-bus.c                       |  22 +-
 drivers/devfreq/governor_performance.c             |   1 +
 drivers/devfreq/governor_powersave.c               |   1 +
 drivers/devfreq/governor_simpleondemand.c          |   1 +
 drivers/devfreq/governor_userspace.c               |   1 +
 drivers/devfreq/imx-bus.c                          |   2 +-
 drivers/idle/intel_idle.c                          |  60 ++++-
 drivers/opp/ti-opp-supply.c                        |   2 +-
 drivers/powercap/intel_rapl_common.c               |  38 +++-
 include/acpi/cppc_acpi.h                           |  41 ++--
 include/linux/cpufreq.h                            |   6 -
 kernel/power/hibernate.c                           |  26 ++-
 kernel/power/main.c                                |  76 ++++---
 kernel/power/snapshot.c                            |   5 -
 tools/power/cpupower/bindings/python/.gitignore    |   8 +
 tools/power/cpupower/bindings/python/Makefile      |  33 +++
 tools/power/cpupower/bindings/python/README        |  59 +++++
 .../cpupower/bindings/python/raw_pylibcpupower.i   | 247 +++++++++++++++++++++
 .../bindings/python/test_raw_pylibcpupower.py      |  42 ++++
 tools/power/cpupower/lib/cpuidle.c                 |   8 +
 tools/power/cpupower/lib/cpuidle.h                 |   2 +
 tools/power/cpupower/lib/powercap.c                |   8 +
 tools/power/cpupower/utils/cpuidle-info.c          |   4 +
 tools/power/pm-graph/.gitignore                    |   3 +
 tools/power/pm-graph/Makefile                      | 111 +++++----
 63 files changed, 1416 insertions(+), 407 deletions(-)

.
Date: Thu, 12 Sep 2024 20:10:03 +0200
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux PM <linux-pm@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, 
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>, Daniel Lezcano <daniel.lezcano@linaro.org>
Subject: [GIT PULL] Thermal control updates for v6.12-rc1

Hi Linus,

The next week will be all conference travel for me and I'll be traveling in
the week after it too, so here's an early request to pull thermal control
updates for 6.12-rc1.

To receive them, please pull from the tag

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 thermal-6.12-rc1

with top-most commit 3bc5ed15bdc5077d7ee621f44872f550babbea3e

 Merge tag 'thermal-v6.12-rc1' of
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux into

on top of commit c0a1ef9c5be72ff28a5413deb1b3e1a066593c13

 thermal: of: Fix OF node leak in of_thermal_zone_find() error paths

to receive thermal control updates for 6.12-rc1.

These mostly continue to rework the thermal core and the thermal zone
driver interface to make the code more straightforward and reduce bloat.
The most significant piece of this work is a change of the code related
to binding cooling devices to thermal zones which, among other things,
replaces two previously existing thermal zone operations with one
allowing driver implementations to be much simpler.

There is also a new thermal core testing module allowing mock thermal
zones to be created and controlled via debugfs in order to exercise the
thermal core functionality.  It is expected to be used for implementing
thermal core self tests in the future.

Apart from the above, there are assorted thermal driver updates.

Specifics:

 - Update some thermal drivers to eliminate thermal_zone_get_trip()
   calls from them and get rid of that function (Rafael Wysocki).

 - Update the thermal sysfs code to store trip point attributes in trip
   descriptors and get to trip points via attribute pointers (Rafael
   Wysocki).

 - Move the computation of the low and high boundaries for
   thermal_zone_set_trips() to __thermal_zone_device_update() (Daniel
   Lezcano).

 - Introduce a debugfs-based facility for thermal core testing (Rafael
   Wysocki).

 - Replace the thermal zone .bind() and .unbind() callbacks for binding
   cooling devices to thermal zones with one .should_bind() callback
   used for deciding whether or not a given cooling devices should be
   bound to a given trip point in a given thermal zone (Rafael Wysocki).

 - Eliminate code that has no more users after the other changes, drop
   some redundant checks from the thermal core and clean it up (Rafael
   Wysocki).

 - Fix rounding of delay jiffies in the thermal core (Rafael Wysocki).

 - Refuse to accept trip point temperature or hysteresis that would lead
   to an invalid threshold value when setting them via sysfs (Rafael
   Wysocki).

 - Adjust states of all uninitialized instances in the .manage()
   callback of the Bang-bang thermal governor (Rafael Wysocki).

 - Drop a couple of redundant checks along with the code depending on
   them from the thermal core (Rafael Wysocki).

 - Rearrange the thermal core to avoid redundant checks and simplify
   control flow in a couple of code paths (Rafael Wysocki).

 - Add power domain DT bindings for new Amlogic SoCs (Georges Stark).

 - Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() in the ST
   driver and add a Kconfig dependency on THERMAL_OF subsystem for the
   STi driver (Raphael Gallais-Pou).

 - Simplify the error code path in the probe functions in the brcmstb
   driver with the help of dev_err_probe() (Yan Zhen).

 - Make imx_sc_thermal use dev_err_probe() (Alexander Stein).

 - Remove trailing space after \n newline in the Renesas driver (Colin
   Ian King).

 - Add DT binding compatible string for the SA8255p to the tsens thermal
   driver (Nikunj Kela).

 - Use the devm_clk_get_enabled() helpers to simplify the init routine
   in the sprd thermal driver (Huan Yang).

 - Remove __maybe_unused notations for the functions by using the new
   RUNTIME_PM_OPS() and SYSTEM_SLEEP_PM_OPS() macros on the IMx and
   Qoriq drivers (Fabio Estevam)

 - Remove unused declarations from the ti-soc-thermal driver's header
   file as the functions in question were removed previously (Zhang
   Zekun).

Thanks!


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

Alexander Stein (1):
      thermal/drivers/imx_sc_thermal: Use dev_err_probe

Colin Ian King (1):
      thermal/drivers/renesas: Remove trailing space after \n newline

Daniel Lezcano (1):
      thermal/core: Compute low and high boundaries in
thermal_zone_device_update()

Fabio Estevam (2):
      thermal/drivers/qoriq: Remove __maybe_unused notations
      thermal/drivers/imx: Remove __maybe_unused notations

George Stark (1):
      dt-bindings: thermal: amlogic,thermal: add optional power-domains

Huan Yang (1):
      thermal/drivers/sprd: Use devm_clk_get_enabled() helpers

Nikunj Kela (1):
      dt-bindings: thermal: tsens: document support on SA8255p

Rafael J. Wysocki (36):
      thermal: broadcom: Use thermal_zone_get_crit_temp() in
bcm2835_thermal_probe()
      thermal: hisi: Use thermal_zone_for_each_trip() in
hisi_thermal_register_sensor()
      thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init()
      thermal: tegra: Introduce struct trip_temps for critical and hot trips
      thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points
      thermal: helpers: Drop get_thermal_instance()
      thermal: trip: Get rid of thermal_zone_get_num_trips()
      thermal: trip: Drop thermal_zone_get_trip()
      thermal: core: Store trip sysfs attributes in thermal_trip_desc
      thermal: sysfs: Get to trips via attribute pointers
      thermal: sysfs: Refine the handling of trip hysteresis changes
      thermal: Introduce a debugfs-based testing facility
      thermal: core: Fold two functions into their respective callers
      thermal: core: Rearrange checks in thermal_bind_cdev_to_trip()
      thermal: core: Drop redundant thermal instance checks
      thermal: sysfs: Use the dev argument in instance-related show/store
      thermal: core: Move thermal zone locking out of bind/unbind functions
      thermal: core: Introduce .should_bind() thermal zone callback
      thermal: ACPI: Use the .should_bind() thermal zone callback
      thermal: core: Unexport thermal_bind_cdev_to_trip() and
thermal_unbind_cdev_from_trip()
      platform/x86: acerhdf: Use the .should_bind() thermal zone callback
      mlxsw: core_thermal: Use the .should_bind() thermal zone callback
      thermal: imx: Use the .should_bind() thermal zone callback
      thermal/of: Use the .should_bind() thermal zone callback
      thermal: core: Drop unused bind/unbind functions and callbacks
      thermal: core: Clean up trip bind/unbind functions
      thermal: core: Fix rounding of delay jiffies
      thermal: core: Rename cdev-to-thermal-zone bind/unbind functions
      thermal: core: Drop redundant checks from thermal_bind_cdev_to_trip()
      thermal: core: Drop tz field from struct thermal_instance
      thermal: sysfs: Add sanity checks for trip temperature and hysteresis
      thermal: gov_bang_bang: Adjust states of all uninitialized instances
      thermal: core: Drop redundant lockdep_assert_held()
      thermal: core: Drop dead code from monitor_thermal_zone()
      thermal: core: Check passive delay in monitor_thermal_zone()
      thermal: core: Drop thermal_zone_device_is_enabled()

Raphael Gallais-Pou (2):
      thermal/drivers/st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr()
      thermal/drivers/sti: Depend on THERMAL_OF subsystem

Yan Zhen (1):
      thermal/drivers/brcmstb_thermal: Simplify with dev_err_probe()

Zhang Zekun (1):
      thermal/drivers/ti-soc-thermal: Remove unused declarations

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

 .../bindings/thermal/amlogic,thermal.yaml          |   3 +
 .../devicetree/bindings/thermal/qcom-tsens.yaml    |   1 +
 Documentation/driver-api/thermal/sysfs-api.rst     |  68 +--
 drivers/acpi/thermal.c                             |  66 +--
 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c | 115 ++---
 drivers/platform/x86/acerhdf.c                     |  33 +-
 drivers/thermal/Kconfig                            |  11 +-
 drivers/thermal/Makefile                           |   1 +
 drivers/thermal/broadcom/bcm2835_thermal.c         |   7 +-
 drivers/thermal/broadcom/brcmstb_thermal.c         |  15 +-
 drivers/thermal/gov_bang_bang.c                    |  14 +-
 drivers/thermal/hisi_thermal.c                     |  25 +-
 drivers/thermal/imx_sc_thermal.c                   |   3 +-
 drivers/thermal/imx_thermal.c                      |  36 +-
 drivers/thermal/qcom/qcom-spmi-temp-alarm.c        |  22 +-
 drivers/thermal/qoriq_thermal.c                    |  10 +-
 drivers/thermal/renesas/rcar_gen3_thermal.c        |   6 +-
 drivers/thermal/renesas/rcar_thermal.c             |   2 +-
 drivers/thermal/sprd_thermal.c                     |  14 +-
 drivers/thermal/st/st_thermal.c                    |  32 +-
 drivers/thermal/st/st_thermal_memmap.c             |   2 +-
 drivers/thermal/st/stm_thermal.c                   |   8 +-
 drivers/thermal/tegra/soctherm.c                   |  36 +-
 drivers/thermal/tegra/tegra30-tsensor.c            |  57 +--
 drivers/thermal/testing/Makefile                   |   7 +
 drivers/thermal/testing/command.c                  | 221 ++++++++++
 drivers/thermal/testing/thermal_testing.h          |  11 +
 drivers/thermal/testing/zone.c                     | 468 +++++++++++++++++++++
 drivers/thermal/thermal_core.c                     | 243 ++++-------
 drivers/thermal/thermal_core.h                     |  38 +-
 drivers/thermal/thermal_helpers.c                  |  32 +-
 drivers/thermal/thermal_of.c                       | 171 ++------
 drivers/thermal/thermal_sysfs.c                    | 222 +++++-----
 drivers/thermal/thermal_trip.c                     |  53 +--
 drivers/thermal/ti-soc-thermal/ti-bandgap.h        |   4 -
 include/linux/thermal.h                            |  31 +-
 36 files changed, 1160 insertions(+), 928 deletions(-)

.
Date: Thu, 12 Sep 2024 20:12:54 +0200
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: ACPI Devel Maling List <linux-acpi@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux PM <linux-pm@vger.kernel.org>
Subject: [GIT PULL] ACPI updates for v6.12-rc1

Hi Linus,

The next week will be all conference travel for me and I'll be traveling in
the week after it too, so here's an early request to pull ACPI updates for
6.12-rc1.

To receive them, please pull from the tag

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 acpi-6.12-rc1

with top-most commit 3dd2fcf496359d2e196acd33e53dc921d6e39cff

 Merge branches 'acpi-video', 'acpi-resource', 'acpi-pad' and 'acpi-misc'

on top of commit da3ea35007d0af457a0afc87e84fddaebc4e0b63

 Linux 6.11-rc7

These update the ACPICA code in the kernel to upstream version 20240827,
add support for ACPI-based enumeration of interrupt controllers on
RISC-V along with some related irqchip updates, clean up the ACPI device
object sysfs interface, add some quirks for backlight handling and IRQ
overrides, fix assorted issues and clean up code.

Specifics:

 - Check return value in acpi_db_convert_to_package() (Pei Xiao).

 - Detect FACS and allow setting the waking vector on reduced-hardware
   ACPI platforms (Jiaqing Zhao).

 - Allow ACPICA to represent semaphores as integers (Adrien Destugues).

 - Complete CXL 3.0 CXIMS structures support in ACPICA (Zhang Rui).

 - Make ACPICA support SPCR version 4 and add RISC-V SBI Subtype to
   DBG2 (Sia Jee Heng).

 - Implement the Dword_PCC Resource Descriptor Macro in ACPICA (Jose
   Marinho).

 - Correct the typo in struct acpi_mpam_msc_node member (Punit Agrawal).

 - Implement ACPI_WARNING_ONCE() and ACPI_ERROR_ONCE() and use them to
   prevent a Stall() violation warning from being printed every time
   this takes place (Vasily Khoruzhick).

 - Allow PCC Data Type in MCTP resource (Adam Young).

 - Fix memory leaks on acpi_ps_get_next_namepath()
   and acpi_ps_get_next_field() failures  (Armin Wolf).

 - Add support for suppressing leading zeros in hex strings when
   converting them to integers and update integer-to-hex-string
   conversions in ACPICA (Armin Wolf).

 - Add support for Windows 11 22H2 _OSI string (Armin Wolf).

 - Avoid warning for Dump Functions in ACPICA (Adam Lackorzynski).

 - Add extended linear address mode to HMAT MSCIS in ACPICA (Dave
   Jiang).

 - Handle empty connection_node in iasl (Aleksandrs Vinarskis).

 - Allow for more flexibility in _DSM args (Saket Dumbre).

 - Setup for ACPICA release 20240827 (Saket Dumbre).

 - Add ACPI device enumeration support for interrupt controller probing
   including taking dependencies into account (Sunil V L).

 - Implement ACPI-based interrupt controller probing on RISC-V (Sunil V L).

 - Add ACPI support for AIA in riscv-intc and add ACPI support to
   riscv-imsic, riscv-aplic, and sifive-plic (Sunil V L).

 - Do not release locks during operation region accesses in the ACPI EC
   driver (Rafael Wysocki).

 - Fix up the _STR handling in the ACPI device object sysfs interface,
   make it represent the device object attributes as an attribute group
   and make it rely on driver core functionality for sysfs attribute
   management (Thomas Wei=C3=9Fschuh).

 - Extend error messages printed to the kernel log when acpi_evaluate_dsm()
   fails to include revision and function number (David Wang).

 - Add a new AMDI0015 platform device ID to the ACPi APD driver for AMD
   SoCs (Shyam Sundar S K).

 - Use the driver core for the async probing management in the ACPI
   battery driver (Thomas Wei=C3=9Fschuh).

 - Remove redundant initialization of a local variable to NULL from the
   ACPI battery driver (Ilpo J=C3=A4rvinen).

 - Remove unneeded check in tps68470_pmic_opregion_probe() (Aleksandr
   Mishin).

 - Add support for setting the EPP register through the ACPI CPPC sysfs
   interface if it is in FFH (Mario Limonciello).

 - Fix MASK_VAL() usage in the ACPI CPPC library (Cl=C3=A9ment L=C3=A9ger).

 - Reduce the log level of a per-CPU message about idle states in the
   ACPI processor driver (Li RongQing).

 - Fix crash in exit_round_robin() in the ACPI processor aggregator
   device (PAD) driver (Seiji Nishikawa).

 - Add force_vendor quirk for Panasonic Toughbook CF-18 in the ACPI
   backlight driver (Hans de Goede).

 - Make the DMI checks related to backlight handling on Lenovo Yoga
   Tab 3 X90F less strict (Hans de Goede).

 - Enforce native backlight handling on Apple MacbookPro9,2 (Esther
   Shimanovich).

 - Add IRQ override quirks for Asus Vivobook Go E1404GAB and MECHREV
   GM7XG0M, and refine the TongFang GMxXGxx quirk (Li Chen, Tamim Khan,
   Werner Sembach).

 - Quirk ASUS ROG M16 to default to S3 sleep (Luke D. Jones).

 - Define and use symbols for device and class name lengths in the ACPI
   bus type code and make the code use strscpy() instead of strcpy() in
   several places (Muhammad Qasim Abdul Majeed).

Thanks!


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

Adam Lackorzynski (1):
      ACPICA: Avoid warning for Dump Functions

Adam Young (1):
      ACPICA: Allow PCC Data Type in MCTP resource.

Adrien Destugues (1):
      ACPICA: haiku: Fix invalid value used for semaphores

Aleksandr Mishin (1):
      ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe()

Aleksandrs Vinarskis (1):
      ACPICA: iasl: handle empty connection_node

Armin Wolf (6):
      ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails
      ACPICA: Fix memory leak if acpi_ps_get_next_field() fails
      ACPICA: Allow for suppressing leading zeros when using
acpi_ex_convert_to_ascii()
      ACPICA: Add support for suppressing leading zeros in hex strings
      ACPICA: Update integer-to-hex-string conversions
      ACPICA: Add support for Windows 11 22H2 _OSI string

Cl=C3=A9ment L=C3=A9ger (1):
      ACPI: CPPC: Fix MASK_VAL() usage

Dave Jiang (1):
      ACPICA: HMAT: Add extended linear address mode to MSCIS

David Wang (1):
      ACPI: utils: Add rev/func to message when acpi_evaluate_dsm() fails

Esther Shimanovich (1):
      ACPI: video: force native for Apple MacbookPro9,2

Hans de Goede (3):
      ACPI: video: Make Lenovo Yoga Tab 3 X90F DMI match less strict
      ACPI: x86: Make Lenovo Yoga Tab 3 X90F DMI match less strict
      ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18

Ilpo J=C3=A4rvinen (1):
      ACPI: battery: Remove redundant NULL initalizations

Jiaqing Zhao (2):
      ACPICA: Detect FACS in reduced hardware build
      ACPICA: Allow setting waking vector on reduced hardware platforms

Jose Marinho (1):
      ACPICA: Implement the Dword_PCC Resource Descriptor Macro

Li Chen (1):
      ACPI: resource: Do IRQ override on MECHREV GM7XG0M

Li RongQing (1):
      ACPI: processor: Reduce the log level of a per-CPU message about
idle states

Luke D. Jones (1):
      ACPI: PM: Quirk ASUS ROG M16 to default to S3 sleep

Mario Limonciello (1):
      ACPI: CPPC: Add support for setting EPP register in FFH

Muhammad Qasim Abdul Majeed (7):
      ACPI: battery: Use strscpy() instead of strcpy()
      ACPI: AC: Use strscpy() instead of strcpy()
      ACPI: PAD: Use strscpy() instead of strcpy()
      ACPI: acpi_processor: Use strscpy instead() of strcpy()
      ACPI: battery : Use strscpy() instead of strcpy()
      ACPI: bus: Define and use symbols for device and class name lengths
      ACPI: button: Use strscpy() instead of strcpy()

Pei Xiao (1):
      ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in
acpi_db_convert_to_package()

Punit Agrawal (1):
      ACPICA: MPAM: Correct the typo in struct acpi_mpam_msc_node member

Rafael J. Wysocki (1):
      ACPI: EC: Do not release locks during operation region accesses

Saket Dumbre (2):
      ACPICA: Allow for more flexibility in _DSM args
      ACPICA: Setup for ACPICA release 20240827

Seiji Nishikawa (1):
      ACPI: PAD: fix crash in exit_round_robin()

Shyam Sundar S K (1):
      ACPI: APD: Add AMDI0015 as platform device

Sia Jee Heng (2):
      ACPICA: SPCR: Update the SPCR table to version 4
      ACPICA: Headers: Add RISC-V SBI Subtype to DBG2

Sunil V L (17):
      arm64: PCI: Migrate ACPI related functions to pci-acpi.c
      ACPI: scan: Add a weak arch_sort_irqchip_probe() to order the
IRQCHIP probe
      ACPI: bus: Add acpi_riscv_init() function
      ACPI: scan: Refactor dependency creation
      ACPI: scan: Add RISC-V interrupt controllers to honor list
      ACPI: scan: Define weak function to populate dependencies
      ACPI: bus: Add RINTC IRQ model for RISC-V
      ACPI: pci_link: Clear the dependencies after probe
      ACPI: RISC-V: Implement PCI related functionality
      ACPI: RISC-V: Implement function to reorder irqchip probe entries
      ACPI: RISC-V: Initialize GSI mapping structures
      ACPI: RISC-V: Implement function to add implicit dependencies
      irqchip/riscv-intc: Add ACPI support for AIA
      irqchip/riscv-imsic-state: Create separate function for DT
      irqchip/riscv-imsic: Add ACPI support
      irqchip/riscv-aplic: Add ACPI support
      irqchip/sifive-plic: Add ACPI support

Tamim Khan (1):
      ACPI: resource: Skip IRQ override on Asus Vivobook Go E1404GAB

Thomas Wei=C3=9Fschuh (6):
      ACPI: sysfs: validate return type of _STR method
      ACPI: sysfs: evaluate _STR on each sysfs access
      ACPI: sysfs: manage attributes as attribute_group
      ACPI: sysfs: manage sysfs attributes through device core
      ACPI: sysfs: remove return value of acpi_device_setup_files()
      ACPI: battery: use driver core managed async probing

Vasily Khoruzhick (2):
      ACPICA: Implement ACPI_WARNING_ONCE and ACPI_ERROR_ONCE
      ACPICA: executer/exsystem: Don't nag user about every Stall()
violating the spec

Werner Sembach (1):
      ACPI: resource: Add another DMI match for the TongFang GMxXGxx

Zhang Rui (1):
      ACPICA: Complete CXL 3.0 CXIMS structures

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

 arch/arm64/kernel/pci.c                    | 191 ----------------
 arch/riscv/Kconfig                         |   2 +
 arch/riscv/include/asm/irq.h               |  55 +++++
 arch/riscv/kernel/acpi.c                   |  31 ++-
 drivers/acpi/ac.c                          |   4 +-
 drivers/acpi/acpi_apd.c                    |   6 +
 drivers/acpi/acpi_pad.c                    |  10 +-
 drivers/acpi/acpi_processor.c              |   6 +-
 drivers/acpi/acpica/acglobal.h             |   6 +-
 drivers/acpi/acpica/aclocal.h              |   2 +
 drivers/acpi/acpica/acpredef.h             |   2 +-
 drivers/acpi/acpica/dbconvert.c            |   2 +
 drivers/acpi/acpica/exconvrt.c             |  58 ++++-
 drivers/acpi/acpica/exprep.c               |   3 +
 drivers/acpi/acpica/exsystem.c             |  11 +-
 drivers/acpi/acpica/hwxfsleep.c            |  15 +-
 drivers/acpi/acpica/psargs.c               |  47 ++++
 drivers/acpi/acpica/rsaddr.c               |   3 +-
 drivers/acpi/acpica/rsdump.c               |   2 +
 drivers/acpi/acpica/tbutils.c              |   2 -
 drivers/acpi/acpica/utdelete.c             |   4 +-
 drivers/acpi/acpica/utinit.c               |   2 +-
 drivers/acpi/acpica/utosi.c                |   1 +
 drivers/acpi/acpica/utxfinit.c             |  24 +--
 drivers/acpi/battery.c                     |  39 +---
 drivers/acpi/bus.c                         |   4 +
 drivers/acpi/button.c                      |   6 +-
 drivers/acpi/cppc_acpi.c                   |  53 ++++-
 drivers/acpi/device_sysfs.c                | 196 ++++++++---------
 drivers/acpi/ec.c                          |  55 ++++-
 drivers/acpi/internal.h                    |   3 +-
 drivers/acpi/pci_link.c                    |   2 +
 drivers/acpi/pmic/tps68470_pmic.c          |   6 +-
 drivers/acpi/resource.c                    |  19 ++
 drivers/acpi/riscv/Makefile                |   2 +-
 drivers/acpi/riscv/init.c                  |  13 ++
 drivers/acpi/riscv/init.h                  |   4 +
 drivers/acpi/riscv/irq.c                   | 335 +++++++++++++++++++++++++=
++++
 drivers/acpi/scan.c                        | 109 ++++++----
 drivers/acpi/sleep.c                       |  14 ++
 drivers/acpi/utils.c                       |   3 +-
 drivers/acpi/video_detect.c                |  17 +-
 drivers/acpi/x86/utils.c                   |   1 -
 drivers/irqchip/irq-riscv-aplic-direct.c   |  22 +-
 drivers/irqchip/irq-riscv-aplic-main.c     |  71 +++---
 drivers/irqchip/irq-riscv-aplic-main.h     |   1 +
 drivers/irqchip/irq-riscv-aplic-msi.c      |   9 +-
 drivers/irqchip/irq-riscv-imsic-early.c    |  64 +++++-
 drivers/irqchip/irq-riscv-imsic-platform.c |  32 ++-
 drivers/irqchip/irq-riscv-imsic-state.c    | 150 +++++++------
 drivers/irqchip/irq-riscv-imsic-state.h    |   2 +-
 drivers/irqchip/irq-riscv-intc.c           |  90 ++++++++
 drivers/irqchip/irq-sifive-plic.c          |  99 +++++++--
 drivers/pci/pci-acpi.c                     | 182 ++++++++++++++++
 include/acpi/acconfig.h                    |   1 -
 include/acpi/acoutput.h                    |   5 +
 include/acpi/acpi_bus.h                    |   9 +-
 include/acpi/acpixf.h                      |  10 +-
 include/acpi/actbl1.h                      |  10 +-
 include/acpi/actbl2.h                      |   2 +-
 include/acpi/actbl3.h                      |  12 +-
 include/acpi/actypes.h                     |   1 +
 include/acpi/cppc_acpi.h                   |   2 +
 include/acpi/platform/acenv.h              |   6 +
 include/linux/acpi.h                       |   9 +
 include/linux/irqchip/riscv-imsic.h        |   9 +
 66 files changed, 1561 insertions(+), 607 deletions(-)

.
Date: Thu, 12 Sep 2024 08:58:50 -1000
From: Tejun Heo <tj@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Lai Jiangshan <jiangshanlai@gmail.com>
Subject: [GIT PULL] workqueue: Fixes for v6.11-rc7

The following changes since commit c4c8f369b6a6d21ce27286de1501137771e01dc3:

  workqueue: Correct declaration of cpu_pwq in struct workqueue_struct (2024-08-05 18:34:02 -1000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git/ tags/wq-for-6.11-rc7-fixes

for you to fetch changes up to 73613840a8896f4f859eea489cb4a7a656939e70:

  workqueue: Clear worker->pool in the worker thread context (2024-09-11 19:58:20 -1000)

----------------------------------------------------------------
workqueue: Fixes for v6.11-rc7

Contains the fix for a NULL worker->pool deref bug which can be triggered
when a worker is created and then destroyed immediately.

----------------------------------------------------------------
Lai Jiangshan (1):
      workqueue: Clear worker->pool in the worker thread context

 kernel/workqueue.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 
tejun

.
Date: Thu, 12 Sep 2024 10:56:31 -1000
From: Tejun Heo <tj@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, cgroups@vger.kernel.org,
	Waiman Long <longman@redhat.com>,
	Zefan Li <lizefan.x@bytedance.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Michal =?iso-8859-1?Q?Koutn=FD?= <mkoutny@suse.com>
Subject: [GIT PULL] cgroup: Changes for v6.12

The following changes since commit ff0ce721ec213499ec5a532041fb3a1db2dc5ecb:

  cgroup/cpuset: Eliminate unncessary sched domains rebuilds in hotplug (2024-08-05 10:54:25 -1000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git/ tags/cgroup-for-6.12

for you to fetch changes up to af000ce85293b8e608f696f0c6c280bc3a75887f:

  cgroup: Do not report unavailable v1 controllers in /proc/cgroups (2024-09-10 10:04:28 -1000)

----------------------------------------------------------------
cgroup: Changes for v6.12

- cpuset isolation improvements.

- cpuset cgroup1 support is split into its own file behind the new config
  option CONFIG_CPUSET_V1. This makes it the second controller which makes
  cgroup1 support optional after memcg.

- Handling of unavailable v1 controller handling improved during cgroup1
  mount operations.

- union_find applied to cpuset. It makes code simpler and more efficient.

- Reduce spurious events in pids.events.

- Cleanups and other misc changes.

- Contains a merge of cgroup/for-6.11-fixes to receive cpuset fixes that
  further changes build upon.

----------------------------------------------------------------
Chen Ridong (18):
      cgroup/cpuset: remove child_ecpus_count
      cgroup/cpuset: add decrease attach_in_progress helpers
      cgroup: update some statememt about delegation
      cgroup/cpuset: Correct invalid remote parition prs
      cgroup/cpuset: remove fetch_xcpus
      cgroup/cpuset: remove use_parent_ecpus of cpuset
      cgroup/cpuset: introduce cpuset-v1.c
      cgroup/cpuset: move common code to cpuset-internal.h
      cgroup/cpuset: move memory_pressure to cpuset-v1.c
      cgroup/cpuset: move relax_domain_level to cpuset-v1.c
      cgroup/cpuset: move memory_spread to cpuset-v1.c
      cgroup/cpuset: add callback_lock helper
      cgroup/cpuset: move legacy hotplug update to cpuset-v1.c
      cgroup/cpuset: move validate_change_legacy to cpuset-v1.c
      cgroup/cpuset: move v1 interfaces to cpuset-v1.c
      cgroup/cpuset: rename functions shared between v1 and v2
      cgroup/cpuset: guard cpuset-v1 code under CONFIG_CPUSETS_V1
      cgroup/cpuset: add sefltest for cpuset v1

Michal Koutný (3):
      cgroup/cpuset: Expose cpuset filesystem with cpuset v1 only
      cgroup: Disallow mounting v1 hierarchies without controller implementation
      cgroup: Do not report unavailable v1 controllers in /proc/cgroups

Tejun Heo (1):
      Merge branch 'cgroup/for-6.11-fixes' into cgroup/for-6.12

Waiman Long (7):
      cgroup: Show # of subsystem CSSes in cgroup.stat
      cgroup/cpuset: Check for partition roots with overlapping CPUs
      selftest/cgroup: Add new test cases to test_cpuset_prs.sh
      cgroup: Fix incorrect WARN_ON_ONCE() in css_release_work_fn()
      cgroup/cpuset: Account for boot time isolated CPUs
      selftest/cgroup: Make test_cpuset_prs.sh deal with pre-isolated CPUs
      cgroup/cpuset: Move cpu.h include to cpuset-internal.h

Xavier (3):
      Union-Find: add a new module in kernel library
      cpuset: use Union-Find to optimize the merging of cpumasks
      Documentation: Fix the compilation errors in union_find.rst

Xiu Jianfeng (3):
      cgroup/pids: Avoid spurious event notification
      cgroup/cpuset: Remove cpuset_slab_spread_rotor
      cgroup/pids: Remove unreachable paths of pids_{can,cancel}_fork

 Documentation/admin-guide/cgroup-v2.rst            |   22 +-
 Documentation/core-api/index.rst                   |    1 +
 Documentation/core-api/union_find.rst              |  106 ++
 .../translations/zh_CN/core-api/index.rst          |    1 +
 .../translations/zh_CN/core-api/union_find.rst     |   92 ++
 MAINTAINERS                                        |   12 +
 include/linux/cgroup-defs.h                        |   14 +
 include/linux/cpuset.h                             |   10 +-
 include/linux/sched.h                              |    1 -
 include/linux/union_find.h                         |   41 +
 init/Kconfig                                       |   13 +
 kernel/cgroup/Makefile                             |    1 +
 kernel/cgroup/cgroup-v1.c                          |   17 +-
 kernel/cgroup/cgroup.c                             |   68 +-
 kernel/cgroup/cpuset-internal.h                    |  305 ++++++
 kernel/cgroup/cpuset-v1.c                          |  562 ++++++++++
 kernel/cgroup/cpuset.c                             | 1155 +++-----------------
 kernel/cgroup/pids.c                               |   32 +-
 kernel/fork.c                                      |    1 -
 lib/Makefile                                       |    2 +-
 lib/union_find.c                                   |   49 +
 tools/testing/selftests/cgroup/test_cpuset_prs.sh  |   56 +-
 .../selftests/cgroup/test_cpuset_v1_base.sh        |   77 ++
 23 files changed, 1569 insertions(+), 1069 deletions(-)
 create mode 100644 Documentation/core-api/union_find.rst
 create mode 100644 Documentation/translations/zh_CN/core-api/union_find.rst
 create mode 100644 include/linux/union_find.h
 create mode 100644 kernel/cgroup/cpuset-internal.h
 create mode 100644 kernel/cgroup/cpuset-v1.c
 create mode 100644 lib/union_find.c
 create mode 100755 tools/testing/selftests/cgroup/test_cpuset_v1_base.sh

-- 
tejun

.
Date: Thu, 12 Sep 2024 14:02:15 -0700
From: Guenter Roeck <linux@roeck-us.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-hwmon@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] hwmon fixes for v6.11-rc8

Hi Linus,

Please pull hwmon fixes for Linux v6.11-rc8 from signed tag:

    git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-for-v6.11-rc8

Thanks,
Guenter
------

The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git tags/hwmon-for-v6.11-rc8

for you to fetch changes up to 20471071f198c8626dbe3951ac9834055b387844:

  hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2 (2024-09-09 10:58:09 -0700)

----------------------------------------------------------------
hwmon fixes for v6.11-rc8/v6.11

- Fix clearing status register bits for chips supporting older
  PMBus versions

----------------------------------------------------------------
Patryk Biel (1):
      hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2

 drivers/hwmon/pmbus/pmbus.h      |  6 ++++++
 drivers/hwmon/pmbus/pmbus_core.c | 17 ++++++++++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)

.
Date: Thu, 12 Sep 2024 13:29:22 -1000
From: Tejun Heo <tj@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Lai Jiangshan <jiangshanlai@gmail.com>
Subject: [GIT PULL] workqueue: Changes for v6.12

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git/ tags/wq-for-6.12

for you to fetch changes up to b4722b8593b8815785bbadf87f13c88e89a0ebef:

  kernel/workqueue.c: fix DEFINE_PER_CPU_SHARED_ALIGNED expansion (2024-09-11 08:10:44 -1000)

----------------------------------------------------------------
workqueue: Changes for v6.12

Nothing major:

- workqueue.panic_on_stall boot param added.

- alloc_workqueue_lockdep_map() added (used by DRM).

- Other cleanusp and doc updates.

----------------------------------------------------------------
Baoquan He (1):
      kernel/workqueue.c: fix DEFINE_PER_CPU_SHARED_ALIGNED expansion

Matthew Brost (4):
      workqueue: Split alloc_workqueue into internal function and lockdep init
      workqueue: Change workqueue lockdep map to pointer
      workqueue: Add interface for user-defined workqueue lockdep map
      workqueue: Don't call va_start / va_end twice

Sangmoon Kim (2):
      workqueue: add cmdline parameter workqueue.panic_on_stall
      Documentation: kernel-parameters: add workqueue.panic_on_stall

Sergey Senozhatsky (1):
      workqueue: fix null-ptr-deref on __alloc_workqueue() error

Tejun Heo (2):
      workqueue: Fix htmldocs build warning
      workqueue: Fix another htmldocs build warning

 Documentation/admin-guide/kernel-parameters.txt |   7 ++
 include/linux/workqueue.h                       |  41 +++++++++
 kernel/workqueue.c                              | 107 ++++++++++++++++++------
 3 files changed, 130 insertions(+), 25 deletions(-)

-- 
tejun

.
Date: Thu, 12 Sep 2024 16:31:47 -0700
From: Stephen Boyd <sboyd@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michael Turquette <mturquette@baylibre.com>,
	linux-clk@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] clk fixes for v6.11-rc7

The following changes since commit 71c03a8cb213d267853e0d9f520c972480960544:

  clk: qcom: gcc-sc8280xp: don't use parking clk_ops for QUPs (2024-09-03 13:01:34 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git tags/clk-fixes-for-linus

for you to fetch changes up to a4d89b11aca3ffa73e234f06685261ce85e5fb41:

  clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val() (2024-09-09 14:06:07 -0700)

----------------------------------------------------------------
One build fix for 32-bit arches using the Qualcomm PLL driver. It's
cheaper to use a comparison here instead of a division so we just do
that to fix the build.

----------------------------------------------------------------
Satya Priya Kakitapalli (1):
      clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val()

 drivers/clk/qcom/clk-alpha-pll.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

-- 
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/
https://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi.git

.
Date: Thu, 12 Sep 2024 21:15:46 -0400
From: Paul Moore <paul@paul-moore.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: audit@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] audit/audit-pr-20240911

Linus,

Two audit patches for the v6.12 merge window:

* Fix some remaining problems with PID/TGID reporting

When most users think about PIDs, what they are really thinking about is
the TGID.  This commit shifts the audit PID logging and filtering to use
the TGID value which should provide a more meaningful audit stream and
filtering experience for users.

* Migrate to the str_enabled_disabled() helper

Evidently we have helper functions that help ensure if we mistype
"enabled" or "disabled" it is now caught at compile time.  I guess we're
fancy now.

-Paul

--
The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git
    tags/audit-pr-20240911

for you to fetch changes up to 8c1867a2f0fd4235b84da6b204519e830b551988:

  audit: Make use of str_enabled_disabled() helper
    (2024-09-03 16:35:16 -0400)

----------------------------------------------------------------
audit/stable-6.12 PR 20240911
----------------------------------------------------------------

Hongbo Li (1):
      audit: Make use of str_enabled_disabled() helper

Ricardo Robaina (1):
      audit: use task_tgid_nr() instead of task_pid_nr()

 kernel/audit.c       |    4 ++--
 kernel/auditfilter.c |    2 +-
 kernel/auditsc.c     |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

--
paul-moore.com

.
Date: Thu, 12 Sep 2024 21:18:33 -0400
From: Paul Moore <paul@paul-moore.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: selinux@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] selinux/selinux-pr-20240911

Linus,

A number of small SELinux patches for the v6.12 merge window:

* Ensure that both IPv4 and IPv6 connections are properly initialized

While we always properly initialized IPv4 connections early in their
life, we missed the necessary IPv6 change when we were adding IPv6
support.

* Annotate the SELinux inode revalidation function to quiet KCSAN 

KCSAN correctly identifyies a race in __inode_security_revalidate() when
we check to see if an inode's SELinux has been properly initialized.
While KCSAN is correct, it is an intentional choice made for performance
reasons; if necessary, we check the state a second time, this time with a
lock held, before initializing the inode's state.

* Code cleanups, simplification, etc.

A handful of individual patches to simplify some SELinux kernel logic,
improve return code granularity via ERR_PTR(), follow the guidance on
using KMEM_CACHE(), and correct some minor style problems.

-Paul

--
The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git
    tags/selinux-pr-20240911

for you to fetch changes up to d19a9e25a722d629041ac8fd320a86c016e349d1:

  selinux: fix style problems in security/selinux/include/audit.h
    (2024-09-03 18:54:38 -0400)

----------------------------------------------------------------
selinux/stable-6.12 PR 20240911
----------------------------------------------------------------

Canfeng Guo (1):
      selinux: Streamline type determination in security_compute_sid

Eric Suen (1):
      selinux: replace kmem_cache_create() with KMEM_CACHE()

Gaosheng Cui (1):
      selinux: refactor code to return ERR_PTR in
         selinux_netlbl_sock_genattr

Guido Trentalancia (1):
      selinux: mark both IPv4 and IPv6 accepted connection sockets as
         labeled

Paul Moore (1):
      selinux: fix style problems in security/selinux/include/audit.h

Stephen Smalley (1):
      selinux: annotate false positive data race to avoid KCSAN warnings

Zhen Lei (1):
      selinux: simplify avc_xperms_audit_required()

 security/selinux/avc.c           |   20 ++++---------
 security/selinux/hooks.c         |    7 ++++
 security/selinux/include/audit.h |   46 +++++++++++++++----------------
 security/selinux/netlabel.c      |   20 ++++++-------
 security/selinux/ss/avtab.c      |    7 +---
 security/selinux/ss/ebitmap.c    |    4 --
 security/selinux/ss/hashtab.c    |    4 --
 security/selinux/ss/services.c   |   36 ++++++++++++------------
 8 files changed, 68 insertions(+), 76 deletions(-)

--
paul-moore.com

.
Date: Thu, 12 Sep 2024 15:23:59 -1000
From: Tejun Heo <tj@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, David Vernet <void@manifault.com>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Alexei Starovoitov <ast@kernel.org>
Subject: [GIT PULL] sched_ext: Initial pull request for v6.12

The following changes since commit bc9057da1a220ff2cb6c8885fd5352558aceba2c:

  sched/cpufreq: Use NSEC_PER_MSEC for deadline task (2024-09-11 11:25:22 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git/ tags/sched_ext-for-6.12

for you to fetch changes up to 902d67a2d40f5b0815f4f627b26d91f96cc51fb3:

  sched: Move update_other_load_avgs() to kernel/sched/pelt.c (2024-09-11 20:00:21 -1000)

----------------------------------------------------------------
sched_ext: Initial pull request for v6.12

This is the initial pull request of sched_ext. The v7 patchset
(https://lkml.kernel.org/r/20240618212056.2833381-1-tj@kernel.org) is
applied on top of tip/sched/core + bpf/master as of Jun 18th.

  tip/sched/core 793a62823d1c ("sched/core: Drop spinlocks on contention iff kernel is preempti
ble")
  bpf/master f6afdaf72af7 ("Merge branch 'bpf-support-resilient-split-btf'")

Since then, the following pulls were made:

- v6.11-rc1 is pulled to keep up with the mainline.

- tip/sched/core was pulled several times:

  - 7b9f6c864a34, 0df340ceae2e, 5ac998574f93, 0b1777f0fa04: To resolve
    conflicts. See each commit for details on conflicts and their
    resolutions.

  - d7b01aef9dbd: To receive fd03c5b85855 ("sched: Rework pick_next_task()")
    and related commits. @prev in added to sched_class->put_prev_task() and
    put_prev_task() is reordered after ->pick_task(), which makes
    sched_class->switch_class() unnecessary. The follow-up commits update
    sched_ext accordingly and drop sched_class->switch_class().

- bpf/master was pulled to receive baebe9aaba1e ("bpf: allow passing struct
  bpf_iter_<type> as kfunc arguments") and related changes in preparation
  for the DSQ iterator patchset

To obtain the net sched_ext changes, diff against:

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git for-6.12-base

which is the merge of:

  tip/sched/core bc9057da1a22 ("sched/cpufreq: Use NSEC_PER_MSEC for deadline task")
  bpf/master 2ad6d23f465 ("selftests/bpf: Do not update vmlinux.h unnecessarily")

Since the v7 patchset, the following changes were made:

- cpuperf support which was a part of the v6 patchset was posted separately
  and then applied after reviews.

- cgroup support which was a part of the v6 patchset was posted seprately,
  iterated and then applied.

- Improve integration with sched core.

- Double locking usage in migration paths dropped. Depend on
  TASK_ON_RQ_MIGRATING synchronization instead.

- The BPF scheduler couldn't directly dispatch to the local DSQ of another
  CPU using a SCX_DSQ_LOCAL_ON verdict. This caused difficulties around
  handling non-wakeup enqueues. Updated so that SCX_DSQ_LOCAL_ON can be used
  in the enqueue path too.

- DSQ iterator which was a part of the v6 patchset was posted separately.
  The iterator itself was applied after a couple revisions. The associated
  selective consumption kfunc can use further improvements and is still
  being worked on.

- scx_bpf_dispatch[_vtime]_from_dsq() added to increase flexibility. A task
  can now be transferred between two DSQs from almost any context. This
  involved significant refactoring of migration code.

- Various fixes and improvements.

As the branch is based on top of tip/sched/core + bpf/master, please merge
after both are applied.

----------------------------------------------------------------
Aboorva Devarajan (1):
      sched_ext: Documentation: Remove mentions of scx_bpf_switch_all

Andrea Righi (2):
      sched_ext: fix typo in set_weight() description
      sched_ext: add CONFIG_DEBUG_INFO_BTF dependency

Colin Ian King (1):
      sched_ext: Fix spelling mistake: "intead" -> "instead"

David Vernet (8):
      sched_ext: Implement runnable task stall watchdog
      sched_ext: Print sched_ext info when dumping stack
      sched_ext: Implement SCX_KICK_WAIT
      sched_ext: Implement sched_ext_ops.cpu_acquire/release()
      sched_ext: Add selftests
      sched_ext: Make scx_bpf_cpuperf_set() @cpu arg signed
      scx: Allow calling sleepable kfuncs from BPF_PROG_TYPE_SYSCALL
      scx/selftests: Verify we can call create_dsq from prog_run

Hongyan Xia (1):
      sched/ext: Add BPF function to fetch rq

Jiapeng Chong (1):
      sched_ext: Fixes incorrect type in bpf_scx_init()

Manu Bretelle (1):
      sched_ext: define missing cfi stubs for sched_ext

Tejun Heo (102):
      Merge branch 'bpf/for-next' into sched_ext-base
      sched: Restructure sched_class order sanity checks in sched_init()
      sched: Allow sched_cgroup_fork() to fail and introduce sched_cancel_fork()
      sched: Add sched_class->reweight_task()
      sched: Add sched_class->switching_to() and expose check_class_changing/changed()
      sched: Factor out cgroup weight conversion functions
      sched: Factor out update_other_load_avgs() from __update_blocked_others()
      sched: Add normal_policy()
      sched_ext: Add boilerplate for extensible scheduler class
      sched_ext: Implement BPF extensible scheduler class
      sched_ext: Add scx_simple and scx_example_qmap example schedulers
      sched_ext: Add sysrq-S which disables the BPF scheduler
      sched_ext: Allow BPF schedulers to disallow specific tasks from joining SCHED_EXT
      sched_ext: Print debug dump after an error exit
      tools/sched_ext: Add scx_show_state.py
      sched_ext: Implement scx_bpf_kick_cpu() and task preemption support
      sched_ext: Add a central scheduler which makes all scheduling decisions on one CPU
      sched_ext: Make watchdog handle ops.dispatch() looping stall
      sched_ext: Add task state tracking operations
      sched_ext: Implement tickless support
      sched_ext: Track tasks that are subjects of the in-flight SCX operation
      sched_ext: Implement sched_ext_ops.cpu_online/offline()
      sched_ext: Bypass BPF scheduler while PM events are in progress
      sched_ext: Implement core-sched support
      sched_ext: Add vtime-ordered priority queue to dispatch_q's
      sched_ext: Documentation: scheduler: Document extensible scheduler class
      sched, sched_ext: Replace scx_next_task_picked() with sched_class->switch_class()
      cpufreq_schedutil: Refactor sugov_cpu_is_busy()
      sched_ext: Add cpuperf support
      sched_ext: Drop tools_clean target from the top-level Makefile
      sched_ext: Swap argument positions in kcalloc() call to avoid compiler warning
      Merge branch 'sched/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into for-6.11
      sched, sched_ext: Simplify dl_prio() case handling in sched_fork()
      sched_ext: Account for idle policy when setting p->scx.weight in scx_ops_enable_task()
      sched_ext: Disallow loading BPF scheduler if isolcpus= domain isolation is in effect
      sched_ext: Minor cleanups in kernel/sched/ext.h
      sched, sched_ext: Open code for_balance_class_range()
      sched, sched_ext: Move some declarations from kernel/sched/ext.h to sched.h
      sched_ext: Take out ->priq and ->flags from scx_dsq_node
      sched_ext: Implement DSQ iterator
      sched_ext/scx_qmap: Add an example usage of DSQ iterator
      sched_ext: Reimplement scx_bpf_reenqueue_local()
      sched_ext: Make scx_bpf_reenqueue_local() skip tasks that are being migrated
      sched: Move struct balance_callback definition upward
      sched_ext: Open-code task_linked_on_dsq()
      sched_ext: Unpin and repin rq lock from balance_scx()
      sched_ext: s/SCX_RQ_BALANCING/SCX_RQ_IN_BALANCE/ and add SCX_RQ_IN_WAKEUP
      sched_ext: Allow SCX_DSQ_LOCAL_ON for direct dispatches
      sched_ext/scx_qmap: Pick idle CPU for direct dispatch on !wakeup enqueues
      Merge tag 'v6.11-rc1' into for-6.12
      sched_ext: Build fix on !CONFIG_STACKTRACE[_SUPPORT]
      sched_ext: Allow p->scx.disallow only while loading
      Merge branch 'sched/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into for-6.12
      sched_ext: Simplify scx_can_stop_tick() invocation in sched_can_stop_tick()
      sched_ext: Add scx_enabled() test to @start_class promotion in put_prev_task_balance()
      sched_ext: Use update_curr_common() in update_curr_scx()
      sched_ext: Simplify UP support by enabling sched_class->balance() in UP
      sched_ext: Improve comment on idle_sched_class exception in scx_task_iter_next_locked()
      sched_ext: Make task_can_run_on_remote_rq() use common task_allowed_on_cpu()
      sched_ext: Fix unsafe list iteration in process_ddsp_deferred_locals()
      sched_ext: Make scx_rq_online() also test cpu_active() in addition to SCX_RQ_ONLINE
      sched_ext: Improve logging around enable/disable
      sched_ext: Don't use double locking to migrate tasks across CPUs
      Merge branch 'tip/sched/core' into for-6.12
      scx_central: Fix smatch checker warning
      sched_ext: Add missing cfi stub for ops.tick
      sched_ext: Use task_can_run_on_remote_rq() test in dispatch_to_local_dsq()
      sched_ext: Use sched_clock_cpu() instead of rq_clock_task() in touch_core_sched()
      Merge branch 'tip/sched/core' into for-6.12
      sched_ext: Don't call put_prev_task_scx() before picking the next task
      sched_ext: Replace SCX_TASK_BAL_KEEP with SCX_RQ_BAL_KEEP
      sched_ext: Unify regular and core-sched pick task paths
      sched_ext: Relocate functions in kernel/sched/ext.c
      sched_ext: Remove switch_class_scx()
      sched_ext: Remove sched_class->switch_class()
      sched_ext: TASK_DEAD tasks must be switched out of SCX on ops_disable
      sched_ext: TASK_DEAD tasks must be switched into SCX on ops_enable
      sched: Expose css_tg()
      sched: Make cpu_shares_read_u64() use tg_weight()
      sched: Introduce CONFIG_GROUP_SCHED_WEIGHT
      sched_ext: Add cgroup support
      sched_ext: Add a cgroup scheduler which uses flattened hierarchy
      Merge branch 'bpf/master' into for-6.12
      sched_ext: Temporarily work around pick_task_scx() being called without balance_scx()
      sched_ext: Add missing static to scx_has_op[]
      sched_ext: Add missing static to scx_dump_data
      sched_ext: Rename scx_kfunc_set_sleepable to unlocked and relocate
      sched_ext: Refactor consume_remote_task()
      sched_ext: Make find_dsq_for_dispatch() handle SCX_DSQ_LOCAL_ON
      sched_ext: Fix processs_ddsp_deferred_locals() by unifying DTL_INVALID handling
      sched_ext: Restructure dispatch_to_local_dsq()
      sched_ext: Reorder args for consume_local/remote_task()
      sched_ext: Move sanity check and dsq_mod_nr() into task_unlink_from_dsq()
      sched_ext: Move consume_local_task() upward
      sched_ext: Replace consume_local_task() with move_local_task_to_local_dsq()
      sched_ext: Compact struct bpf_iter_scx_dsq_kern
      sched_ext: Implement scx_bpf_dispatch[_vtime]_from_dsq()
      scx_qmap: Implement highpri boosting
      sched_ext: Synchronize bypass state changes with rq lock
      sched_ext: Don't trigger ops.quiescent/runnable() on migrations
      Merge branch 'tip/sched/core' into sched_ext/for-6.12
      sched: Move update_other_load_avgs() to kernel/sched/pelt.c

Yipeng Zou (1):
      sched_ext: Allow dequeue_task_scx to fail

 Documentation/scheduler/index.rst                                   |    1
 Documentation/scheduler/sched-ext.rst                               |  316
 MAINTAINERS                                                         |   13
 drivers/tty/sysrq.c                                                 |    1
 include/asm-generic/vmlinux.lds.h                                   |    1
 include/linux/cgroup.h                                              |    4
 include/linux/sched.h                                               |    5
 include/linux/sched/ext.h                                           |  215
 include/linux/sched/task.h                                          |    8
 include/trace/events/sched_ext.h                                    |   32
 include/uapi/linux/sched.h                                          |    1
 init/Kconfig                                                        |   10
 init/init_task.c                                                    |   12
 kernel/Kconfig.preempt                                              |   27
 kernel/fork.c                                                       |   17
 kernel/sched/build_policy.c                                         |   11
 kernel/sched/core.c                                                 |  281
 kernel/sched/cpufreq_schedutil.c                                    |   50
 kernel/sched/debug.c                                                |    3
 kernel/sched/ext.c                                                  | 7173 +++++++++++++++++++
 kernel/sched/ext.h                                                  |   91
 kernel/sched/fair.c                                                 |   23
 kernel/sched/idle.c                                                 |    2
 kernel/sched/pelt.c                                                 |   20
 kernel/sched/pelt.h                                                 |    1
 kernel/sched/sched.h                                                |  190
 kernel/sched/syscalls.c                                             |    7
 lib/dump_stack.c                                                    |    1
 tools/Makefile                                                      |   10
 tools/sched_ext/.gitignore                                          |    2
 tools/sched_ext/Makefile                                            |  246
 tools/sched_ext/README.md                                           |  270
 tools/sched_ext/include/bpf-compat/gnu/stubs.h                      |   11
 tools/sched_ext/include/scx/common.bpf.h                            |  412 +
 tools/sched_ext/include/scx/common.h                                |   75
 tools/sched_ext/include/scx/compat.bpf.h                            |   28
 tools/sched_ext/include/scx/compat.h                                |  186
 tools/sched_ext/include/scx/user_exit_info.h                        |  111
 tools/sched_ext/scx_central.bpf.c                                   |  361
 tools/sched_ext/scx_central.c                                       |  135
 tools/sched_ext/scx_flatcg.bpf.c                                    |  949 ++
 tools/sched_ext/scx_flatcg.c                                        |  233
 tools/sched_ext/scx_flatcg.h                                        |   51
 tools/sched_ext/scx_qmap.bpf.c                                      |  827 ++
 tools/sched_ext/scx_qmap.c                                          |  153
 tools/sched_ext/scx_show_state.py                                   |   39
 tools/sched_ext/scx_simple.bpf.c                                    |  156
 tools/sched_ext/scx_simple.c                                        |  107
 tools/testing/selftests/sched_ext/.gitignore                        |    6
 tools/testing/selftests/sched_ext/Makefile                          |  218
 tools/testing/selftests/sched_ext/config                            |    9
 tools/testing/selftests/sched_ext/create_dsq.bpf.c                  |   58
 tools/testing/selftests/sched_ext/create_dsq.c                      |   57
 tools/testing/selftests/sched_ext/ddsp_bogus_dsq_fail.bpf.c         |   42
 tools/testing/selftests/sched_ext/ddsp_bogus_dsq_fail.c             |   57
 tools/testing/selftests/sched_ext/ddsp_vtimelocal_fail.bpf.c        |   39
 tools/testing/selftests/sched_ext/ddsp_vtimelocal_fail.c            |   56
 tools/testing/selftests/sched_ext/dsp_local_on.bpf.c                |   65
 tools/testing/selftests/sched_ext/dsp_local_on.c                    |   58
 tools/testing/selftests/sched_ext/enq_last_no_enq_fails.bpf.c       |   21
 tools/testing/selftests/sched_ext/enq_last_no_enq_fails.c           |   60
 tools/testing/selftests/sched_ext/enq_select_cpu_fails.bpf.c        |   43
 tools/testing/selftests/sched_ext/enq_select_cpu_fails.c            |   61
 tools/testing/selftests/sched_ext/exit.bpf.c                        |   84
 tools/testing/selftests/sched_ext/exit.c                            |   55
 tools/testing/selftests/sched_ext/exit_test.h                       |   20
 tools/testing/selftests/sched_ext/hotplug.bpf.c                     |   61
 tools/testing/selftests/sched_ext/hotplug.c                         |  168
 tools/testing/selftests/sched_ext/hotplug_test.h                    |   15
 tools/testing/selftests/sched_ext/init_enable_count.bpf.c           |   53
 tools/testing/selftests/sched_ext/init_enable_count.c               |  166
 tools/testing/selftests/sched_ext/maximal.bpf.c                     |  164
 tools/testing/selftests/sched_ext/maximal.c                         |   51
 tools/testing/selftests/sched_ext/maybe_null.bpf.c                  |   36
 tools/testing/selftests/sched_ext/maybe_null.c                      |   49
 tools/testing/selftests/sched_ext/maybe_null_fail_dsp.bpf.c         |   25
 tools/testing/selftests/sched_ext/maybe_null_fail_yld.bpf.c         |   28
 tools/testing/selftests/sched_ext/minimal.bpf.c                     |   21
 tools/testing/selftests/sched_ext/minimal.c                         |   58
 tools/testing/selftests/sched_ext/prog_run.bpf.c                    |   33
 tools/testing/selftests/sched_ext/prog_run.c                        |   78
 tools/testing/selftests/sched_ext/reload_loop.c                     |   75
 tools/testing/selftests/sched_ext/runner.c                          |  201
 tools/testing/selftests/sched_ext/scx_test.h                        |  131
 tools/testing/selftests/sched_ext/select_cpu_dfl.bpf.c              |   40
 tools/testing/selftests/sched_ext/select_cpu_dfl.c                  |   72
 tools/testing/selftests/sched_ext/select_cpu_dfl_nodispatch.bpf.c   |   89
 tools/testing/selftests/sched_ext/select_cpu_dfl_nodispatch.c       |   72
 tools/testing/selftests/sched_ext/select_cpu_dispatch.bpf.c         |   41
 tools/testing/selftests/sched_ext/select_cpu_dispatch.c             |   70
 tools/testing/selftests/sched_ext/select_cpu_dispatch_bad_dsq.bpf.c |   37
 tools/testing/selftests/sched_ext/select_cpu_dispatch_bad_dsq.c     |   56
 tools/testing/selftests/sched_ext/select_cpu_dispatch_dbl_dsp.bpf.c |   38
 tools/testing/selftests/sched_ext/select_cpu_dispatch_dbl_dsp.c     |   56
 tools/testing/selftests/sched_ext/select_cpu_vtime.bpf.c            |   92
 tools/testing/selftests/sched_ext/select_cpu_vtime.c                |   59
 tools/testing/selftests/sched_ext/test_example.c                    |   49
 tools/testing/selftests/sched_ext/util.c                            |   71
 tools/testing/selftests/sched_ext/util.h                            |   13
 99 files changed, 16029 insertions(+), 126 deletions(-)

-- 
tejun

.
Date: Thu, 12 Sep 2024 21:29:54 -0400
From: Paul Moore <paul@paul-moore.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] lsm/lsm-pr-20240911

Linus,

We've got a reasonably large pull request for the LSM framework this
time (at least it's large for us), here are the highlights:

* Move the LSM framework to static calls

Based on some of our exchanges over the summer, it sounds like you
are already familiar with the effort to convert the LSM callbacks
from function pointers to static calls.  This pull request includes
that work and transitions the vast majority of the LSM callbacks into
static calls.  Those callbacks which haven't been converted were
left as-is due to the general ugliness of the changes required to
support the static call conversion; we can revisit those callbacks
at a future date.

It is worth mentioning that Tetsuo Handa is opposed to the static call
patches, some even carry his NACK, as they make it more difficult to
dynamically load out-of-tree LSMs, or unsupported LSMs on distro kernels.
Many of us have tried to explain that out-of-tree LSMs are not a
concern for the upstream LSM framework, or the Linux kernel in general,
and that decisions around what LSMs are enabled in distro kernels is
a distro issue, not an upstream issue, but unfortunately Tetsuo
continues to disregard these arguments.

* Add the Integrity Policy Enforcement (IPE) LSM

This pull request adds a new LSM, Integrity Policy Enforcement (IPE).
There is plenty of documentation about IPE in this patches, so I'll
refrain from going into too much detail here, but the basic motivation
behind IPE is to provide a mechanism such that administrators can
restrict execution to only those binaries which come from integrity
protected storage, e.g. a dm-verity protected filesystem.  You will
notice that IPE requires additional LSM hooks in the initramfs,
dm-verity, and fs-verity code, with the associated patches carrying
ACK/review tags from the associated maintainers.  We couldn't find an
obvious maintainer for the initramfs code, but the IPE patchset has
been widely posted over several years.

Both Deven Bowers and Fan Wu have contributed to IPE's development
over the past several years, with Fan Wu agreeing to serve as the IPE
maintainer moving forward.  Once IPE is accepted into your tree, I'll
start working with Fan to ensure he has the necessary accounts, keys,
etc. so that he can start submitting IPE pull requests to you directly
during the next merge window.

* Move the lifecycle management of the LSM blobs to the LSM framework

Management of the LSM blobs (the LSM state buffers attached to various
kernel structs, typically via a void pointer named "security" or similar)
has been mixed, some blobs were allocated/managed by individual LSMs,
others were managed by the LSM framework itself.  Starting with this
pull request we move management of all the LSM blobs, minus the XFRM
blob, into the framework itself, improving consistency across LSMs, and
reducing the amount of duplicated code across LSMs.  Due to some
additional work required to migrate the XFRM blob, it has been left as
a todo item for a later date; from a practical standpoint this omission
should have little impact as only SELinux provides a XFRM LSM
implementation.

* Fix problems with the LSM's handling of F_SETOWN

The LSM hook for the fcntl(F_SETOWN) operation had a couple of problems:
it was racy with itself, and it was disconnected from the associated DAC
related logic in such a way that the LSM state could be updated in cases
where the DAC state would not.  We fix both of these problems by moving
the security_file_set_fowner() hook into the same section of code where
the DAC attributes are updated.  Not only does this resolve the DAC/LSM
synchronization issue, but as that code block is protected by a lock, it
also resolve the race condition.

* Fix potential problems with the security_inode_free() LSM hook 

Due to use of RCU to protect inodes and the placement of the LSM hook
associated with freeing the inode, there is a bit of a challenge when
it comes to managing any LSM state associated with an inode.  The VFS
folks are not open to relocating the LSM hook so we have to get creative
when it comes to releasing an inode's LSM state.  Traditionally we have
used a single LSM callback within the hook that is triggered when the
inode is "marked for death", but not actually released due to RCU.
Unfortunately, this causes problems for LSMs which want to take an
action when the inode's associated LSM state is actually released; this
pull request adds an additional LSM callback, inode_free_security_rcu(),
that is called when the inode's LSM state is released in the RCU free
callback.

* Refactor two LSM hooks to better fit the LSM return value patterns

The vast majority of the LSM hooks follow the "return 0 on success,
negative values on failure" pattern, however, there are a small handful
that have unique return value behaviors which has caused confusion in the
past and makes it difficult for the BPF verifier to properly vet BPF LSM
programs.  This pull request includes patches to convert two of these
"special" LSM hooks to the common 0/-ERRNO pattern.

* Various cleanups and improvements

A handful of patches to remove redundant code, better leverage the
IS_ERR_OR_NULL() helper, add missing "static" markings, and do some minor
style fixups.

-Paul

--
The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm.git
    tags/lsm-pr-20240911

for you to fetch changes up to 19c9d55d72a9040cf9dc8de62633e6217381106b:

  security: Update file_set_fowner documentation
    (2024-09-09 12:30:51 -0400)

----------------------------------------------------------------
lsm/stable-6.12 PR 20240911
----------------------------------------------------------------

Casey Schaufler (6):
      lsm: infrastructure management of the sock security
      lsm: infrastructure management of the key security blob
      lsm: add helper for blob allocations
      lsm: infrastructure management of the dev_tun blob
      lsm: infrastructure management of the infiniband blob
      lsm: infrastructure management of the perf_event security blob

Deven Bowers (13):
      lsm: add IPE lsm
      ipe: add policy parser
      ipe: add evaluation loop
      ipe: add LSM hooks on execution and kernel read
      ipe: add userspace interface
      audit,ipe: add IPE auditing support
      ipe: add permissive toggle
      block,lsm: add LSM blob and new LSM hooks for block devices
      dm-verity: expose root hash digest and signature data to LSMs
      ipe: add support for dm-verity as a trust provider
      scripts: add boot policy generation program
      ipe: kunit test for parser
      documentation: add IPE documentation

Fan Wu (7):
      initramfs,lsm: add a security hook to do_populate_rootfs()
      ipe: introduce 'boot_verified' as a trust provider
      lsm: add new securityfs delete function
      lsm: add security_inode_setintegrity() hook
      fsverity: expose verified fsverity built-in signatures to LSMs
      ipe: enable support for fs-verity as a trust provider
      MAINTAINERS: add IPE entry with Fan Wu as maintainer

Hongbo Li (1):
      lsm: Use IS_ERR_OR_NULL() helper function

KP Singh (4):
      init/main.c: Initialize early LSMs after arch code, static keys
         and calls.
      kernel: Add helper macros for loop unrolling
      lsm: count the LSMs enabled at compile time
      lsm: replace indirect LSM hook calls with static calls

MickaĂŤl SalaĂźn (2):
      fs: Fix file_set_fowner LSM hook inconsistencies
      security: Update file_set_fowner documentation

Paul Moore (2):
      lsm: cleanup lsm_hooks.h
      lsm: add the inode_free_security_rcu() LSM implementation hook

Tetsuo Handa (1):
      lsm: remove LSM_COUNT and LSM_CONFIG_COUNT

Xu Kuohai (2):
      lsm: Refactor return value of LSM hook vm_enough_memory
      lsm: Refactor return value of LSM hook inode_copy_up_xattr

Yang Li (1):
      ipe: Remove duplicated include in ipe.c

Yue Haibing (1):
      lockdown: Make lockdown_lsmid static

 Documentation/admin-guide/LSM/index.rst             |    1 
 Documentation/admin-guide/LSM/ipe.rst               |  790 ++++++++++++
 Documentation/admin-guide/kernel-parameters.txt     |   12 
 Documentation/filesystems/fsverity.rst              |   27 
 Documentation/security/index.rst                    |    1 
 Documentation/security/ipe.rst                      |  446 ++++++
 MAINTAINERS                                         |   10 
 block/bdev.c                                        |    7 
 drivers/md/dm-verity-target.c                       |  118 +
 drivers/md/dm-verity.h                              |    4 
 fs/fcntl.c                                          |   14 
 fs/overlayfs/copy_up.c                              |    6 
 fs/verity/signature.c                               |   18 
 include/linux/args.h                                |    6 
 include/linux/blk_types.h                           |    3 
 include/linux/lsm_count.h                           |  135 ++
 include/linux/lsm_hook_defs.h                       |   20 
 include/linux/lsm_hooks.h                           |  129 +
 include/linux/security.h                            |   55 
 include/linux/unroll.h                              |   36 
 include/uapi/linux/audit.h                          |    3 
 include/uapi/linux/lsm.h                            |    1 
 init/initramfs.c                                    |    3 
 init/main.c                                         |    6 
 scripts/Makefile                                    |    1 
 scripts/ipe/Makefile                                |    2 
 scripts/ipe/polgen/.gitignore                       |    2 
 scripts/ipe/polgen/Makefile                         |    5 
 scripts/ipe/polgen/polgen.c                         |  145 ++
 security/Kconfig                                    |   11 
 security/Makefile                                   |    1 
 security/apparmor/include/net.h                     |    3 
 security/apparmor/lsm.c                             |   17 
 security/apparmor/net.c                             |    2 
 security/commoncap.c                                |   11 
 security/inode.c                                    |   27 
 security/integrity/evm/evm_main.c                   |    2 
 security/integrity/ima/ima.h                        |    2 
 security/integrity/ima/ima_iint.c                   |   20 
 security/integrity/ima/ima_main.c                   |    2 
 security/ipe/.gitignore                             |    2 
 security/ipe/Kconfig                                |   97 +
 security/ipe/Makefile                               |   31 
 security/ipe/audit.c                                |  292 ++++
 security/ipe/audit.h                                |   19 
 security/ipe/digest.c                               |  118 +
 security/ipe/digest.h                               |   26 
 security/ipe/eval.c                                 |  393 +++++
 security/ipe/eval.h                                 |   70 +
 security/ipe/fs.c                                   |  247 +++
 security/ipe/fs.h                                   |   16 
 security/ipe/hooks.c                                |  314 ++++
 security/ipe/hooks.h                                |   52 
 security/ipe/ipe.c                                  |   98 +
 security/ipe/ipe.h                                  |   26 
 security/ipe/policy.c                               |  227 +++
 security/ipe/policy.h                               |   98 +
 security/ipe/policy_fs.c                            |  472 +++++++
 security/ipe/policy_parser.c                        |  559 ++++++++
 security/ipe/policy_parser.h                        |   11 
 security/ipe/policy_tests.c                         |  296 ++++
 security/landlock/fs.c                              |    9 
 security/lockdown/lockdown.c                        |    2 
 security/security.c                                 |  615 ++++++---
 security/selinux/hooks.c                            |  176 --
 security/selinux/include/objsec.h                   |   28 
 security/selinux/netlabel.c                         |   23 
 security/smack/smack.h                              |   12 
 security/smack/smack_lsm.c                          |  107 -
 security/smack/smack_netfilter.c                    |    4 
 tools/testing/selftests/lsm/lsm_list_modules_test.c |    3 
 71 files changed, 6063 insertions(+), 484 deletions(-)

--
paul-moore.com

.
Date: Fri, 13 Sep 2024 16:46:14 +1000
From: Dave Airlie <airlied@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>, Sima Vetter <sima@ffwll.ch>
Cc: dri-devel <dri-devel@lists.freedesktop.org>, LKML <linux-kernel@vger.kernel.org>
Subject: [git pull] drm fixes for 6.11-rc8

Hi Linus,

Regular fixes pull, the amdgpu JPEG engine fixes are probably the
biggest, they look to block some register accessing, otherwise there
are just minor fixes and regression fixes all over. nouveau had a
regression report going back a few kernels that finally got fixed, Not
entirely happy with so many changes so late, but they all seem quite
benign apart from the jpeg one.

I should be fine for the merge window next week, see you in Vienna.

Dave.

drm-fixes-2024-09-13:
drm fixes for 6.11-rc8

dma-buf/heaps:
- fix off by one in CMA heap fault handler

syncobj:
- fix syncobj leak in drm_syncobj_eventfd_ioctl

amdgpu:
- Avoid races between set_drr() functions and dc_state_destruct()
- Fix regression related to zpos
- Fix regression related to overlay cursor
- SMU 14.x updates
- JPEG fixes
- Silence an UBSAN warning

amdkfd:
- Fetch cacheline size from IP discovery

i915:
- Prevent a possible int overflow in wq offsets

xe:
- Remove a double include
- Fix null checks and UAF
- Fix access_ok check in user_fence_create
- Fix compat IS_DISPLAY_STEP() range
- OA fix
- Fixes in show_meminfo

nouveau:
- fix GP10x regression on boot

stm:
- add COMMON_CLK dep

rockchip:
- iommu api change

tegra:
- iommu api change
The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/kernel.git tags/drm-fixes-2024-09-13

for you to fetch changes up to 135be1dc46c64c454f2828dbb7f239d035f47180:

  Merge tag 'drm-xe-fixes-2024-09-12' of
https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes
(2024-09-13 15:18:18 +1000)

----------------------------------------------------------------
drm fixes for 6.11-rc8

dma-buf/heaps:
- fix off by one in CMA heap fault handler

syncobj:
- fix syncobj leak in drm_syncobj_eventfd_ioctl

amdgpu:
- Avoid races between set_drr() functions and dc_state_destruct()
- Fix regerssion related to zpos
- Fix regression related to overlay cursor
- SMU 14.x updates
- JPEG fixes
- Silence an UBSAN warning

amdkfd:
- Fetch cacheline size from IP discovery

i915:
- Prevent a possible int overflow in wq offsets

xe:
- Remove a double include
- Fix null checks and UAF
- Fix access_ok check in user_fence_create
- Fix compat IS_DISPLAY_STEP() range
- OA fix
- Fixes in show_meminfo

nouveau:
- fix GP10x regression on boot

stm:
- add COMMON_CLK dep

rockchip:
- iommu api change

tegra:
- iommu api change

----------------------------------------------------------------
Alex Deucher (1):
      drm/amdgpu/atomfirmware: Silence UBSAN warning

Arnd Bergmann (1):
      drm/stm: add COMMON_CLK dependency

Ashutosh Dixit (1):
      drm/xe/oa: Enable Xe2+ PES disaggregation

Ben Skeggs (1):
      drm/nouveau/fb: restore init() for ramgp102

Dave Airlie (4):
      Merge tag 'amd-drm-fixes-6.11-2024-09-11' of
https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      Merge tag 'drm-intel-fixes-2024-09-12' of
https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes
      Merge tag 'drm-misc-fixes-2024-09-12' of
https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes
      Merge tag 'drm-xe-fixes-2024-09-12' of
https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes

David (Ming Qiang) Wu (2):
      drm/amd/amdgpu: apply command submission parser for JPEG v2+
      drm/amd/amdgpu: apply command submission parser for JPEG v1

David Belanger (1):
      drm/amdkfd: Add cache line size info

Jani Nikula (1):
      drm/xe/display: fix compat IS_DISPLAY_STEP() range end

Kenneth Feng (2):
      drm/amd/pm: update the features set on smu v14.0.2/3
      drm/amd/pm: fix the pp_dpm_pcie issue on smu v14.0.2/3

Leo Li (2):
      drm/amd/display: Do not reset planes based on crtc zpos_changed
      drm/amd/display: Add all planes on CRTC to state for overlay cursor

Lu Baolu (2):
      drm/rockchip: Use iommu_paging_domain_alloc()
      drm/tegra: Use iommu_paging_domain_alloc()

Lucas De Marchi (1):
      drm/xe/gt: Remove double include

Matthew Auld (2):
      drm/xe/client: fix deadlock in show_meminfo()
      drm/xe/client: add missing bo locking in show_meminfo()

Matthew Brost (2):
      drm/xe: Remove fence check from send_tlb_invalidation
      drm/xe: Fix possible UAF in guc_exec_queue_process_msg

Nikita Zhandarovich (1):
      drm/i915/guc: prevent a possible int overflow in wq offsets

Nirmoy Das (1):
      drm/xe: Fix access_ok check in user_fence_create

T.J. Mercier (2):
      dma-buf: heaps: Fix off-by-one in CMA heap fault handler
      drm/syncobj: Fix syncobj leak in drm_syncobj_eventfd_ioctl

Tobias Jakobi (2):
      drm/amd/display: Avoid race between dcn10_set_drr() and
dc_state_destruct()
      drm/amd/display: Avoid race between dcn35_set_drr() and
dc_state_destruct()

 drivers/dma-buf/heaps/cma_heap.c                   |  2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c             | 76 +++++++++++++++++++++-
 drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.h             | 11 ++++
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c             | 63 +++++++++++++++++-
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.h             |  6 ++
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c             |  2 +
 drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c             |  1 +
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c             |  1 +
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.h             |  1 -
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c           | 57 +---------------
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.h           |  7 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_5.c           |  1 +
 drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c           |  3 +-
 drivers/gpu/drm/amd/amdkfd/kfd_crat.c              |  8 ++-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c  | 13 +++-
 .../drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c    | 20 +++---
 .../drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c    | 20 +++---
 drivers/gpu/drm/amd/include/atomfirmware.h         |  4 +-
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h       | 11 +++-
 .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c   | 12 ++++
 drivers/gpu/drm/drm_syncobj.c                      | 17 +++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c  |  4 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h       |  2 +
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.c  |  2 +-
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp102.c  |  1 +
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c        | 10 ++-
 drivers/gpu/drm/stm/Kconfig                        |  1 +
 drivers/gpu/drm/tegra/drm.c                        |  5 +-
 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  2 +-
 drivers/gpu/drm/xe/regs/xe_oa_regs.h               |  1 +
 drivers/gpu/drm/xe/xe_drm_client.c                 | 45 +++++++++++--
 drivers/gpu/drm/xe/xe_gt.c                         |  1 -
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  4 +-
 drivers/gpu/drm/xe/xe_guc_submit.c                 |  4 +-
 drivers/gpu/drm/xe/xe_oa.c                         |  4 ++
 drivers/gpu/drm/xe/xe_sync.c                       |  2 +-
 36 files changed, 315 insertions(+), 109 deletions(-)

.
Date: Fri, 13 Sep 2024 16:58:12 +0800
From: Huacai Chen <chenhuacai@loongson.cn>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Tianrui Zhao <zhaotianrui@loongson.cn>,
	Bibo Mao <maobibo@loongson.cn>
Cc: kvm@vger.kernel.org,
	loongarch@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	Xuerui Wang <kernel@xen0n.name>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Huacai Chen <chenhuacai@loongson.cn>
Subject: [GIT PULL] LoongArch KVM changes for v6.12

The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git tags/loongarch-kvm-6.12

for you to fetch changes up to 3abb708ec0be25da16a1ee9f1ab5cbc93f3256f3:

  LoongArch: KVM: Implement function kvm_para_has_feature() (2024-09-12 22:56:14 +0800)

----------------------------------------------------------------
LoongArch KVM changes for v6.12

1. Revert qspinlock to test-and-set simple lock on VM.
2. Add Loongson Binary Translation extension support.
3. Add PMU support for guest.
4. Enable paravirt feature control from VMM.
5. Implement function kvm_para_has_feature().

----------------------------------------------------------------
Bibo Mao (6):
      LoongArch: Revert qspinlock to test-and-set simple lock on VM
      LoongArch: KVM: Add VM feature detection function
      LoongArch: KVM: Add Binary Translation extension support
      LoongArch: KVM: Add vm migration support for LBT registers
      LoongArch: KVM: Enable paravirt feature control from VMM
      LoongArch: KVM: Implement function kvm_para_has_feature()

Song Gao (1):
      LoongArch: KVM: Add PMU support for guest

 arch/loongarch/include/asm/Kbuild          |   1 -
 arch/loongarch/include/asm/kvm_csr.h       |   6 +
 arch/loongarch/include/asm/kvm_host.h      |  37 +++-
 arch/loongarch/include/asm/kvm_para.h      |  12 +
 arch/loongarch/include/asm/kvm_vcpu.h      |  11 +
 arch/loongarch/include/asm/loongarch.h     |  11 +-
 arch/loongarch/include/asm/paravirt.h      |   7 +
 arch/loongarch/include/asm/qspinlock.h     |  41 ++++
 arch/loongarch/include/uapi/asm/Kbuild     |   2 -
 arch/loongarch/include/uapi/asm/kvm.h      |  20 ++
 arch/loongarch/include/uapi/asm/kvm_para.h |  21 ++
 arch/loongarch/kernel/paravirt.c           |  47 ++--
 arch/loongarch/kernel/setup.c              |   2 +
 arch/loongarch/kernel/smp.c                |   4 +-
 arch/loongarch/kvm/exit.c                  |  46 ++--
 arch/loongarch/kvm/vcpu.c                  | 340 ++++++++++++++++++++++++++++-
 arch/loongarch/kvm/vm.c                    |  69 +++++-
 17 files changed, 616 insertions(+), 61 deletions(-)
 create mode 100644 arch/loongarch/include/asm/qspinlock.h
 create mode 100644 arch/loongarch/include/uapi/asm/kvm_para.h

.
Date: Fri, 13 Sep 2024 11:53:38 +0200
From: Andi Shyti <andi.shyti@kernel.org>
To: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: linux-i2c <linux-i2c@vger.kernel.org>, 
	lkml <linux-kernel@vger.kernel.org>, Andi Shyti <andi.shyti@kernel.org>
Subject: [GIT PULL] i2c-host-fixes for v6.11-rc8

Hi Wolfram,

Hereâs the fixes pull request. Itâs funny, after a few weeks with
no fixes, right at the merge window, Iâm sending in five!

Iâve also brought in from the past two fixes from Robert Hancock
for the Xilinx controller.

See you later today for the next pull request.

Thanks,
Andi

The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git tags/i2c-host-fixes-6.11-rc8

for you to fetch changes up to e2c85d85a05f16af2223fcc0195ff50a7938b372:

  i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq() (2024-09-12 09:08:22 +0200)

----------------------------------------------------------------
The Aspeed driver tracks the controller's state (stop, pending,
start, etc.). Previously, when the stop command was sent, the
state was not updated. The fix in this pull request ensures the
driver's state is aligned with the device status.

The Intel SCH driver receives a new look, and among the cleanups,
there is a fix where, due to an oversight, an if/else statement
was missing the else, causing it to move forward instead of
exiting the function in case of an error.

The Qualcomm GENI I2C driver adds the IRQF_NO_AUTOEN flag to the
IRQ setup to prevent unwanted interrupts during probe.

The Xilinx XPS controller fixes TX FIFO handling to avoid missed
NAKs. Another fix ensures the controller is reinitialized when
the bus appears busy.

----------------------------------------------------------------
Andy Shevchenko (1):
      i2c: isch: Add missed 'else'

Jinjie Ruan (1):
      i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()

Robert Hancock (2):
      i2c: xiic: Wait for TX empty to avoid missed TX NAKs
      i2c: xiic: Try re-initialization on bus busy timeout

Tommy Huang (1):
      i2c: aspeed: Update the stop sw state when the bus recovery occurs

 drivers/i2c/busses/i2c-aspeed.c    | 16 ++++++++--------
 drivers/i2c/busses/i2c-isch.c      |  3 +--
 drivers/i2c/busses/i2c-qcom-geni.c |  4 +---
 drivers/i2c/busses/i2c-xiic.c      | 60 +++++++++++++++++++++++++++++++++++-------------------------
 4 files changed, 45 insertions(+), 38 deletions(-)

.
Date: Fri, 13 Sep 2024 13:20:01 +0200
From: Andi Shyti <andi.shyti@kernel.org>
To: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: linux-i2c <linux-i2c@vger.kernel.org>, 
	lkml <linux-kernel@vger.kernel.org>, Andi Shyti <andi.shyti@kernel.org>
Subject: [GIT PULL] i2c-host for v6.12

Hi Wolfram,

This turned out to be a fairly loaded pull request, covering a
variety of topics. There are four new platforms added, but the
bulk of it consists of cleanups and refactors.

I didnât plan to have a second pull request during this merge
window. Everything that was submitted is included in this one.

Wishing you a great weekend and a fantastic conference week,
which Iâm sorry to miss!

Andi

The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git tags/i2c-host-6.12

for you to fetch changes up to f56f4ba2fc1dbefd3242946f2fad35338a60e3bc:

  i2c: designware: Use pci_get_drvdata() (2024-09-11 12:52:46 +0200)

----------------------------------------------------------------
The DesignWare and the Renesas I2C drivers have received most of
the changes in this pull request.

The first has has undergone through a series of cleanups that
have been sent to the mailing list a year ago for the first time
and finally get merged in this pull request. They are many, from
typos (e.g. i2/i2c), to cosmetics, to refactoring (e.g. move
inline functions to librarieas) and many others.

Besides that, all the DesignWare Kconfig options have been
grouped under the I2C_DESIGNWARE_CORE and this required some
adaptation in many of the kernel configuration files for
different arm and mips boards.

Follows the list of the rest of the changes grouped by type of
change.

Cleanups
--------
The Qualcomm Geni platform improves the exit path in the runtime
resume function.

The Intel LJCA driver loses "target_addr" parameter in
ljca_i2c_stop() because it was unused.

The MediaTek controller intializes the restart_flag in the
transfer function using the ternary conditional operator ("? :")
instead of initializing it in different parts.

Constified a few global data structures in the virtio driver.

The Renesas driver simplifies the bus speed handling in the init
function making it more readable.

Improved an if/else statement in probe function of the Renesas
R-Car driver.

The iMX/MXC driver switches to using the RUNTIME_PM_OPS() instead
of SET_RUNTIME_PM_OPS().

Still in the iMX/MXC driver a comma ',' has been replaced by a
semicolon ';', while in different drivers the ',' has been
removed from the '{ }' delimiters.

Finally three devm_clk_get_enabled() have been used to simplify
the devm_clk_get/clk_prepare_enable tuple in the Renesas EMEV2,
Ingenic and MPC drivers.

Refactors
---------
The Nuvoton fixes a potential out of boundary array access. This
is not a bug fix because the issue could never occur due to
hardware not having the properties listed in the array. The
change makes the driver more future proof and, at the same time,
silences code analyzers.

Improvements
------------
The Renesas I2C (riic) driver undergoes several patches improving
the runtime power management handling.

The Intel i801 driver uses a more descriptive adapter's name to
show the presence of the IDF feature.

In the Intel Denverton (ismt) adapter the pending transactions
are killed when irq's can't complete their handling, triggering a
timeout. This could have been considered as a bug fix, but
because, standing to Vasily, it's very sporadic, I preferred
considering the patch rather as an improvement.

New Feature
-----------
The Renesas I2C (riic) driver now supports the fast mode plus.

New support
-----------
Added support for:

    - Renesas R9A08G045
    - Rockchip RK3576
    - KEBA I2C
    - Theobroma Systems Mule Multiplexer.

The Keba comes with a new driver, i2c-keba.c.
The Mule is an i2c multiplexer and it also comes with a new
driver, mux/i2c-mux-mule.c.

Core patch
----------
This pull request includes also a patch in the I2C framework, in
i2c-core-base.c where the runtime PM functions have been replaced
in order to allow to be accessed during the device add.

Devicetree
----------
Some cleanups in the devicetree, as well. nVidia and Qualcomm
bindings improve their "if:then:" blocks. While the aspeed
binding loses the "multi-master" property because it was
redundant.

The i2c-sprd binding has been converted to YAML.

----------------------------------------------------------------
Adrian Huang (1):
      i2c: designware: Fix wrong setting for {ss,fs,hs}_{h,l}cnt registers

Andi Shyti (2):
      i2c: qcom-geni: Use goto for clearer exit path
      i2c: ljca: Remove unused "target_addr" parameter

Andy Shevchenko (16):
      i2c: designware: Replace a while-loop by for-loop
      i2c: designware: Let PCI core to take care about interrupt vectors
      i2c: designware: Add missing 'c' into PCI IDs variable name
      i2c: designware: Unify terminator in device ID tables
      i2c: designware: Always provide device ID tables
      i2c: designware: Drop return value from i2c_dw_acpi_configure()
      i2c: designware: Drop return value from dw_i2c_of_configure()
      i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure()
      i2c: designware: Consolidate firmware parsing and configuring code
      i2c: designware: Unify the firmware type checks
      i2c: designware: Move exports to I2C_DW namespaces
      i2c: designware: Remove ->disable() callback
      i2c: designware: Consolidate PM ops
      i2c: designware: Uninline i2c_dw_probe()
      i2c: designware: Propagate firmware node
      i2c: designware: Use pci_get_drvdata()

AngeloGioacchino Del Regno (1):
      i2c: mt65xx: Avoid double initialization of restart_flag in isr

Christophe JAILLET (1):
      i2c: virtio: Constify struct i2c_algorithm and struct virtio_device_id

Claudiu Beznea (8):
      i2c: riic: Use temporary variable for struct device
      i2c: riic: Call pm_runtime_get_sync() when need to access registers
      i2c: riic: Use pm_runtime_resume_and_get()
      i2c: riic: Enable runtime PM autosuspend support
      i2c: riic: Add suspend/resume support
      i2c: riic: Define individual arrays to describe the register offsets
      dt-bindings: i2c: renesas,riic: Document the R9A08G045 support
      i2c: riic: Add support for fast mode plus

Detlev Casanova (1):
      dt-bindings: i2c: i2c-rk3x: Add rk3576 compatible

Fabio Estevam (1):
      i2c: imx: Switch to RUNTIME_PM_OPS()

Farouk Bouabid (2):
      dt-bindings: i2c: add support for tsd,mule-i2c-mux
      i2c: muxes: add support for tsd,mule-i2c multiplexer

Geert Uytterhoeven (1):
      i2c: riic: Simplify unsupported bus speed handling

Gerhard Engleder (1):
      i2c: keba: Add KEBA I2C controller support

Hans de Goede (2):
      i2c: core: Setup i2c_adapter runtime-pm before calling device_add()
      i2c: i801: Use a different adapter-name for IDF adapters

Heikki Krogerus (7):
      ARC: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      ARM: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      arm64: defconfig: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      mips: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      RISC-V: configs: enable I2C_DESIGNWARE_CORE with I2C_DESIGNWARE_PLATFORM
      net: txgbe: Fix I2C Kconfig dependencies
      i2c: designware: Group all DesignWare drivers under a single option

Krzysztof Kozlowski (5):
      dt-bindings: i2c: nvidia,tegra20-i2c: combine same if:then: clauses
      dt-bindings: i2c: nvidia,tegra20-i2c: restrict also clocks in if:then:
      dt-bindings: i2c: nvidia,tegra20-i2c: define power-domains top-level
      dt-bindings: i2c: qcom,i2c-cci: add missing clocks constraint in if:then:
      dt-bindings: i2c: aspeed: drop redundant multi-master

Kuninori Morimoto (1):
      i2c: rcar: tidyup priv->devtype handling on rcar_i2c_probe()

Rong Qianfeng (2):
      i2c: emev2: Use devm_clk_get_enabled() helpers
      i2c: jz4780: Use devm_clk_get_enabled() helpers

Shen Lichuan (1):
      i2c: imx: Convert comma to semicolon

Stanislav Jakubek (1):
      dt-bindings: i2c: i2c-sprd: convert to YAML

Tyrone Ting (1):
      i2c: npcm: restore slave addresses array length

Vasily Khoruzhick (1):
      i2c: ismt: kill transaction in hardware on timeout

Wolfram Sang (1):
      i2c: don't use ',' after delimiters

Zhang Zekun (1):
      i2c: mpc: Use devm_clk_get_optional_enabled() to simplify code

 .../devicetree/bindings/i2c/aspeed,i2c.yaml        |   5 -
 .../devicetree/bindings/i2c/i2c-rk3x.yaml          |   1 +
 Documentation/devicetree/bindings/i2c/i2c-sprd.txt |  31 --
 .../bindings/i2c/nvidia,tegra20-i2c.yaml           |  27 +-
 .../devicetree/bindings/i2c/qcom,i2c-cci.yaml      |   1 +
 .../devicetree/bindings/i2c/renesas,riic.yaml      |   4 +
 .../devicetree/bindings/i2c/sprd,sc9860-i2c.yaml   |  65 +++
 .../devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml  |  69 +++
 arch/arc/configs/axs101_defconfig                  |   1 +
 arch/arc/configs/axs103_defconfig                  |   1 +
 arch/arc/configs/axs103_smp_defconfig              |   1 +
 arch/arc/configs/tb10x_defconfig                   |   1 +
 arch/arm/configs/hisi_defconfig                    |   1 +
 arch/arm/configs/multi_v7_defconfig                |   1 +
 arch/arm/configs/pxa_defconfig                     |   1 +
 arch/arm/configs/socfpga_defconfig                 |   1 +
 arch/arm/configs/spear13xx_defconfig               |   1 +
 arch/arm/configs/spear3xx_defconfig                |   1 +
 arch/arm/configs/spear6xx_defconfig                |   1 +
 arch/arm64/configs/defconfig                       |   1 +
 arch/mips/configs/generic/board-ocelot.config      |   1 +
 arch/riscv/configs/defconfig                       |   1 +
 arch/riscv/configs/nommu_k210_defconfig            |   1 +
 arch/riscv/configs/nommu_k210_sdcard_defconfig     |   1 +
 drivers/i2c/busses/Kconfig                         |  40 +-
 drivers/i2c/busses/Makefile                        |   1 +
 drivers/i2c/busses/i2c-ali1535.c                   |   3 +-
 drivers/i2c/busses/i2c-amd-mp2-plat.c              |   2 +-
 drivers/i2c/busses/i2c-aspeed.c                    |   2 +-
 drivers/i2c/busses/i2c-designware-common.c         | 180 ++++++-
 drivers/i2c/busses/i2c-designware-core.h           |  39 +-
 drivers/i2c/busses/i2c-designware-master.c         |  36 +-
 drivers/i2c/busses/i2c-designware-pcidrv.c         |  88 +--
 drivers/i2c/busses/i2c-designware-platdrv.c        | 184 ++-----
 drivers/i2c/busses/i2c-designware-slave.c          |   6 +-
 drivers/i2c/busses/i2c-digicolor.c                 |   2 +-
 drivers/i2c/busses/i2c-emev2.c                     |  25 +-
 drivers/i2c/busses/i2c-i801.c                      |   9 +-
 drivers/i2c/busses/i2c-imx-lpi2c.c                 |   2 +-
 drivers/i2c/busses/i2c-imx.c                       |  11 +-
 drivers/i2c/busses/i2c-ismt.c                      |  10 +
 drivers/i2c/busses/i2c-jz4780.c                    |  22 +-
 drivers/i2c/busses/i2c-keba.c                      | 598 +++++++++++++++++++++
 drivers/i2c/busses/i2c-ljca.c                      |   6 +-
 drivers/i2c/busses/i2c-mpc.c                       |  23 +-
 drivers/i2c/busses/i2c-mt65xx.c                    |   5 +-
 drivers/i2c/busses/i2c-npcm7xx.c                   |   6 +-
 drivers/i2c/busses/i2c-omap.c                      |   2 +-
 drivers/i2c/busses/i2c-piix4.c                     |   2 +-
 drivers/i2c/busses/i2c-pnx.c                       |   2 +-
 drivers/i2c/busses/i2c-pxa-pci.c                   |   2 +-
 drivers/i2c/busses/i2c-pxa.c                       |   2 +-
 drivers/i2c/busses/i2c-qcom-geni.c                 |  23 +-
 drivers/i2c/busses/i2c-qup.c                       |   2 +-
 drivers/i2c/busses/i2c-rcar.c                      |  12 +-
 drivers/i2c/busses/i2c-riic.c                      | 228 +++++---
 drivers/i2c/busses/i2c-s3c2410.c                   |   2 +-
 drivers/i2c/busses/i2c-virtio.c                    |   4 +-
 drivers/i2c/i2c-core-base.c                        |  20 +-
 drivers/i2c/muxes/Kconfig                          |  16 +
 drivers/i2c/muxes/Makefile                         |   1 +
 drivers/i2c/muxes/i2c-mux-mule.c                   | 148 +++++
 drivers/net/ethernet/wangxun/Kconfig               |   3 +-
 63 files changed, 1480 insertions(+), 508 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-sprd.txt
 create mode 100644 Documentation/devicetree/bindings/i2c/sprd,sc9860-i2c.yaml
 create mode 100644 Documentation/devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml
 create mode 100644 drivers/i2c/busses/i2c-keba.c
 create mode 100644 drivers/i2c/muxes/i2c-mux-mule.c

.
Date: Fri, 13 Sep 2024 17:15:00 +0530
From: Vinod Koul <vkoul@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [GIT PULL]: Late fixes for soundwire subsystem for v6.11


--cDJdxvnMXDwbtM3g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello Linus,

The earlier fix for non-continuous port map programming caused
regression to Intel platforms, so lets revert that change. Please pull
to receive the patch to revert the earlier fix.


The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git tags/so=
undwire-6.11-fixes_2

for you to fetch changes up to 233a95fd574fde1c375c486540a90304a2d2d49f:

  soundwire: stream: Revert "soundwire: stream: fix programming slave ports=
 for non-continous port maps" (2024-09-11 13:05:43 +0530)

----------------------------------------------------------------
soundwire final fixes for 6.11

- Revert of earlier fix sent for non-continuous port map programming
  which caused regression on Intel platforms

----------------------------------------------------------------
Krzysztof Kozlowski (1):
      soundwire: stream: Revert "soundwire: stream: fix programming slave p=
orts for non-continous port maps"

 drivers/soundwire/stream.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--=20
~Vinod

--cDJdxvnMXDwbtM3g
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmbkJbkACgkQfBQHDyUj
g0fqeBAAllBsy9jMAdYb95jzNlTJP/EQwsk1BuYDbGWJdvmHe/6v4hLKWaSIqwIJ
+oox7zjvswA5E0/zBGpYY0L9oAjfthvDc7WhidxCgTd4rR9Xe9WVtQ97NbdZgk/4
6RapkkIm1QO3jzwqRUIoGY07p5ss0wPDnG0e3uK/yzdVbz5aqHKj1UpCojvYuWy/
SjPWvN3vmhmsyeR2oja25arPT8RnlOQgnUKEWNzt9nzYiSHefPuTeeypxF16FyCf
9MWIjfr7/G+qby912udYmm2GnBjdu7xxfrh96dLjfeUV40cQ7/dpvSYLaoQBVB6u
vbOsMAWE5fFjJTsGFaO6+n/2vCdg24SS9bp5TkUSDLGl24fosVBeYaA3qidVnPa5
wt1jJ+SmSiM7Z0o5C/YH5vRVlp0X7Jz2Acaa07qeXzT9gliSQxUXrcak2VNhE8pn
JDizR//bNquPvryXQT4p385DxIBwWwhQhArMnjjRYkDlT08Tn50GWHZL6W5DH9us
ANAM/WrSfy3nDBqTdbiNdwrYmfoBlLwj4k0PhVfQ4ICraes3miVLc4r9903qoJNj
6IF2VqDTzf+a6+xfHc7mmprTGowPClLnMIPskeNRw4WDBwQm+pztA239Hki26B+Q
3z5YoHOdjFni/jWHo/hyXcF5S7yxBjJX3WJq5sT+UChQUf/inzA=
=C7Ss
-----END PGP SIGNATURE-----

--cDJdxvnMXDwbtM3g--

.
Date: Fri, 13 Sep 2024 16:41:28 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs misc

Hey Linus,

/* Summary */

This contains the usual pile of misc updates:

Features:

    - Add F_CREATED_QUERY fcntl() that allows userspace to query whether a
      file was actually created. Often userspace wants to know whether an
      O_CREATE request did actually create a file without using O_EXCL. The
      current logic is that to first attempts to open the file without
      O_CREAT | O_EXCL and if ENOENT is returned userspace tries again with
      both flags. If that succeeds all is well. If it now reports EEXIST it
      retries.

      That works fairly well but some corner cases make this more involved.
      If this operates on a dangling symlink the first openat() without
      O_CREAT | O_EXCL will return ENOENT but the second openat() with
      O_CREAT | O_EXCL will fail with EEXIST. The reason is that openat()
      without O_CREAT | O_EXCL follows the symlink while O_CREAT | O_EXCL
      doesn't for security reasons. So it's not something we can really
      change unless we add an explicit opt-in via O_FOLLOW which seems
      really ugly.

      All available workarounds are really nasty (fanotify, bpf lsm etc) so
      add a simple fcntl().

    - Try an opportunistic lookup for O_CREAT. Today, when opening a file
      we'll typically do a fast lookup, but if O_CREAT is set, the kernel
      always takes the exclusive inode lock. This was likely done with the
      expectation that O_CREAT means that we always expect to do the create,
      but that's often not the case. Many programs set O_CREAT even in
      scenarios where the file already exists (see related F_CREATED_QUERY
      patch motivation above).

      The series contained in the pr rearranges the pathwalk-for-open code
      to also attempt a fast_lookup in certain O_CREAT cases. If a positive
      dentry is found, the inode_lock can be avoided altogether and it can
      stay in rcuwalk mode for the last step_into.

    - Expose the 64 bit mount id via name_to_handle_at().
      Now that we provide a unique 64-bit mount ID interface in statx(2), we
      can now provide a race-free way for name_to_handle_at(2) to provide a
      file handle and corresponding mount without needing to worry about
      racing with /proc/mountinfo parsing or having to open a file just to
      do statx(2).

      While this is not necessary if you are using AT_EMPTY_PATH and don't
      care about an extra statx(2) call, users that pass full paths into
      name_to_handle_at(2) need to know which mount the file handle comes
      from (to make sure they don't try to open_by_handle_at a file handle
      from a different filesystem) and switching to AT_EMPTY_PATH would
      require allocating a file for every name_to_handle_at(2) call

    - Add a per dentry expire timeout to autofs.
      There are two fairly well known automounter map formats, the autofs
      format and the amd format (more or less System V and Berkley).

      Some time ago Linux autofs added an amd map format parser that
      implemented a fair amount of the amd functionality. This was done
      within the autofs infrastructure and some functionality wasn't
      implemented because it either didn't make sense or required extra
      kernel changes. The idea was to restrict changes to be within the
      existing autofs functionality as much as possible and leave changes
      with a wider scope to be considered later.

      One of these changes is implementing the amd options:
      1) "unmount", expire this mount according to a timeout (same as the
         current autofs default).
      2) "nounmount", don't expire this mount (same as setting the autofs
         timeout to 0 except only for this specific mount) .
      3) "utimeout=<seconds>", expire this mount using the specified
         timeout (again same as setting the autofs timeout but only for
         this mount).

      To implement these options per-dentry expire timeouts need to be
      implemented for autofs indirect mounts. This is because all map keys
      (mounts) for autofs indirect mounts use an expire timeout stored in
      the autofs mount super block info. structure and all indirect mounts
      use the same expire timeout.

Fixes:

    - Fix missing fput for FSCONFIG_SET_FD in autofs.

    - Use param->file for FSCONFIG_SET_FD in coda.

    - Delete the 'fs/netfs' proc subtreee when netfs module exits.

    - Make sure that struct uid_gid_map fits into a single cacheline.

    - Don't flush in-flight wb switches for superblocks without cgroup writeback.

    - Correcting the idmapping mount example in the idmapping documentation.

    - Fix a race between evice_inodes() and find_inode() and iput().

    - Refine the show_inode_state() macro definition in writeback code.

    - Prevent dump_mapping() from accessing invalid dentry.d_name.name.

    - Show actual source for debugfs in /proc/mounts.

    - Annotate data-race of busy_poll_usecs in eventpoll.

    - Don't WARN for racy path_noexec check in exec code.

    - Handle OOM on mnt_warn_timestamp_expiry().

    - Fix some spelling in the iomap design documentation.

    - Fix typo in procfs comment.

    - Fix typo in fs/namespace.c comment

Cleanups:

    - Add the VFS git tree to the MAINTAINERS file.

    - Move FMODE_UNSIGNED_OFFSET to fop_flags freeing up another f_mode bit
      in struct file bringing us to 5 free f_mode bits.

    - Remove the __I_DIO_WAKEUP bit from i_state flags as we can simplify
      the wait mechanism.

    - Remove the unused path_put_init() helper.

    - Replace a __u32 with u32 for s_fsnotify_mask as __u32 is uapi specific.

    - Replace the unsigned long i_state member with a u32 i_state member in
      struct inode freeing up 4 bytes in struct inode. Instead of using
      the bit based wait apis we're now using the var event apis and using
      the individual bytes of the i_state member to wait on state changes.

    - Explain how per-syscall AT_* flags should be allocated.

    - Use in_group_or_capable() helper to simplify the posix acl mode update
      code.

    - Switch to LIST_HEAD() in fsync_buffers_list() to simplify the code.

    - Removed comment about d_rcu_to_refcount() as that function doesn't
      exist anymore.

    - Add kernel documentation for lookup_fast().

    - Don't re-zero evenpoll fields.

    - Remove outdated comment after close_fd().

    - Fix imprecise wording in comment about the pipe filesystem.

    - Drop GFP_NOFAIL mode from alloc_page_buffers.

    - Missing blank line warnings and struct declaration improved in file_table.

    - Annotate struct poll_list with __counted_by()

    - Remove the unused read parameter in percpu-rwsem.

    - Remove linux/prefetch.h include from direct-io code.

    - Use kmemdup_array instead of kmemdup for multiple allocation in
      mnt_idmapping code.

    - Remove unused mnt_cursor_del() declaration.

Performance tweaks:

    - Dodge smp_mb in break_lease and break_deleg in the common case.

    - Only read fops once in fops_{get,put}().

    - Use RCU in ilookup().

    - Elide smp_mb in iversion handling in the common case.

    - Drop one lock trip in evict().

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on v6.11-rc4 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known conflicts.

Merge conflicts with other trees
================================

(1) This will have merge conflict with the vfs.file pull request sent as:
    https://lore.kernel.org/r/20240913-vfs-file-53bf57c94647@brauner

    I've provided the conflict resolution there.

(2) This will also very likely cause a merge conflict with the series
    to convert everything to fd_file() accessors. Because we change:

-static int coda_parse_fd(struct fs_context *fc, int fd)
+static int coda_set_idx(struct fs_context *fc, struct file *file)
 {
        struct coda_fs_context *ctx = fc->fs_private;
-       struct fd f;
        struct inode *inode;
        int idx;

-       f = fdget(fd);
-       if (!f.file)
-               return -EBADF;
-       inode = file_inode(f.file);
+       inode = file_inode(file);
        if (!S_ISCHR(inode->i_mode) || imajor(inode) != CODA_PSDEV_MAJOR) {
-               fdput(f);
-               return invalf(fc, "code: Not coda psdev");
+               return invalf(fc, "coda: Not coda psdev");
        }
-
        idx = iminor(inode);
-       fdput(f);
-
        if (idx < 0 || idx >= MAX_CODADEVS)
                return invalf(fc, "coda: Bad minor number");
        ctx->idx = idx;
        return 0;
 }

which removes the raw f.file access so the fd_file() replacement becomes mute.

The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

  Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.misc

for you to fetch changes up to 2077006d4725c82c6e9612cec3a6c140921b067f:

  uidgid: make sure we fit into one cacheline (2024-09-12 12:16:09 +0200)

Please consider pulling these changes from the signed vfs-6.12.misc tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.misc

----------------------------------------------------------------
Aleksa Sarai (4):
      autofs: fix missing fput for FSCONFIG_SET_FD
      coda: use param->file for FSCONFIG_SET_FD
      uapi: explain how per-syscall AT_* flags should be allocated
      fhandle: expose u64 mount id to name_to_handle_at(2)

Baokun Li (1):
      netfs: Delete subtree of 'fs/netfs' when netfs module exits

Christian Brauner (20):
      fcntl: add F_CREATED_QUERY
      selftests: add F_CREATED_QUERY tests
      Merge patch series "Add an fcntl() to check file creation"
      fs: move audit parent inode
      fs: pull up trailing slashes check for O_CREAT
      fs: remove audit dummy context check
      fs: rearrange general fastpath check now that O_CREAT uses it
      fs: move FMODE_UNSIGNED_OFFSET to fop_flags
      inode: remove __I_DIO_WAKEUP
      fs: remove unused path_put_init()
      fs: s/__u32/u32/ for s_fsnotify_mask
      fs: add i_state helpers
      fs: reorder i_state bits
      inode: port __I_SYNC to var event
      inode: port __I_NEW to var event
      inode: port __I_LRU_ISOLATING to var event
      inode: make i_state a u32
      Merge patch series "fs: add i_state helpers"
      Merge patch series "fhandle: expose u64 mount id to name_to_handle_at(2)"
      uidgid: make sure we fit into one cacheline

Eric Biggers (1):
      MAINTAINERS: add the VFS git tree

Haifeng Xu (1):
      fs: don't flush in-flight wb switches for superblocks without cgroup writeback

Hongbo Li (3):
      fs: Use in_group_or_capable() helper to simplify the code
      doc: correcting the idmapping mount example
      fs: use LIST_HEAD() to simplify code

Ian Kent (1):
      autofs: add per dentry expire timeout

Jeff Layton (3):
      fs: remove comment about d_rcu_to_refcount
      fs: add a kerneldoc header over lookup_fast
      fs: try an opportunistic lookup for O_CREAT opens too

Joe Damato (1):
      eventpoll: Don't re-zero eventpoll fields

Joel Savitz (1):
      file: remove outdated comment after close_fd()

Julian Sun (2):
      vfs: fix race between evice_inodes() and find_inode()&iput()
      writeback: Refine the show_inode_state() macro definition

Kienan Stewart (1):
      fs/pipe: Correct imprecise wording in comment

Li Zhijian (1):
      fs/inode: Prevent dump_mapping() accessing invalid dentry.d_name.name

Marc AurĂ¨le La France (1):
      debugfs show actual source in /proc/mounts

Martin Karsten (1):
      eventpoll: Annotate data-race of busy_poll_usecs

Mateusz Guzik (6):
      exec: don't WARN for racy path_noexec check
      vfs: dodge smp_mb in break_lease and break_deleg in the common case
      vfs: only read fops once in fops_get/put
      vfs: use RCU in ilookup
      vfs: elide smp_mb in iversion handling in the common case
      vfs: drop one lock trip in evict()

Michal Hocko (1):
      fs: drop GFP_NOFAIL mode from alloc_page_buffers

Mohit0404 (1):
      Fixed: fs: file_table_c: Missing blank line warnings and struct declaration improved

Olaf Hering (1):
      mount: handle OOM on mnt_warn_timestamp_expiry

Thorsten Blum (1):
      fs/select: Annotate struct poll_list with __counted_by()

Uros Bizjak (1):
      fs/aio: Fix __percpu annotation of *cpu pointer in struct kioctx

Wang Long (1):
      percpu-rwsem: remove the unused parameter 'read'

Xiaxi Shen (1):
      Fix spelling and gramatical errors

Yan Zhen (1):
      proc: Fix typo in the comment

Youling Tang (1):
      fs/direct-io: Remove linux/prefetch.h include

Yu Jiaoliang (1):
      mnt_idmapping: Use kmemdup_array instead of kmemdup for multiple allocation

Yue Haibing (1):
      fs: mounts: Remove unused declaration mnt_cursor_del()

Yuesong Li (1):
      fs/namespace.c: Fix typo in comment

 Documentation/filesystems/idmappings.rst        |   8 +-
 Documentation/filesystems/iomap/design.rst      |   6 +-
 MAINTAINERS                                     |   1 +
 drivers/char/adi.c                              |   8 +-
 drivers/char/mem.c                              |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c         |   1 +
 drivers/gpu/drm/drm_file.c                      |   3 +-
 drivers/gpu/drm/gma500/psb_drv.c                |   1 +
 drivers/gpu/drm/i915/i915_driver.c              |   1 +
 drivers/gpu/drm/nouveau/nouveau_drm.c           |   1 +
 drivers/gpu/drm/radeon/radeon_drv.c             |   1 +
 drivers/gpu/drm/tegra/drm.c                     |   1 +
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c             |   1 +
 drivers/gpu/drm/xe/xe_device.c                  |   1 +
 drivers/md/md-bitmap.c                          |   2 +-
 fs/aio.c                                        |   2 +-
 fs/autofs/autofs_i.h                            |   4 +
 fs/autofs/dev-ioctl.c                           |  97 +++++++++++++++++++-
 fs/autofs/expire.c                              |   7 +-
 fs/autofs/inode.c                               |   5 +-
 fs/bcachefs/fs.c                                |  10 +-
 fs/buffer.c                                     |   8 +-
 fs/coda/inode.c                                 |  43 ++++++---
 fs/dcache.c                                     |  10 +-
 fs/debugfs/inode.c                              |   8 ++
 fs/direct-io.c                                  |   6 --
 fs/eventpoll.c                                  |   7 +-
 fs/exec.c                                       |  31 +++----
 fs/fcntl.c                                      |  10 ++
 fs/fhandle.c                                    |  29 ++++--
 fs/file.c                                       |   2 +-
 fs/file_table.c                                 |   5 +-
 fs/fs-writeback.c                               |  67 ++++++++------
 fs/inode.c                                      | 116 ++++++++++++++++--------
 fs/libfs.c                                      |  28 ++++--
 fs/mnt_idmapping.c                              |  12 +--
 fs/mount.h                                      |   1 -
 fs/namei.c                                      |  75 ++++++++++++---
 fs/namespace.c                                  |  18 +++-
 fs/netfs/locking.c                              |  22 +----
 fs/netfs/main.c                                 |   4 +-
 fs/pipe.c                                       |   2 +-
 fs/posix_acl.c                                  |   4 +-
 fs/proc/base.c                                  |  10 +-
 fs/proc/fd.c                                    |   2 +-
 fs/proc/kcore.c                                 |   2 +-
 fs/read_write.c                                 |   2 +-
 fs/select.c                                     |   2 +-
 fs/super.c                                      |   4 +-
 include/drm/drm_accel.h                         |   3 +-
 include/drm/drm_gem.h                           |   3 +-
 include/drm/drm_gem_dma_helper.h                |   1 +
 include/linux/buffer_head.h                     |   3 +-
 include/linux/filelock.h                        |  14 ++-
 include/linux/fs.h                              |  88 +++++++++++-------
 include/linux/path.h                            |   6 --
 include/linux/percpu-rwsem.h                    |   2 +-
 include/linux/syscalls.h                        |   2 +-
 include/linux/user_namespace.h                  |   6 +-
 include/linux/writeback.h                       |   7 +-
 include/trace/events/writeback.h                |  10 +-
 include/uapi/linux/auto_fs.h                    |   2 +-
 include/uapi/linux/fcntl.h                      |  84 ++++++++++++-----
 kernel/user.c                                   |   6 +-
 mm/mmap.c                                       |   2 +-
 tools/testing/selftests/core/close_range_test.c |  39 ++++++++
 66 files changed, 662 insertions(+), 310 deletions(-)

.
Date: Fri, 13 Sep 2024 16:41:58 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs mount

Hey Linus,

/* Summary */

Recently, we added the ability to list mounts in other mount namespaces
and the ability to retrieve namespace file descriptors without having to
go through procfs by deriving them from pidfds.

This extends nsfs in two ways:

(1) Add the ability to retrieve information about a mount namespace via
    NS_MNT_GET_INFO. This will return the mount namespace id and the
    number of mounts currently in the mount namespace. The number of
    mounts can be used to size the buffer that needs to be used for
    listmount() and is in general useful without having to actually
    iterate through all the mounts.

    The structure is extensible.

(2) Add the ability to iterate through all mount namespaces over which
    the caller holds privilege returning the file descriptor for the
    next or previous mount namespace.

    To retrieve a mount namespace the caller must be privileged wrt to
    it's owning user namespace. This means that PID 1 on the host can
    list all mounts in all mount namespaces or that a container can list
    all mounts of its nested containers.

    Optionally pass a structure for NS_MNT_GET_INFO with
    NS_MNT_GET_{PREV,NEXT} to retrieve information about the mount
    namespace in one go.

(1) and (2) can be implemented for other namespace types easily.

Together with recent api additions this means one can iterate through
all mounts in all mount namespaces without ever touching procfs. The
merge message contains example code how to do this.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on v6.11-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known conflicts.

Merge conflicts with other trees
================================

(1) linux-next: build failure after merge of the bpf-next tree
    https://lore.kernel.org/r/20240913133240.066ae790@canb.auug.org.au

    The reported merge conflict isn't really with bpf-next but with the
    series to convert to fd_file() accessors for the changed struct fd
    representation.

    The patch you need to fix this however is correct in that draft. But
    honestly, it's pretty easy for you to figure out on your own anyway.

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.mount

for you to fetch changes up to 49224a345c488a0e176f193a60a2a76e82349e3e:

  Merge patch series "nsfs: iterate through mount namespaces" (2024-08-09 12:47:05 +0200)

Please consider pulling these changes from the signed vfs-6.12.mount tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.mount

----------------------------------------------------------------
Christian Brauner (5):
      fs: allow mount namespace fd
      fs: add put_mnt_ns() cleanup helper
      file: add fput() cleanup helper
      nsfs: iterate through mount namespaces
      Merge patch series "nsfs: iterate through mount namespaces"

 fs/mount.h                    |  13 ++++++
 fs/namespace.c                |  74 +++++++++++++++++++++++++-----
 fs/nsfs.c                     | 102 +++++++++++++++++++++++++++++++++++++++++-
 include/linux/file.h          |   2 +
 include/linux/mnt_namespace.h |   4 ++
 include/uapi/linux/nsfs.h     |  16 +++++++
 6 files changed, 198 insertions(+), 13 deletions(-)

.
Date: Fri, 13 Sep 2024 16:42:31 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs folio

Hey Linus,

/* Summary */

This contains work to port write_begin and write_end to rely on folios
for various filesystems.

This converts ocfs2, vboxfs, orangefs, jffs2, hostfs, fuse, f2fs,
ecryptfs, ntfs3, nilfs2, reiserfs, minixfs, qnx6, sysv, ufs, and
squashfs.

After this series lands a bunch of the filesystems in this list do not
mention struct page anymore.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on v6.11-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known merge conflicts.

Merge conflicts with other trees
================================

Most of the conflicts are mechanical conversion. The only nasty
conversion is f2fs. The provided conflict resolution by Stephen has been
acked by the f2fs maintainer.

(1) linux-next: manual merge of the vfs-brauner tree with the f2fs tree
    https://lore.kernel.org/all/20240905101845.0a47926a@canb.auug.org.au

(2) linux-next: manual merge of the vfs-brauner tree with the ext4 tree
    https://lore.kernel.org/r/20240904091532.4b0dee26@canb.auug.org.au

(3) linux-next: manual merge of the vfs-brauner tree with the mm tree
    https://lore.kernel.org/r/20240902112101.2728f045@canb.auug.org.au

(4) linux-next: manual merge of the vfs-brauner tree with the exfat tree
    https://lore.kernel.org/r/20240812081046.369bbba5@canb.auug.org.au

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.folio

for you to fetch changes up to 84e0e03b308816a48c67f6da2168fcea6d49eda8:

  Squashfs: Ensure all readahead pages have been used (2024-08-23 13:11:36 +0200)

Please consider pulling these changes from the signed vfs-6.12.folio tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.folio

----------------------------------------------------------------
Christian Brauner (3):
      Merge branch 'work.write.end'
      Merge patch series "Finish converting jffs2 to folios"
      Merge patch series "Squashfs: Update code to not use page->index"

Matthew Wilcox (Oracle) (56):
      ufs: Convert ufs_get_page() to use a folio
      ufs: Convert ufs_get_page() to ufs_get_folio()
      ufs: Convert ufs_check_page() to ufs_check_folio()
      ufs: Convert ufs_find_entry() to take a folio
      ufs: Convert ufs_set_link() and ufss_dotdot() to take a folio
      ufs: Convert ufs_delete_entry() to work on a folio
      ufs: Convert ufs_make_empty() to use a folio
      ufs: Convert ufs_prepare_chunk() to take a folio
      ufs; Convert ufs_commit_chunk() to take a folio
      ufs: Convert directory handling to kmap_local
      sysv: Convert dir_get_page() to dir_get_folio()
      sysv: Convert sysv_find_entry() to take a folio
      sysv: Convert sysv_set_link() and sysv_dotdot() to take a folio
      sysv: Convert sysv_delete_entry() to work on a folio
      sysv: Convert sysv_make_empty() to use a folio
      sysv: Convert sysv_prepare_chunk() to take a folio
      sysv: Convert dir_commit_chunk() to take a folio
      qnx6: Convert qnx6_get_page() to qnx6_get_folio()
      qnx6: Convert qnx6_find_entry() to qnx6_find_ino()
      qnx6: Convert qnx6_longname() to take a folio
      qnx6: Convert qnx6_checkroot() to use a folio
      qnx6: Convert qnx6_iget() to use a folio
      qnx6: Convert directory handling to use kmap_local
      minixfs: Convert dir_get_page() to dir_get_folio()
      minixfs: Convert minix_find_entry() to take a folio
      minixfs: Convert minix_set_link() and minix_dotdot() to take a folio
      minixfs: Convert minix_delete_entry() to work on a folio
      minixfs: Convert minix_make_empty() to use a folio
      minixfs: Convert minix_prepare_chunk() to take a folio
      minixfs: Convert dir_commit_chunk() to take a folio
      fs: Convert block_write_begin() to use a folio
      reiserfs: Convert grab_tail_page() to use a folio
      reiserfs: Convert reiserfs_write_begin() to use a folio
      block: Use a folio in blkdev_write_end()
      buffer: Use a folio in generic_write_end()
      nilfs2: Use a folio in nilfs_recover_dsync_blocks()
      ntfs3: Remove reset_log_file()
      buffer: Convert block_write_end() to take a folio
      ecryptfs: Convert ecryptfs_write_end() to use a folio
      ecryptfs: Use a folio in ecryptfs_write_begin()
      f2fs: Convert f2fs_write_end() to use a folio
      f2fs: Convert f2fs_write_begin() to use a folio
      fuse: Convert fuse_write_end() to use a folio
      fuse: Convert fuse_write_begin() to use a folio
      hostfs: Convert hostfs_write_end() to use a folio
      jffs2: Convert jffs2_write_end() to use a folio
      jffs2: Convert jffs2_write_begin() to use a folio
      orangefs: Convert orangefs_write_end() to use a folio
      orangefs: Convert orangefs_write_begin() to use a folio
      vboxsf: Use a folio in vboxsf_write_end()
      fs: Convert aops->write_end to take a folio
      fs: Convert aops->write_begin to take a folio
      ocfs2: Convert ocfs2_write_zero_page to use a folio
      buffer: Convert __block_write_begin() to take a folio
      jffs2: Convert jffs2_do_readpage_nolock to take a folio
      jffs2: Use a folio in jffs2_garbage_collect_dnode()

Phillip Lougher (5):
      Squashfs: Update page_actor to not use page->index
      Squashfs: Update squashfs_readahead() to not use page->index
      Squashfs: Update squashfs_readpage_block() to not use page->index
      Squashfs: Rewrite and update squashfs_readahead_fragment() to not use page->index
      Squashfs: Ensure all readahead pages have been used

 Documentation/filesystems/locking.rst     |   6 +-
 Documentation/filesystems/vfs.rst         |  12 +-
 block/fops.c                              |  12 +-
 drivers/gpu/drm/i915/gem/i915_gem_shmem.c |  47 +++---
 fs/adfs/inode.c                           |   5 +-
 fs/affs/file.c                            |  22 ++-
 fs/bcachefs/fs-io-buffered.c              |   8 +-
 fs/bcachefs/fs-io-buffered.h              |   6 +-
 fs/bfs/file.c                             |   4 +-
 fs/buffer.c                               |  63 ++++----
 fs/ceph/addr.c                            |  13 +-
 fs/ecryptfs/mmap.c                        |  86 +++++------
 fs/exfat/file.c                           |   8 +-
 fs/exfat/inode.c                          |   9 +-
 fs/ext2/dir.c                             |   4 +-
 fs/ext2/inode.c                           |   8 +-
 fs/ext4/ext4.h                            |   4 +-
 fs/ext4/inline.c                          |  14 +-
 fs/ext4/inode.c                           |  37 +++--
 fs/ext4/verity.c                          |   8 +-
 fs/f2fs/data.c                            |  87 +++++------
 fs/f2fs/super.c                           |   8 +-
 fs/f2fs/verity.c                          |   8 +-
 fs/fat/inode.c                            |   9 +-
 fs/fuse/file.c                            |  47 +++---
 fs/hfs/extent.c                           |   6 +-
 fs/hfs/hfs_fs.h                           |   2 +-
 fs/hfs/inode.c                            |   5 +-
 fs/hfsplus/extents.c                      |   6 +-
 fs/hfsplus/hfsplus_fs.h                   |   2 +-
 fs/hfsplus/inode.c                        |   5 +-
 fs/hostfs/hostfs_kern.c                   |  23 +--
 fs/hpfs/file.c                            |   9 +-
 fs/hugetlbfs/inode.c                      |   4 +-
 fs/iomap/buffered-io.c                    |   2 +-
 fs/jffs2/file.c                           |  88 ++++++------
 fs/jffs2/gc.c                             |  25 ++--
 fs/jfs/inode.c                            |   8 +-
 fs/libfs.c                                |  13 +-
 fs/minix/dir.c                            | 134 +++++++++--------
 fs/minix/inode.c                          |   8 +-
 fs/minix/minix.h                          |  40 +++---
 fs/minix/namei.c                          |  32 ++---
 fs/namei.c                                |  10 +-
 fs/nfs/file.c                             |   7 +-
 fs/nilfs2/dir.c                           |   4 +-
 fs/nilfs2/inode.c                         |  10 +-
 fs/nilfs2/recovery.c                      |  16 +--
 fs/ntfs3/file.c                           |   9 +-
 fs/ntfs3/inode.c                          |  51 +------
 fs/ntfs3/ntfs_fs.h                        |   5 +-
 fs/ocfs2/aops.c                           |  12 +-
 fs/ocfs2/aops.h                           |   2 +-
 fs/ocfs2/file.c                           |  17 +--
 fs/ocfs2/mmap.c                           |   6 +-
 fs/omfs/file.c                            |   4 +-
 fs/orangefs/inode.c                       |  39 +++--
 fs/qnx6/dir.c                             |  88 ++++++------
 fs/qnx6/inode.c                           |  25 ++--
 fs/qnx6/namei.c                           |   4 +-
 fs/qnx6/qnx6.h                            |   9 +-
 fs/reiserfs/inode.c                       |  57 ++++----
 fs/squashfs/file.c                        |  86 +++++++----
 fs/squashfs/file_direct.c                 |  19 +--
 fs/squashfs/page_actor.c                  |  11 +-
 fs/squashfs/page_actor.h                  |   6 +-
 fs/sysv/dir.c                             | 158 ++++++++++----------
 fs/sysv/itree.c                           |   8 +-
 fs/sysv/namei.c                           |  32 ++---
 fs/sysv/sysv.h                            |  20 +--
 fs/ubifs/file.c                           |  13 +-
 fs/udf/file.c                             |   2 +-
 fs/udf/inode.c                            |  12 +-
 fs/ufs/dir.c                              | 231 ++++++++++++++----------------
 fs/ufs/inode.c                            |  12 +-
 fs/ufs/namei.c                            |  39 +++--
 fs/ufs/ufs.h                              |  20 +--
 fs/ufs/util.h                             |   6 +-
 fs/vboxsf/file.c                          |  24 ++--
 include/linux/buffer_head.h               |  14 +-
 include/linux/fs.h                        |   6 +-
 mm/filemap.c                              |   6 +-
 mm/shmem.c                                |  11 +-
 83 files changed, 994 insertions(+), 1064 deletions(-)

.
Date: Fri, 13 Sep 2024 16:43:10 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs file

Hey Linus,

/* Summary */

This is the work to cleanup and shrink struct file significantly. You
should've already seen most of the work in here.

Right now, (focussing on x86) struct file is 232 bytes. After this
series struct file will be 184 bytes aka 3 cacheline and a spare 8 bytes
for future extensions at the end of the struct.

With struct file being as ubiquitous as it is this should make a
difference for file heavy workloads and allow further optimizations in
the future.

* struct fown_struct was embeeded into struct file letting it take up 32
  bytes in total when really it shouldn't even be embedded in struct
  file in the first place. Instead, actual users of struct fown_struct
  now allocate the struct on demand. This frees up 24 bytes.

* Move struct file_ra_state into the union containg the cleanup hooks
  and move f_iocb_flags out of the union. This closes a 4 byte hole we
  created earlier and brings struct file to 192 bytes. Which means
  struct file is 3 cachelines and we managed to shrink it by 40 bytes.

* Reorder struct file so that nothing crosses a cacheline. I suspect
  that in the future we will end up reordering some members to mitigate
  false sharing issues or just because someone does actually provide
  really good perf data.

* Shrinking struct file to 192 bytes is only part of the work. Files use
  a slab that is SLAB_TYPESAFE_BY_RCU and when a kmem cache is created
  with SLAB_TYPESAFE_BY_RCU the free pointer must be located outside of
  the object because the cache doesn't know what part of the memory can
  safely be overwritten as it may be needed to prevent object recycling.

  That has the consequence that SLAB_TYPESAFE_BY_RCU may end up adding a
  new cacheline.

  So this also contains work to add a new kmem_cache_create_rcu()
  function that allows the caller to specify an offset where the
  freelist pointer is supposed to be placed. Thus avoiding the implicit
  addition of a fourth cacheline.

* And finally this removes the f_version member in struct file. The
  f_version member isn't particularly well-defined. It is mainly used as
  a cookie to detect concurrent seeks when iterating directories. But it
  is also abused by some subsystems for completely unrelated things.

  It is mostly a directory and filesystem specific thing that doesn't
  really need to live in struct file and with its wonky semantics it
  really lacks a specific function.

  For pipes, f_version is (ab)used to defer poll notifications until a
  write has happened. And struct pipe_inode_info is used by multiple
  struct files in their ->private_data so there's no chance of pushing
  that down into file->private_data without introducing another pointer
  indirection.

  But pipes don't rely on f_pos_lock so this adds a union into struct
  file encompassing f_pos_lock and a pipe specific f_pipe member that
  pipes can use. This union of course can be extended to other file
  types and is similar to what we do in struct inode already.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on v6.11-rc4 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known conflicts.

Merge conflicts with other trees
================================

(1) This will have merge conflict with the vfs.misc pull request sent as:
    https://lore.kernel.org/r/20240913-vfs-misc-348ac639e66e@brauner

    Assuming you merge vfs.misc first the conflict resolution looks like this:

diff --cc fs/fcntl.c
index 22ec683ad8f8,0587a0e221a6..f6fde75a3bd5
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@@ -343,12 -414,30 +414,36 @@@ static long f_dupfd_query(int fd, struc
        return f.file == filp;
  }

 +/* Let the caller figure out whether a given file was just created. */
 +static long f_created_query(const struct file *filp)
 +{
 +      return !!(filp->f_mode & FMODE_CREATED);
 +}
 +
+ static int f_owner_sig(struct file *filp, int signum, bool setsig)
+ {
+       int ret = 0;
+       struct fown_struct *f_owner;
+
+       might_sleep();
+
+       if (setsig) {
+               if (!valid_signal(signum))
+                       return -EINVAL;
+
+               ret = file_f_owner_allocate(filp);
+               if (ret)
+                       return ret;
+       }
+
+       f_owner = file_f_owner(filp);
+       if (setsig)
+               f_owner->signum = signum;
+       else if (f_owner)
+               ret = f_owner->signum;
+       return ret;
+ }
+
  static long do_fcntl(int fd, unsigned int cmd, unsigned long arg,
                struct file *filp)
  {

(2) linux-next: manual merge of the security tree with the vfs-brauner tree
    https://lore.kernel.org/r/20240910132740.775b92e1@canb.auug.org.au

The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

  Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.file

for you to fetch changes up to 24a988f75c8a5f16ef935c51039700e985767eb9:

  Merge patch series "file: remove f_version" (2024-09-12 11:58:46 +0200)

Please consider pulling these changes from the signed vfs-6.12.file tag.

Note that this work provides the base for the slab pull request this
cycle. So just to not mess with Vlastimil's pr I pushed two tags:

(1) vfs-6.12.file
(2) vfs-6.12.file.kmem

The second tag only contains what slab relies on and (1) contains
everything for this cycle. If you disagree with additional stuff in (1)
you may still consider pulling (2).

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.file

----------------------------------------------------------------
Christian Brauner (27):
      file: reclaim 24 bytes from f_owner
      fs: switch f_iocb_flags and f_ra
      fs: pack struct file
      mm: remove unused argument from create_cache()
      mm: add kmem_cache_create_rcu()
      fs: use kmem_cache_create_rcu()
      Merge patch series "fs,mm: add kmem_cache_create_rcu()"
      adi: remove unused f_version
      ceph: remove unused f_version
      s390: remove unused f_version
      fs: add vfs_setpos_cookie()
      fs: add must_set_pos()
      fs: use must_set_pos()
      fs: add generic_llseek_cookie()
      affs: store cookie in private data
      ext2: store cookie in private data
      ext4: store cookie in private data
      input: remove f_version abuse
      ocfs2: store cookie in private data
      proc: store cookie in private data
      udf: store cookie in private data
      ufs: store cookie in private data
      ubifs: store cookie in private data
      fs: add f_pipe
      pipe: use f_pipe
      fs: remove f_version
      Merge patch series "file: remove f_version"

R Sundar (1):
      mm: Removed @freeptr_offset to prevent doc warning

 drivers/char/adi.c             |   1 -
 drivers/input/input.c          |  47 ++++++-----
 drivers/net/tun.c              |   6 ++
 drivers/s390/char/hmcdrv_dev.c |   3 -
 drivers/tty/tty_io.c           |   6 ++
 fs/affs/dir.c                  |  44 +++++++++--
 fs/ceph/dir.c                  |   1 -
 fs/ext2/dir.c                  |  28 ++++++-
 fs/ext4/dir.c                  |  50 ++++++------
 fs/ext4/ext4.h                 |   2 +
 fs/ext4/inline.c               |   7 +-
 fs/fcntl.c                     | 166 +++++++++++++++++++++++++++++++--------
 fs/file_table.c                |  16 ++--
 fs/internal.h                  |   1 +
 fs/locks.c                     |   6 +-
 fs/notify/dnotify/dnotify.c    |   6 +-
 fs/ocfs2/dir.c                 |   3 +-
 fs/ocfs2/file.c                |  11 ++-
 fs/ocfs2/file.h                |   1 +
 fs/pipe.c                      |   8 +-
 fs/proc/base.c                 |  30 ++++++--
 fs/read_write.c                | 171 +++++++++++++++++++++++++++++++----------
 fs/ubifs/dir.c                 |  64 ++++++++++-----
 fs/udf/dir.c                   |  28 ++++++-
 fs/ufs/dir.c                   |  28 ++++++-
 include/linux/fs.h             | 106 +++++++++++++++----------
 include/linux/slab.h           |   9 +++
 mm/slab.h                      |   2 +
 mm/slab_common.c               | 138 +++++++++++++++++++++++----------
 mm/slub.c                      |  20 +++--
 net/core/sock.c                |   2 +-
 security/selinux/hooks.c       |   2 +-
 security/smack/smack_lsm.c     |   2 +-
 33 files changed, 744 insertions(+), 271 deletions(-)

.
Date: Fri, 13 Sep 2024 16:44:09 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs fallocate

Hey Linus,

/* Summary */

This contains work to try and cleanup some the fallocate mode handling.
Currently, it confusingly mixes operation modes and an optional flag.
The work here tries to better define operation modes and optional flags
allowing the core and filesystem code to use switch statements to switch
on the operation mode.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on v6.11-rc4 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known conflicts.

Merge conflicts with other trees
================================

No known conflicts.

The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

  Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.fallocate

for you to fetch changes up to 7fbabbb4ae2a7203861e4db363e3c861a4df260e:

  Merge patch series "Subject: sort out the fallocate mode mess" (2024-08-28 16:54:05 +0200)

Please consider pulling these changes from the signed vfs-6.12.fallocate tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.fallocate

----------------------------------------------------------------
Christian Brauner (1):
      Merge patch series "Sort out the fallocate mode mess"

Christoph Hellwig (6):
      block: remove checks for FALLOC_FL_NO_HIDE_STALE
      ext4: remove tracing for FALLOC_FL_NO_HIDE_STALE
      fs: sort out the fallocate mode vs flag mess
      xfs: call xfs_flush_unmap_range from xfs_free_file_space
      xfs: move the xfs_is_always_cow_inode check into xfs_alloc_file_space
      xfs: refactor xfs_file_fallocate

 block/fops.c                |  10 +-
 fs/open.c                   |  51 ++++---
 fs/xfs/xfs_bmap_util.c      |  11 ++
 fs/xfs/xfs_file.c           | 353 ++++++++++++++++++++++++++------------------
 include/linux/falloc.h      |  18 ++-
 include/trace/events/ext4.h |   1 -
 include/uapi/linux/falloc.h |   1 +
 7 files changed, 258 insertions(+), 187 deletions(-)

.
Date: Fri, 13 Sep 2024 16:44:47 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs procfs

/* Summary */
Hey Linus,

This contains the following changes for procfs:

* Add config options and parameters to block forcing memory writes.

  This adds a Kconfig option and boot param to allow removing the
  FOLL_FORCE flag from /proc/<pid>/mem write calls as this can be used
  in various attacks.

  The traditional forcing behavior is kept as default because it can
  break GDB and some other use cases.

  This is the simpler version that you had requested.

* Restrict overmounting of ephemeral entities.

  It is currently possible to mount on top of various ephemeral entities
  in procfs. This specifically includes magic links. To recap, magic
  links are links of the form /proc/<pid>/fd/<nr>. They serve as
  references to a target file and during path lookup they cause a jump
  to the target path. Such magic links disappear if the corresponding
  file descriptor is closed.

  Currently it is possible to overmount such magic links. This is mostly
  interesting for an attacker that wants to somehow trick a process into
  e.g., reopening something that it didn't intend to reopen or to hide
  a malicious file descriptor.

  But also it risks leaking mounts for long-running processes. When
  overmounting a magic link like above, the mount will not be detached
  when the file descriptor is closed. Only the target mountpoint will
  disappear. Which has the consequence of making it impossible to unmount
  that mount afterwards. So the mount will stick around until the process
  exits and the /proc/<pid>/ directory is cleaned up during
  proc_flush_pid() when the dentries are pruned and invalidated.

  That in turn means it's possible for a program to accidentally leak
  mounts and it's also possible to make a task leak mounts without it's
  knowledge if the attacker just keeps overmounting things under
  /proc/<pid>/fd/<nr>.

  Disallow overmounting of such ephemeral entities.

* Cleanup the readdir method naming in some procfs file operations.

* Replace kmalloc() and strcpy() with a simple kmemdup() call.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on v6.11-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

None.

Merge conflicts with other trees
================================

None.

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.procfs

for you to fetch changes up to 4ad5f9a021bd7e3a48a8d11c52cef36d5e05ffcc:

  proc: fold kmalloc() + strcpy() into kmemdup() (2024-09-09 10:51:20 +0200)

Please consider pulling these changes from the signed vfs-6.12.procfs tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.procfs

----------------------------------------------------------------
Adrian Ratiu (1):
      proc: add config & param to block forcing mem writes

Alexey Dobriyan (1):
      proc: fold kmalloc() + strcpy() into kmemdup()

Christian Brauner (7):
      proc: proc_readfd() -> proc_fd_iterate()
      proc: proc_readfdinfo() -> proc_fdinfo_iterate()
      proc: add proc_splice_unmountable()
      proc: block mounting on top of /proc/<pid>/map_files/*
      proc: block mounting on top of /proc/<pid>/fd/*
      proc: block mounting on top of /proc/<pid>/fdinfo/*
      Merge patch series "proc: restrict overmounting of ephemeral entities"

 Documentation/admin-guide/kernel-parameters.txt | 10 ++++
 fs/proc/base.c                                  | 65 +++++++++++++++++++++++--
 fs/proc/fd.c                                    | 16 +++---
 fs/proc/generic.c                               |  4 +-
 fs/proc/internal.h                              | 13 +++++
 security/Kconfig                                | 32 ++++++++++++
 6 files changed, 127 insertions(+), 13 deletions(-)

.
Date: Fri, 13 Sep 2024 16:50:53 +0200
From: Petr Mladek <pmladek@suse.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	John Ogness <john.ogness@linutronix.de>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>, Jan Kara <jack@suse.cz>,
	Peter Zijlstra <peterz@infradead.org>, linux-kernel@vger.kernel.org
Subject: [GIT PULL] printk for 6.12

Hi Linus,

please pull the latest printk changes from

  git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git tags/printk-for-6.12

=============================================

This is the "last" part of the support for the new nbcon consoles.
Where "nbcon" stays for "No Big console lock CONsoles" aka not under
the console_lock.

New callbacks are added to struct console:

  - write_thread() for flushing nbcon consoles in task context.

  - write_atomic() for flushing nbcon consoles in atomic context,
    including NMI.

  - con->device_lock() and device_unlock() for taking the driver
    specific lock, for example, port->lock.

New printk-specific kthreads are created:

  - per-console kthreads which get responsible for flushing normal
    priority messages on nbcon consoles.

  - thread which gets responsible for flushing normal priority messages
    on all consoles when CONFIG_RT enabled.

The new callbacks are called under a special per-console lock which has
already been added back in v6.7. It allows to distinguish three severities:
normal, emergency, and panic. A context with a higher priority could take
over the ownership when it is safe even in the middle of handling a record.
The panic context could do it even when it is not safe. But it is allowed
only for the final desperate flush before entering the infinite loop.

The new lock helps to flush the messages directly in emergency and panic
contexts. But it is not enough in all situations:

  - console_lock() is still need for synchronization against boot consoles.

  - con->device_lock() is need for synchronization against other operations
    on the same HW, e.g. serial port speed setting, non-printk related
    read/write.

The dependency on con->device_lock() is mutual. Any code taking the driver
specific lock has to acquire the related nbcon console context as well.
For example, see the new uart_port_lock() API. It provides the necessary
synchronization against emergency and panic contexts where the messages
are flushed only under the new per-console lock.

Maybe surprisingly, a quite tricky part is the decision how to flush
the consoles in various situations. It has to take into account:

  - message priority:	 normal, emergency, panic

  - scheduling context:	 task, atomic, deferred_legacy

  - registered consoles: boot, legacy, nbcon

  - threads are running: early boot, suspend, shutdown, panic

  - caller:		 printk(), pr_flush(), printk_flush_in_panic(),
			 console_unlock(), console_start(), ...

The primary decision is made in printk_get_console_flush_type(). It creates
a hint what the caller should do:

  - flush nbcon consoles directly or via the kthread

  - call the legacy loop (console_unlock()) directly or via irq_work

The existing behavior is preserved for the legacy consoles. The only
exception is that they are not longer flushed directly from printk() in
panic() before CPUs are stopped. But this blocking happens only when at
least one nbcon console is registered. The motivation is to increase
a chance to produce the crash dump. They legacy consoles might create
a deadlock in compare with nbcon consoles. The nbcon console should
allow to see the messages even when the crash dump fails.

There are three possible ways how nbcon consoles are flushed:

  - The per-nbcon-console kthread is responsible for flushing messages
    added with the normal priority. This is the default mode.

  - The legacy loop, aka console_unlock(), is used when there is still
    a boot console registered. There is no easy way how to match an early
    console driver with a nbcon console driver. And the console_lock()
    provides the only reliable serialization at the moment.

    The legacy loop uses either con->write_atomic() or con->write_thread()
    callbacks depending on whether it is allowed to schedule. The atomic
    variant has to be used from printk().

  - In other situations, the messages are flushed directly using
    write_atomic() which can be called in any context, including NMI.
    It is primary needed during early boot or shutdown, in emergency
    situations, and panic.

The emergency priority is used by a code called within
nbcon_cpu_emergency_enter()/exit(). At the moment, it is used in four
situations: WARN(), Oops, lockdep, and RCU stall reports.

Finally, there is no nbcon console at the moment. It means that the changes
should _not_ modify the existing behavior. The only exception is CONFIG_RT
which would force offloading the legacy loop, for normal priority context,
into the dedicated kthread.

===============================================

Two thirds of the changes has already been in the pull request for 6.11.
The user-visible change is that the flushing is no longer postponed
in the emergency sections. The logic has been further simplified
by using printk_get_console_flush_type() already at this stage.

The new third of the changes added the write_thread() callback,
implemented the kthreads, and updated procfs and sysfs interfaces.

----------------------------------------------------------------
Jinjie Ruan (1):
      printk: Use the BITS_PER_LONG macro

John Ogness (47):
      printk: Add notation to console_srcu locking
      printk: nbcon: Consolidate alloc() and init()
      printk: nbcon: Clarify rules of the owner/waiter matching
      printk: nbcon: Remove return value for write_atomic()
      printk: nbcon: Add detailed doc for write_atomic()
      printk: nbcon: Add callbacks to synchronize with driver
      printk: nbcon: Use driver synchronization while (un)registering
      serial: core: Provide low-level functions to lock port
      serial: core: Introduce wrapper to set @uart_port->cons
      console: Improve console_srcu_read_flags() comments
      nbcon: Add API to acquire context for non-printing operations
      serial: core: Acquire nbcon context in port->lock wrapper
      printk: nbcon: Do not rely on proxy headers
      printk: Make console_is_usable() available to nbcon.c
      printk: Let console_is_usable() handle nbcon
      printk: Add @flags argument for console_is_usable()
      printk: nbcon: Add helper to assign priority based on CPU state
      printk: Track registered boot consoles
      printk: nbcon: Use nbcon consoles in console_flush_all()
      printk: Add is_printk_legacy_deferred()
      printk: nbcon: Flush new records on device_release()
      printk: Flush nbcon consoles first on panic
      printk: nbcon: Add unsafe flushing on panic
      printk: Avoid console_lock dance if no legacy or boot consoles
      printk: Track nbcon consoles
      printk: Coordinate direct printing in panic
      printk: Add helper for flush type logic
      panic: Mark emergency section in oops
      rcu: Mark emergency sections in rcu stalls
      lockdep: Mark emergency sections in lockdep splats
      printk: nbcon: Use raw_cpu_ptr() instead of open coding
      printk: nbcon: Add function for printers to reacquire ownership
      printk: Fail pr_flush() if before SYSTEM_SCHEDULING
      printk: Flush console on unregister_console()
      printk: nbcon: Add context to usable() and emit()
      printk: nbcon: Init @nbcon_seq to highest possible
      printk: nbcon: Relocate nbcon_atomic_emit_one()
      printk: nbcon: Use thread callback if in task context for legacy
      printk: nbcon: Rely on kthreads for normal operation
      printk: Provide helper for message prepending
      printk: nbcon: Show replay message on takeover
      proc: consoles: Add notation to c_start/c_stop
      proc: Add nbcon support for /proc/consoles
      tty: sysfs: Add nbcon support for 'active'
      printk: Implement legacy printer kthread for PREEMPT_RT
      printk: nbcon: Assign nice -20 for printing threads
      printk: Avoid false positive lockdep report for legacy printing

Petr Mladek (1):
      printk: Properly deal with nbcon consoles on seq init

Sebastian Andrzej Siewior (1):
      printk: Check printk_deferred_enter()/_exit() usage

Thomas Gleixner (4):
      printk: nbcon: Provide function to flush using write_atomic()
      printk: nbcon: Implement emergency sections
      panic: Mark emergency section in warn
      printk: nbcon: Introduce printer kthreads

 drivers/tty/serial/8250/8250_core.c |   6 +-
 drivers/tty/serial/amba-pl011.c     |   2 +-
 drivers/tty/serial/serial_core.c    |  16 +-
 drivers/tty/tty_io.c                |   2 +-
 fs/proc/consoles.c                  |   7 +-
 include/linux/console.h             | 158 +++++-
 include/linux/printk.h              |  33 +-
 include/linux/serial_core.h         | 117 ++++-
 kernel/locking/lockdep.c            |  83 +++-
 kernel/panic.c                      |   9 +
 kernel/printk/internal.h            | 207 +++++++-
 kernel/printk/nbcon.c               | 936 +++++++++++++++++++++++++++++++++---
 kernel/printk/printk.c              | 714 ++++++++++++++++++++++-----
 kernel/printk/printk_ringbuffer.h   |   7 +-
 kernel/printk/printk_safe.c         |  25 +-
 kernel/rcu/tree_exp.h               |   7 +
 kernel/rcu/tree_stall.h             |   9 +
 17 files changed, 2125 insertions(+), 213 deletions(-)

.
Date: Fri, 13 Sep 2024 17:40:01 +0100
From: Will Deacon <will@kernel.org>
To: torvalds@linux-foundation.org
Cc: catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel-team@android.com
Subject: [GIT PULL] arm64 updates for 6.12

Hi Linus,

Like a bunch of folks, I'll be living off conference coffee and canapes
for the next week or so, so here's the arm64 pull request for 6.12
before the chaos descends and the malnutrition sets in.

There's the usual summary in the tag, but the highlights are support for
Arm's "Permission Overlay Extension" using memory protection keys,
support for running as a protected guest on Android as well as perf
support for a bunch of new interconnect PMUs.

There's a trivial conflict with the kvmarm tree which was resolved in
linux-next as per [1]. Any issues, just yell.

Please pull,

Will

[1] https://lore.kernel.org/r/20240905160856.14e95d14@canb.auug.org.au

--->8

The following changes since commit 7c626ce4bae1ac14f60076d00eafe71af30450ba:

  Linux 6.11-rc3 (2024-08-11 14:27:14 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-upstream

for you to fetch changes up to 75078ba2b38a38d94017bd334f71aaed205e30a4:

  Merge branch 'for-next/timers' into for-next/core (2024-09-12 13:44:03 +0100)

----------------------------------------------------------------
arm64 updates for 6.12

ACPI:
* Enable PMCG erratum workaround for HiSilicon HIP10 and 11 platforms.
* Ensure arm64-specific IORT header is covered by MAINTAINERS.

CPU Errata:
* Enable workaround for hardware access/dirty issue on Ampere-1A cores.

Memory management:
* Define PHYSMEM_END to fix a crash in the amdgpu driver.
* Avoid tripping over invalid kernel mappings on the kexec() path.
* Userspace support for the Permission Overlay Extension (POE) using
  protection keys.

Perf and PMUs:
* Add support for the "fixed instruction counter" extension in the CPU
  PMU architecture.
* Extend and fix the event encodings for Apple's M1 CPU PMU.
* Allow LSM hooks to decide on SPE permissions for physical profiling.
* Add support for the CMN S3 and NI-700 PMUs.

Confidential Computing:
* Add support for booting an arm64 kernel as a protected guest under
  Android's "Protected KVM" (pKVM) hypervisor.

Selftests:
* Fix vector length issues in the SVE/SME sigreturn tests
* Fix build warning in the ptrace tests.

Timers:
* Add support for PR_{G,S}ET_TSC so that 'rr' can deal with
  non-determinism arising from the architected counter.

Miscellaneous:
* Rework our IPI-based CPU stopping code to try NMIs if regular IPIs
  don't succeed.
* Minor fixes and cleanups.

----------------------------------------------------------------
Anastasia Belova (1):
      arm64: esr: Define ESR_ELx_EC_* constants as UL

Andre Przywara (1):
      kselftest/arm64: signal: fix/refactor SVE vector length enumeration

Andy Shevchenko (1):
      ACPI/IORT: Switch to use kmemdup_array()

Anshuman Khandual (2):
      arm64/mm: Drop PMD_SECT_VALID
      arm64/mm: Drop TCR_SMP_FLAGS

Barry Song (1):
      mm: arm64: document why pte is not advanced in contpte_ptep_set_access_flags()

D Scott Phillips (2):
      arm64: errata: Enable the AC03_CPU_38 workaround for ampere1a
      arm64: Expose the end of the linear map in PHYSMEM_END

Dan Carpenter (1):
      perf: arm-ni: Fix an NULL vs IS_ERR() bug

Dave Martin (2):
      arm64: signal: Fix some under-bracketed UAPI macros
      arm64: el2_setup.h: Rename some labels to be more diff-friendly

Dev Jain (1):
      kselftest/arm64: Fix build warnings for ptrace

Douglas Anderson (1):
      arm64: smp: smp_send_stop() and crash_smp_send_stop() should try non-NMI first

Fares Mehanna (1):
      arm64: trans_pgd: mark PTEs entries as valid to avoid dead kexec()

Hanjun Guo (1):
      ACPI: ARM64: add acpi_iort.h to MAINTAINERS

Huang Xiaojia (1):
      arm64: Constify struct kobj_type

Ilkka Koskinen (1):
      perf: arm_pmuv3: Use BR_RETIRED for HW branch event if enabled

James Clark (1):
      drivers/perf: arm_spe: Use perf_allow_kernel() for permissions

Jing Zhang (1):
      drivers/perf: Fix ali_drw_pmu driver interrupt status clearing

Joey Gouly (32):
      KVM: arm64: Make kvm_at() take an OP_AT_*
      arm64: disable trapping of POR_EL0 to EL2
      arm64: cpufeature: add Permission Overlay Extension cpucap
      arm64: context switch POR_EL0 register
      KVM: arm64: Save/restore POE registers
      KVM: arm64: use `at s1e1a` for POE
      KVM: arm64: Sanitise ID_AA64MMFR3_EL1
      KVM: selftests: get-reg-list: add Permission Overlay registers
      powerpc/mm: add ARCH_PKEY_BITS to Kconfig
      x86/mm: add ARCH_PKEY_BITS to Kconfig
      mm: use ARCH_PKEY_BITS to define VM_PKEY_BITN
      arm64: enable the Permission Overlay Extension for EL0
      arm64: re-order MTE VM_ flags
      arm64: add POIndex defines
      arm64: convert protection key into vm_flags and pgprot values
      arm64: mask out POIndex when modifying a PTE
      arm64: handle PKEY/POE faults
      arm64: add pte_access_permitted_no_overlay()
      arm64: implement PKEYS support
      arm64: add POE signal support
      arm64/ptrace: add support for FEAT_POE
      arm64: enable POE and PIE to coexist
      arm64: enable PKEY support for CPUs with S1POE
      arm64: add Permission Overlay Extension Kconfig
      kselftest/arm64: move get_header()
      selftests: mm: move fpregs printing
      selftests: mm: make protection_keys test work on arm64
      kselftest/arm64: add HWCAP test for FEAT_S1POE
      kselftest/arm64: parse POE_MAGIC in a signal frame
      kselftest/arm64: Add test case for POR_EL0 signal frame records
      arm64/mm: use lm_alias() with addresses passed to memblock_free()
      arm64: pkeys: remove redundant WARN

Krishna chaitanya chundru (4):
      perf/dwc_pcie: Fix registration issue in multi PCIe controller instances
      Documentation: dwc_pcie_pmu: Update bdf to sbdf
      perf/dwc_pcie: Always register for PCIe bus notifier
      perf/dwc_pcie: Add support for QCOM vendor devices

Marc Zyngier (1):
      firmware/smccc: Call arch-specific hook on discovering KVM services

Mark Brown (1):
      kselftest/arm64: Actually test SME vector length changes via sigreturn

Min-Hua Chen (1):
      arm64: hibernate: Fix warning for cast from restricted gfp_t

Peter Collingbourne (1):
      arm64: Implement prctl(PR_{G,S}ET_TSC)

Rob Herring (Arm) (8):
      perf: arm_pmu: Use of_property_present()
      perf: arm_pmu: Remove event index to counter remapping
      perf: arm_pmuv3: Prepare for more than 32 counters
      KVM: arm64: pmu: Use arm_pmuv3.h register accessors
      KVM: arm64: pmu: Use generated define for PMSELR_EL0.SEL access
      arm64: perf/kvm: Use a common PMU cycle counter define
      KVM: arm64: Refine PMU defines for number of counters
      perf: arm_pmuv3: Add support for Armv9.4 PMU instruction counter

Robin Murphy (13):
      perf/arm-cmn: Refactor node ID handling. Again.
      perf/arm-cmn: Fix CCLA register offset
      perf/arm-cmn: Ensure dtm_idx is big enough
      perf/arm-cmn: Improve build-time assertion
      perf/arm-cmn: Make cycle counts less surprising
      perf/arm-cmn: Refactor DTC PMU register access
      dt-bindings: perf: arm-cmn: Add CMN S3
      perf/arm-cmn: Support CMN S3
      perf/arm-cmn: Clean up unnecessary NUMA_NO_NODE check
      perf/arm-cmn: Improve format attr printing
      dt-bindings/perf: Add Arm NI-700 PMU
      perf: Add driver for Arm NI-700 interconnect PMU
      MAINTAINERS: List Arm interconnect PMUs as supported

Rong Qianfeng (1):
      arm64/mm: Delete __init region from memblock.reserved

Will Deacon (16):
      drivers/virt: pkvm: Add initial support for running as a protected guest
      arm64: mm: Add top-level dispatcher for internal mem_encrypt API
      drivers/virt: pkvm: Hook up mem_encrypt API using pKVM hypercalls
      arm64: mm: Add confidential computing hook to ioremap_prot()
      drivers/virt: pkvm: Intercept ioremap using pKVM MMIO_GUARD hypercall
      arm64: smccc: Reserve block of KVM "vendor" services for pKVM hypercalls
      Merge remote-tracking branch 'kvmarm/arm64-shared-6.12' into for-next/poe
      Merge branch 'for-next/acpi' into for-next/core
      Merge branch 'for-next/errata' into for-next/core
      Merge branch 'for-next/misc' into for-next/core
      Merge branch 'for-next/mm' into for-next/core
      Merge branch 'for-next/perf' into for-next/core
      Merge branch 'for-next/pkvm-guest' into for-next/core
      Merge branch 'for-next/poe' into for-next/core
      Merge branch 'for-next/selftests' into for-next/core
      Merge branch 'for-next/timers' into for-next/core

Yangyu Chen (1):
      drivers/perf: apple_m1: add known PMU events

Yicong Yang (4):
      ACPI/IORT: Add PMCG platform information for HiSilicon HIP10/11
      drivers/perf: hisi_pcie: Record hardware counts correctly
      drivers/perf: hisi_pcie: Fix TLP headers bandwidth counting
      drivers/perf: hisi_pcie: Export supported Root Ports [bdf_min, bdf_max]

Yue Haibing (2):
      arm64: mm: Remove unused declaration early_io_map()
      arm64/sve: Remove unused declaration read_smcr_features()

 Documentation/admin-guide/perf/arm-ni.rst          |  17 +
 Documentation/admin-guide/perf/dwc_pcie_pmu.rst    |  16 +-
 Documentation/admin-guide/perf/hisi-pcie-pmu.rst   |   4 +-
 Documentation/admin-guide/perf/index.rst           |   1 +
 Documentation/arch/arm64/elf_hwcaps.rst            |   2 +
 Documentation/arch/arm64/silicon-errata.rst        |   6 +-
 .../devicetree/bindings/perf/arm,cmn.yaml          |   1 +
 Documentation/devicetree/bindings/perf/arm,ni.yaml |  30 +
 Documentation/virt/kvm/arm/hypercalls.rst          |  98 +++
 MAINTAINERS                                        |  12 +
 arch/arm/include/asm/arm_pmuv3.h                   |  20 +
 arch/arm/include/asm/hypervisor.h                  |   2 +
 arch/arm64/Kconfig                                 |  26 +-
 arch/arm64/include/asm/arm_pmuv3.h                 |  53 +-
 arch/arm64/include/asm/cpufeature.h                |   6 +
 arch/arm64/include/asm/cputype.h                   |   2 +
 arch/arm64/include/asm/el2_setup.h                 |  25 +-
 arch/arm64/include/asm/esr.h                       |  88 +--
 arch/arm64/include/asm/fpsimd.h                    |   2 -
 arch/arm64/include/asm/hwcap.h                     |   1 +
 arch/arm64/include/asm/hypervisor.h                |  11 +
 arch/arm64/include/asm/io.h                        |   4 +
 arch/arm64/include/asm/kvm_asm.h                   |   3 +-
 arch/arm64/include/asm/kvm_host.h                  |  12 +-
 arch/arm64/include/asm/mem_encrypt.h               |  15 +
 arch/arm64/include/asm/memory.h                    |   2 +
 arch/arm64/include/asm/mman.h                      |  10 +-
 arch/arm64/include/asm/mmu.h                       |   2 +-
 arch/arm64/include/asm/mmu_context.h               |  46 +-
 arch/arm64/include/asm/pgtable-hwdef.h             |  11 +-
 arch/arm64/include/asm/pgtable-prot.h              |   8 +-
 arch/arm64/include/asm/pgtable.h                   |  34 +-
 arch/arm64/include/asm/pkeys.h                     | 106 +++
 arch/arm64/include/asm/por.h                       |  33 +
 arch/arm64/include/asm/processor.h                 |   6 +
 arch/arm64/include/asm/set_memory.h                |   1 +
 arch/arm64/include/asm/sysreg.h                    |   4 +-
 arch/arm64/include/asm/thread_info.h               |   2 +
 arch/arm64/include/asm/traps.h                     |   1 +
 arch/arm64/include/asm/vncr_mapping.h              |   1 +
 arch/arm64/include/uapi/asm/hwcap.h                |   1 +
 arch/arm64/include/uapi/asm/mman.h                 |   9 +
 arch/arm64/include/uapi/asm/sigcontext.h           |  13 +-
 arch/arm64/kernel/cpu_errata.c                     |  10 +-
 arch/arm64/kernel/cpufeature.c                     |  23 +
 arch/arm64/kernel/cpuinfo.c                        |   3 +-
 arch/arm64/kernel/hibernate.c                      |   2 +-
 arch/arm64/kernel/process.c                        |  97 ++-
 arch/arm64/kernel/ptrace.c                         |  46 ++
 arch/arm64/kernel/signal.c                         |  62 ++
 arch/arm64/kernel/smp.c                            | 164 +++--
 arch/arm64/kernel/traps.c                          |  26 +-
 arch/arm64/kvm/hyp/include/hyp/fault.h             |   5 +-
 arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h         |  27 +
 arch/arm64/kvm/pmu-emul.c                          |  14 +-
 arch/arm64/kvm/pmu.c                               |  87 +--
 arch/arm64/kvm/sys_regs.c                          |  36 +-
 arch/arm64/mm/Makefile                             |   2 +-
 arch/arm64/mm/contpte.c                            |   6 +
 arch/arm64/mm/fault.c                              |  55 +-
 arch/arm64/mm/init.c                               |  12 +-
 arch/arm64/mm/ioremap.c                            |  23 +-
 arch/arm64/mm/mem_encrypt.c                        |  50 ++
 arch/arm64/mm/mmap.c                               |  11 +
 arch/arm64/mm/mmu.c                                |  45 ++
 arch/arm64/mm/proc.S                               |   4 +-
 arch/arm64/mm/trans_pgd.c                          |   6 +-
 arch/arm64/tools/cpucaps                           |   1 +
 arch/arm64/tools/sysreg                            |  30 +
 arch/powerpc/Kconfig                               |   4 +
 arch/x86/Kconfig                                   |   4 +
 drivers/acpi/arm64/iort.c                          |   9 +-
 drivers/firmware/smccc/kvm_guest.c                 |   2 +
 drivers/perf/Kconfig                               |   7 +
 drivers/perf/Makefile                              |   1 +
 drivers/perf/alibaba_uncore_drw_pmu.c              |   2 +-
 drivers/perf/apple_m1_cpu_pmu.c                    | 182 +++--
 drivers/perf/arm-cmn.c                             | 318 +++++----
 drivers/perf/arm-ni.c                              | 781 +++++++++++++++++++++
 drivers/perf/arm_pmu.c                             |  11 +-
 drivers/perf/arm_pmu_platform.c                    |   2 +-
 drivers/perf/arm_pmuv3.c                           | 148 ++--
 drivers/perf/arm_spe_pmu.c                         |   9 +-
 drivers/perf/arm_v6_pmu.c                          |   6 +-
 drivers/perf/arm_v7_pmu.c                          |  77 +-
 drivers/perf/arm_xscale_pmu.c                      |  12 +-
 drivers/perf/dwc_pcie_pmu.c                        |  22 +-
 drivers/perf/hisilicon/hisi_pcie_pmu.c             |  34 +-
 drivers/virt/coco/Kconfig                          |   2 +
 drivers/virt/coco/Makefile                         |   1 +
 drivers/virt/coco/pkvm-guest/Kconfig               |  10 +
 drivers/virt/coco/pkvm-guest/Makefile              |   2 +
 drivers/virt/coco/pkvm-guest/arm-pkvm-guest.c      | 127 ++++
 fs/proc/task_mmu.c                                 |   2 +
 include/kvm/arm_pmu.h                              |   8 +-
 include/linux/arm-smccc.h                          |  88 +++
 include/linux/mm.h                                 |  20 +-
 include/linux/perf/arm_pmu.h                       |  10 +-
 include/linux/perf/arm_pmuv3.h                     |   9 +-
 include/linux/perf_event.h                         |   8 +-
 include/uapi/linux/elf.h                           |   1 +
 kernel/events/core.c                               |   9 +
 tools/testing/selftests/arm64/abi/hwcap.c          |  14 +
 tools/testing/selftests/arm64/abi/ptrace.c         |   4 +-
 tools/testing/selftests/arm64/signal/.gitignore    |   1 +
 tools/testing/selftests/arm64/signal/Makefile      |   2 +-
 tools/testing/selftests/arm64/signal/sve_helpers.c |  56 ++
 tools/testing/selftests/arm64/signal/sve_helpers.h |  21 +
 .../testcases/fake_sigreturn_sme_change_vl.c       |  46 +-
 .../testcases/fake_sigreturn_sve_change_vl.c       |  30 +-
 .../selftests/arm64/signal/testcases/poe_siginfo.c |  86 +++
 .../selftests/arm64/signal/testcases/ssve_regs.c   |  36 +-
 .../arm64/signal/testcases/ssve_za_regs.c          |  36 +-
 .../selftests/arm64/signal/testcases/sve_regs.c    |  32 +-
 .../selftests/arm64/signal/testcases/testcases.c   |  27 +-
 .../selftests/arm64/signal/testcases/testcases.h   |  28 +-
 .../selftests/arm64/signal/testcases/za_no_regs.c  |  32 +-
 .../selftests/arm64/signal/testcases/za_regs.c     |  36 +-
 tools/testing/selftests/kvm/aarch64/get-reg-list.c |  14 +
 tools/testing/selftests/mm/Makefile                |   2 +-
 tools/testing/selftests/mm/pkey-arm64.h            | 139 ++++
 tools/testing/selftests/mm/pkey-helpers.h          |   8 +
 tools/testing/selftests/mm/pkey-powerpc.h          |   3 +
 tools/testing/selftests/mm/pkey-x86.h              |   4 +
 tools/testing/selftests/mm/protection_keys.c       | 109 ++-
 125 files changed, 3395 insertions(+), 893 deletions(-)
 create mode 100644 Documentation/admin-guide/perf/arm-ni.rst
 create mode 100644 Documentation/devicetree/bindings/perf/arm,ni.yaml
 create mode 100644 arch/arm64/include/asm/mem_encrypt.h
 create mode 100644 arch/arm64/include/asm/pkeys.h
 create mode 100644 arch/arm64/include/asm/por.h
 create mode 100644 arch/arm64/mm/mem_encrypt.c
 create mode 100644 drivers/perf/arm-ni.c
 create mode 100644 drivers/virt/coco/pkvm-guest/Kconfig
 create mode 100644 drivers/virt/coco/pkvm-guest/Makefile
 create mode 100644 drivers/virt/coco/pkvm-guest/arm-pkvm-guest.c
 create mode 100644 tools/testing/selftests/arm64/signal/sve_helpers.c
 create mode 100644 tools/testing/selftests/arm64/signal/sve_helpers.h
 create mode 100644 tools/testing/selftests/arm64/signal/testcases/poe_siginfo.c
 create mode 100644 tools/testing/selftests/mm/pkey-arm64.h

.
Date: Fri, 13 Sep 2024 18:56:36 +0200
From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
	linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs netfs

Hey Linus,

/* Summary */

This contains the work to improve read/write performance for the new
netfs library.

The main performance enhancing changes are:

    - Define a structure, struct folio_queue, and a new iterator type,
      ITER_FOLIOQ, to hold a buffer as a replacement for ITER_XARRAY. See
      that patch for questions about naming and form.

      ITER_FOLIOQ is provided as a replacement for ITER_XARRAY. The
      problem with an xarray is that accessing it requires the use of a
      lock (typically the RCU read lock) - and this means that we can't
      supply iterate_and_advance() with a step function that might sleep
      (crypto for example) without having to drop the lock between
      pages. ITER_FOLIOQ is the iterator for a chain of folio_queue
      structs, where each folio_queue holds a small list of folios. A
      folio_queue struct is a simpler structure than xarray and is not
      subject to concurrent manipulation by the VM. folio_queue is used
      rather than a bvec[] as it can form lists of indefinite size,
      adding to one end and removing from the other on the fly.

    - Provide a copy_folio_from_iter() wrapper.

    - Make cifs RDMA support ITER_FOLIOQ.

    - Use folio queues in the write-side helpers instead of xarrays.

    - Add a function to reset the iterator in a subrequest.

    - Simplify the write-side helpers to use sheaves to skip gaps rather
      than trying to work out where gaps are.

    - In afs, make the read subrequests asynchronous, putting them into work
      items to allow the next patch to do progressive unlocking/reading.

    - Overhaul the read-side helpers to improve performance.

    - Fix the caching of a partial block at the end of a file.

    - Allow a store to be cancelled.

Then some changes for cifs to make it use folio queues instead of
xarrays for crypto bufferage:

    - Use raw iteration functions rather than manually coding iteration when
      hashing data.

    - Switch to using folio_queue for crypto buffers.

    - Remove the xarray bits.

Make some adjustments to the /proc/fs/netfs/stats file such that:

    - All the netfs stats lines begin 'Netfs:' but change this to something
      a bit more useful.

    - Add a couple of stats counters to track the numbers of skips and waits
      on the per-inode writeback serialisation lock to make it easier to
      check for this as a source of performance loss.

Miscellaneous work:

    - Ensure that the sb_writers lock is taken around
      vfs_{set,remove}xattr() in the cachefiles code.

    - Reduce the number of conditional branches in netfs_perform_write().

    - Move the CIFS_INO_MODIFIED_ATTR flag to the netfs_inode struct and
      remove cifs_post_modify().

    - Move the max_len/max_nr_segs members from netfs_io_subrequest to
      netfs_io_request as they're only needed for one subreq at a time.

    - Add an 'unknown' source value for tracing purposes.

    - Remove NETFS_COPY_TO_CACHE as it's no longer used.

    - Set the request work function up front at allocation time.

    - Use bh-disabling spinlocks for rreq->lock as cachefiles completion may
      be run from block-filesystem DIO completion in softirq context.

    - Remove fs/netfs/io.c.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-3)
Debian clang version 16.0.6 (27+b1)

All patches are based on the vfs-6.11-rc7.fixes merge to bring in prerequisite
fixes in individual filesystems. All of this has been sitting in linux-next. No
build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known merge conflicts.

This has now a merge conflict with main due to some rather late cifs fixes.
This can be resolved by:

git rm fs/netfs/io.c

and then:

diff --cc fs/smb/client/cifssmb.c
index cfae2e918209,04f2a5441a89..d0df0c17b18f
--- a/fs/smb/client/cifssmb.c
+++ b/fs/smb/client/cifssmb.c
@@@ -1261,16 -1261,6 +1261,14 @@@ openRetry
        return rc;
  }

 +static void cifs_readv_worker(struct work_struct *work)
 +{
 +      struct cifs_io_subrequest *rdata =
 +              container_of(work, struct cifs_io_subrequest, subreq.work);
 +
-       netfs_subreq_terminated(&rdata->subreq,
-                               (rdata->result == 0 || rdata->result == -EAGAIN) ?
-                               rdata->got_bytes : rdata->result, true);
++      netfs_read_subreq_terminated(&rdata->subreq, rdata->result, false);
 +}
 +
  static void
  cifs_readv_callback(struct mid_q_entry *mid)
  {
@@@ -1323,21 -1306,11 +1321,23 @@@
                rdata->result = -EIO;
        }

 -      if (rdata->result == 0 || rdata->result == -EAGAIN)
 -              iov_iter_advance(&rdata->subreq.io_iter, rdata->got_bytes);
 +      if (rdata->result == -ENODATA) {
 +              __set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags);
 +              rdata->result = 0;
 +      } else {
-               if (rdata->got_bytes < rdata->actual_len &&
-                   rdata->subreq.start + rdata->subreq.transferred + rdata->got_bytes ==
-                   ictx->remote_i_size) {
++              size_t trans = rdata->subreq.transferred + rdata->got_bytes;
++              if (trans < rdata->subreq.len &&
++                  rdata->subreq.start + trans == ictx->remote_i_size) {
 +                      __set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags);
 +                      rdata->result = 0;
 +              }
 +      }
 +
        rdata->credits.value = 0;
+       rdata->subreq.transferred += rdata->got_bytes;
 -      netfs_read_subreq_terminated(&rdata->subreq, rdata->result, false);
++      trace_netfs_sreq(&rdata->subreq, netfs_sreq_trace_io_progress);
 +      INIT_WORK(&rdata->subreq.work, cifs_readv_worker);
 +      queue_work(cifsiod_wq, &rdata->subreq.work);
        release_mid(mid);
        add_credits(server, &credits, 0);
  }
diff --cc fs/smb/client/smb2pdu.c
index 88dc49d67037,95377bb91950..bb8ecbbe78af
--- a/fs/smb/client/smb2pdu.c
+++ b/fs/smb/client/smb2pdu.c
@@@ -4614,6 -4613,10 +4613,8 @@@ smb2_readv_callback(struct mid_q_entry
                              server->credits, server->in_flight,
                              0, cifs_trace_rw_credits_read_response_clear);
        rdata->credits.value = 0;
+       rdata->subreq.transferred += rdata->got_bytes;
 -      if (rdata->subreq.start + rdata->subreq.transferred >= rdata->subreq.rreq->i_size)
 -              __set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags);
+       trace_netfs_sreq(&rdata->subreq, netfs_sreq_trace_io_progress);
        INIT_WORK(&rdata->subreq.work, smb2_readv_worker);
        queue_work(cifsiod_wq, &rdata->subreq.work);
        release_mid(mid);

Merge conflicts with other trees
================================

No known merge conflicts.

The following changes since commit 4356ab331c8f0dbed0f683abde345cd5503db1e4:

  Merge tag 'vfs-6.11-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs (2024-09-04 09:33:57 -0700)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.12.netfs

for you to fetch changes up to 4b40d43d9f951d87ae8dc414c2ef5ae50303a266:

  docs: filesystems: corrected grammar of netfs page (2024-09-12 12:20:43 +0200)

Please consider pulling these changes from the signed vfs-6.12.netfs tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.12.netfs

----------------------------------------------------------------
Christian Brauner (1):
      Merge branch 'netfs-writeback' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into vfs.netfs

David Howells (24):
      cachefiles: Fix non-taking of sb_writers around set/removexattr
      netfs: Adjust labels in /proc/fs/netfs/stats
      netfs: Record contention stats for writeback lock
      netfs: Reduce number of conditional branches in netfs_perform_write()
      netfs, cifs: Move CIFS_INO_MODIFIED_ATTR to netfs_inode
      netfs: Move max_len/max_nr_segs from netfs_io_subrequest to netfs_io_stream
      netfs: Reserve netfs_sreq_source 0 as unset/unknown
      netfs: Remove NETFS_COPY_TO_CACHE
      netfs: Set the request work function upon allocation
      netfs: Use bh-disabling spinlocks for rreq->lock
      mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios
      iov_iter: Provide copy_folio_from_iter()
      cifs: Provide the capability to extract from ITER_FOLIOQ to RDMA SGEs
      netfs: Use new folio_queue data type and iterator instead of xarray iter
      netfs: Provide an iterator-reset function
      netfs: Simplify the writeback code
      afs: Make read subreqs async
      netfs: Speed up buffered reading
      netfs: Remove fs/netfs/io.c
      cachefiles, netfs: Fix write to partial block at EOF
      netfs: Cancel dirty folios that have no storage destination
      cifs: Use iterate_and_advance*() routines directly for hashing
      cifs: Switch crypto buffer to use a folio_queue rather than an xarray
      cifs: Don't support ITER_XARRAY

Dennis Lam (1):
      docs: filesystems: corrected grammar of netfs page

 Documentation/filesystems/netfs_library.rst |   2 +-
 fs/9p/vfs_addr.c                            |  11 +-
 fs/afs/file.c                               |  30 +-
 fs/afs/fsclient.c                           |   9 +-
 fs/afs/write.c                              |   4 +-
 fs/afs/yfsclient.c                          |   9 +-
 fs/cachefiles/io.c                          |  19 +-
 fs/cachefiles/xattr.c                       |  34 +-
 fs/ceph/addr.c                              |  76 +--
 fs/netfs/Makefile                           |   4 +-
 fs/netfs/buffered_read.c                    | 766 ++++++++++++++++----------
 fs/netfs/buffered_write.c                   | 309 +++++------
 fs/netfs/direct_read.c                      | 147 ++++-
 fs/netfs/internal.h                         |  43 +-
 fs/netfs/io.c                               | 804 ----------------------------
 fs/netfs/iterator.c                         |  50 ++
 fs/netfs/main.c                             |   7 +-
 fs/netfs/misc.c                             |  94 ++++
 fs/netfs/objects.c                          |  16 +-
 fs/netfs/read_collect.c                     | 544 +++++++++++++++++++
 fs/netfs/read_pgpriv2.c                     | 264 +++++++++
 fs/netfs/read_retry.c                       | 256 +++++++++
 fs/netfs/stats.c                            |  27 +-
 fs/netfs/write_collect.c                    | 246 +++------
 fs/netfs/write_issue.c                      |  93 ++--
 fs/nfs/fscache.c                            |  19 +-
 fs/nfs/fscache.h                            |   7 +-
 fs/smb/client/cifsencrypt.c                 | 144 +----
 fs/smb/client/cifsglob.h                    |   4 +-
 fs/smb/client/cifssmb.c                     |   6 +-
 fs/smb/client/file.c                        |  96 ++--
 fs/smb/client/smb2ops.c                     | 219 ++++----
 fs/smb/client/smb2pdu.c                     |  27 +-
 fs/smb/client/smbdirect.c                   |  82 +--
 include/linux/folio_queue.h                 | 156 ++++++
 include/linux/iov_iter.h                    | 104 ++++
 include/linux/netfs.h                       |  46 +-
 include/linux/uio.h                         |  18 +
 include/trace/events/netfs.h                | 144 +++--
 lib/iov_iter.c                              | 240 ++++++++-
 lib/kunit_iov_iter.c                        | 259 +++++++++
 lib/scatterlist.c                           |  69 ++-
 42 files changed, 3520 insertions(+), 1984 deletions(-)
 delete mode 100644 fs/netfs/io.c
 create mode 100644 fs/netfs/read_collect.c
 create mode 100644 fs/netfs/read_pgpriv2.c
 create mode 100644 fs/netfs/read_retry.c
 create mode 100644 include/linux/folio_queue.h

.
Date: Sat, 14 Sep 2024 01:48:29 +0800
From: Gao Xiang <xiang@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>, linux-erofs@lists.ozlabs.org,
	Chao Yu <chao@kernel.org>, Sandeep Dhavale <dhavale@google.com>,
	Hongzhen Luo <hongzhen@linux.alibaba.com>,
	Yiyang Wu <toolmanp@tlmp.cc>, Chunhai Guo <guochunhai@vivo.com>
Subject: [GIT PULL] erofs updates for 6.12-rc1

Hi Linus,

Could you consider this pull request for 6.12-rc1? It's a bit earlier
due to our mid-autumn festival holidays next week.

In this cycle, we'd like to add file-backed mount support, which has
has been a strong requirement for years.  It is especially useful when
there are thousands of images running on the same host for containers
and other sandbox use cases, unlike OS image use cases.

Without file-backed mounts, it's hard for container runtimes  to manage
and isolate so many unnecessary virtual block devices safely and
efficiently, therefore file-backed mounts are highly preferred.
For EROFS users, ComposeFS [1], containerd, and Android APEXes [2] will
directly benefit from it, and I've seen no risk in implementing it as
a completely immutable filesystem.

The previous experimental feature "EROFS over fscache" is now marked as
deprecated because:

 - Fscache is no longer an independent subsystem and has been merged
   into netfs, which was somewhat unexpected when it was proposed.

 - New HSM "fanotify pre-content hooks" [3] will be landed upstream.
   These hooks will replace "EROFS over fscache" in a simpler way, as
   EROFS won't be bother with kernel caching anymore.  Userspace
   programs can also manage their own caching hierarchy more flexibly.

Once the HSM "fanotify pre-content hooks" is landed, I will remove the
fscache backend entirely as an internal dependency cleanup.  More
backgrounds are listed in the original patchset [4].

In addition to that, there are bugfixes and cleanups as usual as shown
below.  All commits have been in -next and no potential merge conflict
is observed.

Thanks,
Gao Xiang

[1] https://github.com/containers/storage/pull/2039 
[2] https://lore.kernel.org/r/CAB=BE-R3wU7hBBaeAXdkDp2kvODxSFWNQtcmc5tCppN5qwdQgw@mail.gmail.com
[3] https://lore.kernel.org/r/cover.1725481503.git.josef@toxicpanda.com
[4] https://lore.kernel.org/r/20240830032840.3783206-1-hsiangkao@linux.alibaba.com 

The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.12-rc1

for you to fetch changes up to 025497e1d176a9e063d1e60699527e2f3a871935:

  erofs: reject inodes with negative i_size (2024-09-12 23:00:09 +0800)

----------------------------------------------------------------
Changes since last update:

 - Support file-backed mounts for containers and sandboxes;

 - Mark the experimental fscache backend as deprecated;

 - Handle overlapped pclusters caused by crafted images properly;

 - Fix a failure path which could cause infinite loops in
   z_erofs_init_decompressor();

 - Get rid of unnecessary NOFAILs;

 - Harmless on-disk hardening & minor cleanups.

----------------------------------------------------------------
Chunhai Guo (1):
      erofs: allocate more short-lived pages from reserved pool first

Gao Xiang (10):
      erofs: fix incorrect symlink detection in fast symlink
      erofs: clean up erofs_register_sysfs()
      erofs: handle overlapped pclusters out of crafted images properly
      erofs: add file-backed mount support
      erofs: support unencoded inodes for fileio
      erofs: support compressed inodes for fileio
      erofs: mark experimental fscache backend deprecated
      erofs: sunset unneeded NOFAILs
      erofs: restrict pcluster size limitations
      erofs: reject inodes with negative i_size

Hongzhen Luo (1):
      erofs: simplify erofs_map_blocks_flatmode()

Sandeep Dhavale (1):
      erofs: fix error handling in z_erofs_init_decompressor

Yiyang Wu (2):
      erofs: use kmemdup_nul in erofs_fill_symlink
      erofs: refactor read_inode calling convention

 fs/erofs/Kconfig        |  22 +++++-
 fs/erofs/Makefile       |   1 +
 fs/erofs/data.c         | 109 ++++++++++++++++++---------
 fs/erofs/decompressor.c |   2 +-
 fs/erofs/erofs_fs.h     |   5 +-
 fs/erofs/fileio.c       | 192 +++++++++++++++++++++++++++++++++++++++++++++++
 fs/erofs/inode.c        | 138 +++++++++++++++-------------------
 fs/erofs/internal.h     |  26 ++++++-
 fs/erofs/super.c        |  80 +++++++++++++-------
 fs/erofs/sysfs.c        |  30 ++------
 fs/erofs/zdata.c        | 196 ++++++++++++++++++++++--------------------------
 fs/erofs/zmap.c         |  42 +++++------
 12 files changed, 544 insertions(+), 299 deletions(-)
 create mode 100644 fs/erofs/fileio.c

.
Date: Fri, 13 Sep 2024 19:30:19 +0100
From: Mark Brown <broonie@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>
Subject: [GIT PULL] SPI fixes for v6.11-rc7

The following changes since commit c9ca76e8239810ccb08825a7b847c39d367410a6:

  MAINTAINERS: SPI: Add mailing list imx@lists.linux.dev for nxp spi drivers (2024-09-05 19:15:45 +0100)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git tags/spi-fix-v6.11-rc7

for you to fetch changes up to 2a8787c1cdc7be24fdd8953ecd1a8743a1006235:

  spi: nxp-fspi: fix the KASAN report out-of-bounds bug (2024-09-11 22:25:44 +0100)

----------------------------------------------------------------
spi: Fixes for v6.11

A few last minute fixes for v6.11, they're all individually unremarkable
and only last minute due to when they came in.

----------------------------------------------------------------
Han Xu (1):
      spi: nxp-fspi: fix the KASAN report out-of-bounds bug

Jinjie Ruan (2):
      spi: geni-qcom: Undo runtime PM changes at driver exit time
      spi: geni-qcom: Fix incorrect free_irq() sequence

 drivers/spi/spi-geni-qcom.c | 17 ++++++++---------
 drivers/spi/spi-nxp-fspi.c  |  5 +++--
 2 files changed, 11 insertions(+), 11 deletions(-)

.
Date: Fri, 13 Sep 2024 15:27:17 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kwilczynski@kernel.org>,
	Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
	Philipp Stanner <pstanner@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>
Subject: [GIT PULL] PCI fixes for v6.11

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

  Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.11-fixes-4

for you to fetch changes up to fc8c818e756991f5f50b8dfab07f970a18da2556:

  PCI: Fix potential deadlock in pcim_intx() (2024-09-12 07:52:50 -0500)

Another fix to a commit merged during the v6.11 merge window.
----------------------------------------------------------------
- Prevent a possible deadlock (reported by lockdep) when a driver
  relinquishes a pci_dev, another driver claims it, and one uses
  managed pcim_enable_device() and the other doesn't (Philipp Stanner)

----------------------------------------------------------------
Philipp Stanner (1):
      PCI: Fix potential deadlock in pcim_intx()

 drivers/pci/devres.c | 2 ++
 1 file changed, 2 insertions(+)

.
Date: Fri, 13 Sep 2024 18:13:41 -0700
From: Sean Christopherson <seanjc@google.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, 
	Sean Christopherson <seanjc@google.com>
Subject: [GIT PULL] KVM: x86 pull requests for 6.12

There's a trivial (and amusing) conflict with KVM s390 in the selftests pull
request (we both added "config" to the .gitignore, within a few days of each
other, after the goof being around for a good year or more).

Note, the pull requests are relative to v6.11-rc4.  I got a late start, and for
some reason thought kvm/next would magically end up on rc4 or later.

Note #2, I had a brainfart and put the testcase for verifying KVM's fastpath
correctly exits to userspace when needed in selftests, whereas the actual KVM
fix is in misc.  So if you run KVM selftests in the middle of pulling everything,
expect the debug_regs test to fail.

.
Date: Fri, 13 Sep 2024 23:21:33 -0500
From: Steve French <smfrench@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>, CIFS <linux-cifs@vger.kernel.org>
Subject: [GIT PULL] smb3 fix

Please pull the following changes since commit
da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.samba.org/sfrench/cifs-2.6.git tags/6.11-rc7-SMB3-client-fix

for you to fetch changes up to 5a20b7cb0d8d3ee490a8e088dc2584aa782e3355:

  cifs: Fix signature miscalculation (2024-09-12 19:28:48 -0500)

----------------------------------------------------------------
Fix a case where many signing check of write failures
   ("signature verification returned error = -13")
----------------------------------------------------------------
David Howells (1):
      cifs: Fix signature miscalculation

 fs/smb/client/cifsencrypt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


-- 
Thanks,

Steve

.
Date: Fri, 13 Sep 2024 17:16:09 -0700
From: Casey Schaufler <casey@schaufler-ca.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LSM List <linux-security-module@vger.kernel.org>,
 Linux kernel mailing list <linux-kernel@vger.kernel.org>,
 Casey Schaufler <casey@schaufler-ca.com>,
 GiSeong Ji <jiggyjiggy0323@gmail.com>, Jiawei Ye <jiawei.ye@foxmail.com>
Subject: [GIT PULL] Smack patches for 6.12

Hello Linus,

Here is the Smack pull request for v6.12.

There are 2 patches. One is a simple indentation correction.
The other corrects a potentially rcu unsafe pointer assignment.
Both have time in next and pass all tests.

The following changes since commit 47ac09b91befbb6a235ab620c32af719f8208399:

  Linux 6.11-rc4 (2024-08-18 13:17:27 -0700)

are available in the Git repository at:

  https://github.com/cschaufler/smack-next tags/Smack-for-6.12

for you to fetch changes up to 2749749afa071f8a0e405605de9da615e771a7ce:

  smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso (2024-09-03 08:37:17 -0700)

----------------------------------------------------------------
Smack changes for v6.12
	- rcu pointer assignment in smk_set_cipso
	- indentation in smack_ip_output

----------------------------------------------------------------
GiSeong Ji (1):
      security: smack: Fix indentation in smack_netfilter.c

Jiawei Ye (1):
      smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso

 security/smack/smack_netfilter.c | 4 ++--
 security/smack/smackfs.c         | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)


.
Date: Sat, 14 Sep 2024 08:15:27 +0530
From: Neeraj Upadhyay <Neeraj.Upadhyay@kernel.org>
To: torvalds@linux-foundation.org
Cc: paulmck@kernel.org, joel@joelfernandes.org, frederic@kernel.org,
	boqun.feng@gmail.com, urezki@gmail.com, neeraj.iitr10@gmail.com,
	christophe.jaillet@wanadoo.fr, inwardvessel@gmail.com,
	riel@surriel.com, takakura@valinux.co.jp, seanjc@google.com,
	thorsten.blum@toblux.com, vschneid@redhat.com, longman@redhat.com,
	zhouzhouyi@gmail.com, qiang.zhang1211@gmail.com,
	linux-kernel@vger.kernel.org, kernel-team@meta.com,
	mingo@kernel.org, tglx@linutronix.de, rcu@vger.kernel.org
Subject: [GIT PULL] RCU changes for v6.12

Hello Linus,

When the merge window opens, please pull this RCU update from:

  git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu.release.v6.12

  # HEAD: 355debb83bf79853cde43579f88eed16adb1da29: Merge branches 'context_tracking.15.08.24a', 'csd.lock.15.08.24a', 'nocb.09.09.24a', 'rcutorture.14.08.24a', 'rcustall.09.09.24a', 'srcu.12.08.24a', 'rcu.tasks.14.08.24a', 'rcu_scaling_tests.15.08.24a', 'fixes.12.08.24a' and 'misc.11.08.24a' into next.09.09.24a (2024-09-09 00:09:47 +0530)


Following are the merge conflicts with other trees:

1. Merge conflicts with slab tree

Stephen's resolution: https://lore.kernel.org/lkml/20240812124748.3725011b@canb.auug.org.au/

In case you might want to refer to it, a sample tree with resolutions applied is at
git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git heads/rcu.v6.12.slab.tree.conflict_res


2. Merge conflict with kvm-fixes tree

Stephen's resolution: https://lore.kernel.org/lkml/20240905154122.4d1f8ca5@canb.auug.org.au/

In case you might want to refer to it, a sample tree with resolutions applied is at
git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git heads/rcu.v6.12.kvm-fixes.tree.conflict_res

----------------------------------------------------------------
RCU pull request for v6.12

This pull request contains the following branches:

context_tracking.15.08.24a: Rename context tracking state related
        symbols and remove references to "dynticks" in various context
        tracking state variables and related helpers; force
        context_tracking_enabled_this_cpu() to be inlined to avoid
        leaving a noinstr section.

csd.lock.15.08.24a: Enhance CSD-lock diagnostic reports; add an API
        to provide an indication of ongoing CSD-lock stall.

nocb.09.09.24a: Update and simplify RCU nocb code to handle
        (de-)offloading of callbacks only for offline CPUs; fix RT
        throttling hrtimer being armed from offline CPU.

rcutorture.14.08.24a: Remove redundant rcu_torture_ops get_gp_completed
        fields; add SRCU ->same_gp_state and ->get_comp_state
        functions; add generic test for NUM_ACTIVE_*RCU_POLL* for
        testing RCU and SRCU polled grace periods; add CFcommon.arch
        for arch-specific Kconfig options; print number of update types
        in rcu_torture_write_types();
        add rcutree.nohz_full_patience_delay testing to the TREE07
        scenario; add a stall_cpu_repeat module parameter to test
        repeated CPU stalls; add argument to limit number of CPUs a
        guest OS can use in torture.sh;

rcustall.09.09.24a: Abbreviate RCU CPU stall warnings during CSD-lock
        stalls; Allow dump_cpu_task() to be called without disabling
        preemption; defer printing stall-warning backtrace when holding
        rcu_node lock.

srcu.12.08.24a: Make SRCU gp seq wrap-around faster; add KCSAN checks
        for concurrent updates to ->srcu_n_exp_nodelay and
        ->reschedule_count which are used in heuristics governing
        auto-expediting of normal SRCU grace periods and
        grace-period-state-machine delays; mark idle SRCU-barrier
        callbacks to help identify stuck SRCU-barrier callback.

rcu.tasks.14.08.24a: Remove RCU Tasks Rude asynchronous APIs as they
        are no longer used; stop testing RCU Tasks Rude asynchronous
        APIs; fix access to non-existent percpu regions; check
        processor-ID assumptions during chosen CPU calculation for
        callback enqueuing; update description of rtp->tasks_gp_seq
        grace-period sequence number; add rcu_barrier_cb_is_done()
        to identify whether a given rcu_barrier callback is stuck;
        mark idle Tasks-RCU-barrier callbacks; add
        *torture_stats_print() functions to print detailed
        diagnostics for Tasks-RCU variants; capture start time of
        rcu_barrier_tasks*() operation to help distinguish a hung
        barrier operation from a long series of barrier operations.

rcu_scaling_tests.15.08.24a:
        refscale: Add a TINY scenario to support tests of Tiny RCU
        and Tiny SRCU; Optimize process_durations() operation;

        rcuscale: Dump stacks of stalled rcu_scale_writer() instances;
        dump grace-period statistics when rcu_scale_writer() stalls;
        mark idle RCU-barrier callbacks to identify stuck RCU-barrier
        callbacks; print detailed grace-period and barrier diagnostics
        on rcu_scale_writer() hangs for Tasks-RCU variants; warn if
        async module parameter is specified for RCU implementations
        that do not have async primitives such as RCU Tasks Rude;
        make all writer tasks report upon hang; tolerate repeated
        GFP_KERNEL failure in rcu_scale_writer(); use special allocator
        for rcu_scale_writer(); NULL out top-level pointers to heap
        memory to avoid double-free bugs on modprobe failures; maintain
        per-task instead of per-CPU callbacks count to avoid any issues
        with migration of either tasks or callbacks; constify struct
        ref_scale_ops.

fixes.12.08.24a: Use system_unbound_wq for kfree_rcu work to avoid
        disturbing isolated CPUs.

misc.11.08.24a: Warn on unexpected rcu_state.srs_done_tail state;
        Better define "atomic" for list_replace_rcu() and
        hlist_replace_rcu() routines; annotate struct
        kvfree_rcu_bulk_data with __counted_by().

----------------------------------------------------------------
Christophe JAILLET (2):
      refscale: Optimize process_durations()
      refscale: Constify struct ref_scale_ops

Frederic Weisbecker (14):
      rcu/nocb: Introduce RCU_NOCB_LOCKDEP_WARN()
      rcu/nocb: Move nocb field at the end of state struct
      rcu/nocb: Assert no callbacks while nocb kthread allocation fails
      rcu/nocb: Introduce nocb mutex
      rcu/nocb: (De-)offload callbacks on offline CPUs only
      rcu/nocb: Remove halfway (de-)offloading handling from bypass
      rcu/nocb: Remove halfway (de-)offloading handling from rcu_core()'s QS reporting
      rcu/nocb: Remove halfway (de-)offloading handling from rcu_core
      rcu/nocb: Remove SEGCBLIST_RCU_CORE
      rcu/nocb: Remove SEGCBLIST_KTHREAD_CB
      rcu/nocb: Simplify (de-)offloading state machine
      rcu/nocb: Fix RT throttling hrtimer armed from offline CPU
      rcu/nocb: Conditionally wake up rcuo if not already waiting on GP
      rcu/nocb: Remove superfluous memory barrier after bypass enqueue

JP Kobryn (1):
      srcu: faster gp seq wrap-around

Neeraj Upadhyay (1):
      Merge branches 'context_tracking.15.08.24a', 'csd.lock.15.08.24a', 'nocb.09.09.24a', 'rcutorture.14.08.24a', 'rcustall.09.09.24a', 'srcu.12.08.24a', 'rcu.tasks.14.08.24a', 'rcu_scaling_tests.15.08.24a', 'fixes.12.08.24a' and 'misc.11.08.24a' into next.09.09.24a

Paul E. McKenney (41):
      rcutorture: Remove redundant rcu_torture_ops get_gp_completed fields
      rcutorture: Add SRCU ->same_gp_state and ->get_comp_state functions
      rcutorture: Generic test for NUM_ACTIVE_*RCU_POLL*
      rcutorture: Make rcu_torture_write_types() print number of update types
      tools/rcu: Remove RCU Tasks Rude asynchronous APIs from rcu-updaters.sh
      rcu/kfree: Warn on unexpected tail state
      locking/csd_lock: Print large numbers as negatives
      rcu: Better define "atomic" for list replacement
      rcutorture: Add rcutree.nohz_full_patience_delay to TREE07
      srcu: Check for concurrent updates of heuristics
      srcu: Mark callbacks not currently participating in barrier operation
      rcutorture: Add a stall_cpu_repeat module parameter
      torture: Add torture.sh --guest-cpu-limit argument for limited hosts
      doc: Remove RCU Tasks Rude asynchronous APIs
      rcutorture: Stop testing RCU Tasks Rude asynchronous APIs
      rcuscale: Stop testing RCU Tasks Rude asynchronous APIs
      rcu-tasks: Remove RCU Tasks Rude asynchronous APIs
      rcu/tasks: Check processor-ID assumptions
      rcu/tasks: Update rtp->tasks_gp_seq comment
      rcu: Provide rcu_barrier_cb_is_done() to check rcu_barrier() CBs
      rcu/tasks: Mark callbacks not currently participating in barrier operation
      rcu/tasks: Add detailed grace-period and barrier diagnostics
      rcu/tasks: Add rcu_barrier_tasks*() start time to diagnostics
      refscale: Add TINY scenario
      rcuscale: Save a few lines with whitespace-only change
      rcuscale: Dump stacks of stalled rcu_scale_writer() instances
      rcuscale: Dump grace-period statistics when rcu_scale_writer() stalls
      rcu: Mark callbacks not currently participating in barrier operation
      rcuscale: Print detailed grace-period and barrier diagnostics
      locking/csd_lock: Provide an indication of ongoing CSD-lock stall
      locking/csd-lock: Use backoff for repeated reports of same incident
      rcu: Summarize RCU CPU stall warnings during CSD-lock stalls
      rcu: Extract synchronize_rcu_expedited_stall() from synchronize_rcu_expedited_wait()
      rcu: Summarize expedited RCU CPU stall warnings during CSD-lock stalls
      rcuscale: Provide clear error when async specified without primitives
      rcuscale: Make all writer tasks report upon hang
      rcuscale: Make rcu_scale_writer() tolerate repeated GFP_KERNEL failure
      rcuscale: Use special allocator for rcu_scale_writer()
      rcuscale: NULL out top-level pointers to heap memory
      rcuscale: Count outstanding callbacks per-task rather than per-CPU
      rcu: Defer printing stall-warning backtrace when holding rcu_node lock

Rik van Riel (1):
      smp: print only local CPU info when sched_clock goes backward

Ryo Takakura (1):
      rcu: Let dump_cpu_task() be used without preemption disabled

Sean Christopherson (1):
      context_tracking: Tag context_tracking_enabled_this_cpu() __always_inline

Thorsten Blum (1):
      rcu: Annotate struct kvfree_rcu_bulk_data with __counted_by()

Valentin Schneider (25):
      treewide: context_tracking: Rename CONTEXT_* into CT_STATE_*
      context_tracking, rcu: Rename RCU_DYNTICKS_IDX into CT_RCU_WATCHING
      context_tracking, rcu: Rename ct_dynticks() into ct_rcu_watching()
      context_tracking, rcu: Rename ct_dynticks_cpu() into ct_rcu_watching_cpu()
      context_tracking, rcu: Rename ct_dynticks_cpu_acquire() into ct_rcu_watching_cpu_acquire()
      context_tracking, rcu: Rename struct context_tracking .dynticks_nesting into .nesting
      context_tracking, rcu: Rename ct_dynticks_nesting() into ct_nesting()
      context_tracking, rcu: Rename ct_dynticks_nesting_cpu() into ct_nesting_cpu()
      context_tracking, rcu: Rename struct context_tracking .dynticks_nmi_nesting into .nmi_nesting
      context_tracking, rcu: Rename ct_dynticks_nmi_nesting() into ct_nmi_nesting()
      context_tracking, rcu: Rename ct_dynticks_nmi_nesting_cpu() into ct_nmi_nesting_cpu()
      context_tracking, rcu: Rename DYNTICK_IRQ_NONIDLE into CT_NESTING_IRQ_NONIDLE
      context_tracking, rcu: Rename rcu_dynticks_task*() into rcu_task*()
      context_tracking, rcu: Rename rcu_dynticks_curr_cpu_in_eqs() into rcu_is_watching_curr_cpu()
      rcu: Rename rcu_dynticks_eqs_online() into rcu_watching_online()
      rcu: Rename rcu_dynticks_in_eqs() into rcu_watching_snap_in_eqs()
      rcu: Rename rcu_dynticks_in_eqs_since() into rcu_watching_snap_stopped_since()
      rcu: Rename rcu_dynticks_zero_in_eqs() into rcu_watching_zero_in_eqs()
      rcu: Rename struct rcu_data .dynticks_snap into .watching_snap
      rcu: Rename struct rcu_data .exp_dynticks_snap into .exp_watching_snap
      rcu: Rename dyntick_save_progress_counter() into rcu_watching_snap_save()
      rcu: Rename rcu_implicit_dynticks_qs() into rcu_watching_snap_recheck()
      rcu: Rename rcu_momentary_dyntick_idle() into rcu_momentary_eqs()
      rcu: Update stray documentation references to rcu_dynticks_eqs_{enter, exit}()
      context_tracking, rcu: Rename rcu_dyntick trace event into rcu_watching

Waiman Long (1):
      rcu: Use system_unbound_wq to avoid disturbing isolated CPUs

Zhouyi Zhou (1):
      rcutorture: Add CFcommon.arch for arch-specific Kconfig options

Zqiang (1):
      rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb()

 Documentation/RCU/Design/Data-Structures/Data-Structures.rst          |  28 +++---
 Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst |   8 +-
 Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg          |   8 +-
 Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-fqs.svg           |   8 +-
 Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg               |   8 +-
 Documentation/RCU/Design/Memory-Ordering/TreeRCU-hotplug.svg          |   4 +-
 Documentation/RCU/Design/Requirements/Requirements.rst                |   3 +-
 Documentation/RCU/checklist.rst                                       |  61 ++++++------
 Documentation/RCU/whatisRCU.rst                                       |   2 +-
 Documentation/admin-guide/kernel-parameters.txt                       |  20 ++--
 arch/Kconfig                                                          |   2 +-
 arch/arm64/kernel/entry-common.c                                      |   2 +-
 arch/powerpc/include/asm/interrupt.h                                  |   6 +-
 arch/powerpc/kernel/interrupt.c                                       |   6 +-
 arch/powerpc/kernel/syscall.c                                         |   2 +-
 arch/x86/entry/common.c                                               |   2 +-
 include/linux/context_tracking.h                                      |  32 ++++---
 include/linux/context_tracking_state.h                                |  60 ++++++------
 include/linux/entry-common.h                                          |   2 +-
 include/linux/rcu_segcblist.h                                         |   6 +-
 include/linux/rculist.h                                               |   9 +-
 include/linux/rcupdate.h                                              |  15 ++-
 include/linux/rcutiny.h                                               |   2 +-
 include/linux/rcutree.h                                               |   2 +-
 include/linux/smp.h                                                   |   6 ++
 include/linux/srcutree.h                                              |  15 ++-
 include/trace/events/rcu.h                                            |  20 ++--
 kernel/context_tracking.c                                             | 140 ++++++++++++++--------------
 kernel/entry/common.c                                                 |   2 +-
 kernel/rcu/rcu.h                                                      |  12 ++-
 kernel/rcu/rcu_segcblist.c                                            |  11 ---
 kernel/rcu/rcu_segcblist.h                                            |  11 +--
 kernel/rcu/rcuscale.c                                                 | 214 ++++++++++++++++++++++++++++++++++++------
 kernel/rcu/rcutorture.c                                               | 121 +++++++++++++++---------
 kernel/rcu/refscale.c                                                 |  67 ++++++-------
 kernel/rcu/srcutree.c                                                 |  11 ++-
 kernel/rcu/tasks.h                                                    | 214 ++++++++++++++++++++++++++++--------------
 kernel/rcu/tree.c                                                     | 174 ++++++++++++++++------------------
 kernel/rcu/tree.h                                                     |  10 +-
 kernel/rcu/tree_exp.h                                                 | 121 +++++++++++++-----------
 kernel/rcu/tree_nocb.h                                                | 279 +++++++++++++++++++++----------------------------------
 kernel/rcu/tree_plugin.h                                              |  11 ++-
 kernel/rcu/tree_stall.h                                               |  16 +++-
 kernel/sched/core.c                                                   |   6 +-
 kernel/smp.c                                                          |  38 +++++++-
 kernel/stop_machine.c                                                 |   2 +-
 kernel/trace/trace_osnoise.c                                          |   4 +-
 lib/Kconfig.debug                                                     |   1 +
 tools/rcu/rcu-updaters.sh                                             |   2 -
 tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh              |   2 +
 tools/testing/selftests/rcutorture/bin/torture.sh                     |  38 +++++---
 tools/testing/selftests/rcutorture/configs/rcu/CFcommon               |   2 -
 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686          |   2 +
 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.ppc64le       |   1 +
 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64        |   2 +
 tools/testing/selftests/rcutorture/configs/rcu/TREE07.boot            |   1 +
 tools/testing/selftests/rcutorture/configs/refscale/TINY              |  20 ++++
 57 files changed, 1088 insertions(+), 786 deletions(-)
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.ppc64le
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64
 create mode 100644 tools/testing/selftests/rcutorture/configs/refscale/TINY

.
Date: Sat, 14 Sep 2024 00:30:48 -0700
From: "Paul E. McKenney" <paulmck@kernel.org>
To: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	kernel-team@meta.com, elver@google.com, akpm@linux-foundation.org,
	tglx@linutronix.de, peterz@infradead.org, arnd@arndb.de,
	broonie@kernel.org, naresh.kamboju@linaro.org, nathan@kernel.org,
	linus.walleij@linaro.org, rmk+kernel@armlinux.org.uk, afd@ti.com,
	eric.devolder@oracle.com, robh@kernel.org, mark.rutland@arm.com
Subject: [GIT PULL] Emulated one-byte cmpxchg() for ARC and sh

Hello, Linux,

Please pull the following cmpxchg()-related changes:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/cmpxchg.2024.09.14a
  # HEAD: c81a748edefd098ea21dd35d4bba03f69412fc26: sh: Emulate one-byte cmpxchg (2024-09-13 07:10:38 -0700)

----------------------------------------------------------------
ARC/sh: Provide one-byte cmpxchg emulation

This series provides emulated one-byte cmpxchg() support for ARM and
sh using the cmpxchg_emu_u8() function that uses a four-byte cmpxchg()
to emulate the one-byte variant.

A similar patch for emulation of one-byte cmpxchg() for xtensa has not yet
received a maintainer ack, so it is slated for the v6.13 merge window.
If you are not that patient, there is another signed tag covering all
three (ARC, sh, and xtensa) named cmpxchg.2024.09.15a.

----------------------------------------------------------------
Paul E. McKenney (2):
      ARC: Emulate one-byte cmpxchg
      sh: Emulate one-byte cmpxchg

 arch/arc/Kconfig               | 1 +
 arch/arc/include/asm/cmpxchg.h | 6 ++++--
 arch/sh/Kconfig                | 1 +
 arch/sh/include/asm/cmpxchg.h  | 3 +++
 4 files changed, 9 insertions(+), 2 deletions(-)

.
Date: Sat, 14 Sep 2024 01:10:36 -0700
From: "Paul E. McKenney" <paulmck@kernel.org>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com,
	kernel-team@meta.com, elver@google.com, thorsten.blum@toblux.com
Subject: [GIT PULL] KCSAN changes for v6.12

Hello, Linus,

When the merge window opens, please pull the latest KCSAN git commit from:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/kcsan.2024.09.14a
  # HEAD: 43d631bf06ec961bbe4c824b931fe03be44c419c: kcsan: Use min() to fix Coccinelle warning (2024-08-01 16:40:44 -0700)

----------------------------------------------------------------
kcsan: Use min() to fix Coccinelle warning.

Courtesy of Thorsten Blum.

----------------------------------------------------------------
Thorsten Blum (1):
      kcsan: Use min() to fix Coccinelle warning

 kernel/kcsan/debugfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

.
Date: Sat, 14 Sep 2024 10:16:04 +0200
From: Takashi Iwai <tiwai@suse.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mark Brown <broonie@kernel.org>, Liam Girdwood <lgirdwood@gmail.com>,
 Linux Sound Mailing List <linux-sound@vger.kernel.org>, Linux Kernel
 Mailing List <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] sound fixes for 6.11-rc7

Linus,

please pull sound fixes for v6.11 from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-6.11

The topmost commit is 134536c21275bb3410cd1f10c5e369d30702741d

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

sound fixes for 6.11

A few last-minute ASoC fixes and MAINTAINERS update.
All look small, obvious and nice-to-have fixes for 6.11-final.

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

Arseniy Krasnov (1):
      ASoC: meson: axg-card: fix 'use-after-free'

Bard Liao (2):
      ASoC: Intel: soc-acpi-intel-lnl-match: add missing empty item
      ASoC: Intel: soc-acpi-intel-mtl-match: add missing empty item

Pierre-Louis Bossart (1):
      MAINTAINERS: update Pierre Bossart's email and role

Shenghao Ding (1):
      ASoC: tas2781: fix to save the dsp bin file name into the correct array in case name_prefix is not NULL

Su Hui (1):
      ASoC: codecs: avoid possible garbage value in peb2466_reg_read()

---
 .mailmap                                          | 1 +
 MAINTAINERS                                       | 6 +++---
 sound/soc/codecs/peb2466.c                        | 3 ++-
 sound/soc/codecs/tas2781-i2c.c                    | 2 +-
 sound/soc/intel/common/soc-acpi-intel-lnl-match.c | 1 +
 sound/soc/intel/common/soc-acpi-intel-mtl-match.c | 1 +
 sound/soc/meson/axg-card.c                        | 3 ++-
 7 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/.mailmap b/.mailmap
index f01d7bfca2a0..7c7f171d0e55 100644
--- a/.mailmap
+++ b/.mailmap
@@ -529,6 +529,7 @@ Pavankumar Kondeti <quic_pkondeti@quicinc.com> <pkondeti@codeaurora.org>
 Peter A Jonsson <pj@ludd.ltu.se>
 Peter Oruba <peter.oruba@amd.com>
 Peter Oruba <peter@oruba.de>
+Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> <pierre-louis.bossart@linux.intel.com>
 Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
 Praveen BP <praveenbp@ti.com>
 Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com> <pradeepc@codeaurora.org>
diff --git a/MAINTAINERS b/MAINTAINERS
index f70987f7e462..cc40a9d9b8cd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11156,12 +11156,12 @@ F:	drivers/gpio/gpio-i8255.h
 
 INTEL ASoC DRIVERS
 M:	Cezary Rojewski <cezary.rojewski@intel.com>
-M:	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
 M:	Liam Girdwood <liam.r.girdwood@linux.intel.com>
 M:	Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
 M:	Bard Liao <yung-chuan.liao@linux.intel.com>
 M:	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
 M:	Kai Vehmanen <kai.vehmanen@linux.intel.com>
+R:	Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
 S:	Supported
 F:	sound/soc/intel/
@@ -21391,13 +21391,13 @@ S:	Maintained
 F:	tools/sound/dapm-graph
 
 SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS
-M:	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
 M:	Liam Girdwood <lgirdwood@gmail.com>
 M:	Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
 M:	Bard Liao <yung-chuan.liao@linux.intel.com>
 M:	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
 M:	Daniel Baluta <daniel.baluta@nxp.com>
 R:	Kai Vehmanen <kai.vehmanen@linux.intel.com>
+R:	Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
 L:	sound-open-firmware@alsa-project.org (moderated for non-subscribers)
 S:	Supported
 W:	https://github.com/thesofproject/linux/
@@ -21406,7 +21406,7 @@ F:	sound/soc/sof/
 SOUNDWIRE SUBSYSTEM
 M:	Vinod Koul <vkoul@kernel.org>
 M:	Bard Liao <yung-chuan.liao@linux.intel.com>
-R:	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+R:	Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
 R:	Sanyog Kale <sanyog.r.kale@intel.com>
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
 S:	Supported
diff --git a/sound/soc/codecs/peb2466.c b/sound/soc/codecs/peb2466.c
index 76ee7e3f4d9b..67ea70cef0c7 100644
--- a/sound/soc/codecs/peb2466.c
+++ b/sound/soc/codecs/peb2466.c
@@ -229,7 +229,8 @@ static int peb2466_reg_read(void *context, unsigned int reg, unsigned int *val)
 	case PEB2466_CMD_XOP:
 	case PEB2466_CMD_SOP:
 		ret = peb2466_read_byte(peb2466, reg, &tmp);
-		*val = tmp;
+		if (!ret)
+			*val = tmp;
 		break;
 	default:
 		dev_err(&peb2466->spi->dev, "Not a XOP or SOP command\n");
diff --git a/sound/soc/codecs/tas2781-i2c.c b/sound/soc/codecs/tas2781-i2c.c
index e79d613745b4..cf8bc7ede6c7 100644
--- a/sound/soc/codecs/tas2781-i2c.c
+++ b/sound/soc/codecs/tas2781-i2c.c
@@ -502,7 +502,7 @@ static void tasdevice_fw_ready(const struct firmware *fmw,
 	 */
 	tas_priv->fw_state = TASDEVICE_RCA_FW_OK;
 	if (tas_priv->name_prefix)
-		scnprintf(tas_priv->rca_binaryname, 64, "%s-%s_coef.bin",
+		scnprintf(tas_priv->coef_binaryname, 64, "%s-%s_coef.bin",
 			tas_priv->name_prefix, tas_priv->dev_name);
 	else
 		scnprintf(tas_priv->coef_binaryname, 64, "%s_coef.bin",
diff --git a/sound/soc/intel/common/soc-acpi-intel-lnl-match.c b/sound/soc/intel/common/soc-acpi-intel-lnl-match.c
index e6ffcd5be6c5..edfb668d0580 100644
--- a/sound/soc/intel/common/soc-acpi-intel-lnl-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-lnl-match.c
@@ -208,6 +208,7 @@ static const struct snd_soc_acpi_link_adr lnl_cs42l43_l0[] = {
 		.num_adr = ARRAY_SIZE(cs42l43_0_adr),
 		.adr_d = cs42l43_0_adr,
 	},
+	{}
 };
 
 static const struct snd_soc_acpi_link_adr lnl_rvp[] = {
diff --git a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
index 8e0ae3635a35..d4435a34a3a3 100644
--- a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
@@ -674,6 +674,7 @@ static const struct snd_soc_acpi_link_adr mtl_cs42l43_l0[] = {
 		.num_adr = ARRAY_SIZE(cs42l43_0_adr),
 		.adr_d = cs42l43_0_adr,
 	},
+	{}
 };
 
 static const struct snd_soc_acpi_link_adr mtl_cs42l43_cs35l56[] = {
diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c
index 8c5605c1e34e..eb0302f20740 100644
--- a/sound/soc/meson/axg-card.c
+++ b/sound/soc/meson/axg-card.c
@@ -104,7 +104,7 @@ static int axg_card_add_tdm_loopback(struct snd_soc_card *card,
 				     int *index)
 {
 	struct meson_card *priv = snd_soc_card_get_drvdata(card);
-	struct snd_soc_dai_link *pad = &card->dai_link[*index];
+	struct snd_soc_dai_link *pad;
 	struct snd_soc_dai_link *lb;
 	struct snd_soc_dai_link_component *dlc;
 	int ret;
@@ -114,6 +114,7 @@ static int axg_card_add_tdm_loopback(struct snd_soc_card *card,
 	if (ret)
 		return ret;
 
+	pad = &card->dai_link[*index];
 	lb = &card->dai_link[*index + 1];
 
 	lb->name = devm_kasprintf(card->dev, GFP_KERNEL, "%s-lb", pad->name);

.
Date: Sat, 14 Sep 2024 01:16:38 -0700
From: "Paul E. McKenney" <paulmck@kernel.org>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, oleg@redhat.com,
	axboe@kernel.dk, brauner@kernel.org, akpm@linux-foundation.org,
	willy@infradead.org, clm@fb.com, riel@surriel.com
Subject: [GIT PULL] exit/core-dump non-urgent sleep for v6.12

Hello, Linus,

When the merge window opens, please pull the following exit-path
application core-dump commit for v6.12:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/misc.2024.09.14a
  # HEAD: b8e753128ed074fcb48e9ceded940752f6b1c19f: exit: Sleep at TASK_IDLE when waiting for application core dump (2024-08-02 10:55:04 -0700)

No, this is not my usual part of the kernel, but it does have Oleg
Nesterov's ack.

----------------------------------------------------------------
exit: Sleep at TASK_IDLE when waiting for application core dump

This causes the coredump_task_exit() function to sleep at TASK_IDLE,
thus preventing task-blocked splats in case of large core dumps to
slow devices.

----------------------------------------------------------------
Paul E. McKenney (1):
      exit: Sleep at TASK_IDLE when waiting for application core dump

 kernel/exit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

.
Date: Sat, 14 Sep 2024 14:18:20 +0200
From: Linus Walleij <linus.walleij@linaro.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, linux-kernel <linux-kernel@vger.kernel.org>, 
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>, 
	Patrick Rudolph <patrick.rudolph@9elements.com>
Subject: [GIT PULL] late pin control fixes for v6.11

Hi Linus,

here are some late fixes for two pin control drivers that should
ideally go into v6.11.

Please pull it in, details in the signed tag!

Yours,
Linus Walleij

The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:

  Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v6.11-4

for you to fetch changes up to 71e4001a0455ec2b6218715c81f374f1ab8b1b12:

  pinctrl: pinctrl-cy8c95x0: Fix regcache (2024-09-13 13:14:18 +0200)

----------------------------------------------------------------
Pin control fixes for the v6.11 series:

- One Intel patch that I mistakedly merged into for-next
  despite it belongs in fixes: add Arrow Lake-H/U ACPI
  ID so this Arrow Lake chip probes.

- One fix making the CY895x0 reg cache work, which is
  good because it makes the device work too.

----------------------------------------------------------------
Linus Walleij (1):
      Merge tag 'intel-pinctrl-v6.11-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into fixes

Mika Westerberg (1):
      pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID

Patrick Rudolph (1):
      pinctrl: pinctrl-cy8c95x0: Fix regcache

 drivers/pinctrl/intel/pinctrl-meteorlake.c |  1 +
 drivers/pinctrl/pinctrl-cy8c95x0.c         | 14 +++++++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

.
Date: Sat, 14 Sep 2024 18:45:44 +0200
From: Takashi Iwai <tiwai@suse.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mark Brown <broonie@kernel.org>, Liam Girdwood <lgirdwood@gmail.com>,
 Linux Sound Mailing List <linux-sound@vger.kernel.org>, Linux Kernel
 Mailing List <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] sound updates for 6.12-rc1 (early PR)

Linus,

please pull sound updates for v6.12-rc1 from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-6.12-rc1

The topmost commit is 64c0ce555ad2d84f497f5f584ddd31e87ac690a2

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

sound updates for 6.12-rc1

A fairly big update at this time, both in core and driver sides.

The core received rewrites in PCM buffer allocation handling and
locking optimizations, PCM rate updates followed by lots of cleanups.

In ASoC side, the legacy Intel drivers have been deprecated by AVS
drivers which leaded to the significant amount of code reduction.
SoundWire driver updates and other cleanups contributed more code
reduction, too.

USB-audio driver received a large cleanup of its big quirk table, and
the old snd_print*() API usages in many legacy drivers are replaced
with the standard print API.

Here are some highlights:

Core:
- More optimized locking in ALSA control code
- Rewrites of memalloc helpers for better DMA API usage
- Drop of obsoleted vmalloc PCM buffer helper API
- Continued MIDI2 UMP updates
- Support of a new user-space driven timer instance
- Update for more PCM support rates and cleanups
- Xrun counter report in the proc files

ASoC:
- Continued simplification and cleanup works for ASoC
- Extensive cleanups and refactoring of the Soundwire drivers
- Removal of Intel machine support obsoleted by the AVS driver
- Lots of DT schema conversions
- Machine support for many AMD and Intel x86 platforms
- Support for AMD ACP 7.1, Mediatek MT6367 and MT8365, Realtek RTL1320
  SoundWire and rev C, and Texas Instruments TAS2563

USB-audio:
- Add support of multiple control interfaces
- A large rewrite of quirk table with macros
- Support for RME Digiface USB

HD-audio:
- Cleanup of quirk code for Samsung Galaxy laptops
- Clean up of detection of Cirrus codecs
- C-Media CM9825 HD-audio codec support

Others:
- Rewrites to standard print API in a lot of legacy drivers

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

Alexandre Mergnat (11):
      ASoC: dt-bindings: mediatek,mt8365-afe: Add audio afe document
      ASoC: dt-bindings: mediatek,mt8365-mt6357: Add audio sound card document
      dt-bindings: mfd: mediatek: Add codec property for MT6357 PMIC
      ASoC: mediatek: mt8365: Add common header
      ASoC: mediatek: mt8365: Add audio clock control support
      ASoC: mediatek: mt8365: Add I2S DAI support
      ASoC: mediatek: mt8365: Add ADDA DAI support
      ASoC: mediatek: mt8365: Add DMIC DAI support
      ASoC: mediatek: mt8365: Add PCM DAI support
      ASoC: mediatek: mt8365: Add the AFE driver support
      ASoC: mediatek: Add MT8365 support

Andrei Simion (1):
      ASoC: dt-bindings: microchip,sama7g5-spdifrx: Add common DAI reference

Andrew Kreimer (1):
      ASoC: tlv320aic31xx: Fix typos

Andy Shevchenko (1):
      ALSA: ump: Use %*ph to print small buffer

Animesh Agarwal (2):
      ASoC: dt-bindings: ti,pcm512x: Convert to dtschema
      ASoC: dt-bindings: fsl,imx-audio-es8328: Convert to dtschema

Arnd Bergmann (2):
      ASoC: mediatek: mt8365: include linux/bitfield.h
      ASoC: mediatek: mt8365: remove unused mt8365_i2s_hd_str

Asahi Lina (1):
      ALSA: usb-audio: Add mixer quirk for RME Digiface USB

Balamurugan C (4):
      ASoC: Intel: soc-acpi: Add entry for sof_es8336 in ARL match table.
      ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in ARL match table
      ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for ARL.
      ASoC: Intel: ARL: Add entry for HDMI-In capture support to non-I2S codec boards.

Baojun Xu (1):
      ASoC: tas2781: Remove unnecessary line feed for tasdevice_codec_remove

Bard Liao (6):
      ASoC: Intel: soc-acpi-intel-ptl-match: add rt711-sdca table
      ASoC: Intel: soc-acpi-intel-ptl-match: Add rt722 support
      ASoC: Intel: sof_sdw: add rt1320 amp support
      ASoC: SOF: Intel: hda: refactoring topology name fixup for HDA mach
      ASoC: Intel: sof_sdw: move ignore_internal_dmic check earlier
      ASoC: Intel: sof_sdw: overwrite mach_params->dmic_num

Biju Das (2):
      ASoC: dt-bindings: renesas,rz-ssi: Document port property
      ASoC: sh: rz-ssi: Add full duplex support

Binbin Zhou (7):
      ASoC: loongson: Use BIT() macro
      ASoC: loongson: Simplify probe() with local dev variable
      ASoC: loongson: Simplify with dev_err_probe()
      ASoC: loongson: Simplify if statment in loongson_card_hw_params()
      ASoC: loongson: Replace if with ternary operator
      ASoC: loongson: Factor out loongson_card_acpi_find_device() function
      ASoC: loongson: Factor out loongson i2s enable clock functions

Brent Lu (10):
      ASoC: SOF: Intel: hda: refactoring topology name fixup for SDW mach
      ASoC: SOF: Intel: hda: support BT link mask in mach_params
      ASoC: Intel: skl_hda_dsp_generic: support BT audio offload
      ASoC: Intel: skl_hda_dsp_generic: remove hdac-hdmi support
      ASoC: Intel: skl_hda_dsp_generic: use sof_hdmi_private to init HDMI
      ASoC: Intel: board_helpers: support HDA link initialization
      ASoC: Intel: skl_hda_dsp_generic: use common module for DAI links
      ASoC: Intel: ehl_rt5660: do not check common_hdmi_codec_drv
      ASoC: Intel: sof_pcm512x: do not check common_hdmi_codec_drv
      ASoC: SOF: Intel: hda: remove common_hdmi_codec_drv

Cezary Rojewski (14):
      ALSA: hda: Move SST device entries to AVS
      ASoC: Intel: Drop skl_machine_pdata usage
      ASoC: Intel: Remove bxt_rt298 board driver
      ASoC: Intel: Remove bxt_da7219_max98357a board driver
      ASoC: Intel: Remove kbl_rt5663_rt5514_max98927 board driver
      ASoC: Intel: Remove kbl_rt5663_max98927 board driver
      ASoC: Intel: Remove kbl_rt5660 board driver
      ASoC: Intel: Remove kbl_da7219_max98927 board driver
      ASoC: Intel: Remove kbl_da7219_max98357a board driver
      ASoC: Intel: Remove skl_rt286 board driver
      ASoC: Intel: Remove skl_nau88l25_ssm4567 board driver
      ASoC: Intel: Remove skl_nau88l25_max98357a board driver
      ASoC: Intel: Remove skylake driver
      ASoC: Intel: avs: Enable by default for all SST configurations

Charles Keepax (3):
      ASoC: Intel: soc-acpi: arl: Add match entries for new cs42l43 laptops
      ASoC: Intel: soc-acpi: adl: Add match entries for new cs42l43 laptops
      ASoC: Intel: soc-acpi: lnl: Add match entries for new cs42l43 laptops

Chen Ni (4):
      ASoC: mediatek: mt8192: remove redundant null pointer check before of_node_put
      ASoC: cs42l42: Convert comma to semicolon
      ASoC: topology-test: Convert comma to semicolon
      ASoC: Intel: skl_hda_dsp_generic: convert comma to semicolon

Christophe JAILLET (4):
      ASoC: sti-sas: Constify snd_soc_component_driver struct
      ASoC: cs43130: Constify snd_soc_component_driver struct
      ASoC: cs43130: Constify struct reg_sequence and reg_sequences
      ASoC: rt1318: Constify struct reg_sequence

Codrin Ciubotariu (5):
      ASoC: atmel: mchp-i2s-mcc: Improve maxburst calculation for better performance
      ASoC: atmel: mchp-i2s-mcc: Remove interface name from stream_name
      ASoC: atmel: mchp-pdmc: Improve maxburst calculation for better performance
      ASoC: atmel: mchp-pdmc: Add snd_soc_dai_driver name
      ASoC: atmel: mchp-pdmc: Retain Non-Runtime Controls

Colin Ian King (2):
      ASoC: codecs: wcd934x: make read-only array minCode_param static const
      ALSA: ali5451: Remove trailing space after \n newline

Cyan Nyan (1):
      ALSA: usb-audio: Add quirk for RME Digiface USB

Dmitry Torokhov (1):
      ASoC: tas5086: use sleeping variants of gpiod API

Edson Juliano Drosdeck (1):
      ALSA: hda/realtek: Enable mic on Vaio VJFH52

Fabio Estevam (7):
      ASoC: fsl_audmix: Switch to RUNTIME/SYSTEM_SLEEP_PM_OPS()
      ASoC: fsl_mqs: Switch to RUNTIME/SYSTEM_SLEEP_PM_OPS()
      ASoC: fsl_rpmsg: Switch to RUNTIME_PM_OPS()
      ASoC: fsl_spdif: Switch to RUNTIME/SYSTEM_SLEEP_PM_OPS()
      ASoC: fsl_ssi: Switch to SYSTEM_SLEEP_PM_OPS
      ASoC: imx-audmux: Switch to SYSTEM_SLEEP_PM_OPS
      ASoC: imx-pcm-rpmsg: Switch to RUNTIME/SYSTEM_SLEEP_PM_OPS()

Frank Li (2):
      ASoC: dt-bindings: convert tlv320aic31xx.txt to yaml
      ASoC: dt-bindings: Convert tpa6130a2.txt to yaml

Fred Oh (1):
      ASoC: SOF: Intel: add PTL specific power control register

Geert Uytterhoeven (1):
      ASoC: dt-bindings: dlg,da7213: Convert to json-schema

Gustavo A. R. Silva (1):
      ASoC: SOF: sof-audio: Avoid -Wflex-array-member-not-at-end warnings

He Lugang (1):
      ALSA: rme9652: remove unused parameter in macro

Heiko Stuebner (2):
      ASoC: dt-bindings: realtek,rt5616: document mclk clock
      ASoC: dt-bindings: realtek,rt5616: Document audio graph port

Hongbo Li (3):
      ASoC: dapm: Use IS_ERR_OR_NULL() helper function
      ALSA: pcm: replace simple_strtoul to kstrtoul
      ASoC: adi: Use str_enabled_disabled() helper

Ivan Orlov (4):
      ALSA: aloop: Allow using global timers
      Docs/sound: Add documentation for userspace-driven ALSA timers
      ALSA: timer: Introduce virtual userspace-driven timers
      selftests: ALSA: Cover userspace-driven timers with test

Jens Reidel (1):
      ASoC: qcom: sm8250: enable primary mi2s

Jerome Brunet (16):
      ALSA: snd-usb-caiaq: use snd_pcm_rate_to_rate_bit
      ASoC: amlogic: do not use dpcm_playback/capture flags
      ALSA: pcm: add more sample rate definitions
      ALSA: cmipci: drop SNDRV_PCM_RATE_KNOT
      ALSA: emu10k1: drop SNDRV_PCM_RATE_KNOT
      ALSA: hdsp: drop SNDRV_PCM_RATE_KNOT
      ALSA: hdspm: drop SNDRV_PCM_RATE_KNOT
      ASoC: cs35l36: drop SNDRV_PCM_RATE_KNOT
      ASoC: cs35l41: drop SNDRV_PCM_RATE_KNOT
      ASoC: cs53l30: drop SNDRV_PCM_RATE_KNOT
      ASoC: Intel: avs: drop SNDRV_PCM_RATE_KNOT
      ASoC: qcom: q6asm-dai: drop SNDRV_PCM_RATE_KNOT
      ASoC: sunxi: sun4i-codec: drop SNDRV_PCM_RATE_KNOT
      ASoC: cs35l34: drop useless rate contraint
      ASoC: spdif: extend supported rates to 768kHz
      ALSA: IEC958 definition for consumer status channel update

Jinjie Ruan (1):
      ALSA: core: timer: Use NSEC_PER_SEC macro

Jonathan LoBue (1):
      ALSA: hda/realtek: tas2781: Fix ROG ALLY X audio

Joshua Grisham (2):
      ALSA: hda/realtek: Refactor and simplify Samsung Galaxy Book init
      ALSA: hda/realtek: Add support for Galaxy Book2 Pro (NP950XEE)

Joshua Pius (1):
      ALSA: usb-audio: Add logitech Audio profile quirk

Karol Kosik (1):
      ALSA: usb-audio: Support multiple control interfaces

Krzysztof Kozlowski (16):
      ASoC: codecs: wsa881x: Drop unused version readout
      ASoC: codecs: wsa883x: Handle reading version failure
      ASoC: codecs: wsa883x: Simplify handling variant/version
      ASoC: codecs: wsa884x: Simplify handling variant
      ASoC: dt-bindings: qcom,apq8016-sbc-sndcard: move to separate binding
      ASoC: codecs: lpass-wsa-macro: Do not hard-code dai in VI mixer
      ASoC: codecs: wsa881x: Use designator array initializers for Soundwire ports
      ASoC: codecs: wsa883x: Use designator array initializers for Soundwire ports
      ASoC: codecs: wsa884x: Use designator array initializers for Soundwire ports
      ASoC: codecs: wcd938x: Drop unused defines and enums
      ASoC: codecs: wcd937x: Move max port number defines to enum
      ASoC: codecs: wcd938x: Move max port number defines to enum
      ASoC: codecs: wcd939x: Move max port number defines to enum
      ASoC: dt-bindings: samsung,odroid: drop stale clocks
      ASoC: MAINTAINERS: Drop incorrect tlv320aic31xx.txt path
      ASoC: codecs: wsa884x: Implement temperature reading and hwmon

Kuninori Morimoto (24):
      ASoC: rsnd: remove rsnd_mod_confirm_ssi() under DEBUG
      ASoC: rsnd: use pcm_dmaengine code
      ALSA: pci: pcxhr: use snd_pcm_direction_name()
      ALSA: pci: rme9652: use snd_pcm_direction_name()
      ALSA: trace: use snd_pcm_direction_name()
      ALSA: aloop: use snd_pcm_direction_name()
      ALSA: pcm_timer: use snd_pcm_direction_name()
      ASoC: stm: use snd_pcm_direction_name()
      ASoC: sof: pcm: use snd_pcm_direction_name()
      ASoC: sof: intel: use snd_pcm_direction_name()
      ASoC: fsl: lpc3xxx-i2s: use snd_pcm_direction_name()
      ASoC: tegra: use snd_pcm_direction_name()
      ASoC: soc-pcm: use snd_pcm_direction_name()
      ASoC: soc-dapm: use snd_pcm_direction_name()
      ASoC: remove bespoke trigger support
      ASoC: soc-pcm: remove snd_soc_dpcm_stream_{lock/unlock}_irq()
      ASoC: soc-pcm: remove snd_soc_dpcm_stream_lock_irqsave_nested()
      ASoC: soc-pcm: Indicate warning if dpcm_playback/capture were used for availability limition
      ASoC: remove snd_soc_dai_link_set_capabilities()
      ASoC: Intel: sof_sdw: use playback/capture_only flags
      ASoC: soc-pcm: move snd_soc_dpcm_can_be_xxx() to top
      ASoC: soc-pcm: makes snd_soc_dpcm_can_be_xxx() local function
      ASoC: makes rtd->initialized bit field
      ASoC: dt-bindings: renesas,rsnd: add post-init-providers property

Leo Tsai (1):
      ALSA: hda: Add a new CM9825 standard driver

Linus Walleij (3):
      ASoC: tas2781-i2c: Drop weird GPIO code
      ASoC: tas2781-i2c: Get the right GPIO line
      ASoC: tas*: Drop unused GPIO includes

Liu Jing (1):
      ASoC: mediatek: mt2701-cs42448: Optimize redundant code in mt2701_cs42448_machine_probe

Luca Ceresoli (3):
      ASoC: dapm-graph: remove the "ROOT" cluster
      ASoC: dapm-graph: visualize component On/Off bias level
      ASoC: dapm-graph: show path name for non-static routes

Lukasz Majewski (1):
      ASoC: dt-bindings: Convert mxs-saif.txt to fsl,saif.yaml (imx28 saif)

Ma Ke (2):
      ASoC: rt5682s: Return devm_of_clk_add_hw_provider to transfer the error
      ASoC: rt5682: Return devm_of_clk_add_hw_provider to transfer the error

Maciej Strozek (1):
      ASoC: Intel: sof_sdw: Add quirks from some new Dell laptops

Marek Vasut (1):
      ASoC: tlv320aic32x4: Add multi endpoint support

Mark Brown (7):
      ASoC: mt8365: Open code BIT() to avoid spurious warnings
      ASoC: mt8365: Remove spurious unsigned long casts
      ASoC: mt8365: Remove unused prototype for mt8365_afe_clk_group_48k()
      ASoC: mt8365: Make non-exported functions static
      ASoC: mt8365: Remove unused variables
      ASoC: mt8365: Remove unused DMIC IIR coefficient configuration
      ASoC: mt8365: Allow build coverage

Muhammad Usama Anjum (3):
      ASoC: amd: acp: Return in-case of error
      ASoC: mediatek: mt8365: check validity before usage of i2s_data
      ASoc: mediatek: mt8365: Remove unneeded assignment

Neil Armstrong (2):
      ASoC: dt-bindings: amlogic,axg-sound-card: document clocks property
      ASoC: dt-bindings: amlogic,gx-sound-card: document clocks property

Nicolas Belin (2):
      ASoc: mediatek: mt8365: Add a specific soundcard for EVK
      ASoC: codecs: add MT6357 support

Nikita Shubin (1):
      ASoC: dt-bindings: cirrus,cs4271: Convert to dtschema

Norman Bintang (1):
      ALSA: pcm: Add xrun counter for snd_pcm_substream

Pierre-Louis Bossart (11):
      ASoC: Intel: soc-acpi: add PTL match tables
      ASoC: SOF: Intel: add initial support for PTL
      ASoC: SOF: sof-priv.h: optimize snd_sof_platform_stream_params
      ASoC: SOF: sof-priv.h: optimize snd_sof_mailbox
      ASoC: SOF: sof-priv.h: optimize snd_sof_ipc_msg
      ASoC: SOF: sof-audio.h: optimize snd_sof_pcm_stream_pipeline_list
      ALSA/ASoC/SoundWire: Intel: use single definition for SDW_INTEL_MAX_LINKS
      soundwire: intel: add probe-time check on link id
      soundwire: intel: increase maximum number of links
      ASoC: Intel: sof_sdw: make sof_sdw_quirk static
      ASoC: Intel: boards: always check the result of acpi_dev_get_first_match_dev()

Richard Fitzgerald (2):
      ASoC: cs35l56: Make struct regmap_config const
      ASoC: cs-amp-lib: Add KUnit test case for empty calibration entries

Rob Herring (Arm) (2):
      ASoC: Use of_property_present()
      ASoC: Use of_property_read_bool()

Romain Gantois (1):
      ASoC: tlv320aic31xx: Add support for loading filter coefficients

Shen Lichuan (2):
      ALSA: usb-audio: Use kmemdup_array instead of kmemdup for multiple allocation
      ASoC: SOF: topology: Use kmemdup_array instead of kmemdup for multiple allocation

Shenghao Ding (7):
      ASoC: tas2781: Add TAS2563 into the Header
      ASoC: tas2781: Fix a compiling warning reported by robot kernel test due to adding tas2563_dvc_table
      ASoc: tas2781: Rename dai_driver name to unify the name between TAS2563 and TAS2781
      ASoc: tas2781: Remove unnecessary line feed and space
      ASoC: tas2781: mark const variables tas2563_dvc_table as __maybe_unused
      ASoC: tas2781: replace devm_kzalloc and scnprintf with devm_kstrdup
      ASoC: tas2781: Add Calibration Kcontrols for Chromebook

Shuming Fan (1):
      ASoC: rt1320: Add support for version C

Simon Trimmer (3):
      ASoC: cs35l56: Use regmap_read_bypassed() to wake the device
      ALSA: hda/realtek: Convert existing CS35L56 products to use autodetect fixup function
      ALSA: hda/realtek: Autodetect Cirrus Logic companion amplifier bindings

Srinivas Kandagatla (1):
      ASoC: dt-bindings: qcom,lpass-wsa-macro: correct clocks on SM8250

Stefan Stistrup (1):
      ALSA: usb-audio: Add input gain and master output mixer elements for RME Babyface Pro

Takashi Iwai (98):
      ASoC: Use __counted_by() annotation for snd_soc_pcm_runtime
      ALSA: control: Annotate snd_kcontrol with __counted_by()
      ALSA: ump: Update substream name from assigned FB names
      ALSA: hda: Keep PM disablement for deny-listed instance
      ALSA: hda: Enhance pm_blacklist option
      ALSA: control: Take power_ref lock primarily
      ALSA: control: Fix leftover snd_power_unref()
      ALSA: memalloc: Use DMA API for x86 WC page allocations, too
      ALSA: memalloc: Let IOMMU handle S/G primarily
      ALSA: ump: Handle MIDI 1.0 Function Block in MIDI 2.0 protocol
      ALSA: usb-audio: Add input value sanity checks for standard types
      ALSA: ump: Choose the protocol when protocol caps are changed
      ALSA: usb-audio: Accept multiple protocols in GTBs
      ALSA: usb-audio: Set MIDI1 flag appropriately for GTB MIDI 1.0 entry
      ALSA: usb-audio: Update UMP group attributes for GTB blocks, too
      ALSA: seq: Print MIDI 1.0 specific port in proc output
      ALSA: seq: Fix missing seq port info bit return for MIDI 1.0 block
      ALSA: portman2x4: Use standard print API
      ALSA: mts64: Use standard print API
      ALSA: mpu401: Use standard print API
      ALSA: mpu401_uart: Use standard print API
      ALSA: mtpav: Use standard print API
      ALSA: opl3: Use standard print API
      ALSA: opl4: Use standard print API
      ALSA: serial-u16550: Use standard print API
      ALSA: virmidi: Use standard print API
      ALSA: vx_core: Drop unused dev field
      ALSA: vx_core: Use standard print API
      ALSA: aloop: Use standard print API
      ALSA: dummy: Use standard print API
      ALSA: pcsp: Use standard print API
      ALSA: i2c: cs8427: Use standard print API
      ALSA: i2c: pt2258: Use standard print API
      ALSA: i2c: Drop commented old debug prints
      ALSA: ad1816a: Use standard print API
      ALSA: als100: Use standard print API
      ALSA: azt2320: Use standard print API
      ALSA: cmi8328: Use standard print API
      ALSA: cmi8330: Use standard print API
      ALSA: cs4236: Use standard print API
      ALSA: es1688: Use standard print API
      ALSA: es18xx: Use standard print API
      ALSA: gus: Use standard print API
      ALSA: msnd: Use standard print API
      ALSA: opl3sa2: Use standard print API
      ALSA: opti9xx: Use standard print API
      ALSA: sb: Use standard print API
      ALSA: control_led: Use dev_err()
      ALSA: pcm: oss: Use pr_debug()
      ALSA: sc6000: Use standard print API
      ALSA: sscape: Use standard print API
      ALSA: wavefront: Use standard print API
      ALSA: wss: Use standard print API
      ALSA: riptide: Use standard print API
      ALSA: korg1212: Use standard print API
      ALSA: lx6464es: Cleanup the print API usages
      ALSA: azt3328: Use pr_warn()
      ALSA: emu10k1: Use dev_warn()
      ALSA: trident: Use standard print API
      ALSA: emux: Use standard print API
      ALSA: usx2y: Use standard print API
      ALSA: usb-audio: Use standard print API
      ALSA: intel8x0: Drop unused snd_printd() calls
      ALSA: vxpocket: Use standard print API
      ALSA: pdaudiocf: Use standard print API
      ALSA: ppc: Use standard print API
      ALSA: sh: Use standard print API
      ALSA: sparc: Use standard print API
      ALSA: asihpi: Use standard print API
      ALSA: docs: Drop snd_print*() stuff
      ALSA: core: Drop snd_print stuff and co
      ALSA: asihpi: Fix potential OOB array access
      ALSA: hdsp: Break infinite MIDI input flush loop
      ALSA: usb-audio: Check shutdown at endpoint_set_interface()
      ALSA: vxpocket: Drop no longer existent chip->dev assignment
      ALSA: control: Fix power_ref lock order for compat code, too
      ALSA: vxpocket: Fix a typo at conversion to dev_*()
      ALSA: sparc: Fix a typo at dev_*() conversion
      ALSA: caiaq: Fix unused variable warning
      ALSA: usx2y: Drop no longer used variable
      ALSA: control: Rename ctl_files_rwlock to controls_rwlock
      ALSA: control: Optimize locking for look-up
      ASoC: Drop snd_soc_*_get_kcontrol_locked()
      ALSA: usb-audio: Define macros for quirk table entries
      ALSA: usb-audio: Replace complex quirk lines with macros
      ALSA: seq: Drop superfluous filter argument of get_event_dest_client()
      drm/bridge: dw-hdmi: Move vmalloc PCM buffer management into the driver
      ALSA: pcm: Drop PCM vmalloc buffer helpers
      ALSA: pcm: Fix the previous conversion to kstrtoul()
      ALSA: pcm: Fix yet more compile warning at replacement with kstrtoul()
      ALSA: core: Drop superfluous no_free_ptr() for memdup_user() errors
      ALSA: hda: Allow the default preallocation for x86 again
      ALSA: hda: Use non-SG allocation for the communication buffers
      ALSA: memalloc: Move snd_malloc_ops definition into memalloc.c again
      ALSA: memalloc: Drop Xen PV workaround again
      ALSA: pcm: Fix breakage of PCM rates used for topology
      ALSA: memalloc: Use proper DMA mapping API for x86 WC buffer allocations
      ALSA: memalloc: Use proper DMA mapping API for x86 S/G buffer allocations

Tang Bin (6):
      ASoC: loongson: remove redundant variable assignments
      ASoC: codecs: fix the right check and simplify code
      ASoC: soc-ac97: Fix the incorrect description
      ASoC: loongson: Add the correct judgement return
      ASoC: mediatek: mt7986-afe-pcm: Remove redundant error message
      ASoC: topology: Fix redundant logical jump

Uwe Kleine-König (1):
      ASoC: Switch back to struct platform_driver::remove()

Venkata Prasad Potturu (12):
      ASoC: amd: acp: Refactor TDM slots selction based on acp revision id
      ASoC: amd: acp: Refactor I2S dai driver
      ASoC: amd: acp: Update pcm hardware capabilities for acp6.3 platform
      ASoC: amd: acp: Add I2S TDM support for acp6.3 platform
      ASoC: amd: acp: Update pcm hardware capabilities for acp7.0 platform
      ASoC: amd: acp: Add I2S master clock generation support for acp7.0 platform
      ASoC: amd: acp: Set i2s clock for acp7.0 platform
      ASoC: amd: acp: Modify max channels and sample rate support for acp70 dai driver
      ASoC: amd: acp: Add I2S TDM support for acp7.0 platform
      ASoC: amd: acp: Add pte configuration for ACP7.0 platform
      ASoC: amd: acp: Add i2s master clock generation support for acp7.1 platform
      ASoC: amd: acp: Add I2S TDM support for acp7.1 platform

Vijendar Mukunda (47):
      ASoC: intel: rename codec_info and dai_info structures names
      ASoC: intel: rename soundwire common header macros
      ASoC: intel: rename soundwire machine driver soc ops
      ASoC: intel: rename soundwire codec helper functions
      ASoC: intel: rename maxim codec macros
      ASoC: intel: rename ignore_pch_dmic variable name
      ASoC: intel/sdw-utils: move soundwire machine driver soc ops
      ASoC: intel: move soundwire machine driver common structures
      ASoC: intel/sdw_utils: move soundwire machine driver helper functions
      ASoC: intel/sdw_utils: move dmic codec helper function
      ASoC: intel/sdw_utils: move rtk dmic helper functions
      ASoC: intel/sdw_utils: move rt712 sdca helper functions
      ASoC: intel/sdw_utils: move rt722 sdca helper functions
      ASoC: intel: split soundwire machine driver private data
      ASoC: intel/sdw_utils: move rt5682 codec helper function
      ASoC: intel/sdw_utils: move rtk jack common helper functions
      ASoC: intel/sdw_utils: move rt700 and rt711 codec helper functions
      ASoC: intel/sdw_utils: move rtk amp codec helper functions
      ASoC: intel/sdw_utils: move cirrus soundwire codec helper functions
      ASoC: intel/sdw_utils: move maxim codec helper functions
      ASoC: intel/sdw_utils: move dai id common macros
      ASoC: intel/sdw_utils: move soundwire dai type macros
      ASoC: intel/sdw_utils: move soundwire codec_info_list structure
      ASoC: intel/sdw_utils: move machine driver dai link helper functions
      ASoC: sdw_utils: refactor sof_sdw_card_late_probe function
      ASoC: intel/sdw_utils: refactor init_dai_link() and init_simple_dai_link()
      ASoC: soc-acpi: add pci revision id field in mach params structure
      ASoC: amd: acp: add soundwire machines for acp6.3 based platform
      ASoC: SOF: amd: add alternate machines for acp6.3 based platform
      ASoC: SOF: amd: update mach params subsystem_rev variable
      ASoC: amd/sdw_utils: add sof based soundwire generic machine driver
      ASoC: amd: acp: remove MODULE_ALIAS for SoundWire machine driver
      ASoC: amd: acp: add ZSC control register programming sequence
      ASoC: SOF: amd: update conditional check for cache register update
      ASoC: amd: acp: Convert comma to semicolon
      ASoC: amd: acp: add legacy driver support for ACP7.1 based platforms
      ASoC: amd: acp: replace desc->rev check with acp pci revision id
      ASoC: SOF: amd: remove unused variable from sof_amd_acp_desc structure
      ASoC: amd: Add acpi machine id for acp7.0 version based platform
      ASoC: SOF: amd: add support for acp7.0 based platform
      ASoC: amd: acp: remove MODULE_ALIAS for legacy machine driver
      ASoC: amd: acp: remove MODULE_ALIAS for sof based generic machine driver
      ASoC: intel: sof_sdw: rename soundwire endpoint and dailink structures
      ASoC: intel: sof_sdw: rename soundwire parsing helper functions
      ASoC: sdw_util/intel: move soundwire endpoint and dai link structures
      ASoC: sdw_utils/intel: move soundwire endpoint parsing helper functions
      ASoC: amd: acp: refactor SoundWire machine driver code

Wu Bo (1):
      ASoC: dwc: change to use devm_clk_get_enabled() helpers

Yue Haibing (5):
      ASoC: fsl: lpc3xxx-i2s: Remove set but not used variable 'savedbitclkrate'
      ASoC: fsl: lpc3xxx: Make some symbols static
      ALSA: oss: Remove unused declarations
      ALSA: seq: Remove unused declarations
      ALSA: trident: Remove unused declarations

Yuntao Liu (1):
      ALSA: hda: cs35l41: fix module autoloading

Zhang Yi (2):
      ASoC: codecs: ES8326: suspend issue
      ASoC: codecs: ES8326: input issue after init

Zhang Zekun (4):
      ALSA: aoa: Use helper function for_each_child_of_node()
      ASoC: audio-graph-card: Use for_each_child_of_node_scoped() to simplify code
      ASoC: audio-graph-card2: Use helper function of_get_child_count()
      ASoC: meson: Remove unused declartion in header file

tangbin (3):
      ASoC: loongson: Remove useless variable definitions
      ASoC: loongson: remove unnecessary assignment in i2s_resume()
      ASoC: loongson: fix error release

ying zuxin (1):
      ASoC: codecs: Use devm_clk_get_enabled() helpers

---
 .../devicetree/bindings/mfd/mediatek,mt6357.yaml   |   21 +
 .../bindings/sound/amlogic,axg-sound-card.yaml     |    7 +
 .../bindings/sound/amlogic,gx-sound-card.yaml      |    7 +
 .../devicetree/bindings/sound/cirrus,cs4271.yaml   |  101 +
 Documentation/devicetree/bindings/sound/cs4271.txt |   57 -
 Documentation/devicetree/bindings/sound/da7213.txt |   45 -
 .../devicetree/bindings/sound/dlg,da7213.yaml      |  103 +
 .../bindings/sound/fsl,imx-audio-es8328.yaml       |  111 +
 .../devicetree/bindings/sound/fsl,saif.yaml        |   83 +
 .../devicetree/bindings/sound/imx-audio-es8328.txt |   60 -
 .../bindings/sound/mediatek,mt8365-afe.yaml        |  130 +
 .../bindings/sound/mediatek,mt8365-mt6357.yaml     |  107 +
 .../bindings/sound/microchip,sama7g5-spdifrx.yaml  |    5 +-
 .../devicetree/bindings/sound/mxs-saif.txt         |   41 -
 .../devicetree/bindings/sound/pcm512x.txt          |   53 -
 .../bindings/sound/qcom,apq8016-sbc-sndcard.yaml   |  205 ++
 .../bindings/sound/qcom,lpass-wsa-macro.yaml       |   22 +-
 .../devicetree/bindings/sound/qcom,sm8250.yaml     |  137 -
 .../devicetree/bindings/sound/realtek,rt5616.yaml  |   12 +
 .../devicetree/bindings/sound/renesas,rsnd.yaml    |    6 +
 .../devicetree/bindings/sound/renesas,rz-ssi.yaml  |    4 +
 .../devicetree/bindings/sound/samsung,odroid.yaml  |    5 -
 .../devicetree/bindings/sound/ti,pcm512x.yaml      |  101 +
 .../bindings/sound/ti,tlv320dac3100.yaml           |  127 +
 .../devicetree/bindings/sound/ti,tpa6130a2.yaml    |   55 +
 .../devicetree/bindings/sound/tlv320aic31xx.txt    |   77 -
 .../devicetree/bindings/sound/tpa6130a2.txt        |   27 -
 Documentation/sound/alsa-configuration.rst         |    3 +
 Documentation/sound/hd-audio/notes.rst             |    6 -
 Documentation/sound/index.rst                      |    1 +
 .../sound/kernel-api/writing-an-alsa-driver.rst    |   25 -
 Documentation/sound/utimers.rst                    |  126 +
 MAINTAINERS                                        |    4 +-
 .../gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c    |   30 +-
 drivers/soundwire/intel.h                          |    7 +
 drivers/soundwire/intel_ace2x.c                    |   20 +
 drivers/soundwire/intel_auxdevice.c                |   14 +
 include/linux/soundwire/sdw_intel.h                |    8 +
 include/sound/aci.h                                |    1 +
 include/sound/asoundef.h                           |    6 +-
 include/sound/control.h                            |   27 +-
 include/sound/core.h                               |   69 +-
 include/sound/cs35l56.h                            |    6 +-
 include/sound/es1688.h                             |    1 +
 include/sound/memalloc.h                           |    7 +-
 include/sound/pcm.h                                |   49 +-
 include/sound/seq_kernel.h                         |    4 -
 include/sound/snd_wavefront.h                      |    4 -
 include/sound/soc-acpi-intel-match.h               |    2 +
 include/sound/soc-acpi.h                           |    6 +-
 include/sound/soc-card.h                           |    2 -
 include/sound/soc-component.h                      |    3 -
 include/sound/soc-dai.h                            |    6 +-
 include/sound/soc-dpcm.h                           |   19 -
 include/sound/soc.h                                |    7 +-
 include/sound/soc_sdw_utils.h                      |  247 ++
 include/sound/soundfont.h                          |    6 +-
 include/sound/tas2563-tlv.h                        |  279 ++
 include/sound/tas2781-tlv.h                        |  260 --
 include/sound/tas2781.h                            |   71 +-
 include/sound/ump.h                                |   12 +
 include/sound/vx_core.h                            |    1 -
 include/trace/events/asoc.h                        |    3 +-
 include/uapi/sound/asequencer.h                    |    2 +
 include/uapi/sound/asound.h                        |   17 +-
 sound/aoa/soundbus/i2sbus/core.c                   |    4 +-
 sound/core/Kconfig                                 |   19 +-
 sound/core/compress_offload.c                      |    2 +-
 sound/core/control.c                               |  212 +-
 sound/core/control_compat.c                        |   47 +-
 sound/core/control_led.c                           |    4 +-
 sound/core/init.c                                  |    2 +-
 sound/core/memalloc.c                              |  214 +-
 sound/core/memalloc_local.h                        |   16 -
 sound/core/misc.c                                  |   71 -
 sound/core/oss/mixer_oss.c                         |   10 +-
 sound/core/oss/pcm_plugin.h                        |    5 +-
 sound/core/pcm.c                                   |    6 +
 sound/core/pcm_lib.c                               |    3 +
 sound/core/pcm_memory.c                            |   68 +-
 sound/core/pcm_misc.c                              |   18 +-
 sound/core/pcm_native.c                            |   18 +-
 sound/core/pcm_timer.c                             |    3 +-
 sound/core/seq/oss/seq_oss_device.h                |    4 -
 sound/core/seq/seq_clientmgr.c                     |   26 +-
 sound/core/seq/seq_ports.c                         |    5 +
 sound/core/seq/seq_ports.h                         |    2 +
 sound/core/seq/seq_queue.h                         |    1 -
 sound/core/seq/seq_timer.h                         |    2 -
 sound/core/seq/seq_ump_client.c                    |   79 +-
 sound/core/seq/seq_ump_convert.c                   |   11 +-
 sound/core/timer.c                                 |  229 +-
 sound/core/ump.c                                   |  120 +-
 sound/drivers/aloop.c                              |    7 +-
 sound/drivers/dummy.c                              |    5 +-
 sound/drivers/mpu401/mpu401.c                      |   16 +-
 sound/drivers/mpu401/mpu401_uart.c                 |   31 +-
 sound/drivers/mtpav.c                              |   14 +-
 sound/drivers/mts64.c                              |   18 +-
 sound/drivers/opl3/opl3_lib.c                      |   18 +-
 sound/drivers/opl3/opl3_midi.c                     |   95 +-
 sound/drivers/opl3/opl3_oss.c                      |   12 +-
 sound/drivers/opl3/opl3_synth.c                    |    4 +-
 sound/drivers/opl4/opl4_lib.c                      |    8 +-
 sound/drivers/opl4/yrw801.c                        |    2 +-
 sound/drivers/pcsp/pcsp.c                          |   21 +-
 sound/drivers/pcsp/pcsp_lib.c                      |   38 +-
 sound/drivers/pcsp/pcsp_mixer.c                    |    2 +-
 sound/drivers/portman2x4.c                         |   19 +-
 sound/drivers/serial-u16550.c                      |   41 +-
 sound/drivers/virmidi.c                            |    8 +-
 sound/drivers/vx/vx_core.c                         |   64 +-
 sound/drivers/vx/vx_hwdep.c                        |    4 +-
 sound/drivers/vx/vx_pcm.c                          |   23 +-
 sound/drivers/vx/vx_uer.c                          |    3 +-
 sound/hda/Kconfig                                  |    5 +-
 sound/hda/intel-dsp-config.c                       |  111 +-
 sound/hda/intel-sdw-acpi.c                         |    5 +-
 sound/i2c/cs8427.c                                 |   37 +-
 sound/i2c/other/ak4113.c                           |    2 -
 sound/i2c/other/ak4114.c                           |   12 -
 sound/i2c/other/ak4117.c                           |   13 -
 sound/i2c/other/ak4xxx-adda.c                      |    2 -
 sound/i2c/other/pt2258.c                           |    6 +-
 sound/i2c/tea6330t.c                               |    3 -
 sound/isa/ad1816a/ad1816a.c                        |   16 +-
 sound/isa/ad1816a/ad1816a_lib.c                    |   16 +-
 sound/isa/als100.c                                 |   16 +-
 sound/isa/azt2320.c                                |   14 +-
 sound/isa/cmi8328.c                                |   42 +-
 sound/isa/cmi8330.c                                |   36 +-
 sound/isa/cs423x/cs4236.c                          |   31 +-
 sound/isa/cs423x/cs4236_lib.c                      |   56 +-
 sound/isa/es1688/es1688.c                          |    2 +-
 sound/isa/es1688/es1688_lib.c                      |   55 +-
 sound/isa/es18xx.c                                 |   87 +-
 sound/isa/gus/gus_dma.c                            |   37 +-
 sound/isa/gus/gus_io.c                             |  215 +-
 sound/isa/gus/gus_irq.c                            |    7 +-
 sound/isa/gus/gus_main.c                           |   29 +-
 sound/isa/gus/gus_mem.c                            |    2 +-
 sound/isa/gus/gus_pcm.c                            |   33 +-
 sound/isa/gus/gus_reset.c                          |    8 +-
 sound/isa/gus/gus_uart.c                           |   21 +-
 sound/isa/gus/gus_volume.c                         |    7 +-
 sound/isa/gus/gusclassic.c                         |    4 +-
 sound/isa/gus/gusextreme.c                         |    4 +-
 sound/isa/gus/gusmax.c                             |   16 +-
 sound/isa/gus/interwave.c                          |   61 +-
 sound/isa/msnd/msnd.c                              |   46 +-
 sound/isa/msnd/msnd_midi.c                         |    4 -
 sound/isa/msnd/msnd_pinnacle.c                     |  184 +-
 sound/isa/opl3sa2.c                                |   46 +-
 sound/isa/opti9xx/miro.c                           |  163 +-
 sound/isa/opti9xx/opti92x-ad1848.c                 |   62 +-
 sound/isa/sb/emu8000.c                             |   11 +-
 sound/isa/sb/emu8000_patch.c                       |    1 -
 sound/isa/sb/emu8000_synth.c                       |    2 +-
 sound/isa/sb/jazz16.c                              |   49 +-
 sound/isa/sb/sb16.c                                |   42 +-
 sound/isa/sb/sb16_csp.c                            |   38 +-
 sound/isa/sb/sb16_main.c                           |   13 +-
 sound/isa/sb/sb8.c                                 |   12 +-
 sound/isa/sb/sb_common.c                           |   27 +-
 sound/isa/sb/sb_mixer.c                            |    4 +-
 sound/isa/sc6000.c                                 |  177 +-
 sound/isa/sscape.c                                 |   96 +-
 sound/isa/wavefront/wavefront.c                    |   61 +-
 sound/isa/wavefront/wavefront_fx.c                 |   36 +-
 sound/isa/wavefront/wavefront_midi.c               |   15 +-
 sound/isa/wavefront/wavefront_synth.c              |  196 +-
 sound/isa/wss/wss_lib.c                            |  178 +-
 sound/pci/ali5451/ali5451.c                        |    2 +-
 sound/pci/asihpi/asihpi.c                          |  101 +-
 sound/pci/asihpi/hpimsgx.c                         |    2 +-
 sound/pci/asihpi/hpioctl.c                         |    2 +-
 sound/pci/azt3328.c                                |    2 +-
 sound/pci/cmipci.c                                 |   32 +-
 sound/pci/emu10k1/emu10k1_patch.c                  |    5 +-
 sound/pci/emu10k1/emupcm.c                         |   31 +-
 sound/pci/hda/cs35l41_hda_spi.c                    |    1 +
 sound/pci/hda/hda_component.c                      |   19 +-
 sound/pci/hda/hda_component.h                      |    2 +-
 sound/pci/hda/hda_intel.c                          |   21 +-
 sound/pci/hda/hda_intel.h                          |    1 +
 sound/pci/hda/patch_cmedia.c                       |  269 ++
 sound/pci/hda/patch_realtek.c                      |  375 +-
 sound/pci/hda/samsung_helper.c                     |  310 --
 sound/pci/hda/tas2781_hda_i2c.c                    |    2 +-
 sound/pci/intel8x0.c                               |    3 -
 sound/pci/intel8x0m.c                              |    3 -
 sound/pci/korg1212/korg1212.c                      |   30 +-
 sound/pci/lx6464es/lx_core.c                       |    8 +-
 sound/pci/lx6464es/lx_core.h                       |    3 -
 sound/pci/pcxhr/pcxhr_mix22.c                      |    2 +-
 sound/pci/riptide/riptide.c                        |  193 +-
 sound/pci/rme9652/hdsp.c                           |   24 +-
 sound/pci/rme9652/hdspm.c                          |   36 +-
 sound/pci/trident/trident.h                        |    5 -
 sound/pci/trident/trident_memory.c                 |   10 +-
 sound/pcmcia/pdaudiocf/pdaudiocf.c                 |   21 +-
 sound/pcmcia/pdaudiocf/pdaudiocf_core.c            |   36 +-
 sound/pcmcia/pdaudiocf/pdaudiocf_irq.c             |    3 +-
 sound/pcmcia/vx/vxp_ops.c                          |   10 +-
 sound/pcmcia/vx/vxpocket.c                         |   27 +-
 sound/ppc/awacs.c                                  |    4 +-
 sound/ppc/daca.c                                   |    2 +-
 sound/ppc/keywest.c                                |    5 +-
 sound/ppc/pmac.c                                   |   52 +-
 sound/ppc/powermac.c                               |    2 +-
 sound/ppc/tumbler.c                                |   21 +-
 sound/sh/aica.c                                    |    7 +-
 sound/sh/sh_dac_audio.c                            |    8 +-
 sound/soc/Kconfig                                  |    2 +
 sound/soc/Makefile                                 |    1 +
 sound/soc/adi/axi-i2s.c                            |    6 +-
 sound/soc/adi/axi-spdif.c                          |    2 +-
 sound/soc/amd/acp-config.c                         |   12 +
 sound/soc/amd/acp-pcm-dma.c                        |    2 +-
 sound/soc/amd/acp/Kconfig                          |   22 +
 sound/soc/amd/acp/Makefile                         |    4 +
 sound/soc/amd/acp/acp-i2s.c                        |  182 +-
 sound/soc/amd/acp/acp-legacy-common.c              |   40 +-
 sound/soc/amd/acp/acp-legacy-mach.c                |    7 -
 sound/soc/amd/acp/acp-mach-common.c                |    2 +-
 sound/soc/amd/acp/acp-mach.h                       |    1 +
 sound/soc/amd/acp/acp-pci.c                        |    4 +
 sound/soc/amd/acp/acp-pdm.c                        |    7 +-
 sound/soc/amd/acp/acp-platform.c                   |  117 +-
 sound/soc/amd/acp/acp-rembrandt.c                  |    2 +-
 sound/soc/amd/acp/acp-renoir.c                     |    2 +-
 sound/soc/amd/acp/acp-sdw-sof-mach.c               |  509 +++
 sound/soc/amd/acp/acp-sof-mach.c                   |    7 -
 sound/soc/amd/acp/acp63.c                          |    2 +-
 sound/soc/amd/acp/acp70.c                          |   87 +-
 sound/soc/amd/acp/amd-acp63-acpi-match.c           |   90 +
 sound/soc/amd/acp/amd.h                            |   27 +-
 sound/soc/amd/acp/chip_offset_byte.h               |   84 +-
 sound/soc/amd/acp/soc_amd_sdw_common.h             |   44 +
 sound/soc/amd/mach-config.h                        |    2 +
 sound/soc/amd/ps/ps-pdm-dma.c                      |    2 +-
 sound/soc/amd/ps/ps-sdw-dma.c                      |    2 +-
 sound/soc/amd/raven/acp3x-pcm-dma.c                |    2 +-
 sound/soc/amd/renoir/acp3x-pdm-dma.c               |    2 +-
 sound/soc/amd/vangogh/acp5x-pcm-dma.c              |    2 +-
 sound/soc/amd/yc/acp6x-pdm-dma.c                   |    2 +-
 sound/soc/apple/mca.c                              |    2 +-
 sound/soc/atmel/atmel-i2s.c                        |    2 +-
 sound/soc/atmel/atmel_wm8904.c                     |    2 +-
 sound/soc/atmel/mchp-i2s-mcc.c                     |   44 +-
 sound/soc/atmel/mchp-pdmc.c                        |   99 +-
 sound/soc/atmel/mchp-spdifrx.c                     |    2 +-
 sound/soc/atmel/mchp-spdiftx.c                     |    2 +-
 sound/soc/atmel/sam9g20_wm8731.c                   |    2 +-
 sound/soc/atmel/sam9x5_wm8731.c                    |    2 +-
 sound/soc/atmel/tse850-pcm5142.c                   |    2 +-
 sound/soc/au1x/ac97c.c                             |    2 +-
 sound/soc/au1x/i2sc.c                              |    2 +-
 sound/soc/au1x/psc-ac97.c                          |    2 +-
 sound/soc/au1x/psc-i2s.c                           |    2 +-
 sound/soc/bcm/bcm63xx-i2s-whistler.c               |    2 +-
 sound/soc/bcm/cygnus-ssp.c                         |    2 +-
 sound/soc/cirrus/edb93xx.c                         |    2 +-
 sound/soc/cirrus/ep93xx-i2s.c                      |    2 +-
 sound/soc/codecs/Kconfig                           |    7 +
 sound/soc/codecs/Makefile                          |    2 +
 sound/soc/codecs/ak4613.c                          |    4 +-
 sound/soc/codecs/cs-amp-lib-test.c                 |   44 +
 sound/soc/codecs/cs35l34.c                         |   21 -
 sound/soc/codecs/cs35l36.c                         |   34 +-
 sound/soc/codecs/cs35l41.c                         |   34 +-
 sound/soc/codecs/cs35l45.c                         |    2 +-
 sound/soc/codecs/cs35l56-shared.c                  |   25 +-
 sound/soc/codecs/cs42l42-sdw.c                     |   12 +-
 sound/soc/codecs/cs42l43.c                         |    2 +-
 sound/soc/codecs/cs43130.c                         |  113 +-
 sound/soc/codecs/cs47l15.c                         |    2 +-
 sound/soc/codecs/cs47l24.c                         |    2 +-
 sound/soc/codecs/cs47l35.c                         |    2 +-
 sound/soc/codecs/cs47l85.c                         |    2 +-
 sound/soc/codecs/cs47l90.c                         |    2 +-
 sound/soc/codecs/cs47l92.c                         |    2 +-
 sound/soc/codecs/cs53l30.c                         |   24 +-
 sound/soc/codecs/es8326.c                          |    6 +-
 sound/soc/codecs/inno_rk3036.c                     |    2 +-
 sound/soc/codecs/lpass-rx-macro.c                  |    2 +-
 sound/soc/codecs/lpass-tx-macro.c                  |    2 +-
 sound/soc/codecs/lpass-va-macro.c                  |    2 +-
 sound/soc/codecs/lpass-wsa-macro.c                 |   27 +-
 sound/soc/codecs/msm8916-wcd-digital.c             |    2 +-
 sound/soc/codecs/mt6357.c                          | 1855 ++++++++++
 sound/soc/codecs/mt6357.h                          |  660 ++++
 sound/soc/codecs/peb2466.c                         |   14 +-
 sound/soc/codecs/rk817_codec.c                     |    2 +-
 sound/soc/codecs/rt1318.c                          |    3 +-
 sound/soc/codecs/rt1320-sdw.c                      | 2147 +++++++++++-
 sound/soc/codecs/rt1320-sdw.h                      |    3 +
 sound/soc/codecs/rt5682.c                          |    4 +-
 sound/soc/codecs/rt5682s.c                         |    4 +-
 sound/soc/codecs/spdif_receiver.c                  |    3 +-
 sound/soc/codecs/spdif_transmitter.c               |    3 +-
 sound/soc/codecs/sti-sas.c                         |   21 +-
 sound/soc/codecs/tas2552.c                         |    1 -
 sound/soc/codecs/tas2764.c                         |    1 -
 sound/soc/codecs/tas2770.c                         |    1 -
 sound/soc/codecs/tas2780.c                         |    1 -
 sound/soc/codecs/tas2781-comlib.c                  |   35 +-
 sound/soc/codecs/tas2781-fmwlib.c                  |   61 +-
 sound/soc/codecs/tas2781-i2c.c                     |  953 +++++-
 sound/soc/codecs/tas5086.c                         |    9 +-
 sound/soc/codecs/tlv320aic31xx.c                   |  102 +-
 sound/soc/codecs/tlv320aic32x4.c                   |    9 +
 sound/soc/codecs/wcd934x.c                         |    4 +-
 sound/soc/codecs/wcd937x.c                         |    2 +-
 sound/soc/codecs/wcd937x.h                         |   34 +-
 sound/soc/codecs/wcd938x.c                         |   20 +-
 sound/soc/codecs/wcd938x.h                         |    4 +-
 sound/soc/codecs/wcd939x.c                         |    2 +-
 sound/soc/codecs/wcd939x.h                         |    6 +-
 sound/soc/codecs/wm5102.c                          |    2 +-
 sound/soc/codecs/wm5110.c                          |    2 +-
 sound/soc/codecs/wm8994.c                          |    2 +-
 sound/soc/codecs/wm8997.c                          |    2 +-
 sound/soc/codecs/wm8998.c                          |    2 +-
 sound/soc/codecs/wsa881x.c                         |   44 +-
 sound/soc/codecs/wsa883x.c                         |   75 +-
 sound/soc/codecs/wsa884x.c                         |  240 +-
 sound/soc/dwc/dwc-i2s.c                            |   18 +-
 sound/soc/fsl/fsl_asrc.c                           |    2 +-
 sound/soc/fsl/fsl_aud2htx.c                        |    2 +-
 sound/soc/fsl/fsl_audmix.c                         |   14 +-
 sound/soc/fsl/fsl_dma.c                            |    2 +-
 sound/soc/fsl/fsl_easrc.c                          |    2 +-
 sound/soc/fsl/fsl_esai.c                           |    2 +-
 sound/soc/fsl/fsl_micfil.c                         |    2 +-
 sound/soc/fsl/fsl_mqs.c                            |   13 +-
 sound/soc/fsl/fsl_rpmsg.c                          |   11 +-
 sound/soc/fsl/fsl_sai.c                            |    2 +-
 sound/soc/fsl/fsl_spdif.c                          |   13 +-
 sound/soc/fsl/fsl_ssi.c                            |    8 +-
 sound/soc/fsl/fsl_xcvr.c                           |    4 +-
 sound/soc/fsl/imx-audmux.c                         |    8 +-
 sound/soc/fsl/imx-card.c                           |    3 -
 sound/soc/fsl/imx-pcm-rpmsg.c                      |   16 +-
 sound/soc/fsl/imx-sgtl5000.c                       |    2 +-
 sound/soc/fsl/lpc3xxx-i2s.c                        |   11 +-
 sound/soc/fsl/lpc3xxx-pcm.c                        |    2 +-
 sound/soc/fsl/mpc5200_psc_ac97.c                   |    2 +-
 sound/soc/fsl/mpc5200_psc_i2s.c                    |    4 +-
 sound/soc/fsl/p1022_ds.c                           |    2 +-
 sound/soc/fsl/p1022_rdk.c                          |    2 +-
 sound/soc/fsl/pcm030-audio-fabric.c                |    2 +-
 sound/soc/generic/audio-graph-card.c               |   16 +-
 .../soc/generic/audio-graph-card2-custom-sample.c  |    2 +-
 sound/soc/generic/audio-graph-card2.c              |   15 +-
 sound/soc/generic/simple-card.c                    |    4 +-
 sound/soc/generic/test-component.c                 |   11 +-
 sound/soc/img/img-i2s-in.c                         |    2 +-
 sound/soc/img/img-i2s-out.c                        |    2 +-
 sound/soc/img/img-parallel-out.c                   |    2 +-
 sound/soc/img/img-spdif-in.c                       |    2 +-
 sound/soc/img/img-spdif-out.c                      |    2 +-
 sound/soc/img/pistachio-internal-dac.c             |    2 +-
 sound/soc/intel/Kconfig                            |  120 -
 sound/soc/intel/Makefile                           |    1 -
 sound/soc/intel/atom/sst-mfld-platform-pcm.c       |    2 +-
 sound/soc/intel/atom/sst/sst_acpi.c                |    2 +-
 sound/soc/intel/avs/core.c                         |    8 +-
 sound/soc/intel/avs/pcm.c                          |   22 +-
 sound/soc/intel/boards/Kconfig                     |  156 +-
 sound/soc/intel/boards/Makefile                    |   31 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c      |  720 ----
 sound/soc/intel/boards/bxt_rt298.c                 |  670 ----
 sound/soc/intel/boards/bytcht_cx2072x.c            |    4 +
 sound/soc/intel/boards/bytcht_da7213.c             |    4 +
 sound/soc/intel/boards/bytcht_es8316.c             |    4 +-
 sound/soc/intel/boards/bytcr_rt5640.c              |    4 +-
 sound/soc/intel/boards/bytcr_rt5651.c              |    4 +-
 sound/soc/intel/boards/bytcr_wm5102.c              |    2 +-
 sound/soc/intel/boards/cht_bsw_max98090_ti.c       |    2 +-
 sound/soc/intel/boards/cht_bsw_rt5645.c            |    4 +
 sound/soc/intel/boards/cht_bsw_rt5672.c            |    4 +
 sound/soc/intel/boards/ehl_rt5660.c                |    3 +-
 sound/soc/intel/boards/kbl_da7219_max98357a.c      |  688 ----
 sound/soc/intel/boards/kbl_da7219_max98927.c       | 1175 -------
 sound/soc/intel/boards/kbl_rt5660.c                |  567 ---
 sound/soc/intel/boards/kbl_rt5663_max98927.c       | 1073 ------
 .../soc/intel/boards/kbl_rt5663_rt5514_max98927.c  |  869 -----
 sound/soc/intel/boards/skl_hda_dsp_common.c        |  168 -
 sound/soc/intel/boards/skl_hda_dsp_common.h        |   67 -
 sound/soc/intel/boards/skl_hda_dsp_generic.c       |  242 +-
 sound/soc/intel/boards/skl_nau88l25_max98357a.c    |  704 ----
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c      |  751 ----
 sound/soc/intel/boards/skl_rt286.c                 |  568 ---
 sound/soc/intel/boards/sof_board_helpers.c         |  152 +
 sound/soc/intel/boards/sof_board_helpers.h         |    3 +
 sound/soc/intel/boards/sof_es8336.c                |   14 +-
 sound/soc/intel/boards/sof_pcm512x.c               |    5 +-
 sound/soc/intel/boards/sof_rt5682.c                |    7 +
 sound/soc/intel/boards/sof_sdw.c                   | 1408 +-------
 sound/soc/intel/boards/sof_sdw_common.h            |  172 +-
 sound/soc/intel/boards/sof_sdw_hdmi.c              |   16 +-
 sound/soc/intel/boards/sof_ssp_amp.c               |    6 +
 sound/soc/intel/boards/sof_wm8804.c                |    6 +-
 sound/soc/intel/catpt/device.c                     |    2 +-
 sound/soc/intel/common/Makefile                    |    1 +
 sound/soc/intel/common/soc-acpi-intel-adl-match.c  |  105 +
 sound/soc/intel/common/soc-acpi-intel-arl-match.c  |  263 ++
 sound/soc/intel/common/soc-acpi-intel-cnl-match.c  |    6 -
 sound/soc/intel/common/soc-acpi-intel-ehl-match.c  |    1 -
 sound/soc/intel/common/soc-acpi-intel-hda-match.c  |   18 +-
 sound/soc/intel/common/soc-acpi-intel-icl-match.c  |    6 -
 sound/soc/intel/common/soc-acpi-intel-kbl-match.c  |   11 -
 sound/soc/intel/common/soc-acpi-intel-lnl-match.c  |  104 +
 sound/soc/intel/common/soc-acpi-intel-ptl-match.c  |  145 +
 sound/soc/intel/common/soc-acpi-intel-skl-match.c  |    5 -
 sound/soc/intel/skylake/Makefile                   |   15 -
 sound/soc/intel/skylake/bxt-sst.c                  |  629 ----
 sound/soc/intel/skylake/cnl-sst-dsp.c              |  266 --
 sound/soc/intel/skylake/cnl-sst-dsp.h              |  103 -
 sound/soc/intel/skylake/cnl-sst.c                  |  508 ---
 sound/soc/intel/skylake/skl-debug.c                |  248 --
 sound/soc/intel/skylake/skl-i2s.h                  |   87 -
 sound/soc/intel/skylake/skl-messages.c             | 1419 --------
 sound/soc/intel/skylake/skl-nhlt.c                 |  269 --
 sound/soc/intel/skylake/skl-pcm.c                  | 1507 --------
 sound/soc/intel/skylake/skl-ssp-clk.c              |  428 ---
 sound/soc/intel/skylake/skl-ssp-clk.h              |  108 -
 sound/soc/intel/skylake/skl-sst-cldma.c            |  373 --
 sound/soc/intel/skylake/skl-sst-cldma.h            |  243 --
 sound/soc/intel/skylake/skl-sst-dsp.c              |  462 ---
 sound/soc/intel/skylake/skl-sst-dsp.h              |  256 --
 sound/soc/intel/skylake/skl-sst-ipc.c              | 1071 ------
 sound/soc/intel/skylake/skl-sst-ipc.h              |  169 -
 sound/soc/intel/skylake/skl-sst-utils.c            |  425 ---
 sound/soc/intel/skylake/skl-sst.c                  |  599 ----
 sound/soc/intel/skylake/skl-topology.c             | 3605 --------------------
 sound/soc/intel/skylake/skl-topology.h             |  524 ---
 sound/soc/intel/skylake/skl.c                      | 1177 -------
 sound/soc/intel/skylake/skl.h                      |  207 --
 sound/soc/kirkwood/kirkwood-i2s.c                  |    2 +-
 sound/soc/loongson/loongson_card.c                 |  125 +-
 sound/soc/loongson/loongson_dma.c                  |   25 +-
 sound/soc/loongson/loongson_i2s.c                  |  115 +-
 sound/soc/loongson/loongson_i2s.h                  |   24 +-
 sound/soc/loongson/loongson_i2s_pci.c              |   51 +-
 sound/soc/mediatek/Kconfig                         |   20 +
 sound/soc/mediatek/Makefile                        |    1 +
 sound/soc/mediatek/common/mtk-btcvsd.c             |    2 +-
 sound/soc/mediatek/mt2701/mt2701-afe-pcm.c         |    2 +-
 sound/soc/mediatek/mt2701/mt2701-cs42448.c         |   18 +-
 sound/soc/mediatek/mt6797/mt6797-afe-pcm.c         |    2 +-
 sound/soc/mediatek/mt7986/mt7986-afe-pcm.c         |    9 +-
 sound/soc/mediatek/mt8173/mt8173-afe-pcm.c         |    2 +-
 sound/soc/mediatek/mt8183/mt8183-afe-pcm.c         |    2 +-
 sound/soc/mediatek/mt8192/mt8192-afe-pcm.c         |    2 +-
 .../mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c  |    4 +-
 sound/soc/mediatek/mt8195/mt8195-afe-pcm.c         |    2 +-
 sound/soc/mediatek/mt8365/Makefile                 |   15 +
 sound/soc/mediatek/mt8365/mt8365-afe-clk.c         |  421 +++
 sound/soc/mediatek/mt8365/mt8365-afe-clk.h         |   32 +
 sound/soc/mediatek/mt8365/mt8365-afe-common.h      |  448 +++
 sound/soc/mediatek/mt8365/mt8365-afe-pcm.c         | 2274 ++++++++++++
 sound/soc/mediatek/mt8365/mt8365-dai-adda.c        |  311 ++
 sound/soc/mediatek/mt8365/mt8365-dai-dmic.c        |  310 ++
 sound/soc/mediatek/mt8365/mt8365-dai-i2s.c         |  846 +++++
 sound/soc/mediatek/mt8365/mt8365-dai-pcm.c         |  293 ++
 sound/soc/mediatek/mt8365/mt8365-mt6357.c          |  343 ++
 sound/soc/mediatek/mt8365/mt8365-reg.h             |  993 ++++++
 sound/soc/meson/aiu-fifo.h                         |    2 -
 sound/soc/meson/aiu.c                              |    2 +-
 sound/soc/meson/axg-card.c                         |   13 +-
 sound/soc/meson/gx-card.c                          |    3 +-
 sound/soc/meson/meson-card-utils.c                 |    4 +-
 sound/soc/mxs/mxs-sgtl5000.c                       |    2 +-
 sound/soc/pxa/mmp-sspa.c                           |    2 +-
 sound/soc/pxa/pxa2xx-ac97.c                        |    2 +-
 sound/soc/qcom/common.c                            |    1 -
 sound/soc/qcom/lpass-apq8016.c                     |    2 +-
 sound/soc/qcom/lpass-ipq806x.c                     |    2 +-
 sound/soc/qcom/lpass-sc7180.c                      |    2 +-
 sound/soc/qcom/lpass-sc7280.c                      |    2 +-
 sound/soc/qcom/qdsp6/q6asm-dai.c                   |   31 +-
 sound/soc/qcom/qdsp6/q6routing.c                   |    2 +-
 sound/soc/qcom/sm8250.c                            |    8 +
 sound/soc/rockchip/rockchip_i2s.c                  |    2 +-
 sound/soc/rockchip/rockchip_i2s_tdm.c              |    2 +-
 sound/soc/rockchip/rockchip_pdm.c                  |    2 +-
 sound/soc/rockchip/rockchip_rt5645.c               |    2 +-
 sound/soc/rockchip/rockchip_spdif.c                |    2 +-
 sound/soc/samsung/arndale.c                        |    2 +-
 sound/soc/samsung/i2s.c                            |    2 +-
 sound/soc/samsung/odroid.c                         |    2 +-
 sound/soc/samsung/pcm.c                            |    2 +-
 sound/soc/samsung/snow.c                           |    2 +-
 sound/soc/samsung/spdif.c                          |    2 +-
 sound/soc/sdw_utils/Kconfig                        |    6 +
 sound/soc/sdw_utils/Makefile                       |   11 +
 .../soc_sdw_bridge_cs35l56.c}                      |   56 +-
 .../soc_sdw_cs42l42.c}                             |   13 +-
 .../soc_sdw_cs42l43.c}                             |   38 +-
 .../soc_sdw_cs_amp.c}                              |   18 +-
 .../sof_sdw_dmic.c => sdw_utils/soc_sdw_dmic.c}    |   10 +-
 .../sof_sdw_maxim.c => sdw_utils/soc_sdw_maxim.c}  |   56 +-
 .../soc_sdw_rt5682.c}                              |   12 +-
 .../sof_sdw_rt700.c => sdw_utils/soc_sdw_rt700.c}  |   12 +-
 .../sof_sdw_rt711.c => sdw_utils/soc_sdw_rt711.c}  |   38 +-
 .../soc_sdw_rt712_sdca.c}                          |   10 +-
 .../soc_sdw_rt722_sdca.c}                          |   10 +-
 .../soc_sdw_rt_amp.c}                              |   43 +-
 .../soc_sdw_rt_amp_coeff_tables.h}                 |    6 +-
 .../soc_sdw_rt_dmic.c}                             |   11 +-
 .../soc_sdw_rt_sdca_jack_common.c}                 |   40 +-
 sound/soc/sdw_utils/soc_sdw_utils.c                | 1170 +++++++
 sound/soc/sh/Kconfig                               |    1 +
 sound/soc/sh/fsi.c                                 |    2 +-
 sound/soc/sh/hac.c                                 |    2 +-
 sound/soc/sh/rcar/adg.c                            |    4 +-
 sound/soc/sh/rcar/core.c                           |   19 +-
 sound/soc/sh/rcar/dma.c                            |   75 +-
 sound/soc/sh/rcar/rsnd.h                           |   10 -
 sound/soc/sh/rcar/ssi.c                            |    2 +-
 sound/soc/sh/rz-ssi.c                              |  291 +-
 sound/soc/sh/siu_dai.c                             |    2 +-
 sound/soc/soc-ac97.c                               |    4 +-
 sound/soc/soc-card-test.c                          |   57 -
 sound/soc/soc-card.c                               |   10 -
 sound/soc/soc-component.c                          |   12 -
 sound/soc/soc-core.c                               |   21 +-
 sound/soc/soc-dai.c                                |   58 -
 sound/soc/soc-dapm.c                               |    5 +-
 sound/soc/soc-pcm.c                                |  364 +-
 sound/soc/soc-topology-test.c                      |  132 +-
 sound/soc/soc-topology.c                           |    9 +-
 sound/soc/sof/amd/Kconfig                          |   11 +
 sound/soc/sof/amd/Makefile                         |    4 +-
 sound/soc/sof/amd/acp-common.c                     |    3 +
 sound/soc/sof/amd/acp-dsp-offset.h                 |   24 +-
 sound/soc/sof/amd/acp-loader.c                     |    2 +-
 sound/soc/sof/amd/acp.c                            |   88 +-
 sound/soc/sof/amd/acp.h                            |   11 +-
 sound/soc/sof/amd/acp70.c                          |  142 +
 sound/soc/sof/amd/pci-acp63.c                      |    2 +-
 sound/soc/sof/amd/pci-acp70.c                      |  112 +
 sound/soc/sof/amd/pci-rmb.c                        |    1 -
 sound/soc/sof/amd/pci-rn.c                         |    1 -
 sound/soc/sof/amd/pci-vangogh.c                    |    1 -
 sound/soc/sof/imx/imx8.c                           |    2 +-
 sound/soc/sof/imx/imx8m.c                          |    2 +-
 sound/soc/sof/imx/imx8ulp.c                        |    2 +-
 sound/soc/sof/intel/Kconfig                        |   17 +
 sound/soc/sof/intel/Makefile                       |    2 +
 sound/soc/sof/intel/bdw.c                          |    2 +-
 sound/soc/sof/intel/byt.c                          |    2 +-
 sound/soc/sof/intel/hda-dsp.c                      |    1 +
 sound/soc/sof/intel/hda-stream.c                   |    4 +-
 sound/soc/sof/intel/hda.c                          |  282 +-
 sound/soc/sof/intel/hda.h                          |    1 +
 sound/soc/sof/intel/lnl.c                          |   27 +
 sound/soc/sof/intel/mtl.c                          |   16 +-
 sound/soc/sof/intel/mtl.h                          |    2 +
 sound/soc/sof/intel/pci-ptl.c                      |   77 +
 sound/soc/sof/intel/shim.h                         |    1 +
 sound/soc/sof/mediatek/mt8186/mt8186.c             |    2 +-
 sound/soc/sof/mediatek/mt8195/mt8195.c             |    2 +-
 sound/soc/sof/pcm.c                                |    2 +-
 sound/soc/sof/sof-audio.h                          |    8 +-
 sound/soc/sof/sof-priv.h                           |   16 +-
 sound/soc/sof/topology.c                           |    8 +-
 sound/soc/sprd/sprd-mcdt.c                         |    2 +-
 sound/soc/starfive/jh7110_pwmdac.c                 |    2 +-
 sound/soc/starfive/jh7110_tdm.c                    |    2 +-
 sound/soc/stm/stm32_adfsdm.c                       |    2 +-
 sound/soc/stm/stm32_i2s.c                          |    6 +-
 sound/soc/stm/stm32_sai_sub.c                      |    2 +-
 sound/soc/stm/stm32_spdifrx.c                      |    2 +-
 sound/soc/sunxi/sun4i-codec.c                      |   30 +-
 sound/soc/sunxi/sun4i-i2s.c                        |    2 +-
 sound/soc/sunxi/sun4i-spdif.c                      |    2 +-
 sound/soc/sunxi/sun50i-dmic.c                      |    2 +-
 sound/soc/sunxi/sun8i-codec.c                      |    2 +-
 sound/soc/tegra/tegra186_asrc.c                    |    2 +-
 sound/soc/tegra/tegra186_dspk.c                    |    2 +-
 sound/soc/tegra/tegra20_ac97.c                     |    2 +-
 sound/soc/tegra/tegra20_i2s.c                      |    2 +-
 sound/soc/tegra/tegra210_admaif.c                  |    2 +-
 sound/soc/tegra/tegra210_adx.c                     |    2 +-
 sound/soc/tegra/tegra210_ahub.c                    |    2 +-
 sound/soc/tegra/tegra210_amx.c                     |    2 +-
 sound/soc/tegra/tegra210_dmic.c                    |    2 +-
 sound/soc/tegra/tegra210_i2s.c                     |   18 +-
 sound/soc/tegra/tegra210_mixer.c                   |    2 +-
 sound/soc/tegra/tegra210_mvc.c                     |    2 +-
 sound/soc/tegra/tegra210_ope.c                     |    2 +-
 sound/soc/tegra/tegra210_sfc.c                     |    2 +-
 sound/soc/tegra/tegra30_ahub.c                     |    2 +-
 sound/soc/tegra/tegra30_i2s.c                      |    2 +-
 sound/soc/tegra/tegra_audio_graph_card.c           |    2 +-
 sound/soc/tegra/tegra_pcm.c                        |    2 +-
 sound/soc/ti/ams-delta.c                           |    2 +-
 sound/soc/ti/davinci-i2s.c                         |    2 +-
 sound/soc/ti/davinci-mcasp.c                       |    2 +-
 sound/soc/ti/omap-mcbsp.c                          |    2 +-
 sound/soc/uniphier/aio-ld11.c                      |    2 +-
 sound/soc/uniphier/aio-pxs2.c                      |    2 +-
 sound/soc/uniphier/evea.c                          |    2 +-
 sound/soc/ux500/mop500.c                           |    2 +-
 sound/soc/ux500/ux500_msp_dai.c                    |    2 +-
 sound/soc/xilinx/xlnx_formatter_pcm.c              |    2 +-
 sound/soc/xilinx/xlnx_spdif.c                      |    2 +-
 sound/soc/xtensa/xtfpga-i2s.c                      |    2 +-
 sound/sparc/amd7930.c                              |    8 +-
 sound/sparc/cs4231.c                               |   78 +-
 sound/synth/emux/emux_hwdep.c                      |    6 +-
 sound/synth/emux/emux_oss.c                        |   11 +-
 sound/synth/emux/emux_seq.c                        |   13 +-
 sound/synth/emux/emux_synth.c                      |   12 +-
 sound/synth/emux/soundfont.c                       |   67 +-
 sound/usb/caiaq/audio.c                            |   15 +-
 sound/usb/card.c                                   |    8 +
 sound/usb/clock.c                                  |   62 +-
 sound/usb/endpoint.c                               |    3 +
 sound/usb/format.c                                 |    6 +-
 sound/usb/helper.c                                 |   34 +
 sound/usb/helper.h                                 |   10 +-
 sound/usb/midi.c                                   |    6 +-
 sound/usb/midi2.c                                  |   36 +-
 sound/usb/mixer.c                                  |   37 +-
 sound/usb/mixer.h                                  |    1 +
 sound/usb/mixer_quirks.c                           |  593 +++-
 sound/usb/mixer_scarlett.c                         |    4 +-
 sound/usb/power.c                                  |    3 +-
 sound/usb/power.h                                  |    1 +
 sound/usb/quirks-table.h                           | 2455 +++++--------
 sound/usb/quirks.c                                 |   62 +-
 sound/usb/stream.c                                 |   21 +-
 sound/usb/usbaudio.h                               |   12 +
 sound/usb/usx2y/us122l.c                           |   45 +-
 sound/usb/usx2y/usX2Yhwdep.c                       |   25 +-
 sound/usb/usx2y/usb_stream.c                       |   95 +-
 sound/usb/usx2y/usb_stream.h                       |    1 +
 sound/usb/usx2y/usbusx2y.c                         |    7 +-
 sound/usb/usx2y/usbusx2yaudio.c                    |   67 +-
 sound/usb/usx2y/usx2yhwdeppcm.c                    |   54 +-
 tools/sound/dapm-graph                             |   44 +-
 tools/testing/selftests/alsa/Makefile              |    4 +-
 tools/testing/selftests/alsa/global-timer.c        |   87 +
 tools/testing/selftests/alsa/utimer-test.c         |  164 +
 648 files changed, 25012 insertions(+), 32651 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/cirrus,cs4271.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/cs4271.txt
 delete mode 100644 Documentation/devicetree/bindings/sound/da7213.txt
 create mode 100644 Documentation/devicetree/bindings/sound/dlg,da7213.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/fsl,imx-audio-es8328.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/fsl,saif.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/imx-audio-es8328.txt
 create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8365-afe.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8365-mt6357.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/mxs-saif.txt
 delete mode 100644 Documentation/devicetree/bindings/sound/pcm512x.txt
 create mode 100644 Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/ti,pcm512x.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/ti,tlv320dac3100.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/ti,tpa6130a2.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
 delete mode 100644 Documentation/devicetree/bindings/sound/tpa6130a2.txt
 create mode 100644 Documentation/sound/utimers.rst
 create mode 100644 include/sound/soc_sdw_utils.h
 create mode 100644 include/sound/tas2563-tlv.h
 delete mode 100644 sound/core/memalloc_local.h
 delete mode 100644 sound/pci/hda/samsung_helper.c
 create mode 100644 sound/soc/amd/acp/acp-sdw-sof-mach.c
 create mode 100644 sound/soc/amd/acp/amd-acp63-acpi-match.c
 create mode 100644 sound/soc/amd/acp/soc_amd_sdw_common.h
 create mode 100644 sound/soc/codecs/mt6357.c
 create mode 100644 sound/soc/codecs/mt6357.h
 delete mode 100644 sound/soc/intel/boards/bxt_da7219_max98357a.c
 delete mode 100644 sound/soc/intel/boards/bxt_rt298.c
 delete mode 100644 sound/soc/intel/boards/kbl_da7219_max98357a.c
 delete mode 100644 sound/soc/intel/boards/kbl_da7219_max98927.c
 delete mode 100644 sound/soc/intel/boards/kbl_rt5660.c
 delete mode 100644 sound/soc/intel/boards/kbl_rt5663_max98927.c
 delete mode 100644 sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
 delete mode 100644 sound/soc/intel/boards/skl_hda_dsp_common.c
 delete mode 100644 sound/soc/intel/boards/skl_hda_dsp_common.h
 delete mode 100644 sound/soc/intel/boards/skl_nau88l25_max98357a.c
 delete mode 100644 sound/soc/intel/boards/skl_nau88l25_ssm4567.c
 delete mode 100644 sound/soc/intel/boards/skl_rt286.c
 create mode 100644 sound/soc/intel/common/soc-acpi-intel-ptl-match.c
 delete mode 100644 sound/soc/intel/skylake/Makefile
 delete mode 100644 sound/soc/intel/skylake/bxt-sst.c
 delete mode 100644 sound/soc/intel/skylake/cnl-sst-dsp.c
 delete mode 100644 sound/soc/intel/skylake/cnl-sst-dsp.h
 delete mode 100644 sound/soc/intel/skylake/cnl-sst.c
 delete mode 100644 sound/soc/intel/skylake/skl-debug.c
 delete mode 100644 sound/soc/intel/skylake/skl-i2s.h
 delete mode 100644 sound/soc/intel/skylake/skl-messages.c
 delete mode 100644 sound/soc/intel/skylake/skl-nhlt.c
 delete mode 100644 sound/soc/intel/skylake/skl-pcm.c
 delete mode 100644 sound/soc/intel/skylake/skl-ssp-clk.c
 delete mode 100644 sound/soc/intel/skylake/skl-ssp-clk.h
 delete mode 100644 sound/soc/intel/skylake/skl-sst-cldma.c
 delete mode 100644 sound/soc/intel/skylake/skl-sst-cldma.h
 delete mode 100644 sound/soc/intel/skylake/skl-sst-dsp.c
 delete mode 100644 sound/soc/intel/skylake/skl-sst-dsp.h
 delete mode 100644 sound/soc/intel/skylake/skl-sst-ipc.c
 delete mode 100644 sound/soc/intel/skylake/skl-sst-ipc.h
 delete mode 100644 sound/soc/intel/skylake/skl-sst-utils.c
 delete mode 100644 sound/soc/intel/skylake/skl-sst.c
 delete mode 100644 sound/soc/intel/skylake/skl-topology.c
 delete mode 100644 sound/soc/intel/skylake/skl-topology.h
 delete mode 100644 sound/soc/intel/skylake/skl.c
 delete mode 100644 sound/soc/intel/skylake/skl.h
 create mode 100644 sound/soc/mediatek/mt8365/Makefile
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-afe-clk.c
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-afe-clk.h
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-afe-common.h
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-dai-adda.c
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-dai-dmic.c
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-dai-i2s.c
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-dai-pcm.c
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-mt6357.c
 create mode 100644 sound/soc/mediatek/mt8365/mt8365-reg.h
 create mode 100644 sound/soc/sdw_utils/Kconfig
 create mode 100644 sound/soc/sdw_utils/Makefile
 rename sound/soc/{intel/boards/bridge_cs35l56.c => sdw_utils/soc_sdw_bridge_cs35l56.c} (63%)
 rename sound/soc/{intel/boards/sof_sdw_cs42l42.c => sdw_utils/soc_sdw_cs42l42.c} (82%)
 rename sound/soc/{intel/boards/sof_sdw_cs42l43.c => sdw_utils/soc_sdw_cs42l43.c} (73%)
 rename sound/soc/{intel/boards/sof_sdw_cs_amp.c => sdw_utils/soc_sdw_cs_amp.c} (66%)
 rename sound/soc/{intel/boards/sof_sdw_dmic.c => sdw_utils/soc_sdw_dmic.c} (71%)
 rename sound/soc/{intel/boards/sof_sdw_maxim.c => sdw_utils/soc_sdw_maxim.c} (63%)
 rename sound/soc/{intel/boards/sof_sdw_rt5682.c => sdw_utils/soc_sdw_rt5682.c} (82%)
 rename sound/soc/{intel/boards/sof_sdw_rt700.c => sdw_utils/soc_sdw_rt700.c} (81%)
 rename sound/soc/{intel/boards/sof_sdw_rt711.c => sdw_utils/soc_sdw_rt711.c} (70%)
 rename sound/soc/{intel/boards/sof_sdw_rt712_sdca.c => sdw_utils/soc_sdw_rt712_sdca.c} (74%)
 rename sound/soc/{intel/boards/sof_sdw_rt722_sdca.c => sdw_utils/soc_sdw_rt722_sdca.c} (68%)
 rename sound/soc/{intel/boards/sof_sdw_rt_amp.c => sdw_utils/soc_sdw_rt_amp.c} (84%)
 rename sound/soc/{intel/boards/sof_sdw_amp_coeff_tables.h => sdw_utils/soc_sdw_rt_amp_coeff_tables.h} (97%)
 rename sound/soc/{intel/boards/sof_sdw_rt_dmic.c => sdw_utils/soc_sdw_rt_dmic.c} (70%)
 rename sound/soc/{intel/boards/sof_sdw_rt_sdca_jack_common.c => sdw_utils/soc_sdw_rt_sdca_jack_common.c} (78%)
 create mode 100644 sound/soc/sdw_utils/soc_sdw_utils.c
 create mode 100644 sound/soc/sof/amd/acp70.c
 create mode 100644 sound/soc/sof/amd/pci-acp70.c
 create mode 100644 sound/soc/sof/intel/pci-ptl.c
 create mode 100644 tools/testing/selftests/alsa/global-timer.c
 create mode 100644 tools/testing/selftests/alsa/utimer-test.c


.
