Skip to contentSkip to conversation

Linux 6.2.11

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Apr 13, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.2.11 kernel.

All users of the 6.2 kernel series must upgrade.

The updated 6.2.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.2.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

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

 Documentation/devicetree/bindings/serial/renesas,scif.yaml |    4 
 Documentation/mm/zsmalloc.rst                              |    2 
 Makefile                                                   |    2 
 arch/arm64/kernel/compat_alignment.c                       |   32 -
 arch/s390/kvm/intercept.c                                  |   32 -
 arch/x86/kernel/acpi/boot.c                                |    9 
 arch/x86/kvm/kvm_onhyperv.h                                |    5 
 arch/x86/kvm/svm/svm.c                                     |   37 +
 arch/x86/kvm/svm/svm_onhyperv.h                            |   15 
 arch/x86/kvm/vmx/nested.c                                  |    7 
 arch/x86/kvm/x86.c                                         |   11 
 block/blk-mq.c                                             |    4 
 block/genhd.c                                              |    8 
 drivers/acpi/acpi_video.c                                  |   15 
 drivers/acpi/video_detect.c                                |   58 +
 drivers/block/ublk_drv.c                                   |   26 
 drivers/counter/104-quad-8.c                               |   31 -
 drivers/cxl/core/pci.c                                     |   38 -
 drivers/cxl/cxlpci.h                                       |   14 
 drivers/gpio/Kconfig                                       |    2 
 drivers/gpio/gpio-davinci.c                                |    5 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                 |   18 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c          |    2 
 drivers/gpu/drm/bridge/lontium-lt9611.c                    |    1 
 drivers/gpu/drm/i915/display/intel_color.c                 |   23 
 drivers/gpu/drm/i915/display/intel_color.h                 |    3 
 drivers/gpu/drm/i915/display/intel_display.c               |   28 
 drivers/gpu/drm/i915/display/intel_display.h               |    8 
 drivers/gpu/drm/i915/gt/intel_execlists_submission.c       |   12 
 drivers/gpu/drm/i915/gt/uc/intel_huc.c                     |    7 
 drivers/gpu/drm/i915/gt/uc/intel_huc.h                     |    7 
 drivers/gpu/drm/i915/i915_perf.c                           |    6 
 drivers/gpu/drm/nouveau/dispnv50/disp.c                    |   32 +
 drivers/gpu/drm/nouveau/nouveau_dp.c                       |    8 
 drivers/gpu/drm/panfrost/panfrost_mmu.c                    |    1 
 drivers/hv/connection.c                                    |    4 
 drivers/hwtracing/coresight/coresight-etm4x-core.c         |   24 
 drivers/hwtracing/coresight/coresight-etm4x.h              |   20 
 drivers/iio/accel/kionix-kx022a.c                          |    2 
 drivers/iio/adc/ad7791.c                                   |    2 
 drivers/iio/adc/ltc2497.c                                  |    6 
 drivers/iio/adc/max11410.c                                 |   22 
 drivers/iio/adc/qcom-spmi-adc5.c                           |   10 
 drivers/iio/adc/ti-ads7950.c                               |    1 
 drivers/iio/dac/cio-dac.c                                  |    4 
 drivers/iio/imu/Kconfig                                    |    1 
 drivers/iio/industrialio-buffer.c                          |   21 
 drivers/iio/light/cm32181.c                                |   12 
 drivers/iio/light/vcnl4000.c                               |    3 
 drivers/iommu/iommufd/pages.c                              |   16 
 drivers/md/dm-bio-prison-v1.c                              |   10 
 drivers/md/dm-bio-prison-v2.c                              |   12 
 drivers/md/dm-bio-prison-v2.h                              |   10 
 drivers/md/dm-bufio.c                                      |   58 -
 drivers/md/dm-cache-background-tracker.c                   |    8 
 drivers/md/dm-cache-background-tracker.h                   |   46 +
 drivers/md/dm-cache-metadata.c                             |   40 -
 drivers/md/dm-cache-metadata.h                             |    4 
 drivers/md/dm-cache-policy-internal.h                      |   10 
 drivers/md/dm-cache-policy-smq.c                           |  163 ++---
 drivers/md/dm-cache-policy.c                               |    2 
 drivers/md/dm-cache-policy.h                               |    4 
 drivers/md/dm-cache-target.c                               |   50 -
 drivers/md/dm-core.h                                       |    6 
 drivers/md/dm-crypt.c                                      |   48 -
 drivers/md/dm-delay.c                                      |    6 
 drivers/md/dm-ebs-target.c                                 |    2 
 drivers/md/dm-era-target.c                                 |   32 -
 drivers/md/dm-exception-store.c                            |    6 
 drivers/md/dm-exception-store.h                            |   18 
 drivers/md/dm-flakey.c                                     |   22 
 drivers/md/dm-integrity.c                                  |  328 +++++------
 drivers/md/dm-io-rewind.c                                  |    4 
 drivers/md/dm-io.c                                         |   32 -
 drivers/md/dm-ioctl.c                                      |   18 
 drivers/md/dm-kcopyd.c                                     |   30 -
 drivers/md/dm-linear.c                                     |    2 
 drivers/md/dm-log-userspace-base.c                         |    6 
 drivers/md/dm-log-userspace-transfer.c                     |    2 
 drivers/md/dm-log-writes.c                                 |   10 
 drivers/md/dm-log.c                                        |   10 
 drivers/md/dm-mpath.c                                      |   46 -
 drivers/md/dm-mpath.h                                      |    2 
 drivers/md/dm-path-selector.h                              |    2 
 drivers/md/dm-ps-io-affinity.c                             |    4 
 drivers/md/dm-ps-queue-length.c                            |   10 
 drivers/md/dm-ps-round-robin.c                             |    6 
 drivers/md/dm-ps-service-time.c                            |   14 
 drivers/md/dm-raid.c                                       |    2 
 drivers/md/dm-raid1.c                                      |   22 
 drivers/md/dm-region-hash.c                                |   22 
 drivers/md/dm-rq.c                                         |   16 
 drivers/md/dm-rq.h                                         |    2 
 drivers/md/dm-snap-persistent.c                            |    8 
 drivers/md/dm-snap-transient.c                             |    6 
 drivers/md/dm-snap.c                                       |   34 -
 drivers/md/dm-stats.c                                      |   74 +-
 drivers/md/dm-stats.h                                      |    6 
 drivers/md/dm-stripe.c                                     |   10 
 drivers/md/dm-switch.c                                     |   46 -
 drivers/md/dm-table.c                                      |   25 
 drivers/md/dm-thin-metadata.c                              |   24 
 drivers/md/dm-thin.c                                       |   46 -
 drivers/md/dm-uevent.c                                     |    4 
 drivers/md/dm-uevent.h                                     |    4 
 drivers/md/dm-verity-fec.c                                 |   30 -
 drivers/md/dm-verity-fec.h                                 |   18 
 drivers/md/dm-verity-target.c                              |   30 -
 drivers/md/dm-verity.h                                     |    8 
 drivers/md/dm-writecache.c                                 |   80 +-
 drivers/md/dm.c                                            |   55 -
 drivers/md/dm.h                                            |    4 
 drivers/md/persistent-data/dm-array.c                      |   69 +-
 drivers/md/persistent-data/dm-array.h                      |    2 
 drivers/md/persistent-data/dm-bitset.c                     |   12 
 drivers/md/persistent-data/dm-block-manager.c              |   16 
 drivers/md/persistent-data/dm-block-manager.h              |    6 
 drivers/md/persistent-data/dm-btree-remove.c               |   46 -
 drivers/md/persistent-data/dm-btree-spine.c                |    4 
 drivers/md/persistent-data/dm-btree.c                      |   98 +--
 drivers/md/persistent-data/dm-btree.h                      |   12 
 drivers/md/persistent-data/dm-persistent-data-internal.h   |    6 
 drivers/md/persistent-data/dm-space-map-common.c           |   28 
 drivers/md/persistent-data/dm-space-map-metadata.c         |   20 
 drivers/md/persistent-data/dm-transaction-manager.c        |   16 
 drivers/md/persistent-data/dm-transaction-manager.h        |    2 
 drivers/net/dsa/mv88e6xxx/chip.c                           |    2 
 drivers/net/dsa/mv88e6xxx/global2.c                        |   20 
 drivers/net/dsa/mv88e6xxx/global2.h                        |    1 
 drivers/net/ethernet/google/gve/gve.h                      |    2 
 drivers/net/ethernet/google/gve/gve_tx.c                   |   12 
 drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c         |   23 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                |    4 
 drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c          |    1 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c          |   21 
 drivers/net/ethernet/ti/am65-cpsw-nuss.c                   |    6 
 drivers/net/phy/phylink.c                                  |   19 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c  |   36 -
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h    |    2 
 drivers/net/wireless/mediatek/mt76/mt7603/main.c           |   10 
 drivers/net/wireless/mediatek/mt76/mt7615/mac.c            |   70 --
 drivers/net/wireless/mediatek/mt76/mt7615/main.c           |   15 
 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h         |    6 
 drivers/net/wireless/mediatek/mt76/mt76x02_util.c          |   18 
 drivers/net/wireless/mediatek/mt76/mt7915/main.c           |   13 
 drivers/net/wireless/mediatek/mt76/mt7921/main.c           |   13 
 drivers/net/wireless/mediatek/mt76/mt7921/pci.c            |    2 
 drivers/net/wireless/mediatek/mt76/mt7996/main.c           |   13 
 drivers/nvme/host/core.c                                   |    6 
 drivers/pci/doe.c                                          |   30 -
 drivers/platform/x86/think-lmi.c                           |   20 
 drivers/pwm/pwm-cros-ec.c                                  |    1 
 drivers/pwm/pwm-hibvt.c                                    |    1 
 drivers/pwm/pwm-iqs620a.c                                  |    1 
 drivers/pwm/pwm-meson.c                                    |    8 
 drivers/pwm/pwm-sprd.c                                     |    1 
 drivers/scsi/iscsi_tcp.c                                   |    3 
 drivers/scsi/qla2xxx/qla_os.c                              |    1 
 drivers/tty/serial/8250/8250_port.c                        |   11 
 drivers/tty/serial/fsl_lpuart.c                            |   10 
 drivers/tty/serial/sh-sci.c                                |   10 
 drivers/usb/cdns3/cdnsp-ep0.c                              |    3 
 drivers/usb/dwc3/dwc3-pci.c                                |    4 
 drivers/usb/host/xhci-pci.c                                |    7 
 drivers/usb/host/xhci-tegra.c                              |    6 
 drivers/usb/host/xhci.c                                    |    7 
 drivers/usb/serial/cp210x.c                                |    1 
 drivers/usb/serial/option.c                                |   10 
 drivers/usb/typec/altmodes/displayport.c                   |    6 
 fs/cifs/fs_context.c                                       |   13 
 fs/cifs/fs_context.h                                       |    3 
 fs/cifs/misc.c                                             |    2 
 fs/dax.c                                                   |   52 +
 fs/ksmbd/connection.c                                      |    5 
 fs/ksmbd/server.c                                          |    5 
 fs/ksmbd/smb2pdu.c                                         |    3 
 fs/ksmbd/smb_common.c                                      |  138 +++-
 fs/ksmbd/smb_common.h                                      |    2 
 fs/namespace.c                                             |    2 
 fs/nfsd/blocklayout.c                                      |    1 
 fs/nfsd/nfs4callback.c                                     |    4 
 fs/nfsd/nfs4xdr.c                                          |   15 
 fs/nilfs2/segment.c                                        |    3 
 fs/nilfs2/super.c                                          |    2 
 fs/nilfs2/the_nilfs.c                                      |   12 
 include/acpi/video.h                                       |   15 
 include/linux/device-mapper.h                              |   38 -
 include/linux/dm-bufio.h                                   |   12 
 include/linux/dm-dirty-log.h                               |    6 
 include/linux/dm-io.h                                      |    8 
 include/linux/dm-kcopyd.h                                  |   22 
 include/linux/dm-region-hash.h                             |    2 
 include/linux/ftrace.h                                     |    2 
 include/linux/mm_types.h                                   |    3 
 include/linux/pci-doe.h                                    |    8 
 include/linux/phylink.h                                    |    1 
 include/net/raw.h                                          |   15 
 io_uring/io_uring.c                                        |    2 
 io_uring/kbuf.c                                            |    7 
 kernel/events/core.c                                       |   14 
 kernel/fork.c                                              |    3 
 kernel/trace/ftrace.c                                      |   15 
 kernel/trace/ring_buffer.c                                 |   13 
 kernel/trace/trace.c                                       |    1 
 kernel/trace/trace_events_synth.c                          |   19 
 kernel/trace/trace_osnoise.c                               |    4 
 lib/maple_tree.c                                           |  383 ++++++++-----
 mm/hugetlb.c                                               |   14 
 mm/kfence/core.c                                           |   32 -
 mm/memory.c                                                |   16 
 mm/mmap.c                                                  |    3 
 mm/swapfile.c                                              |    3 
 mm/vmalloc.c                                               |    8 
 net/can/isotp.c                                            |   74 +-
 net/can/j1939/transport.c                                  |    5 
 net/core/netpoll.c                                         |   19 
 net/ethtool/linkmodes.c                                    |    7 
 net/ipv4/icmp.c                                            |    5 
 net/ipv4/ping.c                                            |    8 
 net/ipv4/raw.c                                             |   49 -
 net/ipv4/raw_diag.c                                        |   10 
 net/ipv6/ip6_output.c                                      |    7 
 net/ipv6/raw.c                                             |   14 
 net/l2tp/l2tp_ip.c                                         |    8 
 net/l2tp/l2tp_ip6.c                                        |    8 
 net/mac80211/sta_info.c                                    |    3 
 net/mac80211/util.c                                        |    2 
 net/netlink/af_netlink.c                                   |   15 
 net/qrtr/af_qrtr.c                                         |    2 
 net/qrtr/ns.c                                              |   15 
 net/sctp/socket.c                                          |    4 
 net/sunrpc/svcauth_unix.c                                  |   17 
 sound/pci/hda/patch_hdmi.c                                 |   11 
 sound/pci/hda/patch_realtek.c                              |    2 
 sound/soc/codecs/hdac_hdmi.c                               |   17 
 sound/soc/codecs/lpass-rx-macro.c                          |    4 
 sound/soc/codecs/lpass-tx-macro.c                          |    4 
 sound/soc/codecs/lpass-wsa-macro.c                         |    4 
 sound/soc/sof/ipc4-topology.c                              |    8 
 sound/soc/sof/ipc4.c                                       |    8 
 tools/testing/radix-tree/maple.c                           |   18 
 241 files changed, 2636 insertions(+), 1756 deletions(-)

Alex Deucher (1):
drm/amdgpu: for S0ix, skip SDMA 5.x+ suspend/resume

Alistair Popple (1):
mm: take a page reference when removing device exclusive entries

Andrea Righi (1):
l2tp: generate correct module alias strings

Andy Chi (1):
ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook

Andy Roulin (1):
ethtool: reset #lanes when lanes is omitted

Andy Shevchenko (1):
iio: adc: qcom-spmi-adc5: Fix the channel name

Ard Biesheuvel (1):
arm64: compat: Work around uninitialized variable warning

Armin Wolf (1):
platform/x86: think-lmi: Fix memory leak when showing current settings

Arnd Bergmann (1):

      iio: adis16480: select CONFIG_CRC32

Biju Das (2):
tty: serial: sh-sci: Fix transmit end interrupt handler
tty: serial: sh-sci: Fix Rx on RZ/G2L SCI

Bjørn Mork (1):
USB: serial: option: add Quectel RM500U-CN modem

Boris Brezillon (1):
drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path

Christian Brauner (1):
fs: drop peer group ids under namespace lock

Chuck Lever (1):

      NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL

Corinna Vinschen (1):
net: stmmac: fix up RX flow hash indirection table when setting channels

D Scott Phillips (1):
xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu

Dai Ngo (1):
NFSD: callback request does not use correct credential for AUTH_SYS

Daniel Bristot de Oliveira (2):
tracing/timerlat: Notify new max thread latency tracing/osnoise: Fix notify new tracing_max_latency

Daniele Ceraolo Spurio (1):
drm/i915/huc: Cancel HuC delayed load timer on reset.

Dhruva Gole (2):
gpio: davinci: Do not clear the bank intr enable bit in save_context
gpio: davinci: Add irq chip flag to skip set wake

Enrico Sau (1):
USB: serial: option: add Telit FE990 compositions

Eric DeVolder (1):
x86/acpi/boot: Correct acpi_is_processor_usable() check

Eric Dumazet (3):
icmp: guard against too small mtu
raw: use net_hash_mix() in hash function
netlink: annotate lockless accesses to nlk->max_recvmsg_len

Felix Fietkau (3):
wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
net: ethernet: mtk_eth_soc: fix remaining throughput regression
wifi: mt76: ignore key disable commands

Geert Uytterhoeven (1):
dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs

Greg Kroah-Hartman (1):

      Linux 6.2.11

Guennadi Liakhovetski (1):
ASoC: SOF: avoid a NULL dereference with unsupported widgets

Gustav Ekelund (1):
net: dsa: mv88e6xxx: Reset mv88e6393x force WD event bit

Hans de Goede (5):
wifi: brcmfmac: Fix SDIO suspend/resume regression
ACPI: video: Add auto_detect arg to __acpi_video_get_backlight_type()
ACPI: video: Make acpi_backlight=video work independent from GPU driver
ACPI: video: Add acpi_backlight=video quirk for Apple iMac14,1 and iMac14,2
ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530

Heikki Krogerus (1):
usb: dwc3: pci: add support for the Intel Meteor Lake-S

Heinz Mauelshagen (1):
dm: change "unsigned" to "unsigned int"

Ian Ray (1):
drivers: iio: adc: ltc2497: fix LSB shift

Ilpo Järvinen (1):
serial: 8250: Prevent starting up DMA Rx on THRI interrupt

Jakub Kicinski (1):
net: don't let netpoll invoke NAPI if in xmit context

Jason Gunthorpe (3):
iommufd: Check for uptr overflow
iommufd: Fix unpinning of pages when an access is present
iommufd: Do not corrupt the pfn list when doing batch carry

Jason Montleon (1):
ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()

Jeff Layton (2):
nfsd: call op_release, even when op_func returns an error
sunrpc: only free unix grouplist after RCU settles

Jens Axboe (1):
ublk: read any SQE values upfront

Jeremi Piotrowski (1):
KVM: SVM: Flush Hyper-V TLB when required

Jeremy Soller (1):
ALSA: hda/realtek: Add quirk for Clevo X370SNW

Jiapeng Chong (1):
dm integrity: Remove bi_sector that's only used by commented debug code

Joe Thornber (1):
dm cache: Add some documentation to dm-cache-background-tracker.h

John Keeping (1):
ftrace: Mark get_lock_parent_ip() __always_inline

Kai-Heng Feng (1):
iio: light: cm32181: Unregister second I2C client if present

Kan Liang (1):
perf/core: Fix the same task check in perf_event_set_output

Karol Herbst (1):
drm/nouveau/disp: Support more modes by checking with lower bpc

Kees Jan Koster (1):

      USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs

Keith Busch (2):
blk-mq: directly poll requests
nvme: fix discard support without oncs

Kuniyuki Iwashima (2):

      raw: Fix NULL deref in raw_get_next().
      ping: Fix potentail NULL deref for /proc/net/icmp.

Lars-Peter Clausen (1):
iio: adc: ti-ads7950: Set can_sleep flag for GPIO chip

Li Zetao (1):
scsi: qla2xxx: Fix memory leak in qla2x00_probe_one()

Liam R. Howlett (13):
maple_tree: remove GFP_ZERO from kmem_cache_alloc() and kmem_cache_alloc_bulk()
maple_tree: fix potential rcu issue
maple_tree: reduce user error potential
maple_tree: fix handle of invalidated state in mas_wr_store_setup()
maple_tree: fix mas_prev() and mas_find() state handling
maple_tree: be more cautious about dead nodes
maple_tree: refine ma_state init from mas_start()
maple_tree: detect dead nodes in mas_start()
maple_tree: fix freeing of nodes in rcu mode
maple_tree: remove extra smp_wmb() from mas_dead_leaves()
maple_tree: add smp_rmb() to dead node detection
maple_tree: add RCU lock checking to rcu callback functions
mm: enable maple tree RCU mode by default.

Lingyu Liu (1):
ice: Reset FDIR counter in FDIR init stage

Lorenzo Bianconi (1):
wifi: mt76: mt7921: fix fw used for offload check for mt7922

Lukas Wunner (6):
cxl/pci: Fix CDAT retrieval on big endian cxl/pci: Handle truncated CDAT header cxl/pci: Handle truncated CDAT entries cxl/pci: Handle excessive CDAT length PCI/DOE: Silence WARN splat with CONFIG_DEBUG_OBJECTS=y PCI/DOE: Fix memory leak with CONFIG_DEBUG_OBJECTS=y

Mario Limonciello (1):
x86/ACPI/boot: Use FADT version to check support for online capable

Marios Makassikis (1):
ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN

Mark Pearson (2):
platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings platform/x86: think-lmi: Clean up display of current_value on Thinkstation

Mathias Nyman (2):
Revert "usb: xhci-pci: Set PROBE_PREFER_ASYNCHRONOUS"
xhci: Free the command allocated for setting LPM if we return early

Mehdi Djait (1):
iio: accel: kionix-kx022a: Get the timestamp from the driver's private data in the trigger_handler

Michael Sit Wei Hong (4):
net: phylink: add phylink_expects_phy() method
net: stmmac: check if MAC needs to attach to a PHY
net: stmmac: remove redundant fixup to support fixed-link mode
net: stmmac: check fwnode for phy device before scanning for phy

Michal Sojka (1):
can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events

Mike Snitzer (1):
dm: fix improper splitting for abnormal bios

Min Li (1):
drm/i915: fix race condition UAF in i915_perf_add_config_ioctl

Ming Lei (1):
block: ublk: make sure that block size is set correctly

Mohammed Gamal (1):
Drivers: vmbus: Check for channel allocation before looking up relids

Muchun Song (2):
mm: kfence: fix PG_slab and memcg_data clearing
mm: kfence: fix handling discontiguous page

Mårten Lindahl (1):
iio: light: vcnl4000: Fix WARN_ON on uninitialized lock

Namjae Jeon (1):
ksmbd: fix slab-out-of-bounds in init_smb2_rsp_hdr

Nico Boehr (1):
KVM: s390: pv: fix external interruption loop not always detected

Nuno Sá (4):
iio: adc: max11410: fix read_poll_timeout() usage
iio: buffer: correctly return bytes written in output buffers
iio: buffer: make sure O_NONBLOCK is respected
iio: adc: ad7791: fix IRQ flags

Oleksij Rempel (1):

      can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access

Oliver Hartkopp (2):
can: isotp: fix race between isotp_sendsmg() and isotp_release()
can: isotp: isotp_recvmsg(): use sock_recv_cmsgs() to get SOCK_RXQ_OVFL infos

Pawel Laszczak (1):
usb: cdnsp: Fixes error: uninitialized symbol 'len'

Peng Zhang (2):
maple_tree: fix get wrong data_end in mtree_lookup_walk()
maple_tree: fix a potential concurrency bug in RCU mode

Peter Xu (1):
mm/hugetlb: fix uffd wr-protection for CoW optimization path

Peter Zijlstra (1):
perf: Optimize perf_pmu_migrate_context()

RD Babiera (1):
usb: typec: altmodes/displayport: Fix configure initial pin assignment

Randy Dunlap (1):
gpio: GPIO_REGMAP: select REGMAP instead of depending on it

Ranjani Sridharan (1):
ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data()

Robert Foss (1):
drm/bridge: lt9611: Fix PLL being unable to lock

Roman Li (1):
drm/amd/display: Clear MST topology if it fails to resume

Rongwei Wang (1):
mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()

Ryder Lee (1):

      wifi: mac80211: fix the size calculation of ieee80211_ie_len_eht_cap()

Ryusuke Konishi (2):
nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
nilfs2: fix sysfs interface lifetime

Sean Christopherson (2):
KVM: x86: Clear "has_error_code", not "error_code", for RM exception injection
KVM: nVMX: Do not report error code when synthesizing VM-Exit from Real Mode

Sergey Senozhatsky (1):
zsmalloc: document freeable stats

Shailend Chand (1):
gve: Secure enough bytes in the first TX desc for all TCP pkts

Sherry Sun (2):
tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
tty: serial: fsl_lpuart: fix crash in lpuart_uport_is_active

Shiyang Ruan (3):
fsdax: dedupe should compare the min of two iters' length
fsdax: unshare: zero destination if srcmap is HOLE or UNWRITTEN
fsdax: force clear dirty mark if CoW

Siddharth Vadapalli (1):
net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe

Simei Su (1):
ice: fix wrong fallback logic for FDIR

Song Yoong Siang (1):
net: stmmac: Add queue reset into stmmac_xdp_open() function

Sricharan Ramabadhran (1):
net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT

Srinivas Kandagatla (1):
ASoC: codecs: lpass: fix the order or clks turn off during suspend

Steve Clevenger (1):

      coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug

Steven Rostedt (Google) (2):
tracing: Free error logs of tracing instances tracing/synthetic: Make lastcmd_mutex static

Suzuki K Poulose (1):
coresight: etm4x: Do not access TRCIDR1 for identification

Takashi Iwai (1):
ALSA: hda/hdmi: Preserve the previous PCM device upon re-enablement

Thiago Rafael Becker (1):
cifs: sanitize paths in cifs_update_super_prepath.

Tim Huang (1):
drm/amdgpu: skip psp suspend for IMU enabled ASICs mode2 reset

Tvrtko Ursulin (1):
drm/i915: Fix context runtime accounting

Tze-nan Wu (1):
tracing/synthetic: Fix races on freeing last_cmd

Uwe Kleine-König (5):
pwm: hibvt: Explicitly set .polarity in .get_state()
pwm: cros-ec: Explicitly set .polarity in .get_state()
pwm: iqs620a: Explicitly set .polarity in .get_state()
pwm: sprd: Explicitly set .polarity in .get_state()
pwm: meson: Explicitly set .polarity in .get_state()

Ville Syrjälä (2):
drm/i915: Move the DSB setup/cleaup into the color code drm/i915: Add a .color_post_update() hook

Wayne Chang (1):
usb: xhci: tegra: fix sleep in atomic call

William Breathitt Gray (3):
iio: dac: cio-dac: Fix max DAC write value check for 12-bit
counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
counter: 104-quad-8: Fix Synapse action reported for Index signals

Wojciech Lukowicz (2):
io_uring: fix return value when removing provided buffers
io_uring: fix memory leak when removing provided buffers

Xin Long (1):
sctp: check send stream number after wait_for_sndbuf

Yafang Shao (1):
mm: vmalloc: avoid warn_alloc noise caused by fatal signal

Yu Kuai (1):
block: don't set GD_NEED_PART_SCAN if scan partition failed

Zheng Yejian (2):
ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
ring-buffer: Fix race while reader and writer are on the same page

Zhong Jinghua (1):
scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()

Ziyang Xuan (2):
net: qrtr: Fix a refcount bug in qrtr_recvmsg()
ipv6: Fix an uninit variable access bug in __ip6_make_skb()

author maintainer
#1 lore raw
Documentation/devicetree/bindings/serial/renesas,scif.yaml +2 -2
index f81f2d67a1ed..38391a5d96bf 100644
@@ -92,7 +92,7 @@ properties:
           - description: Error interrupt
           - description: Receive buffer full interrupt
           - description: Transmit buffer empty interrupt
-          - description: Transmit End interrupt
+          - description: Break interrupt
       - items:
           - description: Error interrupt
           - description: Receive buffer full interrupt
@@ -107,7 +107,7 @@ properties:
           - const: eri
           - const: rxi
           - const: txi
-          - const: tei
+          - const: bri
       - items:
           - const: eri
           - const: rxi
Documentation/mm/zsmalloc.rst +2 -0
index 6e79893d6132..d98607aa9c1f 100644
@@ -68,6 +68,8 @@ pages_used
 	the number of pages allocated for the class
 pages_per_zspage
 	the number of 0-order pages to make a zspage
+freeable
+	the approximate number of pages class compaction can free
 
 We assign a zspage to ZS_ALMOST_EMPTY fullness group when n <= N / f, where
 
Makefile +1 -1
index 6ec0ec452e46..416490daa76a 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 2
-SUBLEVEL = 10
+SUBLEVEL = 11
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm64/kernel/compat_alignment.c +14 -18
index 5edec2f49ec9..deff21bfa680 100644
@@ -314,36 +314,32 @@ int do_compat_alignment_fixup(unsigned long addr, struct pt_regs *regs)
 	int (*handler)(unsigned long addr, u32 instr, struct pt_regs *regs);
 	unsigned int type;
 	u32 instr = 0;
-	u16 tinstr = 0;
 	int isize = 4;
 	int thumb2_32b = 0;
-	int fault;
 
 	instrptr = instruction_pointer(regs);
 
 	if (compat_thumb_mode(regs)) {
 		__le16 __user *ptr = (__le16 __user *)(instrptr & ~1);
+		u16 tinstr, tinst2;
 
-		fault = alignment_get_thumb(regs, ptr, &tinstr);
-		if (!fault) {
-			if (IS_T32(tinstr)) {
-				/* Thumb-2 32-bit */
-				u16 tinst2;
-				fault = alignment_get_thumb(regs, ptr + 1, &tinst2);
-				instr = ((u32)tinstr << 16) | tinst2;
-				thumb2_32b = 1;
-			} else {
-				isize = 2;
-				instr = thumb2arm(tinstr);
-			}
+		if (alignment_get_thumb(regs, ptr, &tinstr))
+			return 1;
+
+		if (IS_T32(tinstr)) { /* Thumb-2 32-bit */
+			if (alignment_get_thumb(regs, ptr + 1, &tinst2))
+				return 1;
+			instr = ((u32)tinstr << 16) | tinst2;
+			thumb2_32b = 1;
+		} else {
+			isize = 2;
+			instr = thumb2arm(tinstr);
 		}
 	} else {
-		fault = alignment_get_arm(regs, (__le32 __user *)instrptr, &instr);
+		if (alignment_get_arm(regs, (__le32 __user *)instrptr, &instr))
+			return 1;
 	}
 
-	if (fault)
-		return 1;
-
 	switch (CODING_BITS(instr)) {
 	case 0x00000000:	/* 3.13.4 load/store instruction extensions */
 		if (LDSTHD_I_BIT(instr))
arch/s390/kvm/intercept.c +24 -8
index 0ee02dae14b2..2cda8d9d7c6e 100644
@@ -271,10 +271,18 @@ static int handle_prog(struct kvm_vcpu *vcpu)
  * handle_external_interrupt - used for external interruption interceptions
  * @vcpu: virtual cpu
  *
- * This interception only occurs if the CPUSTAT_EXT_INT bit was set, or if
- * the new PSW does not have external interrupts disabled. In the first case,
- * we've got to deliver the interrupt manually, and in the second case, we
- * drop to userspace to handle the situation there.
+ * This interception occurs if:
+ * - the CPUSTAT_EXT_INT bit was already set when the external interrupt
+ *   occurred. In this case, the interrupt needs to be injected manually to
+ *   preserve interrupt priority.
+ * - the external new PSW has external interrupts enabled, which will cause an
+ *   interruption loop. We drop to userspace in this case.
+ *
+ * The latter case can be detected by inspecting the external mask bit in the
+ * external new psw.
+ *
+ * Under PV, only the latter case can occur, since interrupt priorities are
+ * handled in the ultravisor.
  */
 static int handle_external_interrupt(struct kvm_vcpu *vcpu)
 {
@@ -285,10 +293,18 @@ static int handle_external_interrupt(struct kvm_vcpu *vcpu)
 
 	vcpu->stat.exit_external_interrupt++;
 
-	rc = read_guest_lc(vcpu, __LC_EXT_NEW_PSW, &newpsw, sizeof(psw_t));
-	if (rc)
-		return rc;
-	/* We can not handle clock comparator or timer interrupt with bad PSW */
+	if (kvm_s390_pv_cpu_is_protected(vcpu)) {
+		newpsw = vcpu->arch.sie_block->gpsw;
+	} else {
+		rc = read_guest_lc(vcpu, __LC_EXT_NEW_PSW, &newpsw, sizeof(psw_t));
+		if (rc)
+			return rc;
+	}
+
+	/*
+	 * Clock comparator or timer interrupt with external interrupt enabled
+	 * will cause interrupt loop. Drop to userspace.
+	 */
 	if ((eic == EXT_IRQ_CLK_COMP || eic == EXT_IRQ_CPU_TIMER) &&
 	    (newpsw.mask & PSW_MASK_EXT))
 		return -EOPNOTSUPP;
arch/x86/kernel/acpi/boot.c +7 -2
index 518bda50068c..0f762070a5e1 100644
@@ -146,7 +146,11 @@ static int __init acpi_parse_madt(struct acpi_table_header *table)
 
 		pr_debug("Local APIC address 0x%08x\n", madt->address);
 	}
-	if (madt->header.revision >= 5)
+
+	/* ACPI 6.3 and newer support the online capable bit. */
+	if (acpi_gbl_FADT.header.revision > 6 ||
+	    (acpi_gbl_FADT.header.revision == 6 &&
+	     acpi_gbl_FADT.minor_revision >= 3))
 		acpi_support_online_capable = true;
 
 	default_acpi_madt_oem_check(madt->header.oem_id,
@@ -193,7 +197,8 @@ static bool __init acpi_is_processor_usable(u32 lapic_flags)
 	if (lapic_flags & ACPI_MADT_ENABLED)
 		return true;
 
-	if (acpi_support_online_capable && (lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
+	if (!acpi_support_online_capable ||
+	    (lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
 		return true;
 
 	return false;
arch/x86/kvm/kvm_onhyperv.h +5 -0
index 287e98ef9df3..6272dabec02d 100644
@@ -12,6 +12,11 @@ int hv_remote_flush_tlb_with_range(struct kvm *kvm,
 int hv_remote_flush_tlb(struct kvm *kvm);
 void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp);
 #else /* !CONFIG_HYPERV */
+static inline int hv_remote_flush_tlb(struct kvm *kvm)
+{
+	return -EOPNOTSUPP;
+}
+
 static inline void hv_track_root_tdp(struct kvm_vcpu *vcpu, hpa_t root_tdp)
 {
 }
arch/x86/kvm/svm/svm.c +34 -3
index f03bdaf79c88..a682ca4c9fe1 100644
@@ -3718,7 +3718,7 @@ static void svm_enable_nmi_window(struct kvm_vcpu *vcpu)
 	svm->vmcb->save.rflags |= (X86_EFLAGS_TF | X86_EFLAGS_RF);
 }
 
-static void svm_flush_tlb_current(struct kvm_vcpu *vcpu)
+static void svm_flush_tlb_asid(struct kvm_vcpu *vcpu)
 {
 	struct vcpu_svm *svm = to_svm(vcpu);
 
@@ -3742,6 +3742,37 @@ static void svm_flush_tlb_current(struct kvm_vcpu *vcpu)
 		svm->current_vmcb->asid_generation--;
 }
 
+static void svm_flush_tlb_current(struct kvm_vcpu *vcpu)
+{
+	hpa_t root_tdp = vcpu->arch.mmu->root.hpa;
+
+	/*
+	 * When running on Hyper-V with EnlightenedNptTlb enabled, explicitly
+	 * flush the NPT mappings via hypercall as flushing the ASID only
+	 * affects virtual to physical mappings, it does not invalidate guest
+	 * physical to host physical mappings.
+	 */
+	if (svm_hv_is_enlightened_tlb_enabled(vcpu) && VALID_PAGE(root_tdp))
+		hyperv_flush_guest_mapping(root_tdp);
+
+	svm_flush_tlb_asid(vcpu);
+}
+
+static void svm_flush_tlb_all(struct kvm_vcpu *vcpu)
+{
+	/*
+	 * When running on Hyper-V with EnlightenedNptTlb enabled, remote TLB
+	 * flushes should be routed to hv_remote_flush_tlb() without requesting
+	 * a "regular" remote flush.  Reaching this point means either there's
+	 * a KVM bug or a prior hv_remote_flush_tlb() call failed, both of
+	 * which might be fatal to the guest.  Yell, but try to recover.
+	 */
+	if (WARN_ON_ONCE(svm_hv_is_enlightened_tlb_enabled(vcpu)))
+		hv_remote_flush_tlb(vcpu->kvm);
+
+	svm_flush_tlb_asid(vcpu);
+}
+
 static void svm_flush_tlb_gva(struct kvm_vcpu *vcpu, gva_t gva)
 {
 	struct vcpu_svm *svm = to_svm(vcpu);
@@ -4747,10 +4778,10 @@ static struct kvm_x86_ops svm_x86_ops __initdata = {
 	.set_rflags = svm_set_rflags,
 	.get_if_flag = svm_get_if_flag,
 
-	.flush_tlb_all = svm_flush_tlb_current,
+	.flush_tlb_all = svm_flush_tlb_all,
 	.flush_tlb_current = svm_flush_tlb_current,
 	.flush_tlb_gva = svm_flush_tlb_gva,
-	.flush_tlb_guest = svm_flush_tlb_current,
+	.flush_tlb_guest = svm_flush_tlb_asid,
 
 	.vcpu_pre_run = svm_vcpu_pre_run,
 	.vcpu_run = svm_vcpu_run,
arch/x86/kvm/svm/svm_onhyperv.h +15 -0
index 65c355b4b8bf..345b87acf9b0 100644
@@ -6,6 +6,8 @@
 #ifndef __ARCH_X86_KVM_SVM_ONHYPERV_H__
 #define __ARCH_X86_KVM_SVM_ONHYPERV_H__
 
+#include <asm/mshyperv.h>
+
 #if IS_ENABLED(CONFIG_HYPERV)
 
 #include "kvm_onhyperv.h"
@@ -15,6 +17,14 @@ static struct kvm_x86_ops svm_x86_ops;
 
 int svm_hv_enable_l2_tlb_flush(struct kvm_vcpu *vcpu);
 
+static inline bool svm_hv_is_enlightened_tlb_enabled(struct kvm_vcpu *vcpu)
+{
+	struct hv_vmcb_enlightenments *hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments;
+
+	return ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB &&
+	       !!hve->hv_enlightenments_control.enlightened_npt_tlb;
+}
+
 static inline void svm_hv_init_vmcb(struct vmcb *vmcb)
 {
 	struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments;
@@ -80,6 +90,11 @@ static inline void svm_hv_update_vp_id(struct vmcb *vmcb, struct kvm_vcpu *vcpu)
 }
 #else
 
+static inline bool svm_hv_is_enlightened_tlb_enabled(struct kvm_vcpu *vcpu)
+{
+	return false;
+}
+
 static inline void svm_hv_init_vmcb(struct vmcb *vmcb)
 {
 }
arch/x86/kvm/vmx/nested.c +6 -1
index bceb5ad409c6..b7f2e59d50ee 100644
@@ -3873,7 +3873,12 @@ static void nested_vmx_inject_exception_vmexit(struct kvm_vcpu *vcpu)
 		exit_qual = 0;
 	}
 
-	if (ex->has_error_code) {
+	/*
+	 * Unlike AMD's Paged Real Mode, which reports an error code on #PF
+	 * VM-Exits even if the CPU is in Real Mode, Intel VMX never sets the
+	 * "has error code" flags on VM-Exit if the CPU is in Real Mode.
+	 */
+	if (ex->has_error_code && is_protmode(vcpu)) {
 		/*
 		 * Intel CPUs do not generate error codes with bits 31:16 set,
 		 * and more importantly VMX disallows setting bits 31:16 in the
arch/x86/kvm/x86.c +9 -2
index 0ec7a0cb5da8..2d76c254582b 100644
@@ -9795,13 +9795,20 @@ int kvm_check_nested_events(struct kvm_vcpu *vcpu)
 
 static void kvm_inject_exception(struct kvm_vcpu *vcpu)
 {
+	/*
+	 * Suppress the error code if the vCPU is in Real Mode, as Real Mode
+	 * exceptions don't report error codes.  The presence of an error code
+	 * is carried with the exception and only stripped when the exception
+	 * is injected as intercepted #PF VM-Exits for AMD's Paged Real Mode do
+	 * report an error code despite the CPU being in Real Mode.
+	 */
+	vcpu->arch.exception.has_error_code &= is_protmode(vcpu);
+
 	trace_kvm_inj_exception(vcpu->arch.exception.vector,
 				vcpu->arch.exception.has_error_code,
 				vcpu->arch.exception.error_code,
 				vcpu->arch.exception.injected);
 
-	if (vcpu->arch.exception.error_code && !is_protmode(vcpu))
-		vcpu->arch.exception.error_code = false;
 	static_call(kvm_x86_inject_exception)(vcpu);
 }
 
block/blk-mq.c +1 -3
index c021fb05161b..86425167594c 100644
@@ -1359,8 +1359,6 @@ bool blk_rq_is_poll(struct request *rq)
 		return false;
 	if (rq->mq_hctx->type != HCTX_TYPE_POLL)
 		return false;
-	if (WARN_ON_ONCE(!rq->bio))
-		return false;
 	return true;
 }
 EXPORT_SYMBOL_GPL(blk_rq_is_poll);
@@ -1368,7 +1366,7 @@ EXPORT_SYMBOL_GPL(blk_rq_is_poll);
 static void blk_rq_poll_completion(struct request *rq, struct completion *wait)
 {
 	do {
-		bio_poll(rq->bio, NULL, 0);
+		blk_mq_poll(rq->q, blk_rq_to_qc(rq), NULL, 0);
 		cond_resched();
 	} while (!completion_done(wait));
 }
block/genhd.c +7 -1
index 9c4c9aa559ab..708203263603 100644
@@ -368,7 +368,6 @@ int disk_scan_partitions(struct gendisk *disk, fmode_t mode)
 	if (disk->open_partitions)
 		return -EBUSY;
 
-	set_bit(GD_NEED_PART_SCAN, &disk->state);
 	/*
 	 * If the device is opened exclusively by current thread already, it's
 	 * safe to scan partitons, otherwise, use bd_prepare_to_claim() to
@@ -381,12 +380,19 @@ int disk_scan_partitions(struct gendisk *disk, fmode_t mode)
 			return ret;
 	}
 
+	set_bit(GD_NEED_PART_SCAN, &disk->state);
 	bdev = blkdev_get_by_dev(disk_devt(disk), mode & ~FMODE_EXCL, NULL);
 	if (IS_ERR(bdev))
 		ret =  PTR_ERR(bdev);
 	else
 		blkdev_put(bdev, mode & ~FMODE_EXCL);
 
+	/*
+	 * If blkdev_get_by_dev() failed early, GD_NEED_PART_SCAN is still set,
+	 * and this will cause that re-assemble partitioned raid device will
+	 * creat partition for underlying disk.
+	 */
+	clear_bit(GD_NEED_PART_SCAN, &disk->state);
 	if (!(mode & FMODE_EXCL))
 		bd_abort_claiming(disk->part0, disk_scan_partitions);
 	return ret;
drivers/acpi/acpi_video.c +13 -2
index 97b711e57bff..c7a6d0b69dab 100644
@@ -1984,6 +1984,7 @@ static int instance;
 static int acpi_video_bus_add(struct acpi_device *device)
 {
 	struct acpi_video_bus *video;
+	bool auto_detect;
 	int error;
 	acpi_status status;
 
@@ -2045,10 +2046,20 @@ static int acpi_video_bus_add(struct acpi_device *device)
 	mutex_unlock(&video_list_lock);
 
 	/*
-	 * The userspace visible backlight_device gets registered separately
-	 * from acpi_video_register_backlight().
+	 * If backlight-type auto-detection is used then a native backlight may
+	 * show up later and this may change the result from video to native.
+	 * Therefor normally the userspace visible /sys/class/backlight device
+	 * gets registered separately by the GPU driver calling
+	 * acpi_video_register_backlight() when an internal panel is detected.
+	 * Register the backlight now when not using auto-detection, so that
+	 * when the kernel cmdline or DMI-quirks are used the backlight will
+	 * get registered even if acpi_video_register_backlight() is not called.
 	 */
 	acpi_video_run_bcl_for_osi(video);
+	if (__acpi_video_get_backlight_type(false, &auto_detect) == acpi_backlight_video &&
+	    !auto_detect)
+		acpi_video_bus_register_backlight(video);
+
 	acpi_video_bus_add_notify_handler(video);
 
 	return 0;
drivers/acpi/video_detect.c +45 -13

85 lines not on this page · raw message

drivers/block/ublk_drv.c +23 -3
index 22a790d51284..2ed994a313a9 100644
@@ -233,7 +233,7 @@ static int ublk_validate_params(const struct ublk_device *ub)
 	if (ub->params.types & UBLK_PARAM_TYPE_BASIC) {
 		const struct ublk_param_basic *p = &ub->params.basic;
 
-		if (p->logical_bs_shift > PAGE_SHIFT)
+		if (p->logical_bs_shift > PAGE_SHIFT || p->logical_bs_shift < 9)
 			return -EINVAL;
 
 		if (p->logical_bs_shift > p->physical_bs_shift)
@@ -1202,9 +1202,10 @@ static void ublk_handle_need_get_data(struct ublk_device *ub, int q_id,
 	ublk_queue_cmd(ubq, req);
 }
 
-static int ublk_ch_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags)
+static int __ublk_ch_uring_cmd(struct io_uring_cmd *cmd,
+			       unsigned int issue_flags,
+			       struct ublksrv_io_cmd *ub_cmd)
 {
-	struct ublksrv_io_cmd *ub_cmd = (struct ublksrv_io_cmd *)cmd->cmd;
 	struct ublk_device *ub = cmd->file->private_data;
 	struct ublk_queue *ubq;
 	struct ublk_io *io;
@@ -1306,6 +1307,23 @@ static int ublk_ch_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags)
 	return -EIOCBQUEUED;
 }
 
+static int ublk_ch_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags)
+{
+	struct ublksrv_io_cmd *ub_src = (struct ublksrv_io_cmd *) cmd->cmd;
+	struct ublksrv_io_cmd ub_cmd;
+
+	/*
+	 * Not necessary for async retry, but let's keep it simple and always
+	 * copy the values to avoid any potential reuse.
+	 */
+	ub_cmd.q_id = READ_ONCE(ub_src->q_id);
+	ub_cmd.tag = READ_ONCE(ub_src->tag);
+	ub_cmd.result = READ_ONCE(ub_src->result);
+	ub_cmd.addr = READ_ONCE(ub_src->addr);
+
+	return __ublk_ch_uring_cmd(cmd, issue_flags, &ub_cmd);
+}
+
 static const struct file_operations ublk_ch_fops = {
 	.owner = THIS_MODULE,
 	.open = ublk_ch_open,
@@ -1886,6 +1904,8 @@ static int ublk_ctrl_set_params(struct io_uring_cmd *cmd)
 		/* clear all we don't support yet */
 		ub->params.types &= UBLK_PARAM_TYPE_ALL;
 		ret = ublk_validate_params(ub);
+		if (ret)
+			ub->params.types = 0;
 	}
 	mutex_unlock(&ub->mutex);
 	ublk_put_device(ub);
drivers/counter/104-quad-8.c +9 -22
index deed4afadb29..d9cb937665cf 100644
@@ -97,10 +97,6 @@ struct quad8 {
 	struct quad8_reg __iomem *reg;
 };
 
-/* Borrow Toggle flip-flop */
-#define QUAD8_FLAG_BT BIT(0)
-/* Carry Toggle flip-flop */
-#define QUAD8_FLAG_CT BIT(1)
 /* Error flag */
 #define QUAD8_FLAG_E BIT(4)
 /* Up/Down flag */
@@ -133,6 +129,9 @@ struct quad8 {
 #define QUAD8_CMR_QUADRATURE_X2 0x10
 #define QUAD8_CMR_QUADRATURE_X4 0x18
 
+/* Each Counter is 24 bits wide */
+#define LS7267_CNTR_MAX GENMASK(23, 0)
+
 static int quad8_signal_read(struct counter_device *counter,
 			     struct counter_signal *signal,
 			     enum counter_signal_level *level)
@@ -156,18 +155,10 @@ static int quad8_count_read(struct counter_device *counter,
 {
 	struct quad8 *const priv = counter_priv(counter);
 	struct channel_reg __iomem *const chan = priv->reg->channel + count->id;
-	unsigned int flags;
-	unsigned int borrow;
-	unsigned int carry;
 	unsigned long irqflags;
 	int i;
 
-	flags = ioread8(&chan->control);
-	borrow = flags & QUAD8_FLAG_BT;
-	carry = !!(flags & QUAD8_FLAG_CT);
-
-	/* Borrow XOR Carry effectively doubles count range */
-	*val = (unsigned long)(borrow ^ carry) << 24;
+	*val = 0;
 
 	spin_lock_irqsave(&priv->lock, irqflags);
 
@@ -191,8 +182,7 @@ static int quad8_count_write(struct counter_device *counter,
 	unsigned long irqflags;
 	int i;
 
-	/* Only 24-bit values are supported */
-	if (val > 0xFFFFFF)
+	if (val > LS7267_CNTR_MAX)
 		return -ERANGE;
 
 	spin_lock_irqsave(&priv->lock, irqflags);
@@ -378,7 +368,7 @@ static int quad8_action_read(struct counter_device *counter,
 
 	/* Handle Index signals */
 	if (synapse->signal->id >= 16) {
-		if (priv->preset_enable[count->id])
+		if (!priv->preset_enable[count->id])
 			*action = COUNTER_SYNAPSE_ACTION_RISING_EDGE;
 		else
 			*action = COUNTER_SYNAPSE_ACTION_NONE;
@@ -806,8 +796,7 @@ static int quad8_count_preset_write(struct counter_device *counter,
 	struct quad8 *const priv = counter_priv(counter);
 	unsigned long irqflags;
 
-	/* Only 24-bit values are supported */
-	if (preset > 0xFFFFFF)
+	if (preset > LS7267_CNTR_MAX)
 		return -ERANGE;
 
 	spin_lock_irqsave(&priv->lock, irqflags);
@@ -834,8 +823,7 @@ static int quad8_count_ceiling_read(struct counter_device *counter,
 		*ceiling = priv->preset[count->id];
 		break;
 	default:
-		/* By default 0x1FFFFFF (25 bits unsigned) is maximum count */
-		*ceiling = 0x1FFFFFF;
+		*ceiling = LS7267_CNTR_MAX;
 		break;
 	}
 
@@ -850,8 +838,7 @@ static int quad8_count_ceiling_write(struct counter_device *counter,
 	struct quad8 *const priv = counter_priv(counter);
 	unsigned long irqflags;
 
-	/* Only 24-bit values are supported */
-	if (ceiling > 0xFFFFFF)
+	if (ceiling > LS7267_CNTR_MAX)
 		return -ERANGE;
 
 	spin_lock_irqsave(&priv->lock, irqflags);
drivers/cxl/core/pci.c +23 -15
index 57764e9cd19d..76596cd18621 100644
@@ -480,7 +480,7 @@ static struct pci_doe_mb *find_cdat_doe(struct device *uport)
 	return NULL;
 }
 
-#define CDAT_DOE_REQ(entry_handle)					\
+#define CDAT_DOE_REQ(entry_handle) cpu_to_le32				\
 	(FIELD_PREP(CXL_DOE_TABLE_ACCESS_REQ_CODE,			\
 		    CXL_DOE_TABLE_ACCESS_REQ_CODE_READ) |		\
 	 FIELD_PREP(CXL_DOE_TABLE_ACCESS_TABLE_TYPE,			\
@@ -493,8 +493,8 @@ static void cxl_doe_task_complete(struct pci_doe_task *task)
 }
 
 struct cdat_doe_task {
-	u32 request_pl;
-	u32 response_pl[32];
+	__le32 request_pl;
+	__le32 response_pl[32];
 	struct completion c;
 	struct pci_doe_task task;
 };
@@ -528,10 +528,10 @@ static int cxl_cdat_get_length(struct device *dev,
 		return rc;
 	}
 	wait_for_completion(&t.c);
-	if (t.task.rv < sizeof(u32))
+	if (t.task.rv < 2 * sizeof(__le32))
 		return -EIO;
 
-	*length = t.response_pl[1];
+	*length = le32_to_cpu(t.response_pl[1]);
 	dev_dbg(dev, "CDAT length %zu\n", *length);
 
 	return 0;
@@ -542,13 +542,13 @@ static int cxl_cdat_read_table(struct device *dev,
 			       struct cxl_cdat *cdat)
 {
 	size_t length = cdat->length;
-	u32 *data = cdat->table;
+	__le32 *data = cdat->table;
 	int entry_handle = 0;
 
 	do {
 		DECLARE_CDAT_DOE_TASK(CDAT_DOE_REQ(entry_handle), t);
+		struct cdat_entry_header *entry;
 		size_t entry_dw;
-		u32 *entry;
 		int rc;
 
 		rc = pci_doe_submit_task(cdat_doe, &t.task);
@@ -557,26 +557,34 @@ static int cxl_cdat_read_table(struct device *dev,
 			return rc;
 		}
 		wait_for_completion(&t.c);
-		/* 1 DW header + 1 DW data min */
-		if (t.task.rv < (2 * sizeof(u32)))
+
+		/* 1 DW Table Access Response Header + CDAT entry */
+		entry = (struct cdat_entry_header *)(t.response_pl + 1);
+		if ((entry_handle == 0 &&
+		     t.task.rv != sizeof(__le32) + sizeof(struct cdat_header)) ||
+		    (entry_handle > 0 &&
+		     (t.task.rv < sizeof(__le32) + sizeof(*entry) ||
+		      t.task.rv != sizeof(__le32) + le16_to_cpu(entry->length))))
 			return -EIO;
 
 		/* Get the CXL table access header entry handle */
 		entry_handle = FIELD_GET(CXL_DOE_TABLE_ACCESS_ENTRY_HANDLE,
-					 t.response_pl[0]);
-		entry = t.response_pl + 1;
-		entry_dw = t.task.rv / sizeof(u32);
+					 le32_to_cpu(t.response_pl[0]));
+		entry_dw = t.task.rv / sizeof(__le32);
 		/* Skip Header */
 		entry_dw -= 1;
-		entry_dw = min(length / sizeof(u32), entry_dw);
+		entry_dw = min(length / sizeof(__le32), entry_dw);
 		/* Prevent length < 1 DW from causing a buffer overflow */
 		if (entry_dw) {
-			memcpy(data, entry, entry_dw * sizeof(u32));
-			length -= entry_dw * sizeof(u32);
+			memcpy(data, entry, entry_dw * sizeof(__le32));
+			length -= entry_dw * sizeof(__le32);
 			data += entry_dw;
 		}
 	} while (entry_handle != CXL_DOE_TABLE_ACCESS_LAST_ENTRY);
 
+	/* Length in CDAT header may exceed concatenation of CDAT entries */
+	cdat->length -= length;
+
 	return 0;
 }
 
drivers/cxl/cxlpci.h +14 -0
index 920909791bb9..104ad2b72516 100644
@@ -62,6 +62,20 @@ enum cxl_regloc_type {
 	CXL_REGLOC_RBI_TYPES
 };
 
+struct cdat_header {
+	__le32 length;
+	u8 revision;
+	u8 checksum;
+	u8 reserved[6];
+	__le32 sequence;
+} __packed;
+
+struct cdat_entry_header {
+	u8 type;
+	u8 reserved;
+	__le16 length;
+} __packed;
+
 int devm_cxl_port_enumerate_dports(struct cxl_port *port);
 struct cxl_dev_state;
 int cxl_hdm_decode_init(struct cxl_dev_state *cxlds, struct cxl_hdm *cxlhdm);
drivers/gpio/Kconfig +1 -1
index e9917a45b005..42e5042d0149 100644
@@ -100,7 +100,7 @@ config GPIO_GENERIC
 	tristate
 
 config GPIO_REGMAP
-	depends on REGMAP
+	select REGMAP
 	tristate
 
 # put drivers in the right section, in alphabetical order
drivers/gpio/gpio-davinci.c +1 -4
index fa51a91afa54..7a26919ff127 100644
@@ -325,7 +325,7 @@ static struct irq_chip gpio_irqchip = {
 	.irq_enable	= gpio_irq_enable,
 	.irq_disable	= gpio_irq_disable,
 	.irq_set_type	= gpio_irq_type,
-	.flags		= IRQCHIP_SET_TYPE_MASKED,
+	.flags		= IRQCHIP_SET_TYPE_MASKED | IRQCHIP_SKIP_SET_WAKE,
 };
 
 static void gpio_irq_handler(struct irq_desc *desc)
@@ -642,9 +642,6 @@ static void davinci_gpio_save_context(struct davinci_gpio_controller *chips,
 		context->set_falling = readl_relaxed(&g->set_falling);
 	}
 
-	/* Clear Bank interrupt enable bit */
-	writel_relaxed(0, base + BINTEN);
-
 	/* Clear all interrupt status registers */
 	writel_relaxed(GENMASK(31, 0), &g->intstat);
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +18 -0
index d5e14a3aa05d..3dac1e139c5f 100644
@@ -3045,6 +3045,24 @@ static int amdgpu_device_ip_suspend_phase2(struct amdgpu_device *adev)
 		     adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_MES))
 			continue;
 
+		/* SDMA 5.x+ is part of GFX power domain so it's covered by GFXOFF */
+		if (adev->in_s0ix &&
+		    (adev->ip_versions[SDMA0_HWIP][0] >= IP_VERSION(5, 0, 0)) &&
+		    (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SDMA))
+			continue;
+
+		/* Once swPSP provides the IMU, RLC FW binaries to TOS during cold-boot.
+		 * These are in TMR, hence are expected to be reused by PSP-TOS to reload
+		 * from this location and RLC Autoload automatically also gets loaded
+		 * from here based on PMFW -> PSP message during re-init sequence.
+		 * Therefore, the psp suspend & resume should be skipped to avoid destroy
+		 * the TMR and reload FWs again for IMU enabled APU ASICs.
+		 */
+		if (amdgpu_in_reset(adev) &&
+		    (adev->flags & AMD_IS_APU) && adev->gfx.imu.funcs &&
+		    adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP)
+			continue;
+
 		/* XXX handle errors */
 		r = adev->ip_blocks[i].version->funcs->suspend(adev);
 		/* XXX handle errors */
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +2 -0
index 8661de32d80a..7fa1728384bf 100644
@@ -2183,6 +2183,8 @@ static int detect_mst_link_for_all_connectors(struct drm_device *dev)
 				DRM_ERROR("DM_MST: Failed to start MST\n");
 				aconnector->dc_link->type =
 					dc_connection_single;
+				ret = dm_helpers_dp_mst_stop_top_mgr(aconnector->dc_link->ctx,
+								     aconnector->dc_link);
 				break;
 			}
 		}
drivers/gpu/drm/bridge/lontium-lt9611.c +1 -0
index 3b77238ca4af..ae8c6d9d4095 100644
@@ -258,6 +258,7 @@ static int lt9611_pll_setup(struct lt9611 *lt9611, const struct drm_display_mode
 		{ 0x8126, 0x55 },
 		{ 0x8127, 0x66 },
 		{ 0x8128, 0x88 },
+		{ 0x812a, 0x20 },
 	};
 
 	regmap_multi_reg_write(lt9611->regmap, reg_cfg, ARRAY_SIZE(reg_cfg));
drivers/gpu/drm/i915/display/intel_color.c +23 -0
index c3928d28cd44..85a38d794dd9 100644
@@ -46,6 +46,11 @@ struct intel_color_funcs {
 	 * registers involved with the same commit.
 	 */
 	void (*color_commit_arm)(const struct intel_crtc_state *crtc_state);
+	/*
+	 * Perform any extra tasks needed after all the
+	 * double buffered registers have been latched.
+	 */
+	void (*color_post_update)(const struct intel_crtc_state *crtc_state);
 	/*
 	 * Load LUTs (and other single buffered color management
 	 * registers). Will (hopefully) be called during the vblank
@@ -1220,6 +1225,24 @@ void intel_color_commit_arm(const struct intel_crtc_state *crtc_state)
 	i915->display.funcs.color->color_commit_arm(crtc_state);
 }
 
+void intel_color_post_update(const struct intel_crtc_state *crtc_state)
+{
+	struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
+
+	if (i915->display.funcs.color->color_post_update)
+		i915->display.funcs.color->color_post_update(crtc_state);
+}
+
+void intel_color_prepare_commit(struct intel_crtc_state *crtc_state)
+{
+	intel_dsb_prepare(crtc_state);
+}
+
+void intel_color_cleanup_commit(struct intel_crtc_state *crtc_state)
+{
+	intel_dsb_cleanup(crtc_state);
+}
+
 static bool intel_can_preload_luts(const struct intel_crtc_state *new_crtc_state)
 {
 	struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
drivers/gpu/drm/i915/display/intel_color.h +3 -0
index 2a5ada67774d..0256f49c3910 100644
@@ -17,8 +17,11 @@ void intel_color_init_hooks(struct drm_i915_private *i915);
 int intel_color_init(struct drm_i915_private *i915);
 void intel_color_crtc_init(struct intel_crtc *crtc);
 int intel_color_check(struct intel_crtc_state *crtc_state);
+void intel_color_prepare_commit(struct intel_crtc_state *crtc_state);
+void intel_color_cleanup_commit(struct intel_crtc_state *crtc_state);
 void intel_color_commit_noarm(const struct intel_crtc_state *crtc_state);
 void intel_color_commit_arm(const struct intel_crtc_state *crtc_state);
+void intel_color_post_update(const struct intel_crtc_state *crtc_state);
 void intel_color_load_luts(const struct intel_crtc_state *crtc_state);
 void intel_color_get_config(struct intel_crtc_state *crtc_state);
 int intel_color_get_gamma_bit_precision(const struct intel_crtc_state *crtc_state);
drivers/gpu/drm/i915/display/intel_display.c +13 -15
index f0aad2403109..2d46dcf820a2 100644
@@ -93,7 +93,6 @@
 #include "intel_dp_link_training.h"
 #include "intel_dpio_phy.h"
 #include "intel_dpt.h"
-#include "intel_dsb.h"
 #include "intel_fbc.h"
 #include "intel_fbdev.h"
 #include "intel_fdi.h"
@@ -1264,6 +1263,9 @@ static void intel_post_plane_update(struct intel_atomic_state *state,
 	if (needs_cursorclk_wa(old_crtc_state) &&
 	    !needs_cursorclk_wa(new_crtc_state))
 		icl_wa_cursorclkgating(dev_priv, pipe, false);
+
+	if (intel_crtc_needs_color_update(new_crtc_state))
+		intel_color_post_update(new_crtc_state);
 }
 
 static void intel_crtc_enable_flip_done(struct intel_atomic_state *state,
@@ -6946,7 +6948,7 @@ static int intel_atomic_prepare_commit(struct intel_atomic_state *state)
 
 	for_each_new_intel_crtc_in_state(state, crtc, crtc_state, i) {
 		if (intel_crtc_needs_color_update(crtc_state))
-			intel_dsb_prepare(crtc_state);
+			intel_color_prepare_commit(crtc_state);
 	}
 
 	return 0;
@@ -7399,24 +7401,18 @@ static void intel_atomic_commit_fence_wait(struct intel_atomic_state *intel_stat
 		    &wait_reset);
 }
 
-static void intel_cleanup_dsbs(struct intel_atomic_state *state)
-{
-	struct intel_crtc_state *old_crtc_state, *new_crtc_state;
-	struct intel_crtc *crtc;
-	int i;
-
-	for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
-					    new_crtc_state, i)
-		intel_dsb_cleanup(old_crtc_state);
-}
-
 static void intel_atomic_cleanup_work(struct work_struct *work)
 {
 	struct intel_atomic_state *state =
 		container_of(work, struct intel_atomic_state, base.commit_work);
 	struct drm_i915_private *i915 = to_i915(state->base.dev);
+	struct intel_crtc_state *old_crtc_state;
+	struct intel_crtc *crtc;
+	int i;
+
+	for_each_old_intel_crtc_in_state(state, crtc, old_crtc_state, i)
+		intel_color_cleanup_commit(old_crtc_state);
 
-	intel_cleanup_dsbs(state);
 	drm_atomic_helper_cleanup_planes(&i915->drm, &state->base);
 	drm_atomic_helper_commit_cleanup_done(&state->base);
 	drm_atomic_state_put(&state->base);
@@ -7624,6 +7620,8 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
 		 * DSB cleanup is done in cleanup_work aligning with framebuffer
 		 * cleanup. So copy and reset the dsb structure to sync with
 		 * commit_done and later do dsb cleanup in cleanup_work.
+		 *
+		 * FIXME get rid of this funny new->old swapping
 		 */
 		old_crtc_state->dsb = fetch_and_zero(&new_crtc_state->dsb);
 	}
@@ -7774,7 +7772,7 @@ static int intel_atomic_commit(struct drm_device *dev,
 		i915_sw_fence_commit(&state->commit_ready);
 
 		for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
-			intel_dsb_cleanup(new_crtc_state);
+			intel_color_cleanup_commit(new_crtc_state);
 
 		drm_atomic_helper_cleanup_planes(dev, &state->base);
 		intel_runtime_pm_put(&dev_priv->runtime_pm, state->wakeref);
drivers/gpu/drm/i915/display/intel_display.h +8 -0
index 714030136b7f..ef73730f32b0 100644
@@ -440,6 +440,14 @@ enum hpd_pin {
 	     (__i)++) \
 		for_each_if(plane)
 
+#define for_each_old_intel_crtc_in_state(__state, crtc, old_crtc_state, __i) \
+	for ((__i) = 0; \
+	     (__i) < (__state)->base.dev->mode_config.num_crtc && \
+		     ((crtc) = to_intel_crtc((__state)->base.crtcs[__i].ptr), \
+		      (old_crtc_state) = to_intel_crtc_state((__state)->base.crtcs[__i].old_state), 1); \
+	     (__i)++) \
+		for_each_if(crtc)
+
 #define for_each_new_intel_plane_in_state(__state, plane, new_plane_state, __i) \
 	for ((__i) = 0; \
 	     (__i) < (__state)->base.dev->mode_config.num_total_plane && \
drivers/gpu/drm/i915/gt/intel_execlists_submission.c +10 -2
index 3c573d41d404..eefd327c4278 100644
@@ -2018,6 +2018,8 @@ process_csb(struct intel_engine_cs *engine, struct i915_request **inactive)
 	 * inspecting the queue to see if we need to resumbit.
 	 */
 	if (*prev != *execlists->active) { /* elide lite-restores */
+		struct intel_context *prev_ce = NULL, *active_ce = NULL;
+
 		/*
 		 * Note the inherent discrepancy between the HW runtime,
 		 * recorded as part of the context switch, and the CPU
@@ -2029,9 +2031,15 @@ process_csb(struct intel_engine_cs *engine, struct i915_request **inactive)
 		 * and correct overselves later when updating from HW.
 		 */
 		if (*prev)
-			lrc_runtime_stop((*prev)->context);
+			prev_ce = (*prev)->context;
 		if (*execlists->active)
-			lrc_runtime_start((*execlists->active)->context);
+			active_ce = (*execlists->active)->context;
+		if (prev_ce != active_ce) {
+			if (prev_ce)
+				lrc_runtime_stop(prev_ce);
+			if (active_ce)
+				lrc_runtime_start(active_ce);
+		}
 		new_timeslice(execlists);
 	}
 
drivers/gpu/drm/i915/gt/uc/intel_huc.c +7 -0
index 410905da8e97..0c103ca160d1 100644
@@ -235,6 +235,13 @@ static void delayed_huc_load_fini(struct intel_huc *huc)
 	i915_sw_fence_fini(&huc->delayed_load.fence);
 }
 
+int intel_huc_sanitize(struct intel_huc *huc)
+{
+	delayed_huc_load_complete(huc);
+	intel_uc_fw_sanitize(&huc->fw);
+	return 0;
+}
+
 static bool vcs_supported(struct intel_gt *gt)
 {
 	intel_engine_mask_t mask = gt->info.engine_mask;
drivers/gpu/drm/i915/gt/uc/intel_huc.h +1 -6
index 52db03620c60..db555b3c1f56 100644
@@ -41,6 +41,7 @@ struct intel_huc {
 	} delayed_load;
 };
 
+int intel_huc_sanitize(struct intel_huc *huc);
 void intel_huc_init_early(struct intel_huc *huc);
 int intel_huc_init(struct intel_huc *huc);
 void intel_huc_fini(struct intel_huc *huc);
@@ -54,12 +55,6 @@ bool intel_huc_is_authenticated(struct intel_huc *huc);
 void intel_huc_register_gsc_notifier(struct intel_huc *huc, struct bus_type *bus);
 void intel_huc_unregister_gsc_notifier(struct intel_huc *huc, struct bus_type *bus);
 
-static inline int intel_huc_sanitize(struct intel_huc *huc)
-{
-	intel_uc_fw_sanitize(&huc->fw);
-	return 0;
-}
-
 static inline bool intel_huc_is_supported(struct intel_huc *huc)
 {
 	return intel_uc_fw_is_supported(&huc->fw);
drivers/gpu/drm/i915/i915_perf.c +3 -3
index 7d5e2c53c23a..1a1b74b80e08 100644
@@ -4612,13 +4612,13 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
 		err = oa_config->id;
 		goto sysfs_err;
 	}
-
-	mutex_unlock(&perf->metrics_lock);
+	id = oa_config->id;
 
 	drm_dbg(&perf->i915->drm,
 		"Added config %s id=%i\n", oa_config->uuid, oa_config->id);
+	mutex_unlock(&perf->metrics_lock);
 
-	return oa_config->id;
+	return id;
 
 sysfs_err:
 	mutex_unlock(&perf->metrics_lock);
drivers/gpu/drm/nouveau/dispnv50/disp.c +32 -0
index ed9d374147b8..5bb777ff1313 100644
@@ -363,6 +363,35 @@ nv50_outp_atomic_check_view(struct drm_encoder *encoder,
 	return 0;
 }
 
+static void
+nv50_outp_atomic_fix_depth(struct drm_encoder *encoder, struct drm_crtc_state *crtc_state)
+{
+	struct nv50_head_atom *asyh = nv50_head_atom(crtc_state);
+	struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder);
+	struct drm_display_mode *mode = &asyh->state.adjusted_mode;
+	unsigned int max_rate, mode_rate;
+
+	switch (nv_encoder->dcb->type) {
+	case DCB_OUTPUT_DP:
+		max_rate = nv_encoder->dp.link_nr * nv_encoder->dp.link_bw;
+
+		/* we don't support more than 10 anyway */
+		asyh->or.bpc = min_t(u8, asyh->or.bpc, 10);
+
+		/* reduce the bpc until it works out */
+		while (asyh->or.bpc > 6) {
+			mode_rate = DIV_ROUND_UP(mode->clock * asyh->or.bpc * 3, 8);
+			if (mode_rate <= max_rate)
+				break;
+
+			asyh->or.bpc -= 2;
+		}
+		break;
+	default:
+		break;
+	}
+}
+
 static int
 nv50_outp_atomic_check(struct drm_encoder *encoder,
 		       struct drm_crtc_state *crtc_state,
@@ -381,6 +410,9 @@ nv50_outp_atomic_check(struct drm_encoder *encoder,
 	if (crtc_state->mode_changed || crtc_state->connectors_changed)
 		asyh->or.bpc = connector->display_info.bpc;
 
+	/* We might have to reduce the bpc */
+	nv50_outp_atomic_fix_depth(encoder, crtc_state);
+
 	return 0;
 }
 
drivers/gpu/drm/nouveau/nouveau_dp.c +5 -3
index e00876f92aee..d49b4875fc3c 100644
@@ -263,8 +263,6 @@ nouveau_dp_irq(struct work_struct *work)
 }
 
 /* TODO:
- * - Use the minimum possible BPC here, once we add support for the max bpc
- *   property.
  * - Validate against the DP caps advertised by the GPU (we don't check these
  *   yet)
  */
@@ -276,7 +274,11 @@ nv50_dp_mode_valid(struct drm_connector *connector,
 {
 	const unsigned int min_clock = 25000;
 	unsigned int max_rate, mode_rate, ds_max_dotclock, clock = mode->clock;
-	const u8 bpp = connector->display_info.bpc * 3;
+	/* Check with the minmum bpc always, so we can advertise better modes.
+	 * In particlar not doing this causes modes to be dropped on HDR
+	 * displays as we might check with a bpc of 16 even.
+	 */
+	const u8 bpp = 6 * 3;
 
 	if (mode->flags & DRM_MODE_FLAG_INTERLACE && !outp->caps.dp_interlace)
 		return MODE_NO_INTERLACE;
drivers/gpu/drm/panfrost/panfrost_mmu.c +1 -0
index 666a5e53fe19..e961fa27702c 100644
@@ -504,6 +504,7 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
 		if (IS_ERR(pages[i])) {
 			mutex_unlock(&bo->base.pages_lock);
 			ret = PTR_ERR(pages[i]);
+			pages[i] = NULL;
 			goto err_pages;
 		}
 	}
drivers/hv/connection.c +4 -0
index 9dc27e5d367a..da51b50787df 100644
@@ -409,6 +409,10 @@ void vmbus_disconnect(void)
  */
 struct vmbus_channel *relid2channel(u32 relid)
 {
+	if (vmbus_connection.channels == NULL) {
+		pr_warn_once("relid2channel: relid=%d: No channels mapped!\n", relid);
+		return NULL;
+	}
 	if (WARN_ON(relid >= MAX_CHANNEL_RELIDS))
 		return NULL;
 	return READ_ONCE(vmbus_connection.channels[relid]);
drivers/hwtracing/coresight/coresight-etm4x-core.c +10 -14
index 77bca6932f01..a65b41017cec 100644
@@ -454,7 +454,7 @@ static int etm4_enable_hw(struct etmv4_drvdata *drvdata)
 		if (etm4x_sspcicrn_present(drvdata, i))
 			etm4x_relaxed_write32(csa, config->ss_pe_cmp[i], TRCSSPCICRn(i));
 	}
-	for (i = 0; i < drvdata->nr_addr_cmp; i++) {
+	for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) {
 		etm4x_relaxed_write64(csa, config->addr_val[i], TRCACVRn(i));
 		etm4x_relaxed_write64(csa, config->addr_acc[i], TRCACATRn(i));
 	}
@@ -1013,25 +1013,21 @@ static bool etm4_init_iomem_access(struct etmv4_drvdata *drvdata,
 				   struct csdev_access *csa)
 {
 	u32 devarch = readl_relaxed(drvdata->base + TRCDEVARCH);
-	u32 idr1 = readl_relaxed(drvdata->base + TRCIDR1);
 
 	/*
 	 * All ETMs must implement TRCDEVARCH to indicate that
-	 * the component is an ETMv4. To support any broken
-	 * implementations we fall back to TRCIDR1 check, which
-	 * is not really reliable.
+	 * the component is an ETMv4. Even though TRCIDR1 also
+	 * contains the information, it is part of the "Trace"
+	 * register and must be accessed with the OSLK cleared,
+	 * with MMIO. But we cannot touch the OSLK until we are
+	 * sure this is an ETM. So rely only on the TRCDEVARCH.
 	 */
-	if ((devarch & ETM_DEVARCH_ID_MASK) == ETM_DEVARCH_ETMv4x_ARCH) {
-		drvdata->arch = etm_devarch_to_arch(devarch);
-	} else {
-		pr_warn("CPU%d: ETM4x incompatible TRCDEVARCH: %x, falling back to TRCIDR1\n",
-			smp_processor_id(), devarch);
-
-		if (ETM_TRCIDR1_ARCH_MAJOR(idr1) != ETM_TRCIDR1_ARCH_ETMv4)
-			return false;
-		drvdata->arch = etm_trcidr_to_arch(idr1);
+	if ((devarch & ETM_DEVARCH_ID_MASK) != ETM_DEVARCH_ETMv4x_ARCH) {
+		pr_warn_once("TRCDEVARCH doesn't match ETMv4 architecture\n");
+		return false;
 	}
 
+	drvdata->arch = etm_devarch_to_arch(devarch);
 	*csa = CSDEV_ACCESS_IOMEM(drvdata->base);
 	return true;
 }
drivers/hwtracing/coresight/coresight-etm4x.h +6 -14
index 4b21bb79f168..0174fbf1a963 100644
@@ -753,14 +753,12 @@
  * TRCDEVARCH	- CoreSight architected register
  *                - Bits[15:12] - Major version
  *                - Bits[19:16] - Minor version
- * TRCIDR1	- ETM architected register
- *                - Bits[11:8] - Major version
- *                - Bits[7:4]  - Minor version
- * We must rely on TRCDEVARCH for the version information,
- * however we don't want to break the support for potential
- * old implementations which might not implement it. Thus
- * we fall back to TRCIDR1 if TRCDEVARCH is not implemented
- * for memory mapped components.
+ *
+ * We must rely only on TRCDEVARCH for the version information. Even though,
+ * TRCIDR1 also provides the architecture version, it is a "Trace" register
+ * and as such must be accessed only with Trace power domain ON. This may
+ * not be available at probe time.
+ *
  * Now to make certain decisions easier based on the version
  * we use an internal representation of the version in the
  * driver, as follows :
@@ -786,12 +784,6 @@ static inline u8 etm_devarch_to_arch(u32 devarch)
 				ETM_DEVARCH_REVISION(devarch));
 }
 
-static inline u8 etm_trcidr_to_arch(u32 trcidr1)
-{
-	return ETM_ARCH_VERSION(ETM_TRCIDR1_ARCH_MAJOR(trcidr1),
-				ETM_TRCIDR1_ARCH_MINOR(trcidr1));
-}
-
 enum etm_impdef_type {
 	ETM4_IMPDEF_HISI_CORE_COMMIT,
 	ETM4_IMPDEF_FEATURE_MAX,
drivers/iio/accel/kionix-kx022a.c +1 -1
index f866859855cd..1c3a72380fb8 100644
@@ -864,7 +864,7 @@ static irqreturn_t kx022a_trigger_handler(int irq, void *p)
 	if (ret < 0)
 		goto err_read;
 
-	iio_push_to_buffers_with_timestamp(idev, data->buffer, pf->timestamp);
+	iio_push_to_buffers_with_timestamp(idev, data->buffer, data->timestamp);
 err_read:
 	iio_trigger_notify_done(idev->trig);
 
drivers/iio/adc/ad7791.c +1 -1
index fee8d129a5f0..86effe8501b4 100644
@@ -253,7 +253,7 @@ static const struct ad_sigma_delta_info ad7791_sigma_delta_info = {
 	.has_registers = true,
 	.addr_shift = 4,
 	.read_mask = BIT(3),
-	.irq_flags = IRQF_TRIGGER_LOW,
+	.irq_flags = IRQF_TRIGGER_FALLING,
 };
 
 static int ad7791_read_raw(struct iio_dev *indio_dev,
drivers/iio/adc/ltc2497.c +2 -4
index 17370c5eb6fe..ec198c6f13d6 100644
@@ -28,7 +28,6 @@ struct ltc2497_driverdata {
 	struct ltc2497core_driverdata common_ddata;
 	struct i2c_client *client;
 	u32 recv_size;
-	u32 sub_lsb;
 	/*
 	 * DMA (thus cache coherency maintenance) may require the
 	 * transfer buffers to live in their own cache lines.
@@ -65,10 +64,10 @@ static int ltc2497_result_and_measure(struct ltc2497core_driverdata *ddata,
 		 * equivalent to a sign extension.
 		 */
 		if (st->recv_size == 3) {
-			*val = (get_unaligned_be24(st->data.d8) >> st->sub_lsb)
+			*val = (get_unaligned_be24(st->data.d8) >> 6)
 				- BIT(ddata->chip_info->resolution + 1);
 		} else {
-			*val = (be32_to_cpu(st->data.d32) >> st->sub_lsb)
+			*val = (be32_to_cpu(st->data.d32) >> 6)
 				- BIT(ddata->chip_info->resolution + 1);
 		}
 
@@ -122,7 +121,6 @@ static int ltc2497_probe(struct i2c_client *client)
 	st->common_ddata.chip_info = chip_info;
 
 	resolution = chip_info->resolution;
-	st->sub_lsb = 31 - (resolution + 1);
 	st->recv_size = BITS_TO_BYTES(resolution) + 1;
 
 	return ltc2497core_probe(dev, indio_dev);
drivers/iio/adc/max11410.c +15 -7
index fdc9f03135b5..e64cd979688d 100644
@@ -413,13 +413,17 @@ static int max11410_sample(struct max11410_state *st, int *sample_raw,
 		if (!ret)
 			return -ETIMEDOUT;
 	} else {
+		int ret2;
+
 		/* Wait for status register Conversion Ready flag */
-		ret = read_poll_timeout(max11410_read_reg, ret,
-					ret || (val & MAX11410_STATUS_CONV_READY_BIT),
+		ret = read_poll_timeout(max11410_read_reg, ret2,
+					ret2 || (val & MAX11410_STATUS_CONV_READY_BIT),
 					5000, MAX11410_CONVERSION_TIMEOUT_MS * 1000,
 					true, st, MAX11410_REG_STATUS, &val);
 		if (ret)
 			return ret;
+		if (ret2)
+			return ret2;
 	}
 
 	/* Read ADC Data */
@@ -850,17 +854,21 @@ static int max11410_init_vref(struct device *dev,
 
 static int max11410_calibrate(struct max11410_state *st, u32 cal_type)
 {
-	int ret, val;
+	int ret, ret2, val;
 
 	ret = max11410_write_reg(st, MAX11410_REG_CAL_START, cal_type);
 	if (ret)
 		return ret;
 
 	/* Wait for status register Calibration Ready flag */
-	return read_poll_timeout(max11410_read_reg, ret,
-				 ret || (val & MAX11410_STATUS_CAL_READY_BIT),
-				 50000, MAX11410_CALIB_TIMEOUT_MS * 1000, true,
-				 st, MAX11410_REG_STATUS, &val);
+	ret = read_poll_timeout(max11410_read_reg, ret2,
+				ret2 || (val & MAX11410_STATUS_CAL_READY_BIT),
+				50000, MAX11410_CALIB_TIMEOUT_MS * 1000, true,
+				st, MAX11410_REG_STATUS, &val);
+	if (ret)
+		return ret;
+
+	return ret2;
 }
 
 static int max11410_self_calibrate(struct max11410_state *st)
drivers/iio/adc/qcom-spmi-adc5.c +9 -1
index 821fee60a765..d1b86570768a 100644
@@ -626,12 +626,20 @@ static int adc5_get_fw_channel_data(struct adc5_chip *adc,
 				    struct fwnode_handle *fwnode,
 				    const struct adc5_data *data)
 {
-	const char *name = fwnode_get_name(fwnode), *channel_name;
+	const char *channel_name;
+	char *name;
 	u32 chan, value, varr[2];
 	u32 sid = 0;
 	int ret;
 	struct device *dev = adc->dev;
 
+	name = devm_kasprintf(dev, GFP_KERNEL, "%pfwP", fwnode);
+	if (!name)
+		return -ENOMEM;
+
+	/* Cut the address part */
+	name[strchrnul(name, '@') - name] = '\0';
+
 	ret = fwnode_property_read_u32(fwnode, "reg", &chan);
 	if (ret) {
 		dev_err(dev, "invalid channel number %s\n", name);
drivers/iio/adc/ti-ads7950.c +1 -0
index 2cc9a9bd9db6..263fc3a1b87e 100644
@@ -634,6 +634,7 @@ static int ti_ads7950_probe(struct spi_device *spi)
 	st->chip.label = dev_name(&st->spi->dev);
 	st->chip.parent = &st->spi->dev;
 	st->chip.owner = THIS_MODULE;
+	st->chip.can_sleep = true;
 	st->chip.base = -1;
 	st->chip.ngpio = TI_ADS7950_NUM_GPIOS;
 	st->chip.get_direction = ti_ads7950_get_direction;
drivers/iio/dac/cio-dac.c +2 -2
index 791dd999cf29..18a64f72fc18 100644
@@ -66,8 +66,8 @@ static int cio_dac_write_raw(struct iio_dev *indio_dev,
 	if (mask != IIO_CHAN_INFO_RAW)
 		return -EINVAL;
 
-	/* DAC can only accept up to a 16-bit value */
-	if ((unsigned int)val > 65535)
+	/* DAC can only accept up to a 12-bit value */
+	if ((unsigned int)val > 4095)
 		return -EINVAL;
 
 	priv->chan_out_states[chan->channel] = val;
drivers/iio/imu/Kconfig +1 -0
index f1d7d4b5e222..c2f97629e9cd 100644
@@ -47,6 +47,7 @@ config ADIS16480
 	depends on SPI
 	select IIO_ADIS_LIB
 	select IIO_ADIS_LIB_BUFFER if IIO_BUFFER
+	select CRC32
 	help
 	  Say yes here to build support for Analog Devices ADIS16375, ADIS16480,
 	  ADIS16485, ADIS16488 inertial sensors.
drivers/iio/industrialio-buffer.c +12 -9
index 80c78bd6bbef..a7a080bed180 100644
@@ -203,24 +203,27 @@ static ssize_t iio_buffer_write(struct file *filp, const char __user *buf,
 				break;
 			}
 
+			if (filp->f_flags & O_NONBLOCK) {
+				if (!written)
+					ret = -EAGAIN;
+				break;
+			}
+
 			wait_woken(&wait, TASK_INTERRUPTIBLE,
 					MAX_SCHEDULE_TIMEOUT);
 			continue;
 		}
 
 		ret = rb->access->write(rb, n - written, buf + written);
-		if (ret == 0 && (filp->f_flags & O_NONBLOCK))
-			ret = -EAGAIN;
+		if (ret < 0)
+			break;
 
-		if (ret > 0) {
-			written += ret;
-			if (written != n && !(filp->f_flags & O_NONBLOCK))
-				continue;
-		}
-	} while (ret == 0);
+		written += ret;
+
+	} while (written != n);
 	remove_wait_queue(&rb->pollq, &wait);
 
-	return ret < 0 ? ret : n;
+	return ret < 0 ? ret : written;
 }
 
 /**
drivers/iio/light/cm32181.c +12 -0
index b1674a5bfa36..d4a34a3bf00d 100644
@@ -429,6 +429,14 @@ static const struct iio_info cm32181_info = {
 	.attrs			= &cm32181_attribute_group,
 };
 
+static void cm32181_unregister_dummy_client(void *data)
+{
+	struct i2c_client *client = data;
+
+	/* Unregister the dummy client */
+	i2c_unregister_device(client);
+}
+
 static int cm32181_probe(struct i2c_client *client)
 {
 	struct device *dev = &client->dev;
@@ -460,6 +468,10 @@ static int cm32181_probe(struct i2c_client *client)
 		client = i2c_acpi_new_device(dev, 1, &board_info);
 		if (IS_ERR(client))
 			return PTR_ERR(client);
+
+		ret = devm_add_action_or_reset(dev, cm32181_unregister_dummy_client, client);
+		if (ret)
+			return ret;
 	}
 
 	cm32181 = iio_priv(indio_dev);
drivers/iio/light/vcnl4000.c +2 -1
index cc1a2062e76d..69c5bc987e26 100644
@@ -199,7 +199,6 @@ static int vcnl4000_init(struct vcnl4000_data *data)
 
 	data->rev = ret & 0xf;
 	data->al_scale = 250000;
-	mutex_init(&data->vcnl4000_lock);
 
 	return data->chip_spec->set_power_state(data, true);
 };
@@ -1197,6 +1196,8 @@ static int vcnl4000_probe(struct i2c_client *client)
 	data->id = id->driver_data;
 	data->chip_spec = &vcnl4000_chip_spec_cfg[data->id];
 
+	mutex_init(&data->vcnl4000_lock);
+
 	ret = data->chip_spec->init(data);
 	if (ret < 0)
 		return ret;
drivers/iommu/iommufd/pages.c +14 -2
index 1e1d3509efae..105e0c4dc199 100644
@@ -294,9 +294,9 @@ static void batch_clear_carry(struct pfn_batch *batch, unsigned int keep_pfns)
 			batch->npfns[batch->end - 1] < keep_pfns);
 
 	batch->total_pfns = keep_pfns;
-	batch->npfns[0] = keep_pfns;
 	batch->pfns[0] = batch->pfns[batch->end - 1] +
 			 (batch->npfns[batch->end - 1] - keep_pfns);
+	batch->npfns[0] = keep_pfns;
 	batch->end = 0;
 }
 
@@ -1140,6 +1140,7 @@ struct iopt_pages *iopt_alloc_pages(void __user *uptr, unsigned long length,
 				    bool writable)
 {
 	struct iopt_pages *pages;
+	unsigned long end;
 
 	/*
 	 * The iommu API uses size_t as the length, and protect the DIV_ROUND_UP
@@ -1148,6 +1149,9 @@ struct iopt_pages *iopt_alloc_pages(void __user *uptr, unsigned long length,
 	if (length > SIZE_MAX - PAGE_SIZE || length == 0)
 		return ERR_PTR(-EINVAL);
 
+	if (check_add_overflow((unsigned long)uptr, length, &end))
+		return ERR_PTR(-EOVERFLOW);
+
 	pages = kzalloc(sizeof(*pages), GFP_KERNEL_ACCOUNT);
 	if (!pages)
 		return ERR_PTR(-ENOMEM);
@@ -1201,13 +1205,21 @@ iopt_area_unpin_domain(struct pfn_batch *batch, struct iopt_area *area,
 			unsigned long start =
 				max(start_index, *unmapped_end_index);
 
+			if (IS_ENABLED(CONFIG_IOMMUFD_TEST) &&
+			    batch->total_pfns)
+				WARN_ON(*unmapped_end_index -
+						batch->total_pfns !=
+					start_index);
 			batch_from_domain(batch, domain, area, start,
 					  last_index);
-			batch_last_index = start + batch->total_pfns - 1;
+			batch_last_index = start_index + batch->total_pfns - 1;
 		} else {
 			batch_last_index = last_index;
 		}
 
+		if (IS_ENABLED(CONFIG_IOMMUFD_TEST))
+			WARN_ON(batch_last_index > real_last_index);
+
 		/*
 		 * unmaps must always 'cut' at a place where the pfns are not
 		 * contiguous to pair with the maps that always install
drivers/md/dm-bio-prison-v1.c +5 -5
index 1f8f98efd97a..138067abe14b 100644
@@ -285,14 +285,14 @@ EXPORT_SYMBOL_GPL(dm_cell_promote_or_release);
 
 struct dm_deferred_entry {
 	struct dm_deferred_set *ds;
-	unsigned count;
+	unsigned int count;
 	struct list_head work_items;
 };
 
 struct dm_deferred_set {
 	spinlock_t lock;
-	unsigned current_entry;
-	unsigned sweeper;
+	unsigned int current_entry;
+	unsigned int sweeper;
 	struct dm_deferred_entry entries[DEFERRED_SET_SIZE];
 };
 
@@ -338,7 +338,7 @@ struct dm_deferred_entry *dm_deferred_entry_inc(struct dm_deferred_set *ds)
 }
 EXPORT_SYMBOL_GPL(dm_deferred_entry_inc);
 
-static unsigned ds_next(unsigned index)
+static unsigned int ds_next(unsigned int index)
 {
 	return (index + 1) % DEFERRED_SET_SIZE;
 }
@@ -373,7 +373,7 @@ EXPORT_SYMBOL_GPL(dm_deferred_entry_dec);
 int dm_deferred_set_add_work(struct dm_deferred_set *ds, struct list_head *work)
 {
 	int r = 1;
-	unsigned next_entry;
+	unsigned int next_entry;
 
 	spin_lock_irq(&ds->lock);
 	if ((ds->sweeper == ds->current_entry) &&
drivers/md/dm-bio-prison-v2.c +6 -6
index 9dec3b61cf70..0cc0d13c40e5 100644
@@ -148,7 +148,7 @@ static bool __find_or_insert(struct dm_bio_prison_v2 *prison,
 
 static bool __get(struct dm_bio_prison_v2 *prison,
 		  struct dm_cell_key_v2 *key,
-		  unsigned lock_level,
+		  unsigned int lock_level,
 		  struct bio *inmate,
 		  struct dm_bio_prison_cell_v2 *cell_prealloc,
 		  struct dm_bio_prison_cell_v2 **cell)
@@ -171,7 +171,7 @@ static bool __get(struct dm_bio_prison_v2 *prison,
 
 bool dm_cell_get_v2(struct dm_bio_prison_v2 *prison,
 		    struct dm_cell_key_v2 *key,
-		    unsigned lock_level,
+		    unsigned int lock_level,
 		    struct bio *inmate,
 		    struct dm_bio_prison_cell_v2 *cell_prealloc,
 		    struct dm_bio_prison_cell_v2 **cell_result)
@@ -224,7 +224,7 @@ EXPORT_SYMBOL_GPL(dm_cell_put_v2);
 
 static int __lock(struct dm_bio_prison_v2 *prison,
 		  struct dm_cell_key_v2 *key,
-		  unsigned lock_level,
+		  unsigned int lock_level,
 		  struct dm_bio_prison_cell_v2 *cell_prealloc,
 		  struct dm_bio_prison_cell_v2 **cell_result)
 {
@@ -255,7 +255,7 @@ static int __lock(struct dm_bio_prison_v2 *prison,
 
 int dm_cell_lock_v2(struct dm_bio_prison_v2 *prison,
 		    struct dm_cell_key_v2 *key,
-		    unsigned lock_level,
+		    unsigned int lock_level,
 		    struct dm_bio_prison_cell_v2 *cell_prealloc,
 		    struct dm_bio_prison_cell_v2 **cell_result)
 {
@@ -291,7 +291,7 @@ EXPORT_SYMBOL_GPL(dm_cell_quiesce_v2);
 
 static int __promote(struct dm_bio_prison_v2 *prison,
 		     struct dm_bio_prison_cell_v2 *cell,
-		     unsigned new_lock_level)
+		     unsigned int new_lock_level)
 {
 	if (!cell->exclusive_lock)
 		return -EINVAL;
@@ -302,7 +302,7 @@ static int __promote(struct dm_bio_prison_v2 *prison,
 
 int dm_cell_lock_promote_v2(struct dm_bio_prison_v2 *prison,
 			    struct dm_bio_prison_cell_v2 *cell,
-			    unsigned new_lock_level)
+			    unsigned int new_lock_level)
 {
 	int r;
 
drivers/md/dm-bio-prison-v2.h +5 -5
index 6e04234268db..5a7d996bbbd8 100644
@@ -44,8 +44,8 @@ struct dm_cell_key_v2 {
 struct dm_bio_prison_cell_v2 {
 	// FIXME: pack these
 	bool exclusive_lock;
-	unsigned exclusive_level;
-	unsigned shared_count;
+	unsigned int exclusive_level;
+	unsigned int shared_count;
 	struct work_struct *quiesce_continuation;
 
 	struct rb_node node;
@@ -86,7 +86,7 @@ void dm_bio_prison_free_cell_v2(struct dm_bio_prison_v2 *prison,
  */
 bool dm_cell_get_v2(struct dm_bio_prison_v2 *prison,
 		    struct dm_cell_key_v2 *key,
-		    unsigned lock_level,
+		    unsigned int lock_level,
 		    struct bio *inmate,
 		    struct dm_bio_prison_cell_v2 *cell_prealloc,
 		    struct dm_bio_prison_cell_v2 **cell_result);
@@ -114,7 +114,7 @@ bool dm_cell_put_v2(struct dm_bio_prison_v2 *prison,
  */
 int dm_cell_lock_v2(struct dm_bio_prison_v2 *prison,
 		    struct dm_cell_key_v2 *key,
-		    unsigned lock_level,
+		    unsigned int lock_level,
 		    struct dm_bio_prison_cell_v2 *cell_prealloc,
 		    struct dm_bio_prison_cell_v2 **cell_result);
 
@@ -132,7 +132,7 @@ void dm_cell_quiesce_v2(struct dm_bio_prison_v2 *prison,
  */
 int dm_cell_lock_promote_v2(struct dm_bio_prison_v2 *prison,
 			    struct dm_bio_prison_cell_v2 *cell,
-			    unsigned new_lock_level);
+			    unsigned int new_lock_level);
 
 /*
  * Adds any held bios to the bio list.
drivers/md/dm-bufio.c +29 -29

179 lines not on this page · raw message

drivers/md/dm-cache-background-tracker.c +4 -4
index 7887f99b82bd..c606e6bfc3f8 100644
@@ -17,7 +17,7 @@ struct bt_work {
 };
 
 struct background_tracker {
-	unsigned max_work;
+	unsigned int max_work;
 	atomic_t pending_promotes;
 	atomic_t pending_writebacks;
 	atomic_t pending_demotes;
@@ -29,7 +29,7 @@ struct background_tracker {
 	struct kmem_cache *work_cache;
 };
 
-struct background_tracker *btracker_create(unsigned max_work)
+struct background_tracker *btracker_create(unsigned int max_work)
 {
 	struct background_tracker *b = kmalloc(sizeof(*b), GFP_KERNEL);
 
@@ -155,13 +155,13 @@ static void update_stats(struct background_tracker *b, struct policy_work *w, in
 	}
 }
 
-unsigned btracker_nr_writebacks_queued(struct background_tracker *b)
+unsigned int btracker_nr_writebacks_queued(struct background_tracker *b)
 {
 	return atomic_read(&b->pending_writebacks);
 }
 EXPORT_SYMBOL_GPL(btracker_nr_writebacks_queued);
 
-unsigned btracker_nr_demotions_queued(struct background_tracker *b)
+unsigned int btracker_nr_demotions_queued(struct background_tracker *b)
 {
 	return atomic_read(&b->pending_demotes);
 }
drivers/md/dm-cache-background-tracker.h +40 -6

70 lines not on this page · raw message

drivers/md/dm-cache-metadata.c +20 -20
index 83a5975bcc72..f5b4c996dc05 100644
@@ -104,7 +104,7 @@ struct dm_cache_metadata {
 	refcount_t ref_count;
 	struct list_head list;
 
-	unsigned version;
+	unsigned int version;
 	struct block_device *bdev;
 	struct dm_block_manager *bm;
 	struct dm_space_map *metadata_sm;
@@ -129,7 +129,7 @@ struct dm_cache_metadata {
 	bool clean_when_opened:1;
 
 	char policy_name[CACHE_POLICY_NAME_SIZE];
-	unsigned policy_version[CACHE_POLICY_VERSION_SIZE];
+	unsigned int policy_version[CACHE_POLICY_VERSION_SIZE];
 	size_t policy_hint_size;
 	struct dm_cache_statistics stats;
 
@@ -260,10 +260,10 @@ static int superblock_lock(struct dm_cache_metadata *cmd,
 static int __superblock_all_zeroes(struct dm_block_manager *bm, bool *result)
 {
 	int r;
-	unsigned i;
+	unsigned int i;
 	struct dm_block *b;
 	__le64 *data_le, zero = cpu_to_le64(0);
-	unsigned sb_block_size = dm_bm_block_size(bm) / sizeof(__le64);
+	unsigned int sb_block_size = dm_bm_block_size(bm) / sizeof(__le64);
 
 	/*
 	 * We can't use a validator here - it may be all zeroes.
@@ -727,7 +727,7 @@ static int __commit_transaction(struct dm_cache_metadata *cmd,
  */
 #define FLAGS_MASK ((1 << 16) - 1)
 
-static __le64 pack_value(dm_oblock_t block, unsigned flags)
+static __le64 pack_value(dm_oblock_t block, unsigned int flags)
 {
 	uint64_t value = from_oblock(block);
 	value <<= 16;
@@ -735,7 +735,7 @@ static __le64 pack_value(dm_oblock_t block, unsigned flags)
 	return cpu_to_le64(value);
 }
 
-static void unpack_value(__le64 value_le, dm_oblock_t *block, unsigned *flags)
+static void unpack_value(__le64 value_le, dm_oblock_t *block, unsigned int *flags)
 {
 	uint64_t value = le64_to_cpu(value_le);
 	uint64_t b = value >> 16;
@@ -749,7 +749,7 @@ static struct dm_cache_metadata *metadata_open(struct block_device *bdev,
 					       sector_t data_block_size,
 					       bool may_format_device,
 					       size_t policy_hint_size,
-					       unsigned metadata_version)
+					       unsigned int metadata_version)
 {
 	int r;
 	struct dm_cache_metadata *cmd;
@@ -810,7 +810,7 @@ static struct dm_cache_metadata *lookup_or_open(struct block_device *bdev,
 						sector_t data_block_size,
 						bool may_format_device,
 						size_t policy_hint_size,
-						unsigned metadata_version)
+						unsigned int metadata_version)
 {
 	struct dm_cache_metadata *cmd, *cmd2;
 
@@ -855,7 +855,7 @@ struct dm_cache_metadata *dm_cache_metadata_open(struct block_device *bdev,
 						 sector_t data_block_size,
 						 bool may_format_device,
 						 size_t policy_hint_size,
-						 unsigned metadata_version)
+						 unsigned int metadata_version)
 {
 	struct dm_cache_metadata *cmd = lookup_or_open(bdev, data_block_size, may_format_device,
 						       policy_hint_size, metadata_version);
@@ -890,7 +890,7 @@ static int block_clean_combined_dirty(struct dm_cache_metadata *cmd, dm_cblock_t
 	int r;
 	__le64 value;
 	dm_oblock_t ob;
-	unsigned flags;
+	unsigned int flags;
 
 	r = dm_array_get_value(&cmd->info, cmd->root, from_cblock(b), &value);
 	if (r)
@@ -1288,7 +1288,7 @@ static bool policy_unchanged(struct dm_cache_metadata *cmd,
 			     struct dm_cache_policy *policy)
 {
 	const char *policy_name = dm_cache_policy_get_name(policy);
-	const unsigned *policy_version = dm_cache_policy_get_version(policy);
+	const unsigned int *policy_version = dm_cache_policy_get_version(policy);
 	size_t policy_hint_size = dm_cache_policy_get_hint_size(policy);
 
 	/*
@@ -1339,7 +1339,7 @@ static int __load_mapping_v1(struct dm_cache_metadata *cmd,
 	__le32 *hint_value_le;
 
 	dm_oblock_t oblock;
-	unsigned flags;
+	unsigned int flags;
 	bool dirty = true;
 
 	dm_array_cursor_get_value(mapping_cursor, (void **) &mapping_value_le);
@@ -1381,7 +1381,7 @@ static int __load_mapping_v2(struct dm_cache_metadata *cmd,
 	__le32 *hint_value_le;
 
 	dm_oblock_t oblock;
-	unsigned flags;
+	unsigned int flags;
 	bool dirty = true;
 
 	dm_array_cursor_get_value(mapping_cursor, (void **) &mapping_value_le);
@@ -1513,7 +1513,7 @@ static int __dump_mapping(void *context, uint64_t cblock, void *leaf)
 {
 	__le64 value;
 	dm_oblock_t oblock;
-	unsigned flags;
+	unsigned int flags;
 
 	memcpy(&value, leaf, sizeof(value));
 	unpack_value(value, &oblock, &flags);
@@ -1547,7 +1547,7 @@ int dm_cache_changed_this_transaction(struct dm_cache_metadata *cmd)
 static int __dirty(struct dm_cache_metadata *cmd, dm_cblock_t cblock, bool dirty)
 {
 	int r;
-	unsigned flags;
+	unsigned int flags;
 	dm_oblock_t oblock;
 	__le64 value;
 
@@ -1574,10 +1574,10 @@ static int __dirty(struct dm_cache_metadata *cmd, dm_cblock_t cblock, bool dirty
 
 }
 
-static int __set_dirty_bits_v1(struct dm_cache_metadata *cmd, unsigned nr_bits, unsigned long *bits)
+static int __set_dirty_bits_v1(struct dm_cache_metadata *cmd, unsigned int nr_bits, unsigned long *bits)
 {
 	int r;
-	unsigned i;
+	unsigned int i;
 	for (i = 0; i < nr_bits; i++) {
 		r = __dirty(cmd, to_cblock(i), test_bit(i, bits));
 		if (r)
@@ -1594,7 +1594,7 @@ static int is_dirty_callback(uint32_t index, bool *value, void *context)
 	return 0;
 }
 
-static int __set_dirty_bits_v2(struct dm_cache_metadata *cmd, unsigned nr_bits, unsigned long *bits)
+static int __set_dirty_bits_v2(struct dm_cache_metadata *cmd, unsigned int nr_bits, unsigned long *bits)
 {
 	int r = 0;
 
@@ -1613,7 +1613,7 @@ static int __set_dirty_bits_v2(struct dm_cache_metadata *cmd, unsigned nr_bits,
 }
 
 int dm_cache_set_dirty_bits(struct dm_cache_metadata *cmd,
-			    unsigned nr_bits,
+			    unsigned int nr_bits,
 			    unsigned long *bits)
 {
 	int r;
@@ -1712,7 +1712,7 @@ static int write_hints(struct dm_cache_metadata *cmd, struct dm_cache_policy *po
 	int r;
 	size_t hint_size;
 	const char *policy_name = dm_cache_policy_get_name(policy);
-	const unsigned *policy_version = dm_cache_policy_get_version(policy);
+	const unsigned int *policy_version = dm_cache_policy_get_version(policy);
 
 	if (!policy_name[0] ||
 	    (strlen(policy_name) > sizeof(cmd->policy_name) - 1))
drivers/md/dm-cache-metadata.h +2 -2
index 0905f2c1615e..b40322bc44cf 100644
@@ -60,7 +60,7 @@ struct dm_cache_metadata *dm_cache_metadata_open(struct block_device *bdev,
 						 sector_t data_block_size,
 						 bool may_format_device,
 						 size_t policy_hint_size,
-						 unsigned metadata_version);
+						 unsigned int metadata_version);
 
 void dm_cache_metadata_close(struct dm_cache_metadata *cmd);
 
@@ -96,7 +96,7 @@ int dm_cache_load_mappings(struct dm_cache_metadata *cmd,
 			   void *context);
 
 int dm_cache_set_dirty_bits(struct dm_cache_metadata *cmd,
-			    unsigned nr_bits, unsigned long *bits);
+			    unsigned int nr_bits, unsigned long *bits);
 
 struct dm_cache_statistics {
 	uint32_t read_hits;
drivers/md/dm-cache-policy-internal.h +5 -5
index 56f0a23f698c..8e49baa78dc1 100644
@@ -85,7 +85,7 @@ static inline void policy_tick(struct dm_cache_policy *p, bool can_block)
 }
 
 static inline int policy_emit_config_values(struct dm_cache_policy *p, char *result,
-					    unsigned maxlen, ssize_t *sz_ptr)
+					    unsigned int maxlen, ssize_t *sz_ptr)
 {
 	ssize_t sz = *sz_ptr;
 	if (p->emit_config_values)
@@ -112,18 +112,18 @@ static inline void policy_allow_migrations(struct dm_cache_policy *p, bool allow
 /*
  * Some utility functions commonly used by policies and the core target.
  */
-static inline size_t bitset_size_in_bytes(unsigned nr_entries)
+static inline size_t bitset_size_in_bytes(unsigned int nr_entries)
 {
 	return sizeof(unsigned long) * dm_div_up(nr_entries, BITS_PER_LONG);
 }
 
-static inline unsigned long *alloc_bitset(unsigned nr_entries)
+static inline unsigned long *alloc_bitset(unsigned int nr_entries)
 {
 	size_t s = bitset_size_in_bytes(nr_entries);
 	return vzalloc(s);
 }
 
-static inline void clear_bitset(void *bitset, unsigned nr_entries)
+static inline void clear_bitset(void *bitset, unsigned int nr_entries)
 {
 	size_t s = bitset_size_in_bytes(nr_entries);
 	memset(bitset, 0, s);
@@ -154,7 +154,7 @@ void dm_cache_policy_destroy(struct dm_cache_policy *p);
  */
 const char *dm_cache_policy_get_name(struct dm_cache_policy *p);
 
-const unsigned *dm_cache_policy_get_version(struct dm_cache_policy *p);
+const unsigned int *dm_cache_policy_get_version(struct dm_cache_policy *p);
 
 size_t dm_cache_policy_get_hint_size(struct dm_cache_policy *p);
 
drivers/md/dm-cache-policy-smq.c +82 -81

485 lines not on this page · raw message

drivers/md/dm-cache-policy.c +1 -1
index c1a3cee99b44..2e58bbcf3e3b 100644
@@ -154,7 +154,7 @@ const char *dm_cache_policy_get_name(struct dm_cache_policy *p)
 }
 EXPORT_SYMBOL_GPL(dm_cache_policy_get_name);
 
-const unsigned *dm_cache_policy_get_version(struct dm_cache_policy *p)
+const unsigned int *dm_cache_policy_get_version(struct dm_cache_policy *p)
 {
 	struct dm_cache_policy_type *t = p->private;
 
drivers/md/dm-cache-policy.h +2 -2
index 06eb31af626f..6ba3e9c91af5 100644
@@ -128,7 +128,7 @@ struct dm_cache_policy {
 	 * Configuration.
 	 */
 	int (*emit_config_values)(struct dm_cache_policy *p, char *result,
-				  unsigned maxlen, ssize_t *sz_ptr);
+				  unsigned int maxlen, ssize_t *sz_ptr);
 	int (*set_config_value)(struct dm_cache_policy *p,
 				const char *key, const char *value);
 
@@ -157,7 +157,7 @@ struct dm_cache_policy_type {
 	 * what gets passed on the target line to select your policy.
 	 */
 	char name[CACHE_POLICY_NAME_SIZE];
-	unsigned version[CACHE_POLICY_VERSION_SIZE];
+	unsigned int version[CACHE_POLICY_VERSION_SIZE];
 
 	/*
 	 * For use by an alias dm_cache_policy_type to point to the
drivers/md/dm-cache-target.c +25 -25

153 lines not on this page · raw message

drivers/md/dm-core.h +3 -3
index 6c6bd24774f2..28c641352de9 100644
@@ -119,7 +119,7 @@ struct mapped_device {
 	struct dm_stats stats;
 
 	/* the number of internal suspends */
-	unsigned internal_suspend_count;
+	unsigned int internal_suspend_count;
 
 	int swap_bios;
 	struct semaphore swap_bios_semaphore;
@@ -326,9 +326,9 @@ static inline struct completion *dm_get_completion_from_kobject(struct kobject *
 	return &container_of(kobj, struct dm_kobject_holder, kobj)->completion;
 }
 
-unsigned __dm_get_module_param(unsigned *module_param, unsigned def, unsigned max);
+unsigned int __dm_get_module_param(unsigned int *module_param, unsigned int def, unsigned int max);
 
-static inline bool dm_message_test_buffer_overflow(char *result, unsigned maxlen)
+static inline bool dm_message_test_buffer_overflow(char *result, unsigned int maxlen)
 {
 	return !maxlen || strlen(result) + 1 >= maxlen;
 }
drivers/md/dm-crypt.c +24 -24

165 lines not on this page · raw message

drivers/md/dm-delay.c +3 -3
index 869afef5654a..02b8f4e81827 100644
@@ -20,8 +20,8 @@
 struct delay_class {
 	struct dm_dev *dev;
 	sector_t start;
-	unsigned delay;
-	unsigned ops;
+	unsigned int delay;
+	unsigned int ops;
 };
 
 struct delay_c {
@@ -305,7 +305,7 @@ static int delay_map(struct dm_target *ti, struct bio *bio)
 	DMEMIT("%s %llu %u", (c)->dev->name, (unsigned long long)(c)->start, (c)->delay)
 
 static void delay_status(struct dm_target *ti, status_type_t type,
-			 unsigned status_flags, char *result, unsigned maxlen)
+			 unsigned int status_flags, char *result, unsigned int maxlen)
 {
 	struct delay_c *dc = ti->private;
 	int sz = 0;
drivers/md/dm-ebs-target.c +1 -1
index 512cc6cea095..7606c6695a0e 100644
@@ -390,7 +390,7 @@ static int ebs_map(struct dm_target *ti, struct bio *bio)
 }
 
 static void ebs_status(struct dm_target *ti, status_type_t type,
-		       unsigned status_flags, char *result, unsigned maxlen)
+		       unsigned int status_flags, char *result, unsigned int maxlen)
 {
 	struct ebs_c *ec = ti->private;
 
drivers/md/dm-era-target.c +16 -16
index e92c1afc3677..a96290103cca 100644
@@ -51,7 +51,7 @@ static void writeset_free(struct writeset *ws)
 }
 
 static int setup_on_disk_bitset(struct dm_disk_bitset *info,
-				unsigned nr_bits, dm_block_t *root)
+				unsigned int nr_bits, dm_block_t *root)
 {
 	int r;
 
@@ -62,7 +62,7 @@ static int setup_on_disk_bitset(struct dm_disk_bitset *info,
 	return dm_bitset_resize(info, *root, 0, nr_bits, false, root);
 }
 
-static size_t bitset_size(unsigned nr_bits)
+static size_t bitset_size(unsigned int nr_bits)
 {
 	return sizeof(unsigned long) * dm_div_up(nr_bits, BITS_PER_LONG);
 }
@@ -323,10 +323,10 @@ static int superblock_lock(struct era_metadata *md,
 static int superblock_all_zeroes(struct dm_block_manager *bm, bool *result)
 {
 	int r;
-	unsigned i;
+	unsigned int i;
 	struct dm_block *b;
 	__le64 *data_le, zero = cpu_to_le64(0);
-	unsigned sb_block_size = dm_bm_block_size(bm) / sizeof(__le64);
+	unsigned int sb_block_size = dm_bm_block_size(bm) / sizeof(__le64);
 
 	/*
 	 * We can't use a validator here - it may be all zeroes.
@@ -363,12 +363,12 @@ static void ws_unpack(const struct writeset_disk *disk, struct writeset_metadata
 	core->root = le64_to_cpu(disk->root);
 }
 
-static void ws_inc(void *context, const void *value, unsigned count)
+static void ws_inc(void *context, const void *value, unsigned int count)
 {
 	struct era_metadata *md = context;
 	struct writeset_disk ws_d;
 	dm_block_t b;
-	unsigned i;
+	unsigned int i;
 
 	for (i = 0; i < count; i++) {
 		memcpy(&ws_d, value + (i * sizeof(ws_d)), sizeof(ws_d));
@@ -377,12 +377,12 @@ static void ws_inc(void *context, const void *value, unsigned count)
 	}
 }
 
-static void ws_dec(void *context, const void *value, unsigned count)
+static void ws_dec(void *context, const void *value, unsigned int count)
 {
 	struct era_metadata *md = context;
 	struct writeset_disk ws_d;
 	dm_block_t b;
-	unsigned i;
+	unsigned int i;
 
 	for (i = 0; i < count; i++) {
 		memcpy(&ws_d, value + (i * sizeof(ws_d)), sizeof(ws_d));
@@ -667,7 +667,7 @@ static void swap_writeset(struct era_metadata *md, struct writeset *new_writeset
  *--------------------------------------------------------------*/
 struct digest {
 	uint32_t era;
-	unsigned nr_bits, current_bit;
+	unsigned int nr_bits, current_bit;
 	struct writeset_metadata writeset;
 	__le32 value;
 	struct dm_disk_bitset info;
@@ -702,7 +702,7 @@ static int metadata_digest_transcribe_writeset(struct era_metadata *md,
 {
 	int r;
 	bool marked;
-	unsigned b, e = min(d->current_bit + INSERTS_PER_STEP, d->nr_bits);
+	unsigned int b, e = min(d->current_bit + INSERTS_PER_STEP, d->nr_bits);
 
 	for (b = d->current_bit; b < e; b++) {
 		r = writeset_marked_on_disk(&d->info, &d->writeset, b, &marked);
@@ -1439,7 +1439,7 @@ static bool valid_block_size(dm_block_t block_size)
 /*
  * <metadata dev> <data dev> <data block size (sectors)>
  */
-static int era_ctr(struct dm_target *ti, unsigned argc, char **argv)
+static int era_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 {
 	int r;
 	char dummy;
@@ -1618,7 +1618,7 @@ static int era_preresume(struct dm_target *ti)
  * <current era> <held metadata root | '-'>
  */
 static void era_status(struct dm_target *ti, status_type_t type,
-		       unsigned status_flags, char *result, unsigned maxlen)
+		       unsigned int status_flags, char *result, unsigned int maxlen)
 {
 	int r;
 	struct era *era = ti->private;
@@ -1633,10 +1633,10 @@ static void era_status(struct dm_target *ti, status_type_t type,
 			goto err;
 
 		DMEMIT("%u %llu/%llu %u",
-		       (unsigned) (DM_ERA_METADATA_BLOCK_SIZE >> SECTOR_SHIFT),
+		       (unsigned int) (DM_ERA_METADATA_BLOCK_SIZE >> SECTOR_SHIFT),
 		       (unsigned long long) stats.used,
 		       (unsigned long long) stats.total,
-		       (unsigned) stats.era);
+		       (unsigned int) stats.era);
 
 		if (stats.snap != SUPERBLOCK_LOCATION)
 			DMEMIT(" %llu", stats.snap);
@@ -1662,8 +1662,8 @@ static void era_status(struct dm_target *ti, status_type_t type,
 	DMEMIT("Error");
 }
 
-static int era_message(struct dm_target *ti, unsigned argc, char **argv,
-		       char *result, unsigned maxlen)
+static int era_message(struct dm_target *ti, unsigned int argc, char **argv,
+		       char *result, unsigned int maxlen)
 {
 	struct era *era = ti->private;
 
drivers/md/dm-exception-store.c +3 -3
index 3997f34cfebc..cc3987c97eb9 100644
@@ -142,7 +142,7 @@ EXPORT_SYMBOL(dm_exception_store_type_unregister);
 static int set_chunk_size(struct dm_exception_store *store,
 			  const char *chunk_size_arg, char **error)
 {
-	unsigned chunk_size;
+	unsigned int chunk_size;
 
 	if (kstrtouint(chunk_size_arg, 10, &chunk_size)) {
 		*error = "Invalid chunk size";
@@ -158,7 +158,7 @@ static int set_chunk_size(struct dm_exception_store *store,
 }
 
 int dm_exception_store_set_chunk_size(struct dm_exception_store *store,
-				      unsigned chunk_size,
+				      unsigned int chunk_size,
 				      char **error)
 {
 	/* Check chunk_size is a power of 2 */
@@ -190,7 +190,7 @@ int dm_exception_store_set_chunk_size(struct dm_exception_store *store,
 
 int dm_exception_store_create(struct dm_target *ti, int argc, char **argv,
 			      struct dm_snapshot *snap,
-			      unsigned *args_used,
+			      unsigned int *args_used,
 			      struct dm_exception_store **store)
 {
 	int r = 0;
drivers/md/dm-exception-store.h +9 -9
index b5f20eba3641..862df68a7db0 100644
@@ -96,9 +96,9 @@ struct dm_exception_store_type {
 	 */
 	void (*drop_snapshot) (struct dm_exception_store *store);
 
-	unsigned (*status) (struct dm_exception_store *store,
-			    status_type_t status, char *result,
-			    unsigned maxlen);
+	unsigned int (*status) (struct dm_exception_store *store,
+				status_type_t status, char *result,
+				unsigned int maxlen);
 
 	/*
 	 * Return how full the snapshot is.
@@ -118,9 +118,9 @@ struct dm_exception_store {
 	struct dm_snapshot *snap;
 
 	/* Size of data blocks saved - must be a power of 2 */
-	unsigned chunk_size;
-	unsigned chunk_mask;
-	unsigned chunk_shift;
+	unsigned int chunk_size;
+	unsigned int chunk_mask;
+	unsigned int chunk_shift;
 
 	void *context;
 
@@ -144,7 +144,7 @@ static inline chunk_t dm_chunk_number(chunk_t chunk)
 	return chunk & (chunk_t)((1ULL << DM_CHUNK_NUMBER_BITS) - 1ULL);
 }
 
-static inline unsigned dm_consecutive_chunk_count(struct dm_exception *e)
+static inline unsigned int dm_consecutive_chunk_count(struct dm_exception *e)
 {
 	return e->new_chunk >> DM_CHUNK_NUMBER_BITS;
 }
@@ -181,12 +181,12 @@ int dm_exception_store_type_register(struct dm_exception_store_type *type);
 int dm_exception_store_type_unregister(struct dm_exception_store_type *type);
 
 int dm_exception_store_set_chunk_size(struct dm_exception_store *store,
-				      unsigned chunk_size,
+				      unsigned int chunk_size,
 				      char **error);
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/md/dm-flakey.c +11 -11
index 335684a1aeaa..7efbdb42cf3b 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-integrity.c +161 -167

328 lines not on this page · raw message

drivers/md/dm-io-rewind.c +2 -2
index 0db53ccb94ba..773c4cff8b89 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-io.c +16 -16
index 783564533459..e488b05e35fa 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-ioctl.c +9 -9
index e031088ff15c..37f5ea7337cc 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-kcopyd.c +15 -15
index 4d3bbbea2e9a..0ef78e56aa88 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-linear.c +1 -1
index 3212ef6aa81b..26b1af646177 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-log-userspace-base.c +3 -3
index 9ab93ebea889..9fc69382692b 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-log-userspace-transfer.c +1 -1
index fdf8ec304f8d..072559b709ed 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-log-writes.c +5 -5
index 178e13a5b059..efdfb2e1868a 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-log.c +5 -5
index cf10fa667797..159f2c05dfd3 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-mpath.c +23 -23

46 lines not on this page · raw message

drivers/md/dm-mpath.h +1 -1
index e230f7196259..5343698fe5f1 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-path-selector.h +1 -1
index 83cac2b04b66..0f2b37af8766 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-ps-io-affinity.c +2 -2
index f74501e65a8e..76ce4ce87222 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-ps-queue-length.c +5 -5
index cef70657bbbc..6fbec9fc242d 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-ps-round-robin.c +3 -3
index 27f44c5fa04e..1d07392b5ed4 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-ps-service-time.c +7 -7
index 3ec9c33265c5..84d26234dc05 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-raid.c +1 -1
index 54263679a7b1..b26c12856b1d 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-raid1.c +11 -11
index 06a38dc32025..8bd7e87d3538 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-region-hash.c +11 -11
index 1f760451e6f4..adbdb4b67137 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-rq.c +8 -8
index a41209a43506..80f46e01bca4 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-rq.h +1 -1
index 1eea0da641db..2c97ad145140 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-snap-persistent.c +4 -4
index 680cc05ec654..5176810f5d24 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-snap-transient.c +3 -3
index 0e0ae4c36b37..d83a0565bd10 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-snap.c +17 -17
index d1c2f84d27e3..c64d987c544d 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-stats.c +37 -37

74 lines not on this page · raw message

drivers/md/dm-stats.h +3 -3
index ee32b099f1cf..c6728c8b4159 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-stripe.c +5 -5
index baa085cc67bd..a81ed080730a 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-switch.c +23 -23

46 lines not on this page · raw message

drivers/md/dm-table.c +12 -13
index 8541d5688f3a..c571f2385b57 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-thin-metadata.c +12 -12
index 6bcc4c4786d8..80545ec54121 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-thin.c +23 -23

46 lines not on this page · raw message

drivers/md/dm-uevent.c +2 -2
index 8671267200d8..a02b3f6ea47a 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-uevent.h +2 -2
index d30d226f2a18..2c9ba561fd8e 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-verity-fec.c +15 -15
index 23cffce56403..962fc32c947c 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-verity-fec.h +9 -9
index 3c46c8d61883..8454070d2824 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-verity-target.c +15 -15
index ccf5b852fbf7..64e8ac429984 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-verity.h +4 -4
index 98f306ec6a33..2f555b420367 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-writecache.c +40 -40

80 lines not on this page · raw message

drivers/md/dm.c +27 -28

55 lines not on this page · raw message

drivers/md/dm.h +2 -2
index a9a3ffcad084..a7917df09caf 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-array.c +35 -34

69 lines not on this page · raw message

drivers/md/persistent-data/dm-array.h +1 -1
index d7d2d579c662..b6c7077c7359 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-bitset.c +6 -6
index b7208d82e748..625d93498cdd 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-block-manager.c +8 -8
index 11935864f50f..1f40100908d7 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-block-manager.h +3 -3
index e728937f376a..58a23b8ec190 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-btree-remove.c +23 -23

46 lines not on this page · raw message

drivers/md/persistent-data/dm-btree-spine.c +2 -2
index e653458888a7..45a39d4f1c10 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-btree.c +49 -49

98 lines not on this page · raw message

drivers/md/persistent-data/dm-btree.h +6 -6
index d2ae5aa4d00b..5566e7c32e82 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-persistent-data-internal.h +3 -3
index c49e26fff36c..b945a2be93fb 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-space-map-common.c +14 -14
index bfbfa750e016..af800efed9f3 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-space-map-metadata.c +10 -10
index 392ae26134a4..0d1fcdf29c83 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-transaction-manager.c +8 -8
index 16643fc974e8..39885f835584 100644

Lines of this file are not shown. View the raw message.

drivers/md/persistent-data/dm-transaction-manager.h +1 -1
index 906c02ed0365..0f573a4a01ae 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/mv88e6xxx/chip.c +1 -1
index 8211a4d373e8..e57d86484a3a 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/mv88e6xxx/global2.c +20 -0
index fa65ecd9cb85..ec49939968fa 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/mv88e6xxx/global2.h +1 -0
index 7536b8b0ad01..c05fad5c9f19 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/google/gve/gve.h +2 -0
index 64eb0442c82f..005cb9dfe078 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/google/gve/gve_tx.c +5 -7
index 4888bf05fbed..5e11b8236754 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c +20 -3
index a2645ff3100e..7f7260407972 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mediatek/mtk_eth_soc.c +4 -0
index bd7c18c839d4..f56d4e7d4ae5 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +0 -1
index 13aa919633b4..ab9f876b6df7 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +18 -3
index 7389718b4797..014ce97f96b1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/ti/am65-cpsw-nuss.c +4 -2
index 3e1715279855..9286b2b3353e 100644

Lines of this file are not shown. View the raw message.

drivers/net/phy/phylink.c +19 -0
index 4d2519cdb801..bf8a8ed5d5d7 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +26 -10
index b7c918f241c9..65d4799a5658 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h +2 -0
index b76d34d36bde..0d18ed15b403 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7603/main.c +5 -5
index ca50feb0b3a9..1b1358c6bb46 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7615/mac.c +21 -49

70 lines not on this page · raw message

drivers/net/wireless/mediatek/mt76/mt7615/main.c +7 -8
index ab4c1b4478aa..dadb13f2ca09 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h +2 -4
index 087d4886162e..ab10ad0ecded 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76x02_util.c +9 -9
index 604ddcc21123..324535a0dd6d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7915/main.c +6 -7
index 7589af4b3dab..06c1045177e2 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7921/main.c +6 -7
index cdb0d6190393..744382be36f8 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7921/pci.c +1 -1
index cb72ded37256..5c23c827abe4 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7996/main.c +6 -7
index c423b052e4f4..2734aae5449b 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/core.c +3 -3
index 70b5e891f6b3..ee1b075d12cf 100644

Lines of this file are not shown. View the raw message.

drivers/pci/doe.c +18 -12
index 66d9ab288646..e5e9b287b976 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/think-lmi.c +13 -7
index 74af3e593b2c..336b9029d151 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-cros-ec.c +1 -0
index 86df6702cb83..ad18b0ebe3f1 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-hibvt.c +1 -0
index 12c05c155cab..1b9274c5ad87 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-iqs620a.c +1 -0
index 4987ca940b64..01208c2f5884 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-meson.c +8 -0
index 16d79ca5d8f5..5cd7b90872c6 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-sprd.c +1 -0
index d866ce345f97..bde579a338c2 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/iscsi_tcp.c +1 -2
index 0454d94e8cf0..e7a6fc01d9ca 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_os.c +1 -0
index 02913cc75195..901c5c8035ef 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_port.c +11 -0
index beba8f38b3dc..d006467ec784 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/fsl_lpuart.c +8 -2
index 812216b24db8..59c10bceebbe 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/sh-sci.c +9 -1
index 7bd080720929..caa09a0c48f4 100644

Lines of this file are not shown. View the raw message.

drivers/usb/cdns3/cdnsp-ep0.c +1 -2
index d63d5d92f255..f317d3c84781 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/dwc3-pci.c +4 -0
index a23ddbb81979..560793545362 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-pci.c +3 -4
index fb988e4ea924..6db07ca419c3 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-tegra.c +3 -3
index bdb776553826..32df571bb233 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci.c +6 -1
index 2b280beb0011..c02ad4f76bb3 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/cp210x.c +1 -0
index 832ad592b7ef..cdea1bff3b70 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/option.c +10 -0
index e6d8d9b35ad0..f31cc3c76329 100644

Lines of this file are not shown. View the raw message.

drivers/usb/typec/altmodes/displayport.c +5 -1
index 50b24096eb7f..0ea50b44effe 100644

Lines of this file are not shown. View the raw message.

fs/cifs/fs_context.c +7 -6
index 6d13f8207e96..ace11a1a7c8a 100644

Lines of this file are not shown. View the raw message.

fs/cifs/fs_context.h +3 -0
index 3de00e7127ec..f4eaf8558902 100644

Lines of this file are not shown. View the raw message.

fs/cifs/misc.c +1 -1
index 5542893ef03f..2fae6b08314d 100644

Lines of this file are not shown. View the raw message.

fs/dax.c +47 -5

52 lines not on this page · raw message

fs/ksmbd/connection.c +1 -4
index 2be9d7460494..b8f9d627f241 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/server.c +1 -4
index 394b6ceac431..0d8242789dc8 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/smb2pdu.c +0 -3
index d0e76e2a1498..7e0b62f94a07 100644

Lines of this file are not shown. View the raw message.

fs/ksmbd/smb_common.c +109 -29

138 lines not on this page · raw message

fs/ksmbd/smb_common.h +1 -1
index d30ce4c1a151..9130d2e3cd78 100644

Lines of this file are not shown. View the raw message.

fs/namespace.c +1 -1
index ab467ee58341..14fa31f17d77 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/blocklayout.c +1 -0
index 04697f8dc37d..01d7fd108cf3 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4callback.c +2 -2
index 2a815f5a52c4..4039ffcf90ba 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4xdr.c +8 -7
index 97edb32be77f..7799835c2196 100644

Lines of this file are not shown. View the raw message.

fs/nilfs2/segment.c +1 -2
index 76c3bd88b858..7aea13c33ddf 100644

Lines of this file are not shown. View the raw message.

fs/nilfs2/super.c +2 -0
index 1422b8ba24ed..77f1e5778d1c 100644

Lines of this file are not shown. View the raw message.

fs/nilfs2/the_nilfs.c +7 -5
index 3a4c9c150cbf..2894152a6b25 100644

Lines of this file are not shown. View the raw message.

include/acpi/video.h +13 -2
index 8ed9bec03e53..ff5a8da5d883 100644

Lines of this file are not shown. View the raw message.

include/linux/device-mapper.h +19 -19
index 04c6acf7faaa..201dd1ab7f1c 100644

Lines of this file are not shown. View the raw message.

include/linux/dm-bufio.h +6 -6
index 15d9e15ca830..1262d92ab88f 100644

Lines of this file are not shown. View the raw message.

include/linux/dm-dirty-log.h +3 -3
index 7084503c3405..843c857f07b0 100644

Lines of this file are not shown. View the raw message.

include/linux/dm-io.h +4 -4
index 8e1c4ab5df04..92e7abfe04f9 100644

Lines of this file are not shown. View the raw message.

include/linux/dm-kcopyd.h +11 -11
index c1707ee5b540..68c412b31b78 100644

Lines of this file are not shown. View the raw message.

include/linux/dm-region-hash.h +1 -1
index 9e2a7a401df5..e8691539e1d7 100644

Lines of this file are not shown. View the raw message.

include/linux/ftrace.h +1 -1
index 99f1146614c0..f4f9787d6a86 100644

Lines of this file are not shown. View the raw message.

include/linux/mm_types.h +2 -1
index 9757067c3053..0e41359d364a 100644

Lines of this file are not shown. View the raw message.

include/linux/pci-doe.h +6 -2
index ed9b4df792b8..43765eaf2342 100644

Lines of this file are not shown. View the raw message.

include/linux/phylink.h +1 -0
index c492c26202b5..637698ed5cb6 100644

Lines of this file are not shown. View the raw message.

include/net/raw.h +12 -3
index 5e665934ebc7..3af5289fdead 100644

Lines of this file are not shown. View the raw message.

io_uring/io_uring.c +1 -1
index a4e9dbc7b67a..add5cff7952c 100644

Lines of this file are not shown. View the raw message.

io_uring/kbuf.c +4 -3
index 3002dc827195..a90c820ce99e 100644

Lines of this file are not shown. View the raw message.

kernel/events/core.c +8 -6
index fad170b47592..daecb8c9126b 100644

Lines of this file are not shown. View the raw message.

kernel/fork.c +3 -0
index 8dd0127ddcb8..e8808ffbea61 100644

Lines of this file are not shown. View the raw message.

kernel/trace/ftrace.c +9 -6
index a47f7d93e32d..5f662d135372 100644

Lines of this file are not shown. View the raw message.

kernel/trace/ring_buffer.c +12 -1
index 20cd8c9d245e..12da17243747 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace.c +1 -0
index 1b692574fb0c..1a931896ba04 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_events_synth.c +15 -4
index 67592eed0be8..89083ae1aebe 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_osnoise.c +3 -1
index 210e1f168392..2a1b337ac643 100644

Lines of this file are not shown. View the raw message.

lib/maple_tree.c +248 -135

383 lines not on this page · raw message

mm/hugetlb.c +12 -2
index bdbfeb6fb393..4d338f70155c 100644

Lines of this file are not shown. View the raw message.

mm/kfence/core.c +16 -16
index 79c94ee55f97..1065e0568d05 100644

Lines of this file are not shown. View the raw message.

mm/memory.c +15 -1
index f526b9152bef..6a99e9dc07e6 100644

Lines of this file are not shown. View the raw message.

mm/mmap.c +2 -1
index 425a9349e610..1931da077b2f 100644

Lines of this file are not shown. View the raw message.

mm/swapfile.c +2 -1
index eb9b0bf1fcdd..36899c425301 100644

Lines of this file are not shown. View the raw message.

mm/vmalloc.c +5 -3
index ca71de7c9d77..b2249d01b3a2 100644

Lines of this file are not shown. View the raw message.

net/can/isotp.c +48 -26

74 lines not on this page · raw message

net/can/j1939/transport.c +4 -1
index fb92c3609e17..fe3df23a2595 100644

Lines of this file are not shown. View the raw message.

net/core/netpoll.c +18 -1
index 9be762e1d042..4ac8d0ad9f6f 100644

Lines of this file are not shown. View the raw message.

net/ethtool/linkmodes.c +4 -3
index 126e06c713a3..2d91f2a8c762 100644

Lines of this file are not shown. View the raw message.

net/ipv4/icmp.c +5 -0
index 46aa2d65e40a..635ed4f05749 100644

Lines of this file are not shown. View the raw message.

net/ipv4/ping.c +4 -4
index 409ec2a1f95b..5178a3f3cb53 100644

Lines of this file are not shown. View the raw message.

net/ipv4/raw.c +26 -23

49 lines not on this page · raw message

net/ipv4/raw_diag.c +4 -6
index 999321834b94..da3591a66a16 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6_output.c +6 -1
index c314fdde0097..95a55c6630ad 100644

Lines of this file are not shown. View the raw message.

net/ipv6/raw.c +6 -8
index ada087b50541..4fc511bdf176 100644

Lines of this file are not shown. View the raw message.

net/l2tp/l2tp_ip.c +4 -4
index 4db5a554bdbd..41a74fc84ca1 100644

Lines of this file are not shown. View the raw message.

net/l2tp/l2tp_ip6.c +4 -4
index 2478aa60145f..5137ea1861ce 100644

Lines of this file are not shown. View the raw message.

net/mac80211/sta_info.c +2 -1
index 34cb833db25f..39731ef51e03 100644

Lines of this file are not shown. View the raw message.

net/mac80211/util.c +1 -1
index 9c219e525ede..ed9e659f49f6 100644

Lines of this file are not shown. View the raw message.

net/netlink/af_netlink.c +9 -6
index c64277659753..f365dfdd672d 100644

Lines of this file are not shown. View the raw message.

net/qrtr/af_qrtr.c +2 -0
index 5c2fb992803b..3a70255c8d02 100644

Lines of this file are not shown. View the raw message.

net/qrtr/ns.c +9 -6
index e595079c2caf..3e40a1ba48f7 100644

Lines of this file are not shown. View the raw message.

net/sctp/socket.c +4 -0
index 84021a6c4f9d..ec7d1a89efbb 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/svcauth_unix.c +13 -4
index b1efc34db6ed..609ade4fb49e 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_hdmi.c +11 -0
index 9ea633fe9339..4ffa3a59f419 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +2 -0
index 070150bbd355..50b8573b5206 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/hdac_hdmi.c +11 -6
index ed4f7cdda04f..8b6b76029694 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/lpass-rx-macro.c +2 -2
index 8621cfabcf5b..1639f3b66fac 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/lpass-tx-macro.c +2 -2
index 8facdb922f07..9f33289ce217 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/lpass-wsa-macro.c +2 -2
index c0b86d69c72e..01149b20b4c9 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/ipc4-topology.c +8 -0
index 6da6137fa2cb..4f7adbe671f3 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/ipc4.c +8 -0
index 74cd7e956019..280fc89043b1 100644

Lines of this file are not shown. View the raw message.

tools/testing/radix-tree/maple.c +9 -9
index 81fa7ec2e66a..1f36bc1c5d36 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.