Skip to contentSkip to conversation

Linux 6.9.8

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 5, 2024 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.9.8 kernel.

All users of the 6.9 kernel series must upgrade.

The updated 6.9.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.9.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/kbuild/modules.rst                                   |    8 
 Makefile                                                           |    2 
 arch/arm/boot/dts/rockchip/rk3066a.dtsi                            |    1 
 arch/arm/net/bpf_jit_32.c                                          |   25 
 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts                  |   18 
 arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts                  |    4 
 arch/arm64/boot/dts/rockchip/rk3368.dtsi                           |    3 
 arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi                       |    2 
 arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts            |    1 
 arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts                |    1 
 arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts                    |    1 
 arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi                     |    5 
 arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts                 |    4 
 arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts                   |    2 
 arch/arm64/include/asm/unistd32.h                                  |    2 
 arch/arm64/kernel/pi/map_kernel.c                                  |    2 
 arch/arm64/kernel/syscall.c                                        |   16 
 arch/csky/include/uapi/asm/unistd.h                                |    1 
 arch/hexagon/include/asm/syscalls.h                                |    6 
 arch/hexagon/include/uapi/asm/unistd.h                             |    1 
 arch/hexagon/kernel/syscalltab.c                                   |    7 
 arch/loongarch/net/bpf_jit.c                                       |   22 
 arch/mips/kernel/syscalls/syscall_n32.tbl                          |    2 
 arch/mips/kernel/syscalls/syscall_o32.tbl                          |    2 
 arch/mips/net/bpf_jit_comp.c                                       |    3 
 arch/parisc/Kconfig                                                |    1 
 arch/parisc/kernel/sys_parisc32.c                                  |    9 
 arch/parisc/kernel/syscalls/syscall.tbl                            |    6 
 arch/parisc/net/bpf_jit_core.c                                     |    8 
 arch/powerpc/kernel/syscalls/syscall.tbl                           |    6 
 arch/riscv/include/asm/insn.h                                      |    2 
 arch/riscv/kernel/stacktrace.c                                     |    2 
 arch/s390/include/asm/entry-common.h                               |    2 
 arch/s390/kernel/syscalls/syscall.tbl                              |    2 
 arch/s390/net/bpf_jit_comp.c                                       |    6 
 arch/s390/pci/pci_irq.c                                            |    2 
 arch/sh/kernel/sys_sh32.c                                          |   11 
 arch/sh/kernel/syscalls/syscall.tbl                                |    3 
 arch/sparc/kernel/sys32.S                                          |  221 ------
 arch/sparc/kernel/syscalls/syscall.tbl                             |    8 
 arch/sparc/net/bpf_jit_comp_64.c                                   |    6 
 arch/x86/entry/syscalls/syscall_32.tbl                             |    2 
 arch/x86/include/asm/entry-common.h                                |   15 
 arch/x86/kernel/fpu/core.c                                         |    4 
 arch/x86/kernel/time.c                                             |   20 
 arch/x86/net/bpf_jit_comp32.c                                      |    3 
 crypto/ecdh.c                                                      |    2 
 drivers/ata/ahci.c                                                 |   17 
 drivers/ata/libata-core.c                                          |   32 
 drivers/counter/ti-eqep.c                                          |    6 
 drivers/cpufreq/intel_pstate.c                                     |   13 
 drivers/cxl/core/core.h                                            |    7 
 drivers/cxl/core/hdm.c                                             |   13 
 drivers/cxl/core/memdev.c                                          |   44 -
 drivers/cxl/core/pmem.c                                            |   16 
 drivers/cxl/core/region.c                                          |  182 ++++-
 drivers/cxl/cxl.h                                                  |    6 
 drivers/cxl/cxlmem.h                                               |   10 
 drivers/cxl/mem.c                                                  |   17 
 drivers/gpio/gpio-davinci.c                                        |    5 
 drivers/gpio/gpiolib-cdev.c                                        |   28 
 drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c                   |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                         |    7 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c                           |   18 
 drivers/gpu/drm/amd/display/dc/dml2/dml2_utils.c                   |    5 
 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c |   10 
 drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c     |    2 
 drivers/gpu/drm/amd/display/include/dpcd_defs.h                    |    5 
 drivers/gpu/drm/drm_fb_helper.c                                    |    6 
 drivers/gpu/drm/drm_fbdev_dma.c                                    |    5 
 drivers/gpu/drm/drm_file.c                                         |    8 
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c                       |    1 
 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c                          |    6 
 drivers/gpu/drm/panel/panel-ilitek-ili9881c.c                      |    6 
 drivers/gpu/drm/panel/panel-simple.c                               |    1 
 drivers/gpu/drm/radeon/radeon.h                                    |    1 
 drivers/gpu/drm/radeon/radeon_display.c                            |    8 
 drivers/gpu/drm/xe/xe_devcoredump.c                                |   10 
 drivers/gpu/drm/xe/xe_pat.c                                        |    2 
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c                             |    5 
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c                               |    2 
 drivers/i2c/i2c-slave-testunit.c                                   |    5 
 drivers/iio/accel/Kconfig                                          |    2 
 drivers/iio/adc/ad7266.c                                           |    2 
 drivers/iio/adc/xilinx-ams.c                                       |    8 
 drivers/iio/chemical/bme680.h                                      |    2 
 drivers/iio/chemical/bme680_core.c                                 |   62 +
 drivers/iio/humidity/hdc3020.c                                     |  325 +++++++---
 drivers/infiniband/core/restrack.c                                 |   51 -
 drivers/input/touchscreen/ili210x.c                                |    4 
 drivers/iommu/amd/amd_iommu.h                                      |    1 
 drivers/iommu/amd/init.c                                           |    1 
 drivers/iommu/amd/iommu.c                                          |   34 -
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c                    |    3 
 drivers/irqchip/Kconfig                                            |    2 
 drivers/irqchip/irq-loongson-eiointc.c                             |    5 
 drivers/irqchip/irq-loongson-liointc.c                             |    4 
 drivers/media/dvb-core/dvbdev.c                                    |    2 
 drivers/mmc/host/moxart-mmc.c                                      |   78 +-
 drivers/mmc/host/sdhci-brcmstb.c                                   |    4 
 drivers/mmc/host/sdhci-pci-core.c                                  |   11 
 drivers/mmc/host/sdhci-pci-o2micro.c                               |   41 -
 drivers/mmc/host/sdhci.c                                           |   25 
 drivers/mtd/parsers/redboot.c                                      |    2 
 drivers/net/bonding/bond_main.c                                    |    3 
 drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c                     |   14 
 drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c                       |   55 +
 drivers/net/can/spi/mcp251xfd/mcp251xfd.h                          |    5 
 drivers/net/dsa/microchip/ksz9477.c                                |   10 
 drivers/net/dsa/microchip/ksz9477_reg.h                            |    1 
 drivers/net/dsa/microchip/ksz_common.c                             |    2 
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c                   |   14 
 drivers/net/ethernet/ibm/ibmvnic.c                                 |    6 
 drivers/net/ethernet/intel/ice/ice_main.c                          |   10 
 drivers/net/ethernet/mellanox/mlxsw/pci.c                          |   18 
 drivers/net/ethernet/mellanox/mlxsw/reg.h                          |    2 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c             |   20 
 drivers/net/ethernet/microsoft/mana/mana_en.c                      |    2 
 drivers/net/ethernet/pensando/ionic/ionic_dev.h                    |    4 
 drivers/net/ethernet/pensando/ionic/ionic_lif.c                    |    2 
 drivers/net/ethernet/pensando/ionic/ionic_txrx.c                   |   55 +
 drivers/net/phy/micrel.c                                           |    1 
 drivers/net/phy/sfp.c                                              |   18 
 drivers/net/usb/ax88179_178a.c                                     |    6 
 drivers/net/vxlan/vxlan_core.c                                     |    9 
 drivers/net/wireless/realtek/rtw89/fw.c                            |   27 
 drivers/nvme/target/configfs.c                                     |   41 -
 drivers/nvme/target/fc.c                                           |    2 
 drivers/pci/msi/msi.c                                              |   10 
 drivers/pinctrl/core.c                                             |    2 
 drivers/pinctrl/pinctrl-rockchip.c                                 |   68 +-
 drivers/pinctrl/pinctrl-rockchip.h                                 |    1 
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c                           |    1 
 drivers/pinctrl/renesas/pinctrl-rzg2l.c                            |    4 
 drivers/pwm/pwm-stm32.c                                            |   62 +
 drivers/reset/Kconfig                                              |    1 
 drivers/s390/virtio/virtio_ccw.c                                   |    4 
 drivers/scsi/libsas/sas_ata.c                                      |    6 
 drivers/scsi/libsas/sas_discover.c                                 |    2 
 drivers/soc/ti/wkup_m3_ipc.c                                       |    7 
 drivers/tty/mxser.c                                                |    2 
 drivers/tty/serial/8250/8250_omap.c                                |   22 
 drivers/tty/serial/8250/8250_pci.c                                 |   13 
 drivers/tty/serial/bcm63xx_uart.c                                  |    7 
 drivers/tty/serial/imx.c                                           |   10 
 drivers/tty/serial/mcf.c                                           |    2 
 drivers/usb/atm/cxacru.c                                           |   14 
 drivers/usb/dwc3/core.c                                            |   26 
 drivers/usb/gadget/function/f_printer.c                            |   40 -
 drivers/usb/gadget/function/u_ether.c                              |    4 
 drivers/usb/gadget/udc/aspeed_udc.c                                |    4 
 drivers/usb/musb/da8xx.c                                           |    8 
 drivers/usb/typec/ucsi/ucsi.c                                      |   55 -
 drivers/usb/typec/ucsi/ucsi_glink.c                                |    5 
 drivers/usb/typec/ucsi/ucsi_stm32g0.c                              |   19 
 drivers/vdpa/vdpa_user/vduse_dev.c                                 |   14 
 fs/bcachefs/bcachefs.h                                             |   44 -
 fs/bcachefs/btree_gc.c                                             |   15 
 fs/bcachefs/btree_gc.h                                             |   48 -
 fs/bcachefs/btree_gc_types.h                                       |   29 
 fs/bcachefs/ec.c                                                   |    2 
 fs/bcachefs/sb-downgrade.c                                         |   17 
 fs/bcachefs/super-io.c                                             |   12 
 fs/btrfs/free-space-cache.c                                        |    2 
 fs/btrfs/tree-log.c                                                |   43 -
 fs/gfs2/log.c                                                      |    3 
 fs/gfs2/super.c                                                    |    4 
 fs/netfs/buffered_write.c                                          |   12 
 fs/nfs/direct.c                                                    |    2 
 fs/nfsd/nfsctl.c                                                   |    2 
 fs/nfsd/nfssvc.c                                                   |    1 
 fs/ocfs2/aops.c                                                    |    5 
 fs/ocfs2/journal.c                                                 |   17 
 fs/ocfs2/journal.h                                                 |    2 
 fs/ocfs2/ocfs2_trace.h                                             |    2 
 fs/open.c                                                          |    4 
 include/linux/compat.h                                             |    2 
 include/linux/filter.h                                             |   10 
 include/linux/ieee80211.h                                          |    2 
 include/linux/libata.h                                             |    1 
 include/linux/mmzone.h                                             |    9 
 include/linux/nvme.h                                               |    6 
 include/linux/serial_core.h                                        |   21 
 include/linux/syscalls.h                                           |    8 
 include/linux/workqueue.h                                          |    2 
 include/net/inet_connection_sock.h                                 |    2 
 include/net/netfilter/nf_tables.h                                  |    5 
 include/trace/events/qdisc.h                                       |    4 
 include/uapi/asm-generic/unistd.h                                  |    2 
 io_uring/io_uring.c                                                |    4 
 kernel/bpf/arena.c                                                 |   16 
 kernel/bpf/core.c                                                  |    6 
 kernel/bpf/ringbuf.c                                               |   31 
 kernel/bpf/verifier.c                                              |   69 +-
 kernel/cpu.c                                                       |   11 
 kernel/sys_ni.c                                                    |    2 
 mm/kasan/common.c                                                  |    2 
 mm/memory.c                                                        |    3 
 mm/page_alloc.c                                                    |    9 
 mm/vmalloc.c                                                       |   21 
 net/batman-adv/originator.c                                        |   27 
 net/can/j1939/main.c                                               |    6 
 net/can/j1939/transport.c                                          |   21 
 net/core/filter.c                                                  |    3 
 net/core/xdp.c                                                     |    4 
 net/dccp/ipv4.c                                                    |    7 
 net/dccp/ipv6.c                                                    |    7 
 net/ipv4/inet_connection_sock.c                                    |   17 
 net/ipv4/tcp_input.c                                               |   45 +
 net/iucv/iucv.c                                                    |   26 
 net/netfilter/nf_hooks_lwtunnel.c                                  |    3 
 net/netfilter/nf_tables_api.c                                      |    8 
 net/netfilter/nft_lookup.c                                         |    3 
 net/openvswitch/conntrack.c                                        |    7 
 net/sunrpc/svc.c                                                   |    5 
 net/unix/af_unix.c                                                 |   37 -
 scripts/Makefile.dtbinst                                           |    2 
 scripts/Makefile.package                                           |    2 
 scripts/package/kernel.spec                                        |    8 
 security/integrity/evm/evm_main.c                                  |   12 
 sound/core/seq/seq_ump_convert.c                                   |   10 
 sound/pci/hda/patch_realtek.c                                      |    3 
 sound/soc/amd/acp/acp-i2s.c                                        |    8 
 sound/soc/amd/acp/acp-pci.c                                        |   12 
 sound/soc/atmel/atmel-classd.c                                     |    7 
 sound/soc/codecs/cs42l43-jack.c                                    |    4 
 sound/soc/fsl/fsl-asoc-card.c                                      |    3 
 sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c                 |   10 
 sound/soc/mediatek/mt8195/mt8195-mt6359.c                          |    1 
 sound/soc/qcom/qdsp6/q6apm-lpass-dais.c                            |   32 
 sound/soc/rockchip/rockchip_i2s_tdm.c                              |   13 
 sound/synth/emux/soundfont.c                                       |   17 
 tools/power/x86/turbostat/turbostat.c                              |    2 
 tools/testing/cxl/test/cxl.c                                       |    4 
 234 files changed, 2108 insertions(+), 1184 deletions(-)

Adrian Hunter (2):
mmc: sdhci: Do not invert write-protect twice
mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro()

Aleksandr Mishin (1):
gpio: davinci: Validate the obtained number of IRQs

Alex Bee (1):
arm64: dts: rockchip: Add sound-dai-cells for RK3368

Alex Deucher (1):
drm/amdgpu/atomfirmware: fix parsing of vram_info

Alexander Sverdlin (1):
iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF

Alexei Starovoitov (3):
bpf: Fix remap of arena.
bpf: Fix the corner case with may_goto and jump to the 1st insn.
bpf: Fix may_goto with negative offset.

Alibek Omarov (1):
ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk

Alison Schofield (2):
cxl/region: Move cxl_dpa_to_region() work to the region driver cxl/region: Avoid null pointer dereference in region lookup

Andreas Gruenbacher (1):
gfs2: Fix NULL pointer dereference in gfs2_log_flush

Andrei Simion (1):

      ASoC: atmel: atmel-classd: Re-add dai_link->platform to fix card init

Andrew Bresticker (1):
mm/memory: don't require head page for do_set_pmd()

Andrew Davis (1):
soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message

Andrey Konovalov (1):
kasan: fix bad call to unpoison_slab_object

Andy Chiu (1):
riscv: stacktrace: convert arch_stack_walk() to noinstr

Andy Yan (1):
arm64: dts: rockchip: Fix the i2c address of es8316 on Cool Pi 4B

Anton Protopopov (1):
bpf: Add a check for struct bpf_fib_lookup size

Arnd Bergmann (11):
sparc: fix old compat_sys_select()
sparc: fix compat recv/recvfrom syscalls
parisc: use correct compat recv/recvfrom syscalls
powerpc: restore some missing spu syscalls
parisc: use generic sys_fanotify_mark implementation
sh: rework sync_file_range ABI
csky, hexagon: fix broken sys_sync_file_range
hexagon: fix fadvise64_64 calling conventions
ftruncate: pass a signed offset
syscalls: fix compat_sys_io_pgetevents_time64 usage
syscalls: fix sys_fanotify_mark prototype

Chen-Yu Tsai (1):
ASoC: mediatek: mt8195: Add platform entry for ETDM1_OUT_BE dai link

Chia-Yuan Li (1):
wifi: rtw89: download firmware with five times retry

Christian A. Ehrhardt (1):
usb: typec: ucsi: Never send a lone connector change ack

Christoph Hellwig (1):
nfs: drop the incorrect assertion in nfs_swap_rw()

Christophe Leroy (2):
bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()
bpf: Take return from set_memory_rox() into account with bpf_jit_binary_lock_ro()

Chuck Lever (1):
SUNRPC: Fix backchannel reply, again

Claudiu Beznea (1):

      pinctrl: renesas: rzg2l: Use spin_{lock,unlock}_irq{save,restore}

Crescent Hsieh (1):
tty: serial: 8250: Fix port count mismatch with the device

Dan Carpenter (1):
usb: musb: da8xx: fix a resource leak in probe()

Dan Williams (1):
cxl/region: Convert cxl_pmem_region_alloc to scope-based resource management

Daniel Borkmann (1):
bpf: Fix overrunning reservations in ringbuf

Daniil Dulov (1):
xdp: Remove WARN() from __xdp_reg_mem_model()

David Arcari (1):
tools/power turbostat: option '-n' is ambiguous

David Howells (2):
netfs: Fix netfs_page_mkwrite() to check folio->mapping is valid
netfs: Fix netfs_page_mkwrite() to flush conflicting data, not wait

David Lechner (1):
counter: ti-eqep: enable clock at probe

Dawei Li (2):
net/iucv: Avoid explicit cpumask var allocation on stack net/dpaa2: Avoid explicit cpumask var allocation on stack

Denis Arefev (1):
mtd: partitions: redboot: Added conversion of operands to a larger type

Dimitri Fedrau (1):
iio: humidity: hdc3020: fix hysteresis representation

Dirk Su (1):
ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook 645/665 G11.

Doug Brown (1):
Revert "serial: core: only stop transmit when HW fifo is empty"

Dragan Simic (1):
kbuild: Install dtb files as 0644 in Makefile.dtbinst

Elinor Montmasson (1):

      ASoC: fsl-asoc-card: set priv->pdev before using it

Enguerrand de Ribaucourt (2):
net: phy: micrel: add Microchip KSZ 9477 to the device table
net: dsa: microchip: use collision based back pressure mode

Erick Archer (1):
drm/radeon/radeon_display: Decrease the size of allocated memory

FUKAUMI Naoki (3):
Revert "arm64: dts: rockchip: remove redundant cd-gpios from rk3588 sdmmc nodes"
arm64: dts: rockchip: make poweroff(8) work on Radxa ROCK 5A
arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E

Fabrice Gasnier (1):
usb: ucsi: stm32: fix command completion handling

Fernando Yang (1):
iio: adc: ad7266: Fix variable checking bug

Ferry Toth (2):
Revert "usb: gadget: u_ether: Re-attach netif device to mirror detachment" Revert "usb: gadget: u_ether: Replace netif_stop_queue with netif_device_detach"

Filipe Manana (1):
btrfs: use NOFS context when getting inodes during logging and log replay

Greg Kroah-Hartman (2):
Revert "net: sfp: enhance quirk for Fibrestore 2.5G copper SFP module" Linux 6.9.8

Guillaume Nault (1):
vxlan: Pull inner IP header in vxlan_xmit_one().

Hagar Hemdan (1):
pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER

Halil Pasic (1):
s390/virtio_ccw: Fix config change notifications

Hangbin Liu (1):
bonding: fix incorrect software timestamping report

Hannes Reinecke (3):
nvmet: do not return 'reserved' for empty TSAS values
nvme: fixup comment for nvme RDMA Provider Type
nvmet: make 'tsas' attribute idempotent for RDMA

Heikki Krogerus (1):
usb: typec: ucsi: Ack also failed Get Error commands

Heiko Stuebner (1):
arm64: dts: rockchip: set correct pwm0 pinctrl on rk3588-tiger

Himal Prasad Ghimiray (1):
drm/xe/xe_devcoredump: Check NULL before assignments

Hsin-Te Yuan (2):
ASoC: mediatek: mt8183-da7219-max98357: Fix kcontrol name collision
arm64: dts: rockchip: Fix the value of dlg,jack-det-rate mismatch on rk3399-gru

Huacai Chen (3):
irqchip/loongson-eiointc: Use early_cpu_to_node() instead of cpu_to_node()
cpu: Fix broken cmdline "nosmp" and "maxcpus=0" irqchip/loongson-liointc: Set different ISRs for different cores

Huang-Huang Bao (4):
pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins
pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins
pinctrl: rockchip: use dedicated pinctrl type for RK3328
pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set

Ido Schimmel (2):
mlxsw: pci: Fix driver initialization with Spectrum-4
mlxsw: spectrum_buffers: Fix memory corruptions on Spectrum-4 systems

Ilpo Järvinen (2):
mmc: sdhci-pci-o2micro: Convert PCIBIOS_* return codes to errnos
mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos

Jan Kara (1):
ocfs2: fix DIO failure due to insufficient transaction credits

Jan Sokolowski (1):
ice: Rebuild TC queues on VSI queue reconfiguration

Jann Horn (1):
drm/drm_file: Fix pid refcounting race

Janusz Krzysztofik (1):
drm/i915/gt: Fix potential UAF by revoke of fence registers

Jason Gunthorpe (1):
iommu/arm-smmu-v3: Do not allow a SVA domain to be set on the wrong PASID

Javier Carrasco (1):
usb: typec: ucsi: glink: fix child node release in probe function

Jean-Michel Hautbois (1):

      tty: mcf: MCF54418 has 10 UARTS

Jens Axboe (1):
io_uring: signal SQPOLL task_work with TWA_SIGNAL_NO_IPI

Jeremy Kerr (1):
usb: gadget: aspeed_udc: fix device address configuration

Jesse Taube (1):
RISC-V: fix vector insn load/store width mask

Jianguo Wu (1):
netfilter: fix undefined reference to 'netfilter_lwtunnel_*' when CONFIG_SYSCTL=n

Joachim Vandersmissen (1):
crypto: ecdh - explicitly zeroize private_key

Johan Hovold (1):
pinctrl: qcom: spmi-gpio: drop broken pm8008 support

Johan Jonker (1):
ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node

Johannes Berg (1):

      wifi: ieee80211: check for NULL in ieee80211_mle_size_ok()

John Keeping (1):

      Input: ili210x - fix ili251x_read_touch_data() return value

Jonas Gorski (2):
serial: core: introduce uart_port_tx_limited_flags()
serial: bcm63xx-uart: fix tx after conversion to uart_port_tx_limited()

Jonas Karlman (2):
arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s
arm64: dts: rockchip: Rename LED related pinctrl nodes on rk3308-rock-pi-s

Jos Wang (1):
usb: dwc3: core: Workaround for CSR read timeout

Jose Ignacio Tornos Martinez (1):
net: usb: ax88179_178a: improve link status logs

Julia Zhang (1):
drm/amdgpu: avoid using null object of framebuffer

Kamal Dasu (1):
mmc: sdhci-brcmstb: check R1_STATUS for erase/trim/discard

Kees Cook (1):
randomize_kstack: Remove non-functional per-arch entropy filtering

Kent Gibson (2):
gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1)
gpiolib: cdev: Ignore reconfiguration without direction

Kent Overstreet (5):
bcachefs: Fix sb_field_downgrade validation
bcachefs: Fix sb-downgrade validation
bcachefs: Fix bch2_sb_downgrade_update()
bcachefs: Fix setting of downgrade recovery passes/errors
bcachefs: btree_gc can now handle unknown btrees

Kuniyuki Iwashima (4):
af_unix: Stop recv(MSG_PEEK) at consumed OOB skb.
af_unix: Don't stop recv(MSG_DONTWAIT) if consumed OOB skb is at the head.
af_unix: Don't stop recv() at consumed ex-OOB skb.
af_unix: Fix wrong ioctl(SIOCATMARK) when consumed OOB skb is at the head.

Laurent Pinchart (1):
drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep

Li Ming (1):
cxl/mem: Fix no cxl_nvd during pmem region auto-assembling

Lijo Lazar (1):
drm/amdgpu: Fix pci state save during mode-1 reset

Linus Torvalds (1):
x86: stop playing stack games in profile_pc()

Linus Walleij (1):
Revert "mmc: moxart-mmc: Use sg_miter for PIO"

Liu Ying (1):
drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA

Ma Ke (3):
net: mana: Fix possible double free in error handling path drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes

Maciej Strozek (1):
ASoC: cs42l43: Increase default type detect time and button delay

Mark Brown (1):
reset: gpio: Fix missing gpiolib dependency for GPIO reset controller

Mark-PK Tsai (1):
kbuild: doc: Update default INSTALL_MOD_DIR from extra to updates

Martin KaFai Lau (1):
bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode

Martin Schiller (1):
MIPS: pci: lantiq: restore reset gpio polarity

Masahiro Yamada (1):
kbuild: rpm-pkg: fix build error with CONFIG_MODULES=n

Maxime Coquelin (2):
vduse: validate block features only with block devices
vduse: Temporarily fail if control queue feature requested

Meng Li (1):
usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock

Michael Strauss (1):
drm/amd/display: Send DP_TOTAL_LTTPR_CNT during detection if LTTPR is present

Michal Wajdeczko (1):
drm/xe: Check pat.ops before dumping PAT settings

Mostafa Saleh (1):
PCI/MSI: Fix UAF in msi_capability_init

Muhammad Ahmed (1):
drm/amd/display: Skip pipe if the pipe idx not set properly

Naohiro Aota (1):
btrfs: zoned: fix initial free space detection

Nathan Chancellor (2):

      tty: mxser: Remove __counted_by from mxser_board.ports[]
      nvmet-fc: Remove __counted_by from nvmet_fc_tgt_queue.fod[]

Neal Cardwell (1):
tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed TFO

NeilBrown (1):
nfsd: initialise nfsd_info.mutex early.

Nick Child (1):
ibmvnic: Free any outstanding tx skbs during scrq reset

Nikita Zhandarovich (1):
usb: atm: cxacru: fix endpoint checking in cxacru_bind()

Niklas Cassel (5):
ata: libata-core: Fix null pointer dereference on error ata,scsi: libata-core: Do not leak memory for ata_port struct members
ata: ahci: Clean up sysfs file on error
ata: libata-core: Add ATA_HORKAGE_NOLPM for all Crucial BX SSD1 models
ata: libata-core: Fix double free on error

Niklas Schnelle (1):
s390/pci: Add missing virt_to_phys() for directed DIBV

Nirmoy Das (2):
drm/xe: Fix potential integer overflow in page size calculation drm/xe: Add a NULL check in xe_ttm_stolen_mgr_init

Oleksij Rempel (2):
net: can: j1939: recover socket queue on CAN bus error during BAM transmission
net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new

Oliver Neukum (2):
usb: gadget: printer: SS+ support
usb: gadget: printer: fix races against disable

Oswald Buddenhagen (1):
ALSA: emux: improve patch ioctl data validation

Pablo Neira Ayuso (1):
netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers

Rafael J. Wysocki (1):
cpufreq: intel_pstate: Use HWP to initialize ITMT if CPPC is missing

Ricardo Ribalda (1):
media: dvbdev: Initialize sbuf

Sean Anderson (1):
iio: xilinx-ams: Don't include ams_ctrl_channels in scan_mask

Shannon Nelson (1):
ionic: use dev_consume_skb_any outside of napi

Sherry Wang (1):
drm/amd/display: correct hostvm flag

Shigeru Yoshida (1):

      net: can: j1939: Initialize unused data in j1939_send_one()

Srinivas Kandagatla (1):
ASoC: q6apm-lpass-dai: close graph on prepare errors

Stefan Berger (1):
evm: Enforce signatures on unsupported filesystem for EVM_INIT_X509

Stefan Eichenberger (2):
serial: imx: set receiver level before starting uart
serial: imx: only set receiver level if it is zero

Sven Eckelmann (1):
batman-adv: Don't accept TT entries for out-of-spec VIDs

Taehee Yoo (1):
ionic: fix kernel panic due to multi-buffer handling

Takashi Iwai (2):
ALSA: seq: Fix missing channel at encoding RPN/NRPN MIDI2 messages
ALSA: seq: Fix missing MSB in MIDI2 SPP conversion

Thayne Harbaugh (1):
kbuild: Fix build target deb-pkg: ln: failed to create hard link

Thomas Bogendoerfer (1):
Revert "MIPS: pci: lantiq: restore reset gpio polarity"

Thomas Zimmermann (1):
drm/fbdev-dma: Only set smem_start is enable per module option

Tiezhu Yang (1):
irqchip/loongson: Select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP for IRQ_LOONGARCH_CPU

Tristram Ha (2):
net: dsa: microchip: fix initial port flush problem
net: dsa: microchip: fix wrong register write when masking interrupt

Udit Kumar (2):
serial: 8250_omap: Implementation of Errata i2310
serial: 8250_omap: Fix Errata i2310 with RX FIFO level check

Uros Bizjak (1):
x86/fpu: Fix AMD X86_BUG_FXSAVE_LEAK fixup

Uwe Kleine-König (6):
pwm: stm32: Improve precision of calculation in .apply()
pwm: stm32: Fix for settings using period > UINT32_MAX
pwm: stm32: Calculate prescaler with a division instead of a loop
pwm: stm32: Refuse too small period requests
pwm: stm32: Fix calculation of prescaler
pwm: stm32: Fix error message to not describe the previous error path

Vasant Hegde (3):
iommu/amd: Introduce per device DTE update function iommu/amd: Invalidate cache before removing device from domain list iommu/amd: Fix GT feature enablement again

Vasileios Amoiridis (4):
iio: chemical: bme680: Fix pressure value output
iio: chemical: bme680: Fix calibration data variable
iio: chemical: bme680: Fix overflows in compensate() functions
iio: chemical: bme680: Fix sensor data read operation

Vijendar Mukunda (3):
ASoC: amd: acp: add a null check for chip_pdev structure
ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe()
ASoC: amd: acp: move chip->flag variable assignment

Vitor Soares (1):
can: mcp251xfd: fix infinite loop when xmit fails

Wenchao Hao (2):
workqueue: Increase worker desc's length to 32 RDMA/restrack: Fix potential invalid address access

Wolfram Sang (2):
i2c: testunit: don't erase registers after STOP
i2c: testunit: discard write requests while old command is running

Xin Long (1):
openvswitch: get related ct labels from its master if it is not confirmed

Yao Xingtao (1):
cxl/region: check interleave capability

Yonghong Song (2):
bpf: Add missed var_off setting in set_sext32_default_val()
bpf: Add missed var_off setting in coerce_subreg_to_size_sx()

Yunseong Kim (1):
tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset()

Yuntao Wang (1):
cpu/hotplug: Fix dynstate assignment in __cpuhp_setup_state_cpuslocked()

Zenghui Yu (1):
arm64: Clear the initial ID map correctly before remapping

Zhaoyang Huang (1):
mm: fix incorrect vbq reference in purge_fragmented_block

luoxuanqiang (1):
Fix race for duplicate reqsk on identical SYN

yangge (1):
mm/page_alloc: Separate THP PCP into movable and non-movable categories

author maintainer
#1 lore raw
Documentation/kbuild/modules.rst +4 -4
index a1f3eb7a43e2..131863142cbb 100644
@@ -128,7 +128,7 @@ executed to make module versioning work.
 
 	modules_install
 		Install the external module(s). The default location is
-		/lib/modules/<kernel_release>/extra/, but a prefix may
+		/lib/modules/<kernel_release>/updates/, but a prefix may
 		be added with INSTALL_MOD_PATH (discussed in section 5).
 
 	clean
@@ -417,7 +417,7 @@ directory:
 
 And external modules are installed in:
 
-	/lib/modules/$(KERNELRELEASE)/extra/
+	/lib/modules/$(KERNELRELEASE)/updates/
 
 5.1 INSTALL_MOD_PATH
 --------------------
@@ -438,10 +438,10 @@ And external modules are installed in:
 -------------------
 
 	External modules are by default installed to a directory under
-	/lib/modules/$(KERNELRELEASE)/extra/, but you may wish to
+	/lib/modules/$(KERNELRELEASE)/updates/, but you may wish to
 	locate modules for a specific functionality in a separate
 	directory. For this purpose, use INSTALL_MOD_DIR to specify an
-	alternative name to "extra."::
+	alternative name to "updates."::
 
 		$ make INSTALL_MOD_DIR=gandalf -C $KDIR \
 		       M=$PWD modules_install
Makefile +1 -1
index 17dc3e55323e..060e20dba35e 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 9
-SUBLEVEL = 7
+SUBLEVEL = 8
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm/boot/dts/rockchip/rk3066a.dtsi +1 -0
index 30139f21de64..15cbd94d7ec0 100644
@@ -128,6 +128,7 @@ hdmi: hdmi@10116000 {
 		pinctrl-0 = <&hdmii2c_xfer>, <&hdmi_hpd>;
 		power-domains = <&power RK3066_PD_VIO>;
 		rockchip,grf = <&grf>;
+		#sound-dai-cells = <0>;
 		status = "disabled";
 
 		ports {
arch/arm/net/bpf_jit_32.c +12 -13
index 72b5cd697f5d..deeb8f292454 100644
@@ -2252,28 +2252,21 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	/* If building the body of the JITed code fails somehow,
 	 * we fall back to the interpretation.
 	 */
-	if (build_body(&ctx) < 0) {
-		image_ptr = NULL;
-		bpf_jit_binary_free(header);
-		prog = orig_prog;
-		goto out_imms;
-	}
+	if (build_body(&ctx) < 0)
+		goto out_free;
 	build_epilogue(&ctx);
 
 	/* 3.) Extra pass to validate JITed Code */
-	if (validate_code(&ctx)) {
-		image_ptr = NULL;
-		bpf_jit_binary_free(header);
-		prog = orig_prog;
-		goto out_imms;
-	}
+	if (validate_code(&ctx))
+		goto out_free;
 	flush_icache_range((u32)header, (u32)(ctx.target + ctx.idx));
 
 	if (bpf_jit_enable > 1)
 		/* there are 2 passes here */
 		bpf_jit_dump(prog->len, image_size, 2, ctx.target);
 
-	bpf_jit_binary_lock_ro(header);
+	if (bpf_jit_binary_lock_ro(header))
+		goto out_free;
 	prog->bpf_func = (void *)ctx.target;
 	prog->jited = 1;
 	prog->jited_len = image_size;
@@ -2290,5 +2283,11 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 		bpf_jit_prog_release_other(prog, prog == orig_prog ?
 					   tmp : orig_prog);
 	return prog;
+
+out_free:
+	image_ptr = NULL;
+	bpf_jit_binary_free(header);
+	prog = orig_prog;
+	goto out_imms;
 }
 
arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts +13 -5
index b47fe02c33fb..079101cddd65 100644
@@ -5,6 +5,8 @@
  */
 
 /dts-v1/;
+
+#include <dt-bindings/leds/common.h>
 #include "rk3308.dtsi"
 
 / {
@@ -24,17 +26,21 @@ chosen {
 	leds {
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
-		pinctrl-0 = <&green_led_gio>, <&heartbeat_led_gpio>;
+		pinctrl-0 = <&green_led>, <&heartbeat_led>;
 
 		green-led {
+			color = <LED_COLOR_ID_GREEN>;
 			default-state = "on";
+			function = LED_FUNCTION_POWER;
 			gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
 			label = "rockpis:green:power";
 			linux,default-trigger = "default-on";
 		};
 
 		blue-led {
+			color = <LED_COLOR_ID_BLUE>;
 			default-state = "on";
+			function = LED_FUNCTION_HEARTBEAT;
 			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
 			label = "rockpis:blue:user";
 			linux,default-trigger = "heartbeat";
@@ -126,10 +132,12 @@ &cpu0 {
 };
 
 &emmc {
-	bus-width = <4>;
 	cap-mmc-highspeed;
-	mmc-hs200-1_8v;
+	cap-sd-highspeed;
+	no-sdio;
 	non-removable;
+	pinctrl-names = "default";
+	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>;
 	vmmc-supply = <&vcc_io>;
 	status = "okay";
 };
@@ -214,11 +222,11 @@ &pinctrl {
 	pinctrl-0 = <&rtc_32k>;
 
 	leds {
-		green_led_gio: green-led-gpio {
+		green_led: green-led {
 			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 
-		heartbeat_led_gpio: heartbeat-led-gpio {
+		heartbeat_led: heartbeat-led {
 			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 	};
arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts +2 -2
index f09d60bbe6c4..a608a219543e 100644
@@ -241,8 +241,8 @@ &i2c1 {
 	rk805: pmic@18 {
 		compatible = "rockchip,rk805";
 		reg = <0x18>;
-		interrupt-parent = <&gpio2>;
-		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		#clock-cells = <1>;
 		clock-output-names = "xin32k", "rk805-clkout2";
 		gpio-controller;
arch/arm64/boot/dts/rockchip/rk3368.dtsi +3 -0
index 62af0cb94839..5ce82b64b683 100644
@@ -793,6 +793,7 @@ spdif: spdif@ff880000 {
 		dma-names = "tx";
 		pinctrl-names = "default";
 		pinctrl-0 = <&spdif_tx>;
+		#sound-dai-cells = <0>;
 		status = "disabled";
 	};
 
@@ -804,6 +805,7 @@ i2s_2ch: i2s-2ch@ff890000 {
 		clocks = <&cru SCLK_I2S_2CH>, <&cru HCLK_I2S_2CH>;
 		dmas = <&dmac_bus 6>, <&dmac_bus 7>;
 		dma-names = "tx", "rx";
+		#sound-dai-cells = <0>;
 		status = "disabled";
 	};
 
@@ -817,6 +819,7 @@ i2s_8ch: i2s-8ch@ff898000 {
 		dma-names = "tx", "rx";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2s_8ch_bus>;
+		#sound-dai-cells = <0>;
 		status = "disabled";
 	};
 
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi +1 -1
index 789fd0dcc88b..3cd63d1e8f15 100644
@@ -450,7 +450,7 @@ da7219_aad {
 			dlg,btn-cfg = <50>;
 			dlg,mic-det-thr = <500>;
 			dlg,jack-ins-deb = <20>;
-			dlg,jack-det-rate = "32ms_64ms";
+			dlg,jack-det-rate = "32_64";
 			dlg,jack-rem-deb = <1>;
 
 			dlg,a-d-btn-thr = <0xa>;
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts +1 -0
index 1a604429fb26..e74871491ef5 100644
@@ -444,6 +444,7 @@ &sdhci {
 &sdmmc {
 	bus-width = <4>;
 	cap-sd-highspeed;
+	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
 	disable-wp;
 	max-frequency = <150000000>;
 	no-sdio;
arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts +1 -0
index 22bbfbe729c1..b6628889b707 100644
@@ -429,6 +429,7 @@ &sdhci {
 &sdmmc {
 	bus-width = <4>;
 	cap-sd-highspeed;
+	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
 	disable-wp;
 	max-frequency = <150000000>;
 	no-sdio;
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts +1 -0
index 1fe8b2a0ed75..9b7bf6cec8bd 100644
@@ -378,6 +378,7 @@ &sdmmc {
 	bus-width = <4>;
 	cap-mmc-highspeed;
 	cap-sd-highspeed;
+	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
 	disable-wp;
 	sd-uhs-sdr104;
 	vmmc-supply = <&vcc_3v3_s3>;
arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi +5 -0
index 1eb2543a5fde..64ff1c90afe2 100644
@@ -324,6 +324,11 @@ module_led_pin: module-led-pin {
 	};
 };
 
+&pwm0 {
+	pinctrl-0 = <&pwm0m1_pins>;
+	pinctrl-names = "default";
+};
+
 &saradc {
 	vref-supply = <&vcc_1v8_s0>;
 	status = "okay";
arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts +2 -2
index e037bf9db75a..adba82c6e2e1 100644
@@ -283,9 +283,9 @@ &i2c7 {
 	pinctrl-0 = <&i2c7m0_xfer>;
 	status = "okay";
 
-	es8316: audio-codec@11 {
+	es8316: audio-codec@10 {
 		compatible = "everest,es8316";
-		reg = <0x11>;
+		reg = <0x10>;
 		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
 		assigned-clock-rates = <12288000>;
 		clocks = <&cru I2S0_8CH_MCLKOUT>;
arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +2 -0
index 00afb90d4eb1..ef776aec9d4b 100644
@@ -366,6 +366,7 @@ &sdmmc {
 	bus-width = <4>;
 	cap-mmc-highspeed;
 	cap-sd-highspeed;
+	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
 	disable-wp;
 	max-frequency = <150000000>;
 	no-sdio;
@@ -393,6 +394,7 @@ pmic@0 {
 		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
 			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
 		spi-max-frequency = <1000000>;
+		system-power-controller;
 
 		vcc1-supply = <&vcc5v0_sys>;
 		vcc2-supply = <&vcc5v0_sys>;
arch/arm64/include/asm/unistd32.h +1 -1
index 7118282d1c79..9ee1ffded263 100644
@@ -840,7 +840,7 @@ __SYSCALL(__NR_pselect6_time64, compat_sys_pselect6_time64)
 #define __NR_ppoll_time64 414
 __SYSCALL(__NR_ppoll_time64, compat_sys_ppoll_time64)
 #define __NR_io_pgetevents_time64 416
-__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
+__SYSCALL(__NR_io_pgetevents_time64, compat_sys_io_pgetevents_time64)
 #define __NR_recvmmsg_time64 417
 __SYSCALL(__NR_recvmmsg_time64, compat_sys_recvmmsg_time64)
 #define __NR_mq_timedsend_time64 418
arch/arm64/kernel/pi/map_kernel.c +1 -1
index 5fa08e13e17e..f374a3e5a5fe 100644
@@ -173,7 +173,7 @@ static void __init remap_idmap_for_lpa2(void)
 	 * Don't bother with the FDT, we no longer need it after this.
 	 */
 	memset(init_idmap_pg_dir, 0,
-	       (u64)init_idmap_pg_dir - (u64)init_idmap_pg_end);
+	       (u64)init_idmap_pg_end - (u64)init_idmap_pg_dir);
 
 	create_init_idmap(init_idmap_pg_dir, mask);
 	dsb(ishst);
arch/arm64/kernel/syscall.c +7 -9
index ad198262b981..7230f6e20ab8 100644
@@ -53,17 +53,15 @@ static void invoke_syscall(struct pt_regs *regs, unsigned int scno,
 	syscall_set_return_value(current, regs, 0, ret);
 
 	/*
-	 * Ultimately, this value will get limited by KSTACK_OFFSET_MAX(),
-	 * but not enough for arm64 stack utilization comfort. To keep
-	 * reasonable stack head room, reduce the maximum offset to 9 bits.
+	 * This value will get limited by KSTACK_OFFSET_MAX(), which is 10
+	 * bits. The actual entropy will be further reduced by the compiler
+	 * when applying stack alignment constraints: the AAPCS mandates a
+	 * 16-byte aligned SP at function boundaries, which will remove the
+	 * 4 low bits from any entropy chosen here.
 	 *
-	 * The actual entropy will be further reduced by the compiler when
-	 * applying stack alignment constraints: the AAPCS mandates a
-	 * 16-byte (i.e. 4-bit) aligned SP at function boundaries.
-	 *
-	 * The resulting 5 bits of entropy is seen in SP[8:4].
+	 * The resulting 6 bits of entropy is seen in SP[9:4].
 	 */
-	choose_random_kstack_offset(get_random_u16() & 0x1FF);
+	choose_random_kstack_offset(get_random_u16());
 }
 
 static inline bool has_syscall_work(unsigned long flags)
arch/csky/include/uapi/asm/unistd.h +1 -0
index 7ff6a2466af1..e0594b6370a6 100644
@@ -6,6 +6,7 @@
 #define __ARCH_WANT_SYS_CLONE3
 #define __ARCH_WANT_SET_GET_RLIMIT
 #define __ARCH_WANT_TIME32_SYSCALLS
+#define __ARCH_WANT_SYNC_FILE_RANGE2
 #include <asm-generic/unistd.h>
 
 #define __NR_set_thread_area	(__NR_arch_specific_syscall + 0)
arch/hexagon/include/asm/syscalls.h new file +6 -0
new file mode 100644
index 000000000000..40f2d08bec92
@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <asm-generic/syscalls.h>
+
+asmlinkage long sys_hexagon_fadvise64_64(int fd, int advice,
+	                                  u32 a2, u32 a3, u32 a4, u32 a5);
arch/hexagon/include/uapi/asm/unistd.h +1 -0
index 432c4db1b623..21ae22306b5d 100644
@@ -36,5 +36,6 @@
 #define __ARCH_WANT_SYS_VFORK
 #define __ARCH_WANT_SYS_FORK
 #define __ARCH_WANT_TIME32_SYSCALLS
+#define __ARCH_WANT_SYNC_FILE_RANGE2
 
 #include <asm-generic/unistd.h>
arch/hexagon/kernel/syscalltab.c +7 -0
index 0fadd582cfc7..5d98bdc494ec 100644
@@ -14,6 +14,13 @@
 #undef __SYSCALL
 #define __SYSCALL(nr, call) [nr] = (call),
 
+SYSCALL_DEFINE6(hexagon_fadvise64_64, int, fd, int, advice,
+		SC_ARG64(offset), SC_ARG64(len))
+{
+	return ksys_fadvise64_64(fd, SC_VAL64(loff_t, offset), SC_VAL64(loff_t, len), advice);
+}
+#define sys_fadvise64_64 sys_hexagon_fadvise64_64
+
 void *sys_call_table[__NR_syscalls] = {
 #include <asm/unistd.h>
 };
arch/loongarch/net/bpf_jit.c +16 -6
index e73323d759d0..7dbefd4ba210 100644
@@ -1294,16 +1294,19 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	flush_icache_range((unsigned long)header, (unsigned long)(ctx.image + ctx.idx));
 
 	if (!prog->is_func || extra_pass) {
+		int err;
+
 		if (extra_pass && ctx.idx != jit_data->ctx.idx) {
 			pr_err_once("multi-func JIT bug %d != %d\n",
 				    ctx.idx, jit_data->ctx.idx);
-			bpf_jit_binary_free(header);
-			prog->bpf_func = NULL;
-			prog->jited = 0;
-			prog->jited_len = 0;
-			goto out_offset;
+			goto out_free;
+		}
+		err = bpf_jit_binary_lock_ro(header);
+		if (err) {
+			pr_err_once("bpf_jit_binary_lock_ro() returned %d\n",
+				    err);
+			goto out_free;
 		}
-		bpf_jit_binary_lock_ro(header);
 	} else {
 		jit_data->ctx = ctx;
 		jit_data->image = image_ptr;
@@ -1334,6 +1337,13 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	out_offset = -1;
 
 	return prog;
+
+out_free:
+	bpf_jit_binary_free(header);
+	prog->bpf_func = NULL;
+	prog->jited = 0;
+	prog->jited_len = 0;
+	goto out_offset;
 }
 
 /* Indicate the JIT backend supports mixing bpf2bpf and tailcalls. */
arch/mips/kernel/syscalls/syscall_n32.tbl +1 -1
index 83cfc9eb6b88..c5e1cacd2ab6 100644
@@ -354,7 +354,7 @@
 412	n32	utimensat_time64		sys_utimensat
 413	n32	pselect6_time64			compat_sys_pselect6_time64
 414	n32	ppoll_time64			compat_sys_ppoll_time64
-416	n32	io_pgetevents_time64		sys_io_pgetevents
+416	n32	io_pgetevents_time64		compat_sys_io_pgetevents_time64
 417	n32	recvmmsg_time64			compat_sys_recvmmsg_time64
 418	n32	mq_timedsend_time64		sys_mq_timedsend
 419	n32	mq_timedreceive_time64		sys_mq_timedreceive
arch/mips/kernel/syscalls/syscall_o32.tbl +1 -1
index f45c9530ea93..0352c07c608e 100644
@@ -403,7 +403,7 @@
 412	o32	utimensat_time64		sys_utimensat			sys_utimensat
 413	o32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
 414	o32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	o32	io_pgetevents_time64		sys_io_pgetevents		sys_io_pgetevents
+416	o32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
 417	o32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
 418	o32	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
 419	o32	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
arch/mips/net/bpf_jit_comp.c +2 -1
index a40d926b6513..e355dfca4400 100644
@@ -1012,7 +1012,8 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	bpf_prog_fill_jited_linfo(prog, &ctx.descriptors[1]);
 
 	/* Set as read-only exec and flush instruction cache */
-	bpf_jit_binary_lock_ro(header);
+	if (bpf_jit_binary_lock_ro(header))
+		goto out_err;
 	flush_icache_range((unsigned long)header,
 			   (unsigned long)&ctx.target[ctx.jit_index]);
 
arch/parisc/Kconfig +1 -0
index daafeb20f993..dc9b902de8ea 100644
@@ -16,6 +16,7 @@ config PARISC
 	select ARCH_HAS_UBSAN
 	select ARCH_HAS_PTE_SPECIAL
 	select ARCH_NO_SG_CHAIN
+	select ARCH_SPLIT_ARG64 if !64BIT
 	select ARCH_SUPPORTS_HUGETLBFS if PA20
 	select ARCH_SUPPORTS_MEMORY_FAILURE
 	select ARCH_STACKWALK
arch/parisc/kernel/sys_parisc32.c +0 -9
index 2a12a547b447..826c8e51b585 100644
@@ -23,12 +23,3 @@ asmlinkage long sys32_unimplemented(int r26, int r25, int r24, int r23,
     	current->comm, current->pid, r20);
     return -ENOSYS;
 }
-
-asmlinkage long sys32_fanotify_mark(compat_int_t fanotify_fd, compat_uint_t flags,
-	compat_uint_t mask0, compat_uint_t mask1, compat_int_t dfd,
-	const char  __user * pathname)
-{
-	return sys_fanotify_mark(fanotify_fd, flags,
-			((__u64)mask1 << 32) | mask0,
-			 dfd, pathname);
-}
arch/parisc/kernel/syscalls/syscall.tbl +3 -3
index b236a84c4e12..0f631cb2cdea 100644
@@ -108,7 +108,7 @@
 95	common	fchown			sys_fchown
 96	common	getpriority		sys_getpriority
 97	common	setpriority		sys_setpriority
-98	common	recv			sys_recv
+98	common	recv			sys_recv			compat_sys_recv
 99	common	statfs			sys_statfs			compat_sys_statfs
 100	common	fstatfs			sys_fstatfs			compat_sys_fstatfs
 101	common	stat64			sys_stat64
@@ -135,7 +135,7 @@
 120	common	clone			sys_clone_wrapper
 121	common	setdomainname		sys_setdomainname
 122	common	sendfile		sys_sendfile			compat_sys_sendfile
-123	common	recvfrom		sys_recvfrom
+123	common	recvfrom		sys_recvfrom			compat_sys_recvfrom
 124	32	adjtimex		sys_adjtimex_time32
 124	64	adjtimex		sys_adjtimex
 125	common	mprotect		sys_mprotect
@@ -364,7 +364,7 @@
 320	common	accept4			sys_accept4
 321	common	prlimit64		sys_prlimit64
 322	common	fanotify_init		sys_fanotify_init
-323	common	fanotify_mark		sys_fanotify_mark		sys32_fanotify_mark
+323	common	fanotify_mark		sys_fanotify_mark		compat_sys_fanotify_mark
 324	32	clock_adjtime		sys_clock_adjtime32
 324	64	clock_adjtime		sys_clock_adjtime
 325	common	name_to_handle_at	sys_name_to_handle_at
arch/parisc/net/bpf_jit_core.c +7 -1
index d6ee2fd45550..979f45d4d1fb 100644
@@ -167,7 +167,13 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	bpf_flush_icache(jit_data->header, ctx->insns + ctx->ninsns);
 
 	if (!prog->is_func || extra_pass) {
-		bpf_jit_binary_lock_ro(jit_data->header);
+		if (bpf_jit_binary_lock_ro(jit_data->header)) {
+			bpf_jit_binary_free(jit_data->header);
+			prog->bpf_func = NULL;
+			prog->jited = 0;
+			prog->jited_len = 0;
+			goto out_offset;
+		}
 		prologue_len = ctx->epilogue_offset - ctx->body_len;
 		for (i = 0; i < prog->len; i++)
 			ctx->offset[i] += prologue_len;
arch/powerpc/kernel/syscalls/syscall.tbl +5 -1
index 17173b82ca21..18c49fce49ed 100644
@@ -230,8 +230,10 @@
 178	nospu 	rt_sigsuspend			sys_rt_sigsuspend		compat_sys_rt_sigsuspend
 179	32	pread64				sys_ppc_pread64			compat_sys_ppc_pread64
 179	64	pread64				sys_pread64
+179	spu	pread64				sys_pread64
 180	32	pwrite64			sys_ppc_pwrite64		compat_sys_ppc_pwrite64
 180	64	pwrite64			sys_pwrite64
+180	spu	pwrite64			sys_pwrite64
 181	common	chown				sys_chown
 182	common	getcwd				sys_getcwd
 183	common	capget				sys_capget
@@ -246,6 +248,7 @@
 190	common	ugetrlimit			sys_getrlimit			compat_sys_getrlimit
 191	32	readahead			sys_ppc_readahead		compat_sys_ppc_readahead
 191	64	readahead			sys_readahead
+191	spu	readahead			sys_readahead
 192	32	mmap2				sys_mmap2			compat_sys_mmap2
 193	32	truncate64			sys_ppc_truncate64		compat_sys_ppc_truncate64
 194	32	ftruncate64			sys_ppc_ftruncate64		compat_sys_ppc_ftruncate64
@@ -293,6 +296,7 @@
 232	nospu	set_tid_address			sys_set_tid_address
 233	32	fadvise64			sys_ppc32_fadvise64		compat_sys_ppc32_fadvise64
 233	64	fadvise64			sys_fadvise64
+233	spu	fadvise64			sys_fadvise64
 234	nospu	exit_group			sys_exit_group
 235	nospu	lookup_dcookie			sys_ni_syscall
 236	common	epoll_create			sys_epoll_create
@@ -502,7 +506,7 @@
 412	32	utimensat_time64		sys_utimensat			sys_utimensat
 413	32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
 414	32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	32	io_pgetevents_time64		sys_io_pgetevents		sys_io_pgetevents
+416	32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
 417	32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
 418	32	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
 419	32	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
arch/riscv/include/asm/insn.h +1 -1
index 06e439eeef9a..09fde95a5e8f 100644
@@ -145,7 +145,7 @@
 
 /* parts of opcode for RVF, RVD and RVQ */
 #define RVFDQ_FL_FS_WIDTH_OFF	12
-#define RVFDQ_FL_FS_WIDTH_MASK	GENMASK(3, 0)
+#define RVFDQ_FL_FS_WIDTH_MASK	GENMASK(2, 0)
 #define RVFDQ_FL_FS_WIDTH_W	2
 #define RVFDQ_FL_FS_WIDTH_D	3
 #define RVFDQ_LS_FS_WIDTH_Q	4
arch/riscv/kernel/stacktrace.c +1 -1
index 528ec7cc9a62..0d3f00eb0bae 100644
@@ -156,7 +156,7 @@ unsigned long __get_wchan(struct task_struct *task)
 	return pc;
 }
 
-noinline void arch_stack_walk(stack_trace_consume_fn consume_entry, void *cookie,
+noinline noinstr void arch_stack_walk(stack_trace_consume_fn consume_entry, void *cookie,
 		     struct task_struct *task, struct pt_regs *regs)
 {
 	walk_stackframe(task, regs, consume_entry, cookie);
arch/s390/include/asm/entry-common.h +1 -1
index 7f5004065e8a..35555c944630 100644
@@ -54,7 +54,7 @@ static __always_inline void arch_exit_to_user_mode(void)
 static inline void arch_exit_to_user_mode_prepare(struct pt_regs *regs,
 						  unsigned long ti_work)
 {
-	choose_random_kstack_offset(get_tod_clock_fast() & 0xff);
+	choose_random_kstack_offset(get_tod_clock_fast());
 }
 
 #define arch_exit_to_user_mode_prepare arch_exit_to_user_mode_prepare
arch/s390/kernel/syscalls/syscall.tbl +1 -1
index 095bb86339a7..07a942cab8e5 100644
@@ -418,7 +418,7 @@
 412	32	utimensat_time64	-				sys_utimensat
 413	32	pselect6_time64		-				compat_sys_pselect6_time64
 414	32	ppoll_time64		-				compat_sys_ppoll_time64
-416	32	io_pgetevents_time64	-				sys_io_pgetevents
+416	32	io_pgetevents_time64	-				compat_sys_io_pgetevents_time64
 417	32	recvmmsg_time64		-				compat_sys_recvmmsg_time64
 418	32	mq_timedsend_time64	-				sys_mq_timedsend
 419	32	mq_timedreceive_time64	-				sys_mq_timedreceive
arch/s390/net/bpf_jit_comp.c +5 -1
index 1d168a98ae21..4be8f5cadd02 100644
@@ -2112,7 +2112,11 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *fp)
 		print_fn_code(jit.prg_buf, jit.size_prg);
 	}
 	if (!fp->is_func || extra_pass) {
-		bpf_jit_binary_lock_ro(header);
+		if (bpf_jit_binary_lock_ro(header)) {
+			bpf_jit_binary_free(header);
+			fp = orig_fp;
+			goto free_addrs;
+		}
 	} else {
 		jit_data->header = header;
 		jit_data->ctx = jit;
arch/s390/pci/pci_irq.c +1 -1
index ff8f24854c64..0ef83b6ac0db 100644
@@ -410,7 +410,7 @@ static void __init cpu_enable_directed_irq(void *unused)
 	union zpci_sic_iib iib = {{0}};
 	union zpci_sic_iib ziib = {{0}};
 
-	iib.cdiib.dibv_addr = (u64) zpci_ibv[smp_processor_id()]->vector;
+	iib.cdiib.dibv_addr = virt_to_phys(zpci_ibv[smp_processor_id()]->vector);
 
 	zpci_set_irq_ctrl(SIC_IRQ_MODE_SET_CPU, 0, &iib);
 	zpci_set_irq_ctrl(SIC_IRQ_MODE_D_SINGLE, PCI_ISC, &ziib);
arch/sh/kernel/sys_sh32.c +11 -0
index 9dca568509a5..d6f4afcb0e87 100644
@@ -59,3 +59,14 @@ asmlinkage int sys_fadvise64_64_wrapper(int fd, u32 offset0, u32 offset1,
 				 (u64)len0 << 32 | len1, advice);
 #endif
 }
+
+/*
+ * swap the arguments the way that libc wants them instead of
+ * moving flags ahead of the 64-bit nbytes argument
+ */
+SYSCALL_DEFINE6(sh_sync_file_range6, int, fd, SC_ARG64(offset),
+                SC_ARG64(nbytes), unsigned int, flags)
+{
+        return ksys_sync_file_range(fd, SC_VAL64(loff_t, offset),
+                                    SC_VAL64(loff_t, nbytes), flags);
+}
arch/sh/kernel/syscalls/syscall.tbl +2 -1
index 86fe269f0220..0495a57c1e61 100644
@@ -321,7 +321,7 @@
 311	common	set_robust_list			sys_set_robust_list
 312	common	get_robust_list			sys_get_robust_list
 313	common	splice				sys_splice
-314	common	sync_file_range			sys_sync_file_range
+314	common	sync_file_range			sys_sh_sync_file_range6
 315	common	tee				sys_tee
 316	common	vmsplice			sys_vmsplice
 317	common	move_pages			sys_move_pages
@@ -395,6 +395,7 @@
 385	common	pkey_alloc			sys_pkey_alloc
 386	common	pkey_free			sys_pkey_free
 387	common	rseq				sys_rseq
+388	common	sync_file_range2		sys_sync_file_range2
 # room for arch specific syscalls
 393	common	semget				sys_semget
 394	common	semctl				sys_semctl
arch/sparc/kernel/sys32.S +0 -221

224 lines not on this page · raw message

arch/sparc/kernel/syscalls/syscall.tbl +4 -4
index b23d59313589..72985b705f44 100644
@@ -117,7 +117,7 @@
 90	common	dup2			sys_dup2
 91	32	setfsuid32		sys_setfsuid
 92	common	fcntl			sys_fcntl			compat_sys_fcntl
-93	common	select			sys_select
+93	common	select			sys_select			compat_sys_select
 94	32	setfsgid32		sys_setfsgid
 95	common	fsync			sys_fsync
 96	common	setpriority		sys_setpriority
@@ -155,7 +155,7 @@
 123	32	fchown			sys_fchown16
 123	64	fchown			sys_fchown
 124	common	fchmod			sys_fchmod
-125	common	recvfrom		sys_recvfrom
+125	common	recvfrom		sys_recvfrom			compat_sys_recvfrom
 126	32	setreuid		sys_setreuid16
 126	64	setreuid		sys_setreuid
 127	32	setregid		sys_setregid16
@@ -247,7 +247,7 @@
 204	32	readdir			sys_old_readdir			compat_sys_old_readdir
 204	64	readdir			sys_nis_syscall
 205	common	readahead		sys_readahead			compat_sys_readahead
-206	common	socketcall		sys_socketcall			sys32_socketcall
+206	common	socketcall		sys_socketcall			compat_sys_socketcall
 207	common	syslog			sys_syslog
 208	common	lookup_dcookie		sys_ni_syscall
 209	common	fadvise64		sys_fadvise64			compat_sys_fadvise64
@@ -461,7 +461,7 @@
 412	32	utimensat_time64		sys_utimensat			sys_utimensat
 413	32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
 414	32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	32	io_pgetevents_time64		sys_io_pgetevents		sys_io_pgetevents
+416	32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
 417	32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
 418	32	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
 419	32	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
arch/sparc/net/bpf_jit_comp_64.c +5 -1
index fa0759bfe498..73bf0aea8baf 100644
@@ -1602,7 +1602,11 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	bpf_flush_icache(header, (u8 *)header + header->size);
 
 	if (!prog->is_func || extra_pass) {
-		bpf_jit_binary_lock_ro(header);
+		if (bpf_jit_binary_lock_ro(header)) {
+			bpf_jit_binary_free(header);
+			prog = orig_prog;
+			goto out_off;
+		}
 	} else {
 		jit_data->ctx = ctx;
 		jit_data->image = image_ptr;
arch/x86/entry/syscalls/syscall_32.tbl +1 -1
index 5f8591ce7f25..fccb825ca2ca 100644
@@ -420,7 +420,7 @@
 412	i386	utimensat_time64	sys_utimensat
 413	i386	pselect6_time64		sys_pselect6			compat_sys_pselect6_time64
 414	i386	ppoll_time64		sys_ppoll			compat_sys_ppoll_time64
-416	i386	io_pgetevents_time64	sys_io_pgetevents
+416	i386	io_pgetevents_time64	sys_io_pgetevents		compat_sys_io_pgetevents_time64
 417	i386	recvmmsg_time64		sys_recvmmsg			compat_sys_recvmmsg_time64
 418	i386	mq_timedsend_time64	sys_mq_timedsend
 419	i386	mq_timedreceive_time64	sys_mq_timedreceive
arch/x86/include/asm/entry-common.h +6 -9
index 7e523bb3d2d3..fb2809b20b0a 100644
@@ -73,19 +73,16 @@ static inline void arch_exit_to_user_mode_prepare(struct pt_regs *regs,
 #endif
 
 	/*
-	 * Ultimately, this value will get limited by KSTACK_OFFSET_MAX(),
-	 * but not enough for x86 stack utilization comfort. To keep
-	 * reasonable stack head room, reduce the maximum offset to 8 bits.
-	 *
-	 * The actual entropy will be further reduced by the compiler when
-	 * applying stack alignment constraints (see cc_stack_align4/8 in
+	 * This value will get limited by KSTACK_OFFSET_MAX(), which is 10
+	 * bits. The actual entropy will be further reduced by the compiler
+	 * when applying stack alignment constraints (see cc_stack_align4/8 in
 	 * arch/x86/Makefile), which will remove the 3 (x86_64) or 2 (ia32)
 	 * low bits from any entropy chosen here.
 	 *
-	 * Therefore, final stack offset entropy will be 5 (x86_64) or
-	 * 6 (ia32) bits.
+	 * Therefore, final stack offset entropy will be 7 (x86_64) or
+	 * 8 (ia32) bits.
 	 */
-	choose_random_kstack_offset(rdtsc() & 0xFF);
+	choose_random_kstack_offset(rdtsc());
 }
 #define arch_exit_to_user_mode_prepare arch_exit_to_user_mode_prepare
 
arch/x86/kernel/fpu/core.c +2 -2
index 520deb411a70..1209c7aebb21 100644
@@ -145,8 +145,8 @@ void restore_fpregs_from_fpstate(struct fpstate *fpstate, u64 mask)
 		asm volatile(
 			"fnclex\n\t"
 			"emms\n\t"
-			"fildl %P[addr]"	/* set F?P to defined value */
-			: : [addr] "m" (fpstate));
+			"fildl %[addr]"	/* set F?P to defined value */
+			: : [addr] "m" (*fpstate));
 	}
 
 	if (use_xsave()) {
arch/x86/kernel/time.c +1 -19
index e42faa792c07..52e1f3f0b361 100644
@@ -27,25 +27,7 @@
 
 unsigned long profile_pc(struct pt_regs *regs)
 {
-	unsigned long pc = instruction_pointer(regs);
-
-	if (!user_mode(regs) && in_lock_functions(pc)) {
-#ifdef CONFIG_FRAME_POINTER
-		return *(unsigned long *)(regs->bp + sizeof(long));
-#else
-		unsigned long *sp = (unsigned long *)regs->sp;
-		/*
-		 * Return address is either directly at stack pointer
-		 * or above a saved flags. Eflags has bits 22-31 zero,
-		 * kernel addresses don't.
-		 */
-		if (sp[0] >> 22)
-			return sp[0];
-		if (sp[1] >> 22)
-			return sp[1];
-#endif
-	}
-	return pc;
+	return instruction_pointer(regs);
 }
 EXPORT_SYMBOL(profile_pc);
 
arch/x86/net/bpf_jit_comp32.c +1 -2
index c10083a8e68e..de0f9e5f9f73 100644
@@ -2600,8 +2600,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	if (bpf_jit_enable > 1)
 		bpf_jit_dump(prog->len, proglen, pass + 1, image);
 
-	if (image) {
-		bpf_jit_binary_lock_ro(header);
+	if (image && !bpf_jit_binary_lock_ro(header)) {
 		prog->bpf_func = (void *)image;
 		prog->jited = 1;
 		prog->jited_len = proglen;
crypto/ecdh.c +2 -0
index 80afee3234fb..3049f147e011 100644
@@ -33,6 +33,8 @@ static int ecdh_set_secret(struct crypto_kpp *tfm, const void *buf,
 	    params.key_size > sizeof(u64) * ctx->ndigits)
 		return -EINVAL;
 
+	memset(ctx->private_key, 0, sizeof(ctx->private_key));
+
 	if (!params.key || !params.key_size)
 		return ecc_gen_privkey(ctx->curve_id, ctx->ndigits,
 				       ctx->private_key);
drivers/ata/ahci.c +12 -5
index 5eb38fbbbecd..fc6fd583faf8 100644
@@ -1975,8 +1975,10 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map));
 
 	host = ata_host_alloc_pinfo(&pdev->dev, ppi, n_ports);
-	if (!host)
-		return -ENOMEM;
+	if (!host) {
+		rc = -ENOMEM;
+		goto err_rm_sysfs_file;
+	}
 	host->private_data = hpriv;
 
 	if (ahci_init_msi(pdev, n_ports, hpriv) < 0) {
@@ -2031,11 +2033,11 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	/* initialize adapter */
 	rc = ahci_configure_dma_masks(pdev, hpriv);
 	if (rc)
-		return rc;
+		goto err_rm_sysfs_file;
 
 	rc = ahci_pci_reset_controller(host);
 	if (rc)
-		return rc;
+		goto err_rm_sysfs_file;
 
 	ahci_pci_init_controller(host);
 	ahci_pci_print_info(host);
@@ -2044,10 +2046,15 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	rc = ahci_host_activate(host, &ahci_sht);
 	if (rc)
-		return rc;
+		goto err_rm_sysfs_file;
 
 	pm_runtime_put_noidle(&pdev->dev);
 	return 0;
+
+err_rm_sysfs_file:
+	sysfs_remove_file_from_group(&pdev->dev.kobj,
+				     &dev_attr_remapped_nvme.attr, NULL);
+	return rc;
 }
 
 static void ahci_shutdown_one(struct pci_dev *pdev)
drivers/ata/libata-core.c +19 -13
index 28caed151e05..d937e6e5cc7a 100644
@@ -4181,8 +4181,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "PIONEER BD-RW   BDR-205",	NULL,	ATA_HORKAGE_NOLPM },
 
 	/* Crucial devices with broken LPM support */
-	{ "CT500BX100SSD1",		NULL,	ATA_HORKAGE_NOLPM },
-	{ "CT240BX500SSD1",		NULL,	ATA_HORKAGE_NOLPM },
+	{ "CT*0BX*00SSD1",		NULL,	ATA_HORKAGE_NOLPM },
 
 	/* 512GB MX100 with MU01 firmware has both queued TRIM and LPM issues */
 	{ "Crucial_CT512MX100*",	"MU01",	ATA_HORKAGE_NO_NCQ_TRIM |
@@ -5534,6 +5533,18 @@ struct ata_port *ata_port_alloc(struct ata_host *host)
 	return ap;
 }
 
+void ata_port_free(struct ata_port *ap)
+{
+	if (!ap)
+		return;
+
+	kfree(ap->pmp_link);
+	kfree(ap->slave_link);
+	kfree(ap->ncq_sense_buf);
+	kfree(ap);
+}
+EXPORT_SYMBOL_GPL(ata_port_free);
+
 static void ata_devres_release(struct device *gendev, void *res)
 {
 	struct ata_host *host = dev_get_drvdata(gendev);
@@ -5560,12 +5571,7 @@ static void ata_host_release(struct kref *kref)
 	int i;
 
 	for (i = 0; i < host->n_ports; i++) {
-		struct ata_port *ap = host->ports[i];
-
-		kfree(ap->pmp_link);
-		kfree(ap->slave_link);
-		kfree(ap->ncq_sense_buf);
-		kfree(ap);
+		ata_port_free(host->ports[i]);
 		host->ports[i] = NULL;
 	}
 	kfree(host);
@@ -5615,8 +5621,10 @@ struct ata_host *ata_host_alloc(struct device *dev, int max_ports)
 	if (!host)
 		return NULL;
 
-	if (!devres_open_group(dev, NULL, GFP_KERNEL))
-		goto err_free;
+	if (!devres_open_group(dev, NULL, GFP_KERNEL)) {
+		kfree(host);
+		return NULL;
+	}
 
 	dr = devres_alloc(ata_devres_release, 0, GFP_KERNEL);
 	if (!dr)
@@ -5648,8 +5656,6 @@ struct ata_host *ata_host_alloc(struct device *dev, int max_ports)
 
  err_out:
 	devres_release_group(dev, NULL);
- err_free:
-	kfree(host);
 	return NULL;
 }
 EXPORT_SYMBOL_GPL(ata_host_alloc);
@@ -5948,7 +5954,7 @@ int ata_host_register(struct ata_host *host, const struct scsi_host_template *sh
 	 * allocation time.
 	 */
 	for (i = host->n_ports; host->ports[i]; i++)
-		kfree(host->ports[i]);
+		ata_port_free(host->ports[i]);
 
 	/* give ports names and add SCSI hosts */
 	for (i = 0; i < host->n_ports; i++) {
drivers/counter/ti-eqep.c +6 -0
index b0f24cf3e891..4d3de4a35801 100644
@@ -6,6 +6,7 @@
  */
 
 #include <linux/bitops.h>
+#include <linux/clk.h>
 #include <linux/counter.h>
 #include <linux/kernel.h>
 #include <linux/mod_devicetable.h>
@@ -376,6 +377,7 @@ static int ti_eqep_probe(struct platform_device *pdev)
 	struct counter_device *counter;
 	struct ti_eqep_cnt *priv;
 	void __iomem *base;
+	struct clk *clk;
 	int err;
 
 	counter = devm_counter_alloc(dev, sizeof(*priv));
@@ -415,6 +417,10 @@ static int ti_eqep_probe(struct platform_device *pdev)
 	pm_runtime_enable(dev);
 	pm_runtime_get_sync(dev);
 
+	clk = devm_clk_get_enabled(dev, NULL);
+	if (IS_ERR(clk))
+		return dev_err_probe(dev, PTR_ERR(clk), "failed to enable clock\n");
+
 	err = counter_add(counter);
 	if (err < 0) {
 		pm_runtime_put_sync(dev);
drivers/cpufreq/intel_pstate.c +6 -7
index dbbf299f4219..3405bf69b1c0 100644
@@ -357,15 +357,14 @@ static void intel_pstate_set_itmt_prio(int cpu)
 	int ret;
 
 	ret = cppc_get_perf_caps(cpu, &cppc_perf);
-	if (ret)
-		return;
-
 	/*
-	 * On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff.
-	 * In this case we can't use CPPC.highest_perf to enable ITMT.
-	 * In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide.
+	 * If CPPC is not available, fall back to MSR_HWP_CAPABILITIES bits [8:0].
+	 *
+	 * Also, on some systems with overclocking enabled, CPPC.highest_perf is
+	 * hardcoded to 0xff, so CPPC.highest_perf cannot be used to enable ITMT.
+	 * Fall back to MSR_HWP_CAPABILITIES then too.
 	 */
-	if (cppc_perf.highest_perf == CPPC_MAX_PERF)
+	if (ret || cppc_perf.highest_perf == CPPC_MAX_PERF)
 		cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached));
 
 	/*
drivers/cxl/core/core.h +7 -0
index bc5a95665aa0..87008505f8a9 100644
@@ -27,7 +27,14 @@ void cxl_decoder_kill_region(struct cxl_endpoint_decoder *cxled);
 int cxl_region_init(void);
 void cxl_region_exit(void);
 int cxl_get_poison_by_endpoint(struct cxl_port *port);
+struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa);
+
 #else
+static inline
+struct cxl_region *cxl_dpa_to_region(const struct cxl_memdev *cxlmd, u64 dpa)
+{
+	return NULL;
+}
 static inline int cxl_get_poison_by_endpoint(struct cxl_port *port)
 {
 	return 0;
drivers/cxl/core/hdm.c +13 -0
index 7d97790b893d..e01c16fdc757 100644
@@ -52,6 +52,14 @@ int devm_cxl_add_passthrough_decoder(struct cxl_port *port)
 	struct cxl_dport *dport = NULL;
 	int single_port_map[1];
 	unsigned long index;
+	struct cxl_hdm *cxlhdm = dev_get_drvdata(&port->dev);
+
+	/*
+	 * Capability checks are moot for passthrough decoders, support
+	 * any and all possibilities.
+	 */
+	cxlhdm->interleave_mask = ~0U;
+	cxlhdm->iw_cap_mask = ~0UL;
 
 	cxlsd = cxl_switch_decoder_alloc(port, 1);
 	if (IS_ERR(cxlsd))
@@ -79,6 +87,11 @@ static void parse_hdm_decoder_caps(struct cxl_hdm *cxlhdm)
 		cxlhdm->interleave_mask |= GENMASK(11, 8);
 	if (FIELD_GET(CXL_HDM_DECODER_INTERLEAVE_14_12, hdm_cap))
 		cxlhdm->interleave_mask |= GENMASK(14, 12);
+	cxlhdm->iw_cap_mask = BIT(1) | BIT(2) | BIT(4) | BIT(8);
+	if (FIELD_GET(CXL_HDM_DECODER_INTERLEAVE_3_6_12_WAY, hdm_cap))
+		cxlhdm->iw_cap_mask |= BIT(3) | BIT(6) | BIT(12);
+	if (FIELD_GET(CXL_HDM_DECODER_INTERLEAVE_16_WAY, hdm_cap))
+		cxlhdm->iw_cap_mask |= BIT(16);
 }
 
 static bool should_emulate_decoders(struct cxl_endpoint_dvsec_info *info)
drivers/cxl/core/memdev.c +0 -44

50 lines not on this page · raw message

drivers/cxl/core/pmem.c +11 -5
index e69625a8d6a1..c00f3a933164 100644
@@ -62,10 +62,14 @@ static int match_nvdimm_bridge(struct device *dev, void *data)
 	return is_cxl_nvdimm_bridge(dev);
 }
 
-struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_memdev *cxlmd)
+/**
+ * cxl_find_nvdimm_bridge() - find a bridge device relative to a port
+ * @port: any descendant port of an nvdimm-bridge associated
+ *        root-cxl-port
+ */
+struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_port *port)
 {
-	struct cxl_root *cxl_root __free(put_cxl_root) =
-		find_cxl_root(cxlmd->endpoint);
+	struct cxl_root *cxl_root __free(put_cxl_root) = find_cxl_root(port);
 	struct device *dev;
 
 	if (!cxl_root)
@@ -242,18 +246,20 @@ static void cxlmd_release_nvdimm(void *_cxlmd)
 
 /**
  * devm_cxl_add_nvdimm() - add a bridge between a cxl_memdev and an nvdimm
+ * @parent_port: parent port for the (to be added) @cxlmd endpoint port
  * @cxlmd: cxl_memdev instance that will perform LIBNVDIMM operations
  *
  * Return: 0 on success negative error code on failure.
  */
-int devm_cxl_add_nvdimm(struct cxl_memdev *cxlmd)
+int devm_cxl_add_nvdimm(struct cxl_port *parent_port,
+			struct cxl_memdev *cxlmd)
 {
 	struct cxl_nvdimm_bridge *cxl_nvb;
 	struct cxl_nvdimm *cxl_nvd;
 	struct device *dev;
 	int rc;
 
-	cxl_nvb = cxl_find_nvdimm_bridge(cxlmd);
+	cxl_nvb = cxl_find_nvdimm_bridge(parent_port);
 	if (!cxl_nvb)
 		return -ENODEV;
 
drivers/cxl/core/region.c +155 -27

246 lines not on this page · raw message

drivers/cxl/cxl.h +4 -2
index 72fa47740768..6f9270f2faf9 100644
@@ -45,6 +45,8 @@
 #define   CXL_HDM_DECODER_TARGET_COUNT_MASK GENMASK(7, 4)
 #define   CXL_HDM_DECODER_INTERLEAVE_11_8 BIT(8)
 #define   CXL_HDM_DECODER_INTERLEAVE_14_12 BIT(9)
+#define   CXL_HDM_DECODER_INTERLEAVE_3_6_12_WAY BIT(11)
+#define   CXL_HDM_DECODER_INTERLEAVE_16_WAY BIT(12)
 #define CXL_HDM_DECODER_CTRL_OFFSET 0x4
 #define   CXL_HDM_DECODER_ENABLE BIT(1)
 #define CXL_HDM_DECODER0_BASE_LOW_OFFSET(i) (0x20 * (i) + 0x10)
@@ -848,8 +850,8 @@ struct cxl_nvdimm_bridge *devm_cxl_add_nvdimm_bridge(struct device *host,
 struct cxl_nvdimm *to_cxl_nvdimm(struct device *dev);
 bool is_cxl_nvdimm(struct device *dev);
 bool is_cxl_nvdimm_bridge(struct device *dev);
-int devm_cxl_add_nvdimm(struct cxl_memdev *cxlmd);
-struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_memdev *cxlmd);
+int devm_cxl_add_nvdimm(struct cxl_port *parent_port, struct cxl_memdev *cxlmd);
+struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_port *port);
 
 #ifdef CONFIG_CXL_REGION
 bool is_cxl_pmem_region(struct device *dev);
drivers/cxl/cxlmem.h +10 -0
index 36cee9c30ceb..07e65a7605f3 100644
@@ -848,11 +848,21 @@ static inline void cxl_mem_active_dec(void)
 
 int cxl_mem_sanitize(struct cxl_memdev *cxlmd, u16 cmd);
 
+/**
+ * struct cxl_hdm - HDM Decoder registers and cached / decoded capabilities
+ * @regs: mapped registers, see devm_cxl_setup_hdm()
+ * @decoder_count: number of decoders for this port
+ * @target_count: for switch decoders, max downstream port targets
+ * @interleave_mask: interleave granularity capability, see check_interleave_cap()
+ * @iw_cap_mask: bitmask of supported interleave ways, see check_interleave_cap()
+ * @port: mapped cxl_port, see devm_cxl_setup_hdm()
+ */
 struct cxl_hdm {
 	struct cxl_component_regs regs;
 	unsigned int decoder_count;
 	unsigned int target_count;
 	unsigned int interleave_mask;
+	unsigned long iw_cap_mask;
 	struct cxl_port *port;
 };
 
drivers/cxl/mem.c +9 -8
index 0c79d9ce877c..2f1b49bfe162 100644
@@ -152,6 +152,15 @@ static int cxl_mem_probe(struct device *dev)
 		return -ENXIO;
 	}
 
+	if (resource_size(&cxlds->pmem_res) && IS_ENABLED(CONFIG_CXL_PMEM)) {
+		rc = devm_cxl_add_nvdimm(parent_port, cxlmd);
+		if (rc) {
+			if (rc == -ENODEV)
+				dev_info(dev, "PMEM disabled by platform\n");
+			return rc;
+		}
+	}
+
 	if (dport->rch)
 		endpoint_parent = parent_port->uport_dev;
 	else
@@ -174,14 +183,6 @@ static int cxl_mem_probe(struct device *dev)
 	if (rc)
 		return rc;
 
-	if (resource_size(&cxlds->pmem_res) && IS_ENABLED(CONFIG_CXL_PMEM)) {
-		rc = devm_cxl_add_nvdimm(cxlmd);
-		if (rc == -ENODEV)
-			dev_info(dev, "PMEM disabled by platform\n");
-		else
-			return rc;
-	}
-
 	/*
 	 * The kernel may be operating out of CXL memory on this device,
 	 * there is no spec defined way to determine whether this device
drivers/gpio/gpio-davinci.c +5 -0
index bb499e362912..1d0175d6350b 100644
@@ -225,6 +225,11 @@ static int davinci_gpio_probe(struct platform_device *pdev)
 	else
 		nirq = DIV_ROUND_UP(ngpio, 16);
 
+	if (nirq > MAX_INT_PER_BANK) {
+		dev_err(dev, "Too many IRQs!\n");
+		return -EINVAL;
+	}
+
 	chips = devm_kzalloc(dev, sizeof(*chips), GFP_KERNEL);
 	if (!chips)
 		return -ENOMEM;
drivers/gpio/gpiolib-cdev.c +17 -11
index 9dad67ea2597..5639abce6ec5 100644
@@ -89,6 +89,10 @@ struct linehandle_state {
 	GPIOHANDLE_REQUEST_OPEN_DRAIN | \
 	GPIOHANDLE_REQUEST_OPEN_SOURCE)
 
+#define GPIOHANDLE_REQUEST_DIRECTION_FLAGS \
+	(GPIOHANDLE_REQUEST_INPUT | \
+	 GPIOHANDLE_REQUEST_OUTPUT)
+
 static int linehandle_validate_flags(u32 flags)
 {
 	/* Return an error if an unknown flag is set */
@@ -169,21 +173,21 @@ static long linehandle_set_config(struct linehandle_state *lh,
 	if (ret)
 		return ret;
 
+	/* Lines must be reconfigured explicitly as input or output. */
+	if (!(lflags & GPIOHANDLE_REQUEST_DIRECTION_FLAGS))
+		return -EINVAL;
+
 	for (i = 0; i < lh->num_descs; i++) {
 		desc = lh->descs[i];
-		linehandle_flags_to_desc_flags(gcnf.flags, &desc->flags);
+		linehandle_flags_to_desc_flags(lflags, &desc->flags);
 
-		/*
-		 * Lines have to be requested explicitly for input
-		 * or output, else the line will be treated "as is".
-		 */
 		if (lflags & GPIOHANDLE_REQUEST_OUTPUT) {
 			int val = !!gcnf.default_values[i];
 
 			ret = gpiod_direction_output(desc, val);
 			if (ret)
 				return ret;
-		} else if (lflags & GPIOHANDLE_REQUEST_INPUT) {
+		} else {
 			ret = gpiod_direction_input(desc);
 			if (ret)
 				return ret;
@@ -1530,12 +1534,14 @@ static long linereq_set_config(struct linereq *lr, void __user *ip)
 		line = &lr->lines[i];
 		desc = lr->lines[i].desc;
 		flags = gpio_v2_line_config_flags(&lc, i);
-		gpio_v2_line_config_flags_to_desc_flags(flags, &desc->flags);
-		edflags = flags & GPIO_V2_LINE_EDGE_DETECTOR_FLAGS;
 		/*
-		 * Lines have to be requested explicitly for input
-		 * or output, else the line will be treated "as is".
+		 * Lines not explicitly reconfigured as input or output
+		 * are left unchanged.
 		 */
+		if (!(flags & GPIO_V2_LINE_DIRECTION_FLAGS))
+			continue;
+		gpio_v2_line_config_flags_to_desc_flags(flags, &desc->flags);
+		edflags = flags & GPIO_V2_LINE_EDGE_DETECTOR_FLAGS;
 		if (flags & GPIO_V2_LINE_FLAG_OUTPUT) {
 			int val = gpio_v2_line_config_output_value(&lc, i);
 
@@ -1543,7 +1549,7 @@ static long linereq_set_config(struct linereq *lr, void __user *ip)
 			ret = gpiod_direction_output(desc, val);
 			if (ret)
 				return ret;
-		} else if (flags & GPIO_V2_LINE_FLAG_INPUT) {
+		} else {
 			ret = gpiod_direction_input(desc);
 			if (ret)
 				return ret;
drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c +1 -1
index c8c23dbb9091..12b48851820e 100644
@@ -399,7 +399,7 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
 					mem_channel_number = vram_info->v30.channel_num;
 					mem_channel_width = vram_info->v30.channel_width;
 					if (vram_width)
-						*vram_width = mem_channel_number * (1 << mem_channel_width);
+						*vram_width = mem_channel_number * 16;
 					break;
 				default:
 					return -EINVAL;
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +5 -2
index 941d6e379b8a..eb8af023326a 100644
@@ -5121,11 +5121,14 @@ int amdgpu_device_mode1_reset(struct amdgpu_device *adev)
 
 	dev_info(adev->dev, "GPU mode1 reset\n");
 
+	/* Cache the state before bus master disable. The saved config space
+	 * values are used in other cases like restore after mode-2 reset.
+	 */
+	amdgpu_device_cache_pci_state(adev->pdev);
+
 	/* disable BM */
 	pci_clear_master(adev->pdev);
 
-	amdgpu_device_cache_pci_state(adev->pdev);
-
 	if (amdgpu_dpm_is_mode1_reset_supported(adev)) {
 		dev_info(adev->dev, "GPU smu mode1 reset\n");
 		ret = amdgpu_dpm_mode1_reset(adev);
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c +16 -2
index 8baa2e0935cc..ba6d1876ce1c 100644
@@ -3,6 +3,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_edid.h>
 #include <drm/drm_simple_kms_helper.h>
+#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_vblank.h>
 
 #include "amdgpu.h"
@@ -314,7 +315,13 @@ static int amdgpu_vkms_prepare_fb(struct drm_plane *plane,
 		return 0;
 	}
 	afb = to_amdgpu_framebuffer(new_state->fb);
-	obj = new_state->fb->obj[0];
+
+	obj = drm_gem_fb_get_obj(new_state->fb, 0);
+	if (!obj) {
+		DRM_ERROR("Failed to get obj from framebuffer\n");
+		return -EINVAL;
+	}
+
 	rbo = gem_to_amdgpu_bo(obj);
 	adev = amdgpu_ttm_adev(rbo->tbo.bdev);
 
@@ -368,12 +375,19 @@ static void amdgpu_vkms_cleanup_fb(struct drm_plane *plane,
 				   struct drm_plane_state *old_state)
 {
 	struct amdgpu_bo *rbo;
+	struct drm_gem_object *obj;
 	int r;
 
 	if (!old_state->fb)
 		return;
 
-	rbo = gem_to_amdgpu_bo(old_state->fb->obj[0]);
+	obj = drm_gem_fb_get_obj(old_state->fb, 0);
+	if (!obj) {
+		DRM_ERROR("Failed to get obj from framebuffer\n");
+		return;
+	}
+
+	rbo = gem_to_amdgpu_bo(obj);
 	r = amdgpu_bo_reserve(rbo, false);
 	if (unlikely(r)) {
 		DRM_ERROR("failed to reserve rbo before unpin\n");
drivers/gpu/drm/amd/display/dc/dml2/dml2_utils.c +5 -0
index f15d1dbad6a9..b72ed3e78df0 100644
@@ -327,6 +327,8 @@ void dml2_calculate_rq_and_dlg_params(const struct dc *dc, struct dc_state *cont
 			dml_pipe_idx = dml2_helper_find_dml_pipe_idx_by_stream_id(in_ctx, context->res_ctx.pipe_ctx[dc_pipe_ctx_index].stream->stream_id);
 		}
 
+		if (dml_pipe_idx == 0xFFFFFFFF)
+			continue;
 		ASSERT(in_ctx->v20.scratch.dml_to_dc_pipe_mapping.dml_pipe_idx_to_stream_id_valid[dml_pipe_idx]);
 		ASSERT(in_ctx->v20.scratch.dml_to_dc_pipe_mapping.dml_pipe_idx_to_stream_id[dml_pipe_idx] == context->res_ctx.pipe_ctx[dc_pipe_ctx_index].stream->stream_id);
 
@@ -468,6 +470,9 @@ bool dml2_verify_det_buffer_configuration(struct dml2_context *in_ctx, struct dc
 			dml_pipe_idx = find_dml_pipe_idx_by_plane_id(in_ctx, plane_id);
 		else
 			dml_pipe_idx = dml2_helper_find_dml_pipe_idx_by_stream_id(in_ctx, display_state->res_ctx.pipe_ctx[i].stream->stream_id);
+
+		if (dml_pipe_idx == 0xFFFFFFFF)
+			continue;
 		total_det_allocated += dml_get_det_buffer_size_kbytes(&in_ctx->v20.dml_core_ctx, dml_pipe_idx);
 		if (total_det_allocated > max_det_size) {
 			need_recalculation = true;
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c +9 -1
index 289f5d133342..f608dd3bbac3 100644
@@ -1590,9 +1590,17 @@ static bool retrieve_link_cap(struct dc_link *link)
 			return false;
 	}
 
-	if (dp_is_lttpr_present(link))
+	if (dp_is_lttpr_present(link)) {
 		configure_lttpr_mode_transparent(link);
 
+		// Echo TOTAL_LTTPR_CNT back downstream
+		core_link_write_dpcd(
+				link,
+				DP_TOTAL_LTTPR_CNT,
+				&link->dpcd_caps.lttpr_caps.phy_repeater_cnt,
+				sizeof(link->dpcd_caps.lttpr_caps.phy_repeater_cnt));
+	}
+
 	/* Read DP tunneling information. */
 	status = dpcd_get_tunneling_device_data(link);
 
drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c +1 -1
index 04d142f97474..2fb1d00ff965 100644
@@ -892,7 +892,7 @@ static const struct dc_debug_options debug_defaults_drv = {
 	.disable_z10 = true,
 	.enable_legacy_fast_update = true,
 	.enable_z9_disable_interface = true, /* Allow support for the PMFW interface for disable Z9*/
-	.dml_hostvm_override = DML_HOSTVM_OVERRIDE_FALSE,
+	.dml_hostvm_override = DML_HOSTVM_NO_OVERRIDE,
 	.using_dml2 = false,
 };
 
drivers/gpu/drm/amd/display/include/dpcd_defs.h +5 -0
index 914f28e9f224..aee5170f5fb2 100644
@@ -177,4 +177,9 @@ enum dpcd_psr_sink_states {
 #define DP_SINK_PR_PIXEL_DEVIATION_PER_LINE     0x379
 #define DP_SINK_PR_MAX_NUMBER_OF_DEVIATION_LINE 0x37A
 
+/* Remove once drm_dp_helper.h is updated upstream */
+#ifndef DP_TOTAL_LTTPR_CNT
+#define DP_TOTAL_LTTPR_CNT                                  0xF000A /* 2.1 */
+#endif
+
 #endif /* __DAL_DPCD_DEFS_H__ */
drivers/gpu/drm/drm_fb_helper.c +3 -3
index d612133e2cf7..117237d3528b 100644
@@ -524,6 +524,9 @@ struct fb_info *drm_fb_helper_alloc_info(struct drm_fb_helper *fb_helper)
 	if (!info)
 		return ERR_PTR(-ENOMEM);
 
+	if (!drm_leak_fbdev_smem)
+		info->flags |= FBINFO_HIDE_SMEM_START;
+
 	ret = fb_alloc_cmap(&info->cmap, 256, 0);
 	if (ret)
 		goto err_release;
@@ -1860,9 +1863,6 @@ __drm_fb_helper_initial_config_and_unlock(struct drm_fb_helper *fb_helper)
 	info = fb_helper->info;
 	info->var.pixclock = 0;
 
-	if (!drm_leak_fbdev_smem)
-		info->flags |= FBINFO_HIDE_SMEM_START;
-
 	/* Need to drop locks to avoid recursive deadlock in
 	 * register_framebuffer. This is ok because the only thing left to do is
 	 * register the fbdev emulation instance in kernel_fb_helper_list. */
drivers/gpu/drm/drm_fbdev_dma.c +4 -1
index 6c9427bb4053..13cd754af311 100644
@@ -130,7 +130,10 @@ static int drm_fbdev_dma_helper_fb_probe(struct drm_fb_helper *fb_helper,
 		info->flags |= FBINFO_READS_FAST; /* signal caching */
 	info->screen_size = sizes->surface_height * fb->pitches[0];
 	info->screen_buffer = map.vaddr;
-	info->fix.smem_start = page_to_phys(virt_to_page(info->screen_buffer));
+	if (!(info->flags & FBINFO_HIDE_SMEM_START)) {
+		if (!drm_WARN_ON(dev, is_vmalloc_addr(info->screen_buffer)))
+			info->fix.smem_start = page_to_phys(virt_to_page(info->screen_buffer));
+	}
 	info->fix.smem_len = info->screen_size;
 
 	return 0;
drivers/gpu/drm/drm_file.c +3 -5
index 638ffa4444f5..714e42b05108 100644
@@ -469,14 +469,12 @@ void drm_file_update_pid(struct drm_file *filp)
 
 	dev = filp->minor->dev;
 	mutex_lock(&dev->filelist_mutex);
+	get_pid(pid);
 	old = rcu_replace_pointer(filp->pid, pid, 1);
 	mutex_unlock(&dev->filelist_mutex);
 
-	if (pid != old) {
-		get_pid(pid);
-		synchronize_rcu();
-		put_pid(old);
-	}
+	synchronize_rcu();
+	put_pid(old);
 }
 
 /**
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +1 -0
index 40371b8a9bbb..93bc1cc1ee7e 100644
@@ -298,6 +298,7 @@ void i915_vma_revoke_fence(struct i915_vma *vma)
 		return;
 
 	GEM_BUG_ON(fence->vma != vma);
+	i915_active_wait(&fence->active);
 	GEM_BUG_ON(!i915_active_is_idle(&fence->active));
 	GEM_BUG_ON(atomic_read(&fence->pin_count));
 
drivers/gpu/drm/nouveau/dispnv04/tvnv17.c +6 -0
index 670c9739e5e1..2033214c4b78 100644
@@ -209,6 +209,8 @@ static int nv17_tv_get_ld_modes(struct drm_encoder *encoder,
 		struct drm_display_mode *mode;
 
 		mode = drm_mode_duplicate(encoder->dev, tv_mode);
+		if (!mode)
+			continue;
 
 		mode->clock = tv_norm->tv_enc_mode.vrefresh *
 			mode->htotal / 1000 *
@@ -258,6 +260,8 @@ static int nv17_tv_get_hd_modes(struct drm_encoder *encoder,
 		if (modes[i].hdisplay == output_mode->hdisplay &&
 		    modes[i].vdisplay == output_mode->vdisplay) {
 			mode = drm_mode_duplicate(encoder->dev, output_mode);
+			if (!mode)
+				continue;
 			mode->type |= DRM_MODE_TYPE_PREFERRED;
 
 		} else {
@@ -265,6 +269,8 @@ static int nv17_tv_get_hd_modes(struct drm_encoder *encoder,
 					    modes[i].vdisplay, 60, false,
 					    (output_mode->flags &
 					     DRM_MODE_FLAG_INTERLACE), false);
+			if (!mode)
+				continue;
 		}
 
 		/* CVT modes are sometimes unsuitable... */
drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +3 -3
index 2ffe5f68a890..4c8c317191f3 100644
@@ -1080,10 +1080,10 @@ static int ili9881c_prepare(struct drm_panel *panel)
 	msleep(5);
 
 	/* And reset it */
-	gpiod_set_value(ctx->reset, 1);
+	gpiod_set_value_cansleep(ctx->reset, 1);
 	msleep(20);
 
-	gpiod_set_value(ctx->reset, 0);
+	gpiod_set_value_cansleep(ctx->reset, 0);
 	msleep(20);
 
 	for (i = 0; i < ctx->desc->init_length; i++) {
@@ -1138,7 +1138,7 @@ static int ili9881c_unprepare(struct drm_panel *panel)
 
 	mipi_dsi_dcs_enter_sleep_mode(ctx->dsi);
 	regulator_disable(ctx->power);
-	gpiod_set_value(ctx->reset, 1);
+	gpiod_set_value_cansleep(ctx->reset, 1);
 
 	return 0;
 }
drivers/gpu/drm/panel/panel-simple.c +1 -0
index e8fe5a69454d..6aac6f2accb4 100644
@@ -2707,6 +2707,7 @@ static const struct display_timing koe_tx26d202vm0bwa_timing = {
 	.vfront_porch = { 3, 5, 10 },
 	.vback_porch = { 2, 5, 10 },
 	.vsync_len = { 5, 5, 5 },
+	.flags = DISPLAY_FLAGS_DE_HIGH,
 };
 
 static const struct panel_desc koe_tx26d202vm0bwa = {
drivers/gpu/drm/radeon/radeon.h +0 -1
index 3e5ff17e3caf..0999c8eaae94 100644
@@ -132,7 +132,6 @@ extern int radeon_cik_support;
 /* RADEON_IB_POOL_SIZE must be a power of 2 */
 #define RADEON_IB_POOL_SIZE			16
 #define RADEON_DEBUGFS_MAX_COMPONENTS		32
-#define RADEONFB_CONN_LIMIT			4
 #define RADEON_BIOS_NUM_SCRATCH			8
 
 /* internal ring indices */
drivers/gpu/drm/radeon/radeon_display.c +1 -7
index efd18c8d84c8..5f1d24d3120c 100644
@@ -683,7 +683,7 @@ static void radeon_crtc_init(struct drm_device *dev, int index)
 	struct radeon_device *rdev = dev->dev_private;
 	struct radeon_crtc *radeon_crtc;
 
-	radeon_crtc = kzalloc(sizeof(struct radeon_crtc) + (RADEONFB_CONN_LIMIT * sizeof(struct drm_connector *)), GFP_KERNEL);
+	radeon_crtc = kzalloc(sizeof(*radeon_crtc), GFP_KERNEL);
 	if (radeon_crtc == NULL)
 		return;
 
@@ -709,12 +709,6 @@ static void radeon_crtc_init(struct drm_device *dev, int index)
 	dev->mode_config.cursor_width = radeon_crtc->max_cursor_width;
 	dev->mode_config.cursor_height = radeon_crtc->max_cursor_height;
 
-#if 0
-	radeon_crtc->mode_set.crtc = &radeon_crtc->base;
-	radeon_crtc->mode_set.connectors = (struct drm_connector **)(radeon_crtc + 1);
-	radeon_crtc->mode_set.num_connectors = 0;
-#endif
-
 	if (rdev->is_atom_bios && (ASIC_IS_AVIVO(rdev) || radeon_r4xx_atom))
 		radeon_atombios_init_crtc(dev, radeon_crtc);
 	else
drivers/gpu/drm/xe/xe_devcoredump.c +6 -4
index 68d3d623a05b..ccec291b02cc 100644
@@ -74,17 +74,19 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
 				   size_t count, void *data, size_t datalen)
 {
 	struct xe_devcoredump *coredump = data;
-	struct xe_device *xe = coredump_to_xe(coredump);
-	struct xe_devcoredump_snapshot *ss = &coredump->snapshot;
+	struct xe_device *xe;
+	struct xe_devcoredump_snapshot *ss;
 	struct drm_printer p;
 	struct drm_print_iterator iter;
 	struct timespec64 ts;
 	int i;
 
-	/* Our device is gone already... */
-	if (!data || !coredump_to_xe(coredump))
+	if (!coredump)
 		return -ENODEV;
 
+	xe = coredump_to_xe(coredump);
+	ss = &coredump->snapshot;
+
 	/* Ensure delayed work is captured before continuing */
 	flush_work(&ss->work);
 
drivers/gpu/drm/xe/xe_pat.c +1 -1
index e148934d554b..351ab902eb60 100644
@@ -457,7 +457,7 @@ void xe_pat_dump(struct xe_gt *gt, struct drm_printer *p)
 {
 	struct xe_device *xe = gt_to_xe(gt);
 
-	if (!xe->pat.ops->dump)
+	if (!xe->pat.ops)
 		return;
 
 	xe->pat.ops->dump(gt, p);
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c +5 -0
index 3107d2a12426..fb35e46d68b4 100644
@@ -207,6 +207,11 @@ void xe_ttm_stolen_mgr_init(struct xe_device *xe)
 	u64 stolen_size, io_size, pgsize;
 	int err;
 
+	if (!mgr) {
+		drm_dbg_kms(&xe->drm, "Stolen mgr init failed\n");
+		return;
+	}
+
 	if (IS_SRIOV_VF(xe))
 		stolen_size = 0;
 	else if (IS_DGFX(xe))
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c +1 -1
index 115ec745e502..0678faf83212 100644
@@ -91,7 +91,7 @@ static int xe_ttm_vram_mgr_new(struct ttm_resource_manager *man,
 
 	min_page_size = mgr->default_page_size;
 	if (tbo->page_alignment)
-		min_page_size = tbo->page_alignment << PAGE_SHIFT;
+		min_page_size = (u64)tbo->page_alignment << PAGE_SHIFT;
 
 	if (WARN_ON(min_page_size < mm->chunk_size)) {
 		err = -EINVAL;
drivers/i2c/i2c-slave-testunit.c +4 -1
index a49642bbae4b..ca43e98cae1b 100644
@@ -118,9 +118,12 @@ static int i2c_slave_testunit_slave_cb(struct i2c_client *client,
 			queue_delayed_work(system_long_wq, &tu->worker,
 					   msecs_to_jiffies(10 * tu->regs[TU_REG_DELAY]));
 		}
-		fallthrough;
+		break;
 
 	case I2C_SLAVE_WRITE_REQUESTED:
+		if (test_bit(TU_FLAG_IN_PROCESS, &tu->flags))
+			return -EBUSY;
+
 		memset(tu->regs, 0, TU_NUM_REGS);
 		tu->reg_idx = 0;
 		break;
drivers/iio/accel/Kconfig +2 -0
index c2da5066e9a7..80b57d3ee3a7 100644
@@ -330,6 +330,8 @@ config DMARD10
 config FXLS8962AF
 	tristate
 	depends on I2C || !I2C # cannot be built-in for modular I2C
+	select IIO_BUFFER
+	select IIO_KFIFO_BUF
 
 config FXLS8962AF_I2C
 	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
drivers/iio/adc/ad7266.c +2 -0
index 468c2656d2be..98648c679a55 100644
@@ -157,6 +157,8 @@ static int ad7266_read_raw(struct iio_dev *indio_dev,
 		ret = ad7266_read_single(st, val, chan->address);
 		iio_device_release_direct_mode(indio_dev);
 
+		if (ret < 0)
+			return ret;
 		*val = (*val >> 2) & 0xfff;
 		if (chan->scan_type.sign == 's')
 			*val = sign_extend32(*val,
drivers/iio/adc/xilinx-ams.c +6 -2
index f0b71a1220e0..f52abf759260 100644
@@ -414,8 +414,12 @@ static void ams_enable_channel_sequence(struct iio_dev *indio_dev)
 
 	/* Run calibration of PS & PL as part of the sequence */
 	scan_mask = BIT(0) | BIT(AMS_PS_SEQ_MAX);
-	for (i = 0; i < indio_dev->num_channels; i++)
-		scan_mask |= BIT_ULL(indio_dev->channels[i].scan_index);
+	for (i = 0; i < indio_dev->num_channels; i++) {
+		const struct iio_chan_spec *chan = &indio_dev->channels[i];
+
+		if (chan->scan_index < AMS_CTRL_SEQ_BASE)
+			scan_mask |= BIT_ULL(chan->scan_index);
+	}
 
 	if (ams->ps_base) {
 		/* put sysmon in a soft reset to change the sequence */
drivers/iio/chemical/bme680.h +2 -0
index 4edc5d21cb9f..f959252a4fe6 100644
@@ -54,7 +54,9 @@
 #define   BME680_NB_CONV_MASK			GENMASK(3, 0)
 
 #define BME680_REG_MEAS_STAT_0			0x1D
+#define   BME680_NEW_DATA_BIT			BIT(7)
 #define   BME680_GAS_MEAS_BIT			BIT(6)
+#define   BME680_MEAS_BIT			BIT(5)
 
 /* Calibration Parameters */
 #define BME680_T2_LSB_REG	0x8A
drivers/iio/chemical/bme680_core.c +54 -8

125 lines not on this page · raw message

drivers/iio/humidity/hdc3020.c +249 -76

384 lines not on this page · raw message

drivers/infiniband/core/restrack.c +1 -50

70 lines not on this page · raw message

drivers/input/touchscreen/ili210x.c +2 -2
index 31ffdc2a93f3..79bdb2b10949 100644
@@ -261,8 +261,8 @@ static int ili251x_read_touch_data(struct i2c_client *client, u8 *data)
 	if (!error && data[0] == 2) {
 		error = i2c_master_recv(client, data + ILI251X_DATA_SIZE1,
 					ILI251X_DATA_SIZE2);
-		if (error >= 0 && error != ILI251X_DATA_SIZE2)
-			error = -EIO;
+		if (error >= 0)
+			error = error == ILI251X_DATA_SIZE2 ? 0 : -EIO;
 	}
 
 	return error;
drivers/iommu/amd/amd_iommu.h +1 -0
index f482aab420f7..95a161fdbae2 100644
@@ -56,6 +56,7 @@ int amd_iommu_clear_gcr3(struct iommu_dev_data *dev_data, ioasid_t pasid);
 void amd_iommu_flush_all_caches(struct amd_iommu *iommu);
 void amd_iommu_update_and_flush_device_table(struct protection_domain *domain);
 void amd_iommu_domain_update(struct protection_domain *domain);
+void amd_iommu_dev_update_dte(struct iommu_dev_data *dev_data, bool set);
 void amd_iommu_domain_flush_complete(struct protection_domain *domain);
 void amd_iommu_domain_flush_pages(struct protection_domain *domain,
 				  u64 address, size_t size);
drivers/iommu/amd/init.c +1 -0
index e740dc54c468..21798a0fa926 100644
@@ -2784,6 +2784,7 @@ static void early_enable_iommu(struct amd_iommu *iommu)
 	iommu_enable_command_buffer(iommu);
 	iommu_enable_event_buffer(iommu);
 	iommu_set_exclusion_range(iommu);
+	iommu_enable_gt(iommu);
 	iommu_enable_ga(iommu);
 	iommu_enable_xt(iommu);
 	iommu_enable_irtcachedis(iommu);
drivers/iommu/amd/iommu.c +22 -12
index fb727f5b0b82..e2b900ffbc15 100644
@@ -2002,6 +2002,21 @@ static void clear_dte_entry(struct amd_iommu *iommu, u16 devid)
 	amd_iommu_apply_erratum_63(iommu, devid);
 }
 
+/* Update and flush DTE for the given device */
+void amd_iommu_dev_update_dte(struct iommu_dev_data *dev_data, bool set)
+{
+	struct amd_iommu *iommu = get_amd_iommu_from_dev(dev_data->dev);
+
+	if (set)
+		set_dte_entry(iommu, dev_data);
+	else
+		clear_dte_entry(iommu, dev_data->devid);
+
+	clone_aliases(iommu, dev_data->dev);
+	device_flush_dte(dev_data);
+	iommu_completion_wait(iommu);
+}
+
 static int do_attach(struct iommu_dev_data *dev_data,
 		     struct protection_domain *domain)
 {
@@ -2036,10 +2051,7 @@ static int do_attach(struct iommu_dev_data *dev_data,
 	}
 
 	/* Update device table */
-	set_dte_entry(iommu, dev_data);
-	clone_aliases(iommu, dev_data->dev);
-
-	device_flush_dte(dev_data);
+	amd_iommu_dev_update_dte(dev_data, true);
 
 	return ret;
 }
@@ -2049,6 +2061,12 @@ static void do_detach(struct iommu_dev_data *dev_data)
 	struct protection_domain *domain = dev_data->domain;
 	struct amd_iommu *iommu = get_amd_iommu_from_dev_data(dev_data);
 
+	/* Clear DTE and flush the entry */
+	amd_iommu_dev_update_dte(dev_data, false);
+
+	/* Flush IOTLB and wait for the flushes to finish */
+	amd_iommu_domain_flush_all(domain);
+
 	/* Clear GCR3 table */
 	if (domain->pd_mode == PD_MODE_V2) {
 		update_gcr3(dev_data, 0, 0, false);
@@ -2058,14 +2076,6 @@ static void do_detach(struct iommu_dev_data *dev_data)
 	/* Update data structures */
 	dev_data->domain = NULL;
 	list_del(&dev_data->list);
-	clear_dte_entry(iommu, dev_data->devid);
-	clone_aliases(iommu, dev_data->dev);
-
-	/* Flush the DTE entry */
-	device_flush_dte(dev_data);
-
-	/* Flush IOTLB and wait for the flushes to finish */
-	amd_iommu_domain_flush_all(domain);
 
 	/* decrease reference counters - needs to happen after the flushes */
 	domain->dev_iommu[iommu->index] -= 1;
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c +3 -0
index 2cd433a9c8a0..41b44baef15e 100644
@@ -569,6 +569,9 @@ static int arm_smmu_sva_set_dev_pasid(struct iommu_domain *domain,
 	int ret = 0;
 	struct mm_struct *mm = domain->mm;
 
+	if (mm_get_enqcmd_pasid(mm) != id)
+		return -EINVAL;
+
 	mutex_lock(&sva_lock);
 	ret = __arm_smmu_sva_bind(dev, id, mm);
 	mutex_unlock(&sva_lock);
drivers/irqchip/Kconfig +1 -1
index 72c07a12f5e1..bfa1d77749f3 100644
@@ -568,7 +568,7 @@ config IRQ_LOONGARCH_CPU
 	bool
 	select GENERIC_IRQ_CHIP
 	select IRQ_DOMAIN
-	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
+	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
 	select LOONGSON_HTVEC
 	select LOONGSON_LIOINTC
 	select LOONGSON_EIOINTC
drivers/irqchip/irq-loongson-eiointc.c +3 -2
index b64cbe3052e8..f2921b26ba84 100644
@@ -15,6 +15,7 @@
 #include <linux/irqchip/chained_irq.h>
 #include <linux/kernel.h>
 #include <linux/syscore_ops.h>
+#include <asm/numa.h>
 
 #define EIOINTC_REG_NODEMAP	0x14a0
 #define EIOINTC_REG_IPMAP	0x14c0
@@ -339,7 +340,7 @@ static int __init pch_msi_parse_madt(union acpi_subtable_headers *header,
 	int node;
 
 	if (cpu_has_flatmode)
-		node = cpu_to_node(eiointc_priv[nr_pics - 1]->node * CORES_PER_EIO_NODE);
+		node = early_cpu_to_node(eiointc_priv[nr_pics - 1]->node * CORES_PER_EIO_NODE);
 	else
 		node = eiointc_priv[nr_pics - 1]->node;
 
@@ -431,7 +432,7 @@ int __init eiointc_acpi_init(struct irq_domain *parent,
 		goto out_free_handle;
 
 	if (cpu_has_flatmode)
-		node = cpu_to_node(acpi_eiointc->node * CORES_PER_EIO_NODE);
+		node = early_cpu_to_node(acpi_eiointc->node * CORES_PER_EIO_NODE);
 	else
 		node = acpi_eiointc->node;
 	acpi_set_vec_parent(node, priv->eiointc_domain, pch_group);
drivers/irqchip/irq-loongson-liointc.c +2 -2
index e4b33aed1c97..7c4fe7ab4b83 100644
@@ -28,7 +28,7 @@
 
 #define LIOINTC_INTC_CHIP_START	0x20
 
-#define LIOINTC_REG_INTC_STATUS	(LIOINTC_INTC_CHIP_START + 0x20)
+#define LIOINTC_REG_INTC_STATUS(core)	(LIOINTC_INTC_CHIP_START + 0x20 + (core) * 8)
 #define LIOINTC_REG_INTC_EN_STATUS	(LIOINTC_INTC_CHIP_START + 0x04)
 #define LIOINTC_REG_INTC_ENABLE	(LIOINTC_INTC_CHIP_START + 0x08)
 #define LIOINTC_REG_INTC_DISABLE	(LIOINTC_INTC_CHIP_START + 0x0c)
@@ -217,7 +217,7 @@ static int liointc_init(phys_addr_t addr, unsigned long size, int revision,
 		goto out_free_priv;
 
 	for (i = 0; i < LIOINTC_NUM_CORES; i++)
-		priv->core_isr[i] = base + LIOINTC_REG_INTC_STATUS;
+		priv->core_isr[i] = base + LIOINTC_REG_INTC_STATUS(i);
 
 	for (i = 0; i < LIOINTC_NUM_PARENT; i++)
 		priv->handler[i].parent_int_map = parent_int_map[i];
drivers/media/dvb-core/dvbdev.c +1 -1
index 733d0bc4b4cc..b43695bc51e7 100644
@@ -956,7 +956,7 @@ int dvb_usercopy(struct file *file,
 		 int (*func)(struct file *file,
 			     unsigned int cmd, void *arg))
 {
-	char    sbuf[128];
+	char    sbuf[128] = {};
 	void    *mbuf = NULL;
 	void    *parg = NULL;
 	int     err  = -EINVAL;
drivers/mmc/host/moxart-mmc.c +43 -35

145 lines not on this page · raw message

drivers/mmc/host/sdhci-brcmstb.c +4 -0
index 9053526fa212..150fb477b7cc 100644
@@ -24,6 +24,7 @@
 #define BRCMSTB_MATCH_FLAGS_NO_64BIT		BIT(0)
 #define BRCMSTB_MATCH_FLAGS_BROKEN_TIMEOUT	BIT(1)
 #define BRCMSTB_MATCH_FLAGS_HAS_CLOCK_GATE	BIT(2)
+#define BRCMSTB_MATCH_FLAGS_USE_CARD_BUSY	BIT(4)
 
 #define BRCMSTB_PRIV_FLAGS_HAS_CQE		BIT(0)
 #define BRCMSTB_PRIV_FLAGS_GATE_CLOCK		BIT(1)
@@ -384,6 +385,9 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev)
 	if (match_priv->flags & BRCMSTB_MATCH_FLAGS_BROKEN_TIMEOUT)
 		host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
 
+	if (!(match_priv->flags & BRCMSTB_MATCH_FLAGS_USE_CARD_BUSY))
+		host->mmc_host_ops.card_busy = NULL;
+
 	/* Change the base clock frequency if the DT property exists */
 	if (device_property_read_u32(&pdev->dev, "clock-frequency",
 				     &priv->base_freq_hz) != 0)
drivers/mmc/host/sdhci-pci-core.c +7 -4
index 025b31aa712c..9fe40f342d25 100644
@@ -1326,7 +1326,7 @@ static int jmicron_pmos(struct sdhci_pci_chip *chip, int on)
 
 	ret = pci_read_config_byte(chip->pdev, 0xAE, &scratch);
 	if (ret)
-		return ret;
+		goto fail;
 
 	/*
 	 * Turn PMOS on [bit 0], set over current detection to 2.4 V
@@ -1337,7 +1337,10 @@ static int jmicron_pmos(struct sdhci_pci_chip *chip, int on)
 	else
 		scratch &= ~0x47;
 
-	return pci_write_config_byte(chip->pdev, 0xAE, scratch);
+	ret = pci_write_config_byte(chip->pdev, 0xAE, scratch);
+
+fail:
+	return pcibios_err_to_errno(ret);
 }
 
 static int jmicron_probe(struct sdhci_pci_chip *chip)
@@ -2202,7 +2205,7 @@ static int sdhci_pci_probe(struct pci_dev *pdev,
 
 	ret = pci_read_config_byte(pdev, PCI_SLOT_INFO, &slots);
 	if (ret)
-		return ret;
+		return pcibios_err_to_errno(ret);
 
 	slots = PCI_SLOT_INFO_SLOTS(slots) + 1;
 	dev_dbg(&pdev->dev, "found %d slot(s)\n", slots);
@@ -2211,7 +2214,7 @@ static int sdhci_pci_probe(struct pci_dev *pdev,
 
 	ret = pci_read_config_byte(pdev, PCI_SLOT_INFO, &first_bar);
 	if (ret)
-		return ret;
+		return pcibios_err_to_errno(ret);
 
 	first_bar &= PCI_SLOT_INFO_FIRST_BAR_MASK;
 
drivers/mmc/host/sdhci-pci-o2micro.c +22 -19

159 lines not on this page · raw message

drivers/mmc/host/sdhci.c +14 -11
index 746f4cf7ab03..112584aa0772 100644

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

drivers/mtd/parsers/redboot.c +1 -1
index a16b42a88581..3b55b676ca6b 100644

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

drivers/net/bonding/bond_main.c +3 -0
index bceda85f0dcf..cb66310c8d76 100644

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

drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c +13 -1
index 1d9057dc44f2..bf1589aef1fc 100644

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

drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c +47 -8

55 lines not on this page · raw message

drivers/net/can/spi/mcp251xfd/mcp251xfd.h +5 -0
index 24510b3b8020..b35bfebd23f2 100644

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

drivers/net/dsa/microchip/ksz9477.c +6 -4
index 7f745628c84d..dde5c65c2c36 100644

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

drivers/net/dsa/microchip/ksz9477_reg.h +1 -0
index f3a205ee483f..fb124be8edd3 100644

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

drivers/net/dsa/microchip/ksz_common.c +1 -1
index 2a5861a88d0e..e54f83a2e7d3 100644

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

drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +9 -5
index 888509cf1f21..40e881829595 100644

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

drivers/net/ethernet/ibm/ibmvnic.c +6 -0
index 30c47b8470ad..722bb724361c 100644

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

drivers/net/ethernet/intel/ice/ice_main.c +9 -1
index 61eef3259cba..88d4675cc342 100644

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

drivers/net/ethernet/mellanox/mlxsw/pci.c +15 -3
index f42a1b1c9368..653a47dd4386 100644

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

drivers/net/ethernet/mellanox/mlxsw/reg.h +2 -0
index 8892654c685f..010eecab5147 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c +14 -6
index c9f1c79f3f9d..ba090262e27e 100644

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

drivers/net/ethernet/microsoft/mana/mana_en.c +2 -0
index d8af5e7e15b4..191d50ba646d 100644

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

drivers/net/ethernet/pensando/ionic/ionic_dev.h +3 -1
index f30eee4a5a80..b6c01a88098d 100644

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

drivers/net/ethernet/pensando/ionic/ionic_lif.c +1 -1
index 0cd819bc4ae3..1dec4ebd708f 100644

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

drivers/net/ethernet/pensando/ionic/ionic_txrx.c +35 -20

55 lines not on this page · raw message

drivers/net/phy/micrel.c +1 -0
index 4b22bb6393e2..4a28b654ce87 100644

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

drivers/net/phy/sfp.c +6 -12
index 52b71c7e7835..e4b759690c44 100644

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

drivers/net/usb/ax88179_178a.c +5 -1
index 94d8b647f0f5..bb70b56c9729 100644

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

drivers/net/vxlan/vxlan_core.c +8 -1
index b2d054f59f30..49779ba3c4b7 100644

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

drivers/net/wireless/realtek/rtw89/fw.c +21 -6
index 185cd339c085..6c75ebbb21ca 100644

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

drivers/nvme/target/configfs.c +31 -10

41 lines not on this page · raw message

drivers/nvme/target/fc.c +1 -1
index 337ee1cb09ae..381b4394731f 100644

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

drivers/pci/msi/msi.c +8 -2
index 682fa877478f..d9d3f57c6f77 100644

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

drivers/pinctrl/core.c +1 -1
index cffeb869130d..f424a57f0013 100644

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

drivers/pinctrl/pinctrl-rockchip.c +59 -9

68 lines not on this page · raw message

drivers/pinctrl/pinctrl-rockchip.h +1 -0
index 4759f336941e..849266f8b191 100644

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

drivers/pinctrl/qcom/pinctrl-spmi-gpio.c +0 -1
index f4e2c88a7c82..e61be7d05494 100644

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

drivers/pinctrl/renesas/pinctrl-rzg2l.c +2 -2
index 248ab71b9f9d..747b22cd38ae 100644

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

drivers/pwm/pwm-stm32.c +44 -18

62 lines not on this page · raw message

drivers/reset/Kconfig +1 -0
index 85b27c42cf65..f426b4c39179 100644

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

drivers/s390/virtio/virtio_ccw.c +3 -1
index d7569f395559..d6491fc84e8c 100644

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

drivers/scsi/libsas/sas_ata.c +3 -3
index 12e2653846e3..70891a1e98a0 100644

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

drivers/scsi/libsas/sas_discover.c +1 -1
index 8fb7c41c0962..48d975c6dbf2 100644

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

drivers/soc/ti/wkup_m3_ipc.c +2 -5
index 6a1c6b34c414..88f774db9208 100644

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

drivers/tty/mxser.c +1 -1
index 458bb1280ebf..5b97e420a95f 100644

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

drivers/tty/serial/8250/8250_omap.c +19 -3
index 66901d93089a..ddf23ccbc925 100644

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

drivers/tty/serial/8250/8250_pci.c +12 -1
index e2e4f99f9d34..fe0fb2b4e9db 100644

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

drivers/tty/serial/bcm63xx_uart.c +5 -2
index 34801a6f300b..b88cc28c94e3 100644

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

drivers/tty/serial/imx.c +8 -2
index 09c1678ddfd4..9552228d2161 100644

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

drivers/tty/serial/mcf.c +1 -1
index b0604d6da025..58858dd352c5 100644

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

drivers/usb/atm/cxacru.c +14 -0
index 4ce7cba2b48a..8f3b9a0a38e1 100644

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

drivers/usb/dwc3/core.c +19 -7
index 100041320e8d..cfe754f480a0 100644

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

drivers/usb/gadget/function/f_printer.c +30 -10
index ba7d180cc9e6..44e20c6c36d3 100644

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

drivers/usb/gadget/function/u_ether.c +1 -3
index 444212c0b5a9..be3b0bad554e 100644

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

drivers/usb/gadget/udc/aspeed_udc.c +2 -2
index 3916c8e2ba01..821a6ab5da56 100644

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

drivers/usb/musb/da8xx.c +6 -2
index 8abf3a567e30..108d9a593a80 100644

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

drivers/usb/typec/ucsi/ucsi.c +27 -28

55 lines not on this page · raw message

drivers/usb/typec/ucsi/ucsi_glink.c +4 -1
index 1d0e2d87e9b3..4763bd6e55a7 100644

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

drivers/usb/typec/ucsi/ucsi_stm32g0.c +15 -4
index 93d7806681cf..1d7ee833eb4f 100644

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

drivers/vdpa/vdpa_user/vduse_dev.c +10 -4
index 73c89701fc9d..ac8b5b52e3dc 100644

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

fs/bcachefs/bcachefs.h +1 -43

44 lines not on this page · raw message

fs/bcachefs/btree_gc.c +7 -8
index 791470b0c654..58f7c99e0ed8 100644

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

fs/bcachefs/btree_gc.h +22 -26

48 lines not on this page · raw message

fs/bcachefs/btree_gc_types.h new file +29 -0
new file mode 100644
index 000000000000..b82c24bcc088

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

fs/bcachefs/ec.c +1 -1
index 556a217108d3..0a49c2e9955a 100644

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

fs/bcachefs/sb-downgrade.c +14 -3
index a98ef940b7a3..ed6d298bc19c 100644

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

fs/bcachefs/super-io.c +3 -9
index bfdb15e7d778..a337246e912a 100644

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

fs/btrfs/free-space-cache.c +1 -1
index c8a05d5eb9cb..b642df5e5255 100644

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

fs/btrfs/tree-log.c +28 -15

43 lines not on this page · raw message

fs/gfs2/log.c +2 -1
index 8cddf955ebc0..a6dd68b458ce 100644

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

fs/gfs2/super.c +4 -0
index 2d780b4701a2..ee61fcb7f200 100644

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

fs/netfs/buffered_write.c +9 -3
index 912ad0a1df02..d2ce0849bb53 100644

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

fs/nfs/direct.c +0 -2
index bb2f583eb28b..90079ca134dd 100644

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

fs/nfsd/nfsctl.c +2 -0
index 4d23bb1d08c0..332847daa1b4 100644

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

fs/nfsd/nfssvc.c +0 -1
index c0d17b92b249..f23b00cb9f63 100644

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

fs/ocfs2/aops.c +5 -0
index b82185075de7..469143110f31 100644

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

fs/ocfs2/journal.c +17 -0
index 86807086b2df..530fba34f6d3 100644

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

fs/ocfs2/journal.h +2 -0
index 41c9fe7e62f9..e3c3a35dc5e0 100644

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

fs/ocfs2/ocfs2_trace.h +2 -0
index 9898c11bdfa1..d194d202413d 100644

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

fs/open.c +2 -2
index ee8460c83c77..0131ae30351e 100644

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

include/linux/compat.h +1 -1
index 233f61ec8afc..56cebaff0c91 100644

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

include/linux/filter.h +6 -4
index 219ee7a76874..cf12bfa2a78c 100644

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

include/linux/ieee80211.h +1 -1
index ac5be38d8aaf..4fd9735bb75e 100644

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

include/linux/libata.h +1 -0
index 324d792e7c78..186a6cbbbfbc 100644

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

include/linux/mmzone.h +4 -5
index c11b7cde81ef..a4f6f1fecc6f 100644

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

include/linux/nvme.h +4 -2
index 425573202295..c693ac344ec0 100644

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

include/linux/serial_core.h +19 -2
index 0a0f6e21d40e..4697b8f45044 100644

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

include/linux/syscalls.h +7 -1
index e619ac10cd23..ac3db59a74e2 100644

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

include/linux/workqueue.h +1 -1
index 158784dd189a..72031fa80414 100644

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

include/net/inet_connection_sock.h +1 -1
index ccf171f7eb60..146ece8563ca 100644

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

include/net/netfilter/nf_tables.h +5 -0
index 3f1ed467f951..2164fa350fa6 100644

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

include/trace/events/qdisc.h +2 -2
index 1f4258308b96..061fd4960303 100644

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

include/uapi/asm-generic/unistd.h +1 -1
index 75f00965ab15..060f68e4195b 100644

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

io_uring/io_uring.c +2 -2
index 8a216b1d6dc1..d3926a27714e 100644

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

kernel/bpf/arena.c +14 -2
index 343c3456c8dd..a59ae9c58225 100644

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

kernel/bpf/core.c +5 -1
index 1ea5ce5bb599..80bcfde92720 100644

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

kernel/bpf/ringbuf.c +25 -6
index 0ee653a936ea..e20b90c36131 100644

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

kernel/bpf/verifier.c +64 -5

69 lines not on this page · raw message

kernel/cpu.c +7 -4
index 563877d6c28b..3d2bf1d50a0c 100644

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

kernel/sys_ni.c +1 -1
index faad00cce269..858196ff9b89 100644

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

mm/kasan/common.c +1 -1
index e7c9a4dc89f8..85e7c6b4575c 100644

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

mm/memory.c +2 -1
index d2155ced45f8..4bd6d68f1b17 100644

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

mm/page_alloc.c +7 -2
index 14d39f34d336..00fafda76bde 100644

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

mm/vmalloc.c +15 -6
index 109272b8ee2e..2cd015e97610 100644

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

net/batman-adv/originator.c +27 -0
index ac74f6ead62d..8f6dd2c6ee41 100644

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

net/can/j1939/main.c +1 -5
index a6fb89fa6278..7e8a20f2fc42 100644

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

net/can/j1939/transport.c +19 -2
index fe3df23a2595..4be73de5033c 100644

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

net/core/filter.c +3 -0
index ce255e0a2fbd..15d850ea7d4a 100644

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

net/core/xdp.c +1 -3
index 41693154e426..022c12059cf2 100644

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

net/dccp/ipv4.c +5 -2
index 44b033fe1ef6..f94d30b17199 100644

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

net/dccp/ipv6.c +5 -2
index ded07e09f813..ddbd490b3531 100644

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

net/ipv4/inet_connection_sock.c +13 -4
index 3b38610958ee..39e9070fe3cd 100644

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

net/ipv4/tcp_input.c +33 -12

45 lines not on this page · raw message

net/iucv/iucv.c +18 -8
index a4ab615ca3e3..5e37a8ceebcb 100644

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

net/netfilter/nf_hooks_lwtunnel.c +3 -0
index 7cdb59bb4459..d8ebebc9775d 100644

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

net/netfilter/nf_tables_api.c +4 -4
index 167074283ea9..faa77b031d1f 100644

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

net/netfilter/nft_lookup.c +2 -1
index b314ca728a29..f3080fa1b226 100644

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

net/openvswitch/conntrack.c +6 -1
index 2928c142a2dd..3b980bf2770b 100644

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

net/sunrpc/svc.c +4 -1
index 2b4b1276d4e8..d9cda1e53a01 100644

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

net/unix/af_unix.c +31 -6
index 68a58bc07cf2..24286ce0ef3e 100644

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

scripts/Makefile.dtbinst +1 -1
index 67956f6496a5..9d920419a62c 100644

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

scripts/Makefile.package +1 -1
index 38653f3e8108..bf016af8bf8a 100644

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

scripts/package/kernel.spec +3 -5
index e095eb1e290e..fffc8af8deb1 100644

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

security/integrity/evm/evm_main.c +7 -5
index 81dbade5b9b3..518b3090cdb7 100644

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

sound/core/seq/seq_ump_convert.c +6 -4
index d81f776a4c3d..e90b27a135e6 100644

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

sound/pci/hda/patch_realtek.c +3 -0
index 3e6de1d86022..3a56434c86bd 100644

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

sound/soc/amd/acp/acp-i2s.c +0 -8
index 60cbc881be6e..ef12f97ddc69 100644

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

sound/soc/amd/acp/acp-pci.c +7 -5
index ad320b29e87d..777b5a78d8a9 100644

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

sound/soc/atmel/atmel-classd.c +5 -2
index 6aed1ee443b4..ba314b279919 100644

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

sound/soc/codecs/cs42l43-jack.c +2 -2
index 901b9dbcf585..d9ab003e166b 100644

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

sound/soc/fsl/fsl-asoc-card.c +2 -1
index bc07f26ba303..e5ba256b3de2 100644

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

sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c +5 -5
index acaf81fd6c9b..f848e14b091a 100644

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

sound/soc/mediatek/mt8195/mt8195-mt6359.c +1 -0
index 53fd8a897b9d..c25a526c90d2 100644

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

sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +20 -12
index 68a38f63a2db..66b911b49e3f 100644

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

sound/soc/rockchip/rockchip_i2s_tdm.c +11 -2
index 9fa020ef7eab..ee517d7b5b7b 100644

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

sound/synth/emux/soundfont.c +11 -6
index 16f00097cb95..eed47e483024 100644

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

tools/power/x86/turbostat/turbostat.c +1 -1
index 98256468e248..8071a3ef2a2e 100644

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

tools/testing/cxl/test/cxl.c +4 -0
index 3482248aa344..90d5afd52dd0 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.