Skip to contentSkip to conversation

Linux 6.6.140

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages May 17 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.6.140 kernel.

All users of the 6.6 kernel series must upgrade.

The updated 6.6.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.6.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

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

 Makefile                                                       |    2 
 arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi                     |   20 
 arch/arm64/crypto/aes-modes.S                                  |    4 
 arch/arm64/kvm/arm.c                                           |    5 
 arch/arm64/kvm/hyp/nvhe/setup.c                                |    6 
 arch/arm64/kvm/vgic/vgic-mmio-v2.c                             |    2 
 arch/arm64/kvm/vgic/vgic-mmio-v3.c                             |    2 
 arch/arm64/mm/mmu.c                                            |   36 -
 arch/loongarch/kernel/cpu-probe.c                              |    7 
 arch/loongarch/kernel/syscall.c                                |    3 
 arch/loongarch/pci/acpi.c                                      |    5 
 arch/loongarch/pci/pci.c                                       |    3 
 arch/parisc/kernel/syscalls/syscall.tbl                        |    2 
 arch/powerpc/kexec/Makefile                                    |    2 
 arch/s390/kernel/debug.c                                       |    5 
 arch/um/drivers/cow_user.c                                     |    8 
 arch/x86/kernel/shstk.c                                        |   45 +
 arch/x86/kvm/hyperv.c                                          |    2 
 arch/x86/kvm/mmu/mmu.c                                         |   35 -
 arch/x86/kvm/svm/nested.c                                      |   56 +
 arch/x86/kvm/svm/svm.c                                         |   17 
 arch/x86/kvm/svm/svm.h                                         |    2 
 arch/x86/kvm/x86.c                                             |   62 +-
 block/bio-integrity.c                                          |    2 
 block/bio.c                                                    |   14 
 block/blk.h                                                    |   21 
 certs/extract-cert.c                                           |    6 
 crypto/authencesn.c                                            |    5 
 crypto/pcrypt.c                                                |    7 
 drivers/acpi/cppc_acpi.c                                       |    6 
 drivers/acpi/power.c                                           |    2 
 drivers/acpi/scan.c                                            |    2 
 drivers/acpi/video_detect.c                                    |    8 
 drivers/base/core.c                                            |   39 -
 drivers/base/dd.c                                              |   20 
 drivers/block/rbd.c                                            |    6 
 drivers/block/zram/zram_drv.c                                  |    3 
 drivers/bluetooth/virtio_bt.c                                  |   39 +
 drivers/bus/imx-weim.c                                         |    2 
 drivers/char/ipmi/ipmi_si_intf.c                               |   70 +-
 drivers/char/ipmi/ipmi_ssif.c                                  |   36 +
 drivers/char/tpm/tpm_tis_core.c                                |   11 
 drivers/clk/clk-rk808.c                                        |    2 
 drivers/clk/imx/clk-imx8-acm.c                                 |    3 
 drivers/clk/microchip/clk-mpfs-ccc.c                           |    6 
 drivers/cpuidle/cpuidle-powernv.c                              |    5 
 drivers/cpuidle/cpuidle-pseries.c                              |    5 
 drivers/crypto/atmel-aes.c                                     |    2 
 drivers/crypto/atmel-ecc.c                                     |    1 
 drivers/crypto/atmel-sha204a.c                                 |    6 
 drivers/crypto/atmel-tdes.c                                    |    8 
 drivers/crypto/caam/caamalg_qi2.c                              |    4 
 drivers/crypto/caam/caamhash.c                                 |    4 
 drivers/crypto/ccree/cc_hash.c                                 |    1 
 drivers/crypto/hisilicon/sec/sec_algs.c                        |    2 
 drivers/crypto/nx/nx-842.c                                     |   47 -
 drivers/crypto/nx/nx-842.h                                     |   25 
 drivers/crypto/nx/nx-common-powernv.c                          |   31 -
 drivers/crypto/nx/nx-common-pseries.c                          |   33 -
 drivers/crypto/talitos.c                                       |  254 +++++----
 drivers/dma/idxd/device.c                                      |    3 
 drivers/extcon/extcon-ptn5150.c                                |   14 
 drivers/firmware/google/framebuffer-coreboot.c                 |   12 
 drivers/gpio/gpiolib-of.c                                      |    9 
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c               |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c                    |   43 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c                       |   13 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h                       |   11 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c                        |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c                        |    3 
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c                          |    3 
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c                         |    4 
 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c                          |   25 
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c                          |   46 +
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c                       |   29 -
 drivers/gpu/drm/amd/amdkfd/kfd_priv.h                          |    4 
 drivers/gpu/drm/amd/amdkfd/kfd_topology.c                      |   11 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c              |    5 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h              |    1 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c    |    7 
 drivers/gpu/drm/amd/pm/powerplay/smumgr/ci_smumgr.c            |   13 
 drivers/gpu/drm/drm_gem_framebuffer_helper.c                   |    4 
 drivers/gpu/drm/nouveau/nouveau_gem.c                          |    2 
 drivers/gpu/drm/radeon/ci_dpm.c                                |    9 
 drivers/gpu/drm/tiny/arcpgu.c                                  |    3 
 drivers/hid/hid-playstation.c                                  |    6 
 drivers/hwmon/corsair-psu.c                                    |    4 
 drivers/hwmon/ltc2992.c                                        |   43 +
 drivers/i2c/i2c-core-of.c                                      |    2 
 drivers/iio/adc/ad7768-1.c                                     |    9 
 drivers/iio/adc/ti-ads7950.c                                   |   11 
 drivers/infiniband/core/addr.c                                 |    3 
 drivers/infiniband/hw/hns/hns_roce_qp.c                        |    7 
 drivers/infiniband/hw/mana/qp.c                                |   15 
 drivers/infiniband/hw/mlx4/srq.c                               |    4 
 drivers/infiniband/hw/mlx5/main.c                              |    1 
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c                    |    4 
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c                |    2 
 drivers/infiniband/sw/rxe/rxe_recv.c                           |   14 
 drivers/infiniband/sw/rxe/rxe_resp.c                           |   14 
 drivers/iommu/amd/amd_iommu_types.h                            |    2 
 drivers/iommu/amd/init.c                                       |    2 
 drivers/iommu/amd/iommu.c                                      |   18 
 drivers/iommu/iommufd/io_pagetable.c                           |   10 
 drivers/leds/rgb/leds-qcom-lpg.c                               |    7 
 drivers/md/dm-ioctl.c                                          |    6 
 drivers/md/dm-raid1.c                                          |    6 
 drivers/md/dm-verity-fec.c                                     |    8 
 drivers/md/persistent-data/dm-btree-remove.c                   |    8 
 drivers/md/raid10.c                                            |    6 
 drivers/md/raid5-cache.c                                       |   48 +
 drivers/md/raid5.c                                             |    8 
 drivers/media/common/videobuf2/videobuf2-dma-sg.c              |    1 
 drivers/media/dvb-frontends/dib8000.c                          |    4 
 drivers/media/i2c/imx219.c                                     |    3 
 drivers/media/i2c/imx412.c                                     |    2 
 drivers/media/i2c/ov08d10.c                                    |   10 
 drivers/media/i2c/ov8856.c                                     |   10 
 drivers/media/pci/saa7164/saa7164-core.c                       |   47 +
 drivers/media/pci/zoran/zoran_card.c                           |    2 
 drivers/media/platform/amphion/vpu_v4l2.c                      |    9 
 drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c           |    1 
 drivers/media/platform/ti/omap3isp/ispvideo.c                  |    1 
 drivers/media/rc/igorplugusb.c                                 |   16 
 drivers/media/rc/streamzap.c                                   |   12 
 drivers/media/rc/ttusbir.c                                     |   13 
 drivers/media/rc/xbox_remote.c                                 |    9 
 drivers/media/usb/uvc/uvc_queue.c                              |    3 
 drivers/mfd/stpmic1.c                                          |   20 
 drivers/misc/ibmasm/ibmasmfs.c                                 |    7 
 drivers/misc/ibmasm/lowlevel.c                                 |   12 
 drivers/misc/ibmasm/remote.c                                   |    5 
 drivers/mmc/core/block.c                                       |   12 
 drivers/mmc/core/card.h                                        |    5 
 drivers/mmc/core/queue.c                                       |    8 
 drivers/mmc/core/queue.h                                       |    3 
 drivers/mmc/core/quirks.h                                      |    9 
 drivers/mmc/host/sdhci-of-dwcmshc.c                            |   19 
 drivers/mtd/devices/docg3.c                                    |    8 
 drivers/mtd/spi-nor/debugfs.c                                  |    4 
 drivers/mtd/spi-nor/sst.c                                      |   50 +
 drivers/net/bonding/bond_main.c                                |    6 
 drivers/net/can/usb/ucan.c                                     |    2 
 drivers/net/ethernet/ibm/ibmveth.c                             |   22 
 drivers/net/ethernet/ibm/ibmveth.h                             |    1 
 drivers/net/ethernet/micrel/ks8851.h                           |    6 
 drivers/net/ethernet/micrel/ks8851_common.c                    |   69 +-
 drivers/net/ethernet/micrel/ks8851_par.c                       |   15 
 drivers/net/ethernet/micrel/ks8851_spi.c                       |   11 
 drivers/net/ethernet/microsoft/mana/mana_en.c                  |   11 
 drivers/net/ethernet/stmicro/stmmac/chain_mode.c               |    2 
 drivers/net/ethernet/stmicro/stmmac/common.h                   |    2 
 drivers/net/ethernet/stmicro/stmmac/ring_mode.c                |    2 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c              |   47 -
 drivers/net/ethernet/wangxun/libwx/wx_hw.c                     |    7 
 drivers/net/ethernet/wangxun/txgbe/txgbe_main.c                |    3 
 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c                 |    2 
 drivers/net/phy/mdio_bus.c                                     |    4 
 drivers/net/wireless/ath/ath5k/base.c                          |    3 
 drivers/net/wireless/broadcom/b43/xmit.c                       |    3 
 drivers/net/wireless/broadcom/b43legacy/xmit.c                 |    3 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c        |    6 
 drivers/net/wireless/marvell/mwifiex/init.c                    |    2 
 drivers/net/wireless/mediatek/mt76/mt76_connac.h               |    6 
 drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c           |    4 
 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c           |    3 
 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h           |    2 
 drivers/net/wireless/mediatek/mt76/mt7921/main.c               |    7 
 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c                |    3 
 drivers/net/wireless/mediatek/mt76/mt792x_regs.h               |    4 
 drivers/net/wireless/mediatek/mt76/mt792x_usb.c                |   51 +
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c          |   28 
 drivers/net/wireless/realtek/rtw88/pci.c                       |    3 
 drivers/net/wireless/rsi/rsi_common.h                          |    5 
 drivers/net/wwan/t7xx/t7xx_modem_ops.c                         |   20 
 drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c                     |   18 
 drivers/net/wwan/t7xx/t7xx_port_proxy.h                        |    2 
 drivers/nvme/host/apple.c                                      |    6 
 drivers/nvme/host/core.c                                       |    2 
 drivers/nvme/host/pci.c                                        |    2 
 drivers/nvme/target/core.c                                     |    2 
 drivers/of/base.c                                              |    2 
 drivers/of/dynamic.c                                           |    2 
 drivers/of/platform.c                                          |    2 
 drivers/of/unittest.c                                          |    1 
 drivers/parisc/lasi.c                                          |   12 
 drivers/pci/endpoint/functions/pci-epf-mhi.c                   |    4 
 drivers/pci/endpoint/functions/pci-epf-ntb.c                   |   56 -
 drivers/pci/pci.c                                              |    7 
 drivers/pci/pcie/aer.c                                         |    2 
 drivers/platform/x86/hp/hp-wmi.c                               |    5 
 drivers/power/supply/axp288_charger.c                          |   19 
 drivers/power/supply/max17042_battery.c                        |    2 
 drivers/pwm/pwm-imx-tpm.c                                      |    8 
 drivers/regulator/act8945a-regulator.c                         |    3 
 drivers/regulator/bd9571mwv-regulator.c                        |    3 
 drivers/regulator/max77650-regulator.c                         |    2 
 drivers/regulator/mt6357-regulator.c                           |    2 
 drivers/regulator/rk808-regulator.c                            |    3 
 drivers/remoteproc/xlnx_r5_remoteproc.c                        |   20 
 drivers/rtc/rtc-ntxec.c                                        |    2 
 drivers/scsi/sd.c                                              |    1 
 drivers/spi/spi-at91-usart.c                                   |    8 
 drivers/spi/spi-atmel.c                                        |    8 
 drivers/spi/spi-bcm63xx.c                                      |    8 
 drivers/spi/spi-bcmbca-hsspi.c                                 |    4 
 drivers/spi/spi-cadence.c                                      |   15 
 drivers/spi/spi-coldfire-qspi.c                                |   10 
 drivers/spi/spi-dln2.c                                         |    8 
 drivers/spi/spi-fsl-espi.c                                     |   10 
 drivers/spi/spi-fsl-spi.c                                      |   14 
 drivers/spi/spi-img-spfi.c                                     |    8 
 drivers/spi/spi-imx.c                                          |    5 
 drivers/spi/spi-lantiq-ssc.c                                   |    8 
 drivers/spi/spi-meson-spicc.c                                  |    2 
 drivers/spi/spi-microchip-core-qspi.c                          |   41 -
 drivers/spi/spi-mpc52xx.c                                      |    3 
 drivers/spi/spi-mtk-nor.c                                      |    4 
 drivers/spi/spi-omap2-mcspi.c                                  |    8 
 drivers/spi/spi-orion.c                                        |    9 
 drivers/spi/spi-qup.c                                          |    8 
 drivers/spi/spi-rockchip.c                                     |    4 
 drivers/spi/spi-rspi.c                                         |   10 
 drivers/spi/spi-s3c64xx.c                                      |    9 
 drivers/spi/spi-sh-hspi.c                                      |   10 
 drivers/spi/spi-sprd.c                                         |    8 
 drivers/spi/spi-sun4i.c                                        |   80 +-
 drivers/spi/spi-sun6i.c                                        |  154 ++---
 drivers/spi/spi-synquacer.c                                    |   88 +--
 drivers/spi/spi-tegra114.c                                     |    8 
 drivers/spi/spi-tegra20-sflash.c                               |    8 
 drivers/spi/spi-ti-qspi.c                                      |   97 +--
 drivers/spi/spi-topcliff-pch.c                                 |    6 
 drivers/spi/spi-uniphier.c                                     |  212 +++----
 drivers/spi/spi-zynq-qspi.c                                    |   79 --
 drivers/spi/spi-zynqmp-gqspi.c                                 |    4 
 drivers/spi/spi.c                                              |   63 +-
 drivers/staging/media/atomisp/pci/atomisp_ioctl.c              |    4 
 drivers/staging/media/imx/imx-media-csi.c                      |   40 -
 drivers/staging/vme_user/vme_fake.c                            |    2 
 drivers/target/target_core_configfs.c                          |    2 
 drivers/thermal/sprd_thermal.c                                 |    4 
 drivers/thermal/thermal_core.c                                 |    7 
 drivers/usb/chipidea/core.c                                    |   45 -
 drivers/usb/chipidea/otg.c                                     |    7 
 drivers/usb/class/usblp.c                                      |    3 
 drivers/usb/common/ulpi.c                                      |    5 
 drivers/usb/dwc3/core.c                                        |   12 
 drivers/usb/gadget/udc/omap_udc.c                              |    4 
 drivers/usb/host/xhci.c                                        |    1 
 drivers/usb/serial/option.c                                    |    4 
 drivers/usb/typec/tcpm/tcpm.c                                  |    2 
 drivers/video/fbdev/core/fb_defio.c                            |  179 +++++-
 drivers/video/fbdev/core/fbcon_rotate.c                        |    5 
 drivers/video/fbdev/udlfb.c                                    |   31 +
 fs/binfmt_elf.c                                                |    2 
 fs/btrfs/ioctl.c                                               |    5 
 fs/btrfs/space-info.c                                          |    2 
 fs/ceph/dir.c                                                  |    6 
 fs/erofs/decompressor.c                                        |    1 
 fs/erofs/dir.c                                                 |   28 
 fs/ext2/inode.c                                                |   14 
 fs/ext4/extents.c                                              |   15 
 fs/ext4/xattr.c                                                |    6 
 fs/f2fs/data.c                                                 |   32 -
 fs/f2fs/extent_cache.c                                         |   17 
 fs/f2fs/f2fs.h                                                 |    2 
 fs/f2fs/inode.c                                                |    2 
 fs/f2fs/node.c                                                 |   17 
 fs/f2fs/segment.c                                              |    6 
 fs/f2fs/super.c                                                |   11 
 fs/hfsplus/bfind.c                                             |   51 +
 fs/hfsplus/catalog.c                                           |    4 
 fs/hfsplus/dir.c                                               |    2 
 fs/hfsplus/hfsplus_fs.h                                        |    9 
 fs/hfsplus/super.c                                             |    6 
 fs/isofs/export.c                                              |    2 
 fs/isofs/rock.c                                                |    9 
 fs/notify/fsnotify.c                                           |    2 
 fs/notify/inotify/inotify_user.c                               |    1 
 fs/notify/mark.c                                               |   18 
 fs/ntfs3/run.c                                                 |   18 
 fs/ocfs2/aops.c                                                |   74 +-
 fs/smb/client/cached_dir.c                                     |    8 
 fs/smb/client/cifsacl.c                                        |  177 ++++--
 fs/smb/client/cifsacl.h                                        |   91 ---
 fs/smb/client/smb2inode.c                                      |   12 
 fs/smb/client/smb2misc.c                                       |    3 
 fs/smb/client/smb2ops.c                                        |   11 
 fs/smb/common/smbacl.h                                         |  122 ++++
 fs/smb/server/connection.c                                     |   28 
 fs/smb/server/connection.h                                     |    6 
 fs/smb/server/smb2pdu.c                                        |    4 
 fs/smb/server/smbacl.c                                         |   48 +
 fs/smb/server/smbacl.h                                         |  113 ----
 fs/smb/server/transport_rdma.c                                 |    5 
 fs/smb/server/transport_tcp.c                                  |   25 
 fs/smb/server/vfs_cache.c                                      |   40 +
 fs/tracefs/event_inode.c                                       |   14 
 fs/tracefs/inode.c                                             |    5 
 fs/tracefs/internal.h                                          |    3 
 fs/udf/misc.c                                                  |    8 
 fs/udf/super.c                                                 |    4 
 fs/userfaultfd.c                                               |    2 
 fs/xfs/xfs_buf.c                                               |    1 
 include/linux/bpf_verifier.h                                   |   31 -
 include/linux/damon.h                                          |    2 
 include/linux/device.h                                         |   45 +
 include/linux/f2fs_fs.h                                        |    1 
 include/linux/fb.h                                             |    4 
 include/linux/fsnotify_backend.h                               |    1 
 include/linux/fwnode.h                                         |   44 +
 include/linux/mmap_lock.h                                      |    6 
 include/linux/mmc/card.h                                       |    1 
 include/linux/padata.h                                         |    4 
 include/linux/printk.h                                         |   13 
 include/linux/randomize_kstack.h                               |   26 
 include/linux/sched.h                                          |    4 
 include/linux/tpm_eventlog.h                                   |    9 
 include/linux/usb.h                                            |    3 
 include/net/mana/mana.h                                        |    1 
 include/net/mctp.h                                             |    3 
 include/trace/events/rxrpc.h                                   |    6 
 include/video/udlfb.h                                          |    1 
 init/main.c                                                    |    1 
 io_uring/poll.c                                                |   14 
 io_uring/timeout.c                                             |    4 
 kernel/bpf/verifier.c                                          |  236 +++++---
 kernel/exit.c                                                  |    3 
 kernel/fork.c                                                  |    2 
 kernel/locking/rtmutex.c                                       |   13 
 kernel/padata.c                                                |  136 +---
 kernel/regset.c                                                |    6 
 kernel/sched/core.c                                            |    2 
 kernel/sched/rt.c                                              |    2 
 kernel/sched/sched.h                                           |    2 
 kernel/taskstats.c                                             |    1 
 kernel/trace/trace_probe.c                                     |    6 
 kernel/trace/trace_probe.h                                     |    4 
 kernel/tracepoint.c                                            |    2 
 lib/crypto/mpi/mpicoder.c                                      |    2 
 lib/scatterlist.c                                              |    8 
 lib/test_hmm.c                                                 |   86 +--
 lib/ts_kmp.c                                                   |   18 
 mm/damon/core.c                                                |   37 +
 mm/damon/lru_sort.c                                            |   88 +--
 mm/damon/reclaim.c                                             |   88 +--
 mm/damon/sysfs-schemes.c                                       |   12 
 mm/hugetlb.c                                                   |    1 
 net/batman-adv/bat_iv_ogm.c                                    |   85 ++-
 net/batman-adv/bridge_loop_avoidance.c                         |   11 
 net/batman-adv/main.c                                          |    1 
 net/batman-adv/tp_meter.c                                      |  116 +++-
 net/batman-adv/tp_meter.h                                      |    1 
 net/batman-adv/types.h                                         |    4 
 net/bluetooth/hci_conn.c                                       |   19 
 net/bluetooth/hci_event.c                                      |   45 +
 net/bluetooth/l2cap_sock.c                                     |    9 
 net/bluetooth/mgmt.c                                           |  262 ++++++---
 net/bluetooth/mgmt_util.c                                      |   46 +
 net/bluetooth/mgmt_util.h                                      |    3 
 net/bridge/br_arp_nd_proxy.c                                   |    8 
 net/bridge/br_fdb.c                                            |   28 
 net/caif/cfsrvl.c                                              |   14 
 net/ceph/auth.c                                                |    4 
 net/ceph/mon_client.c                                          |    2 
 net/core/flow_dissector.c                                      |   13 
 net/core/rtnetlink.c                                           |    1 
 net/ipv4/ah4.c                                                 |   29 -
 net/ipv4/icmp.c                                                |    8 
 net/ipv4/inet_connection_sock.c                                |    3 
 net/ipv6/ah6.c                                                 |   27 
 net/ipv6/exthdrs.c                                             |    9 
 net/ipv6/ip6_gre.c                                             |    5 
 net/ipv6/rpl_iptunnel.c                                        |    9 
 net/ipv6/seg6_iptunnel.c                                       |   12 
 net/ipv6/xfrm6_protocol.c                                      |    4 
 net/mac80211/mlme.c                                            |    9 
 net/mac80211/rx.c                                              |    2 
 net/mctp/route.c                                               |    8 
 net/mptcp/protocol.c                                           |    3 
 net/mptcp/sockopt.c                                            |   12 
 net/mptcp/subflow.c                                            |    4 
 net/netfilter/nft_bitwise.c                                    |    3 
 net/openvswitch/vport-netdev.c                                 |    6 
 net/qrtr/ns.c                                                  |   86 ++-
 net/rds/message.c                                              |   20 
 net/rds/rdma.c                                                 |    4 
 net/rxrpc/ar-internal.h                                        |    1 
 net/rxrpc/call_event.c                                         |   27 
 net/rxrpc/conn_event.c                                         |   44 +
 net/rxrpc/io_thread.c                                          |   24 
 net/rxrpc/rxkad.c                                              |  112 +--
 net/rxrpc/skbuff.c                                             |    9 
 net/sched/sch_red.c                                            |    2 
 net/sctp/socket.c                                              |    9 
 net/smc/smc_clc.c                                              |    4 
 net/strparser/strparser.c                                      |    8 
 net/unix/af_unix.c                                             |    3 
 net/vmw_vsock/af_vsock.c                                       |    6 
 net/vmw_vsock/hyperv_transport.c                               |    4 
 net/vmw_vsock/virtio_transport_common.c                        |   11 
 net/xfrm/xfrm_state.c                                          |   12 
 net/xfrm/xfrm_user.c                                           |    1 
 security/selinux/hooks.c                                       |    3 
 security/selinux/selinuxfs.c                                   |   54 -
 sound/aoa/codecs/onyx.c                                        |  104 +--
 sound/aoa/codecs/tas.c                                         |  113 +---
 sound/aoa/core/gpio-feature.c                                  |   20 
 sound/aoa/core/gpio-pmf.c                                      |   26 
 sound/aoa/soundbus/i2sbus/core.c                               |   12 
 sound/aoa/soundbus/i2sbus/pcm.c                                |  143 ++---
 sound/core/control.c                                           |    4 
 sound/core/misc.c                                              |   44 -
 sound/core/seq/oss/seq_oss_rw.c                                |    6 
 sound/core/seq/seq_clientmgr.c                                 |    9 
 sound/core/seq/seq_clientmgr.h                                 |    5 
 sound/core/seq/seq_ump_client.c                                |    4 
 sound/drivers/pcmtest.c                                        |   19 
 sound/firewire/tascam/tascam-hwdep.c                           |    1 
 sound/pci/ctxfi/ctatc.c                                        |    3 
 sound/pci/hda/cs35l56_hda.c                                    |   19 
 sound/soc/amd/yc/acp6x-mach.c                                  |   14 
 sound/soc/fsl/fsl_easrc.c                                      |    2 
 sound/soc/intel/boards/bytcr_wm5102.c                          |    1 
 sound/soc/qcom/qdsp6/q6apm-dai.c                               |    1 
 sound/soc/qcom/qdsp6/q6apm-lpass-dais.c                        |    2 
 sound/soc/qcom/qdsp6/q6apm.c                                   |    3 
 sound/soc/sof/compress.c                                       |    3 
 sound/usb/6fire/control.c                                      |   10 
 sound/usb/caiaq/control.c                                      |   52 +
 sound/usb/caiaq/device.c                                       |   35 -
 sound/usb/caiaq/input.c                                        |    2 
 sound/usb/endpoint.c                                           |    6 
 sound/usb/format.c                                             |    2 
 sound/usb/midi2.c                                              |    9 
 sound/usb/misc/ua101.c                                         |    7 
 sound/usb/mixer.c                                              |    7 
 sound/usb/mixer_quirks.c                                       |   12 
 sound/usb/stream.c                                             |    4 
 tools/accounting/getdelays.c                                   |   41 +
 tools/accounting/procacct.c                                    |   40 +
 tools/testing/ktest/ktest.pl                                   |    2 
 tools/testing/selftests/bpf/progs/verifier_spill_fill.c        |  281 ++++++++++
 tools/testing/selftests/bpf/progs/verifier_subprog_precision.c |   87 ++-
 tools/testing/selftests/bpf/verifier/precise.c                 |   38 -
 tools/testing/selftests/mqueue/setting                         |    1 
 tools/testing/selftests/mqueue/settings                        |    1 
 448 files changed, 5508 insertions(+), 2882 deletions(-)

Aaro Koskinen (1):
USB: omap_udc: DMA: Don't enable burst 4 mode

Abdun Nihaal (1):
media: pci: zoran: fix potential memory leak in zoran_probe()

Alex Deucher (3):
drm/radeon: add missing revision check for CI drm/amdgpu/pm: add missing revision check for CI drm/amdgpu/pm: align Hawaii mclk workaround with radeon

Alexander Koskovich (1):
media: i2c: ov8856: free control handler on error in ov8856_init_controls()

Alistair Popple (1):
lib: test_hmm: evict device pages on file close to avoid use-after-free

Alysa Liu (2):
drm/amdkfd: Add upper bound check for num_of_nodes drm/amdkfd: validate SVM ioctl nattr against buffer size

Amir Shetaia (1):
drm/amdkfd: Clear VRAM on allocation to prevent stale data exposure

Amit Kumar Mahapatra (1):
mtd: spi-nor: sst: Fix SST write failure

Amit Sunil Dhamne (1):
usb: typec: tcpm: reset internal port states on soft reset AMS

Andrea Mayer (2):
seg6: fix seg6 lwtunnel output redirect for L2 reduced encap mode
net: ipv6: fix NOREF dst use in seg6 and rpl lwtunnels

Andrii Nakryiko (10):
bpf: support non-r10 register spill/fill to/from stack in precision tracking selftests/bpf: add stack access precision test
bpf: preserve STACK_ZERO slots on partial reg spills selftests/bpf: validate STACK_ZERO is preserved on subreg spill
bpf: preserve constant zero when doing partial register restore selftests/bpf: validate zero preservation for sub-slot loads
bpf: track aligned STACK_ZERO cases as imprecise spilled registers selftests/bpf: validate precision logic in partial_stack_load_preserves_zeros
bpf: handle fake register spill to stack with BPF_ST_MEM instruction selftests/bpf: validate fake register spill/fill precision backtracking logic

André Draszik (1):
power: supply: max17042: avoid overflow when determining health

Ankit Soni (1):
iommu/amd: serialize sequence allocation under concurrent TLB invalidations

Anshuman Khandual (1):
arm64/mm: Enable batched TLB flush in unmap_hotplug_range()

Ao Zhou (1):
net: rds: fix MR cleanup on copy error

Ard Biesheuvel (1):
crypto: nx - Migrate to scomp API

Arjan van de Ven (1):
drm/amdgpu: fix zero-size GDS range init on RDNA4

Arnd Bergmann (1):
tpm: avoid -Wunused-but-set-variable

Ashutosh Desai (1):
drm/gem: Fix inconsistent plane dimension calculation in drm_gem_fb_init_with_funcs()

Bartosz Golaszewski (1):
gpio: of: clear OF_POPULATED on hog nodes in remove path

Ben Levinsky (1):
remoteproc: xlnx: Only access buffer information if IPI is buffered

Ben Morris (1):
sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL

Bence Csókás (1):
mtd: spi-nor: sst: Factor out common write operation to sst_nor_write_data()

Benjamin Cheng (7):
drm/amdgpu: Add bounds checking to ib_{get,set}_value drm/amdgpu/vcn4: Prevent OOB reads when parsing IB drm/amdgpu/vce: Prevent partial address patches drm/amdgpu/vcn4: Prevent OOB reads when parsing dec msg drm/amdgpu/vcn3: Prevent OOB reads when parsing dec msg drm/amdgpu/vcn3: Avoid overflow on msg bound check drm/amdgpu/vcn4: Avoid overflow on msg bound check

Bin Liu (1):
mmc: block: use single block write in retry

Bjoern Doebel (1):
smb: client: use kzalloc to zero-initialize security descriptor buffer

Catherine (1):
wifi: mac80211: drop stray 'static' from fast-RX rx_result

Cen Zhang (1):
f2fs: add READ_ONCE() for i_blocks in f2fs_update_inode()

Chaitanya Kulkarni (1):
nvmet: avoid recursive nvmet-wq flush in nvmet_ctrl_free

Chao Yu (2):
f2fs: fix to detect potential corrupted nid in free_nid_list
f2fs: fix to do sanity check on dcc->discard_cmd_cnt conditionally

Chen Ni (1):
media: i2c: imx219: Check return value of devm_gpiod_get_optional() in imx219_probe()

Chen Zhao (1):
IB/core: Fix zero dmac race in neighbor resolution

ChenXiaoSong (1):
smb: move some duplicate definitions to common/smbacl.h

Chia-Ming Chang (2):
md/raid5: fix soft lockup in retry_aligned_read()
inotify: fix watch count leak when fsnotify_add_inode_mark_locked() fails

Christian A. Ehrhardt (2):
lib/scatterlist: fix length calculations in extract_kvec_to_sg lib/scatterlist: fix temp buffer in extract_user_to_sg()

Conor Dooley (1):
clk: microchip: mpfs-ccc: fix out of bounds access during output registration

Corey Minyard (5):
ipmi: Add limits to event and receive message requests
ipmi: Check event message buffer response for bad data ipmi:si: Return state to normal if message allocation fails ipmi:ssif: Fix a shutdown race
ipmi:ssif: Clean up kthread on errors

Cássio Gabriel (16):
ALSA: usb-audio: stop parsing UAC2 rates at MAX_NR_RATES
ALSA: usb-audio: Avoid false E-MU sample-rate notifications
ALSA: usb-audio: Fix Audio Advantage Micro II SPDIF switch
ALSA: aoa: i2sbus: fix OF node lifetime handling
ALSA: seq_oss: return full count for successful SEQ_FULLSIZE writes
ALSA: caiaq: Fix control_put() result and cache rollback
ALSA: 6fire: Fix input volume change detection
ALSA: pcmtest: Fix resource leaks in module init error paths
ALSA: usb-audio: midi2: Restart output URBs on resume
ALSA: usb-audio: Fix UAC3 cluster descriptor size check
ALSA: firewire-tascam: Do not drop unread control events
ASoC: Intel: bytcr_wm5102: Fix MCLK leak on platform_clock_control error
ALSA: aoa: i2sbus: clear stale prepared state
ALSA: hda: cs35l56: Propagate ASP TX source control errors
ALSA: core: Serialize deferred fasync state checks
ALSA: seq: Fix UMP group 16 filtering

DaeMyung Kang (1):
ksmbd: reset rcount per connection in ksmbd_conn_wait_idle_sess_id()

Daniel Hodges (2):
wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup()
PCI: epf-mhi: Return 0, not remaining timeout, when eDMA ops complete

David Carlier (3):
eventfs: Hold eventfs_mutex and SRCU when remount walks events
tracepoint: balance regfunc() on func_add() failure in tracepoint_add_func()
Bluetooth: hci_conn: fix potential UAF in create_big_sync

David Howells (6):
rxrpc: Fix memory leaks in rxkad_verify_response()
rxrpc: Fix rxkad crypto unalignment handling
rxrpc: Fix re-decryption of RESPONSE packets
rxrpc: Fix potential UAF after skb_unshare() failure
rxrpc: Fix rxrpc_input_call_event() to only unshare DATA packets
rxrpc: Fix conn-level packet handling to unshare RESPONSE packets

David Lechner (1):
iio: adc: ti-ads7950: use iio_push_to_buffers_with_ts_unaligned()

David Windsor (1):
selinux: don't reserve xattr slot when we won't fill it

David Woodhouse (1):
KVM: arm64: vgic: Fix IIDR revision field extracted from wrong value

Dawei Feng (1):
rbd: fix null-ptr-deref when device_add_disk() fails

Deepanshu Kartikey (3):
ext4: fix bounds check in check_xattrs() to prevent out-of-bounds access
ALSA: caiaq: fix usb_dev refcount leak on probe failure
hfsplus: fix uninit-value by validating catalog record size

Denis M. Karpov (1):
userfaultfd: allow registration of ranges below mmap_min_addr

Deren Wu (1):
wifi: mt76: connac: introduce helper for mt7925 chipset

Dong Chenchen (1):
net: Fix icmp host relookup triggering ip_rt_bug

Douglas Anderson (4):
regset: use kvzalloc() for regset_get_alloc()
device property: Make modifications of fwnode "flags" thread safe driver core: Don't let a device probe until it's ready driver core: Add kernel-doc for DEV_FLAG_COUNT enum value

Dudu Lu (1):
vsock/virtio: fix accept queue count leak on transport mismatch

Eric Biggers (5):
crypto: arm64/aes - Fix 32-bit aes_mac_update() arg treated as 64-bit
dm-verity-fec: correctly reject too-small FEC devices
dm-verity-fec: correctly reject too-small hash devices
net: ipv4: stop checking crypto_ahash_alignmask
net: ipv6: stop checking crypto_ahash_alignmask

Fabio Porcedda (1):
USB: serial: option: add Telit Cinterion LE910Cx compositions

Fan Wu (1):
media: mtk-jpeg: fix use-after-free in release path due to uncancelled work

Fedor Pchelkin (2):
wifi: rtw88: check for PCI upstream bridge existence
nvme-apple: drop invalid put of admin queue reference count

Felix Gu (2):
spi: meson-spicc: Fix double-put in remove path
usb: ulpi: fix memory leak on ulpi_register() error paths

Francesco Dolcini (1):
arm64: dts: ti: am62-verdin: Enable pullup for eMMC data pins

Gang Yan (2):
mptcp: sockopt: set timestamp flags on subflow socket, not msk
mptcp: fix scheduling with atomic in timestamp sockopt

Gao Xiang (1):
erofs: fix the out-of-bounds nameoff handling for trailing dirents

Greg Kroah-Hartman (8):
drm/nouveau: fix u32 overflow in pushbuf reloc bounds check
leds: qcom-lpg: Check for array overflow when selecting the high resolution
LoongArch: Add spectre boundry for syscall dispatch table
ipv6: rpl: reserve mac_len headroom when recompressed SRH grows
scsi: target: configfs: Bound snprintf() return in tg_pt_gp_members_show()
usb: usblp: fix heap leak in IEEE 1284 device ID via short response
usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl Linux 6.6.140

Guangshuo Li (3):
ALSA: pcmtest: fix reference leak on failed device registration
ACPI: scan: Use acpi_dev_put() in object add error paths
btrfs: fix double free in create_space_info() error path

Gustavo A. R. Silva (1):
crypto: nx - Avoid -Wflex-array-member-not-at-end warning

Hamza Mahfooz (1):
hv_sock: fix ARM64 support

Haoxiang Li (3):
crypto: ccree - fix a memory leak in cc_mac_digest()
media: omap3isp: drop the use count of v4l2 pipeline
xfs: fix a resource leak in xfs_alloc_buftarg()

Harin Lee (1):
ALSA: ctxfi: Add fallback to default RSR for S/PDIF

Helge Deller (1):
parisc: _llseek syscall is only available for 32-bit userspace

Heming Zhao (1):
ocfs2: split transactions in dio completion to avoid credit exhaustion

Herbert Xu (3):
padata: Fix pd UAF once and for all
padata: Remove comment for reorder_work
crypto: pcrypt - Fix handling of MAY_BACKLOG requests

Hongling Zeng (1):
parisc: Fix IRQ leak in LASI driver

Huacai Chen (2):
LoongArch: Show CPU vulnerabilites correctly
LoongArch: Use per-root-bridge PCIH flag to skip mem resource fixup

Hyunwoo Kim (1):
rxrpc: Also unshare DATA/RESPONSE packets when paged frags are present

Ilya Maximets (1):
openvswitch: vport: fix self-deadlock on release of tunnel ports

Jacqueline Wong (2):
tpm: tpm_tis: add error logging for data transfer
tpm: tpm_tis: stop transmit if retries are exhausted

Jamal Hadi Salim (1):
net/sched: sch_red: Replace direct dequeue call with peek and qdisc_dequeue_peeked

James Kim (1):
mtd: docg3: fix use-after-free in docg3_release()

Jann Horn (1):
exit: prevent preemption of oopsing TASK_DEAD task

Janne Grunau (1):
media: videobuf2: Set vma_flags in vb2_dma_sg_mmap

Jason Gunthorpe (4):
RDMA/hns: Fix unlocked call to hns_roce_qp_remove() RDMA/mlx4: Fix resource leak on error in mlx4_ib_create_srq() RDMA/ocrdma: Don't NULL deref uctx on errors in ocrdma_copy_pd_uresp() RDMA/vmw_pvrdma: Fix double free on pvrdma_alloc_ucontext() error path

Jens Axboe (2):
io_uring/poll: ensure EPOLL_ONESHOT is propagated for EPOLL_URING_WAKE io_uring/poll: fix multishot recv missing EOF on wakeup race

Jeongjun Park (1):
wifi: rsi: fix kthread lifetime race between self-exit and external-stop

Jesse.Zhang (1):
drm/amdgpu: Limit BO list entry count to prevent resource exhaustion

Jianpeng Chang (1):
Bluetooth: MGMT: Fix memory leak in set_ssp_complete

Jiawen Wu (3):
net: txgbe: fix firmware version check
net: txgbe: fix RTNL assertion warning when remove module
net: libwx: fix VF illegal register access

Jiexun Wang (4):
af_unix: Reject SIOCATMARK on non-stream sockets
batman-adv: reject new tp_meter sessions during teardown
batman-adv: stop caching unowned originator pointers in BAT IV
batman-adv: stop tp_meter sessions during mesh teardown

Jinjie Ruan (1):
ACPI: CPPC: Fix related_cpus inconsistency during CPU hotplug

Jiri Slaby (SUSE) (1):
wifi: ath5k: do not access array OOB

Johan Hovold (47):
spi: imx: fix use-after-free on unbind
rtc: ntxec: fix OF node reference imbalance
can: ucan: fix devres lifetime
spi: rockchip: fix controller deregistration
spi: zynqmp-gqspi: fix controller deregistration
spi: s3c64xx: fix NULL-deref on driver unbind
staging: vme_user: fix root device leak on init failure
clk: rk808: fix OF node reference imbalance
spi: topcliff-pch: fix use-after-free on unbind
spi: bcm63xx: fix controller deregistration
spi: atmel: fix controller deregistration
regulator: mt6357: fix OF node reference imbalance
regulator: max77650: fix OF node reference imbalance
regulator: rk808: fix OF node reference imbalance
regulator: act8945a: fix OF node reference imbalance
regulator: bd9571mwv: fix OF node reference imbalance
spi: lantiq-ssc: fix controller deregistration
spi: qup: fix controller deregistration
spi: at91-usart: fix controller deregistration
spi: dln2: fix controller deregistration
spi: s3c64xx: fix controller deregistration
spi: fsl-espi: fix controller deregistration
spi: omap2-mcspi: fix controller deregistration
spi: mtk-nor: fix controller deregistration
spi: sh-hspi: fix controller deregistration
spi: fsl: fix controller deregistration
spi: bcmbca-hsspi: fix controller deregistration
spi: coldfire-qspi: fix controller deregistration
spi: sprd: fix controller deregistration
spi: rspi: fix controller deregistration
spi: img-spfi: fix controller deregistration
spi: imx: fix runtime pm leak on probe deferral
spi: orion: fix runtime pm leak on unbind
spi: orion: fix clock imbalance on registration failure
spi: mpc52xx: fix use-after-free on unbind
spi: cadence: fix controller deregistration
spi: cadence: fix unclocked access on unbind
spi: fix resource leaks on device setup failure
spi: syncuacer: fix controller deregistration
spi: sun4i: fix controller deregistration
spi: ti-qspi: fix controller deregistration
spi: zynq-qspi: fix controller deregistration
spi: sun6i: fix controller deregistration
spi: tegra114: fix controller deregistration
spi: tegra20-sflash: fix controller deregistration
spi: uniphier: fix controller deregistration
spi: microchip-core-qspi: fix controller deregistration

Johannes Berg (1):
wifi: mac80211: remove station if connection prep fails

John B. Moore (2):
drm/amdgpu/gfx9: drop unnecessary 64-bit fence flag check in KIQ drm/amdgpu/sdma4: replace BUG_ON with WARN_ON in fence emission

Jonathan Santos (1):
iio: adc: ad7768-1: fix one-shot mode data acquisition

Joseph Salisbury (2):
ASoC: fsl_easrc: fix comment typo
sched: Use u64 for bandwidth ratio calculations

Josh Hunt (1):
md/raid10: fix deadlock with check operation and nowait requests

Josh Law (1):
lib/ts_kmp: fix integer overflow in pattern length calculation

Junrui Luo (5):
md/raid5: validate payload size before accessing journal metadata dm mirror: fix integer overflow in create_dirty_log() md/raid10: fix divide-by-zero in setup_geo() with zero far_copies RDMA/mlx5: Fix error path fall-through in mlx5_ib_dev_res_srq_init()
erofs: fix unsigned underflow in z_erofs_lz4_handle_overlap()

Kai Ma (1):
netfilter: reject zero shift in nft_bitwise

Kai Zen (1):
net: rtnetlink: zero ifla_vf_broadcast to avoid stack infoleak in rtnl_fill_vfinfo

Keenan Dong (1):
rtmutex: Use waiter::task instead of current in remove_waiter()

Kevin Cheng (1):
KVM: SVM: Inject #UD for INVLPGA if EFER.SVME=0

Koichiro Den (1):
PCI: endpoint: pci-epf-ntb: Remove duplicate resource teardown

Krishna Chomal (1):
platform/x86: hp-wmi: Ignore backlight and FnLock events

Krzysztof Kozlowski (1):
power: supply: axp288_charger: Do not cancel work before initializing it

Kumar Kartikeya Dwivedi (1):
bpf: Don't mark STACK_INVALID as STACK_MISC in mark_stack_slot_misc

Leon Yen (1):
wifi: mt76: mt7921: fix a potential clc buffer length underflow

Li Zetao (1):
spi: microchip-core-qspi: Use helper function devm_clk_get_enabled()

Linus Torvalds (1):
x86: shadow stacks: proper error handling for mmap lock

Long Li (1):
RDMA/mana_ib: Disable RX steering on RSS QP destroy

Longxuan Yu (1):
io_uring/poll: fix signed comparison in io_poll_get_ownership()

Luca Ceresoli (1):
drm/arcpgu: fix device node leak

Luiz Augusto von Dentz (3):
Bluetooth: MGMT: Fix possible UAFs
Bluetooth: hci_event: Fix OOB read and infinite loop in hci_le_create_big_complete_evt
Bluetooth: MGMT: Fix dangling pointer on mgmt_add_adv_patterns_monitor_complete

Lukas Wunner (2):
lib/crypto: mpi: Fix integer underflow in mpi_read_raw_from_sgl() PCI/AER: Stop ruling out unbound devices as error source

Luke Wang (1):
mmc: core: Optimize time for secure erase/trim for some Kingston eMMCs

Luxiao Xu (1):
net: strparser: fix skb_head leak in strp_abort_strp()

Lyes Bourennani (1):
batman-adv: fix integer overflow on buff_pos

Manivannan Sadhasivam (5):
net: qrtr: ns: Fix use-after-free in driver remove()
net: qrtr: ns: Free the node during ctrl_cmd_bye()
net: qrtr: ns: Limit the maximum server registration per node
net: qrtr: ns: Limit the maximum number of lookups
net: qrtr: ns: Limit the total number of nodes

Maoyi Xie (1):

      ip6_gre: Use cached t->net in ip6erspan_changelink().

Marc Zyngier (1):
KVM: arm64: Wake-up from WFI when iqrchip is in userspace

Marek Szyprowski (1):
wifi: brcmfmac: Fix potential use-after-free issue when stopping watchdog task

Marek Vasut (3):
mfd: stpmic1: Attempt system shutdown twice in case PMIC is confused
net: ks8851: Reinstate disabling of BHs around IRQ handler
net: ks8851: Avoid excess softirq scheduling

Mark Brown (1):
ASoC: SOF: Don't allow pointer operations on unconfigured streams

Matthias Fend (1):
media: i2c: ov08d10: fix image vertical start setting

Matthieu Baerts (NGI0) (1):
mptcp: fastclose msk when linger time is 0

Max Kellermann (1):
ceph: only d_add() negative dentries when they are unhashed

Michael Bommarito (12):
um: drivers: call kernel_strrchr() explicitly in cow_user.c
Bluetooth: virtio_bt: clamp rx length before skb_put
Bluetooth: virtio_bt: validate rx pkt_type header length
udf: reject descriptors with oversized CRC length
isofs: validate Rock Ridge CE continuation extent against volume size
isofs: validate block number from NFS file handle in isofs_export_iget
smb: client: validate dacloffset before building DACL pointers RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads RDMA/rxe: Reject unknown opcodes before ICRC processing
ksmbd: require minimum ACE size in smb_check_perm_dacl()
smb: client: validate the whole DACL before rewriting it in cifsacl
xfrm: ah: account for ESN high bits in async callbacks

Michael Tretter (1):
media: staging: imx: request mbus_config in csi_start

Michal Kosiorek (1):
xfrm: defensively unhash xfrm_state lists in __xfrm_state_delete

Michal Pecio (1):
usb: xhci: Make usb_host_endpoint.hcpriv survive endpoint_disable()

Miklos Szeredi (1):
fanotify: fix false positive on permission events

Mikulas Patocka (3):
dm-thin: fix metadata refcount underflow
dm: don't report warning when doing deferred remove
dm: fix a buffer overflow in ioctl processing

Ming Qian (1):
media: amphion: Fix race between m2m job_abort and device_run

Mingming Cao (1):
ibmveth: Disable GSO for packets with small MSS

Myeonghun Pak (1):
hwmon: (corsair-psu) Close HID device on probe errors

Naman Jain (2):
block: add pgmap check to biovec_phys_mergeable
block: relax pgmap check in bio_add_page for compatible zone device pages

Namjae Jeon (4):
smb: common: change the data type of num_aces to le16
ksmbd: use msleep instaed of schedule_timeout_interruptible()
ksmbd: replace connection list with hash table
ksmbd: fix use-after-free in __ksmbd_close_fd() via durable scavenger

Nan Li (1):
net/rds: handle zerocopy send cleanup before the message is queued

Nathan Chancellor (1):
extract-cert: Wrap key_pass with '#ifdef USE_PKCS11_ENGINE'

Nikolay Aleksandrov (1):
bonding: fix use-after-free due to enslave fail after slave array update

Norbert Szetei (1):
vsock: fix buffer size clamping order

Oliver Neukum (4):
media: rc: xbox_remote: heed DMA restrictions
media: rc: streamzap: Error handling in probe
media: rc: ttusbir: respect DMA coherency rules
media: rc: igorplugusb: heed coherency rules

Paolo Bonzini (2):
KVM: SVM: check validity of VMCB controls when returning from SMM
KVM: x86: check for nEPT/nNPT in slow flush hypercalls

Paul E. McKenney (1):
exit: Sleep at TASK_IDLE when waiting for application core dump

Paul Louvel (2):
crypto: talitos - fix SEC1 32k ahash request limitation
crypto: talitos - rename first/last to first_desc/last_desc

Pavel Begunkov (1):
io_uring/timeout: check unused sqe fields

Pavitra Jha (1):
net: wwan: t7xx: validate port_count against message length in t7xx_port_enum_msg_handler

Pei Xiao (2):
spi: zynq-qspi: Simplify clock handling with devm_clk_get_enabled()
spi: uniphier: Simplify clock handling with devm_clk_get_enabled()

Philip Yang (1):
drm/amdgpu: zero-initialize GART table on allocation

Qingfang Deng (1):
flow_dissector: do not dissect PPPoE PFC frames

Quan Zhou (1):
wifi: mt76: mt7921: fix ROC abort flow interruption in mt7921_roc_work

Quentin Perret (1):
KVM: arm64: Fix initialisation order in __pkvm_init_finalise()

Rafael J. Wysocki (1):
thermal: core: Fix thermal zone governor cleanup issues

Rajat Gupta (1):
fbdev: udlfb: add vm_ops to dlfb_ops_mmap to prevent use-after-free

Raphael Zimmer (2):
libceph: Prevent potential null-ptr-deref in ceph_handle_auth_reply()
libceph: Fix slab-out-of-bounds access in auth message processing

Ricardo Ribalda (1):
media: uvcvideo: Enable VB2_DMABUF for metadata stream

Rick Edgecombe (1):
x86/shstk: Prevent deadlock during shstk sigreturn

Robert Beckett (2):
nvme-pci: add NVME_QUIRK_DISABLE_WRITE_ZEROES for Kingston OM3SGP4
nvme: respect NVME_QUIRK_DISABLE_WRITE_ZEROES when wzsl is set

Rong Zhang (1):
Revert "ALSA: usb: Increase volume range that triggers a warning"

Ruide Cao (1):
ipv4: icmp: validate reply type before using icmp_pointers

Ruijie Li (2):
net/smc: avoid early lgr access in smc_clc_wait_msg
xfrm: provide message size for XFRM_MSG_MAPPING

Russell King (Oracle) (2):
net: stmmac: avoid shadowing global buf_sz
net: stmmac: rename STMMAC_GET_ENTRY() -> STMMAC_NEXT_ENTRY()

Ryan Roberts (1):
randomize_kstack: Maintain kstack_offset per task

Sakari Ailus (1):
staging: media: atomisp: Disallow all private IOCTLs

Sam Edwards (1):
net: stmmac: Prevent NULL deref when RX memory exhausted

Sang-Heon Jeon (1):
mm/hugetlb_cma: round up per_node before logging it

Sanjaikumar V S (1):
mtd: spi-nor: sst: Fix write enable before AAI sequence

Sanman Pradhan (2):
hwmon: (ltc2992) Clamp threshold writes to hardware range
hwmon: (ltc2992) Fix u32 overflow in power read path

Sean Christopherson (3):
KVM: x86: Defer non-architectural deliver of exception payload to userspace read
KVM: SVM: Explicitly mark vmcb01 dirty after modifying VMCB intercepts
KVM: x86: Fix shadow paging use-after-free due to unexpected GFN

Sean Wang (2):
wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor
wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling

Selvarasu Ganesan (1):
usb: dwc3: Move GUID programming after PHY initialization

Seohyeon Maeng (1):
udf: fix partition descriptor append bookkeeping

SeongJae Park (6):
mm/damon/core: use time_in_range_open() for damos quota window start mm/damon/sysfs-schemes: protect memcg_path kfree() with damon_sysfs_lock mm/damon/core: disallow time-quota setting zero esz mm/damon/core: implement damon_kdamond_pid() mm/damon/lru_sort: detect and use fresh enabled and kdamond_pid values mm/damon/reclaim: detect and use fresh enabled and kdamond_pid values

Sergey Senozhatsky (1):
zram: do not forget to endio for partial discard requests

Sergey Shtylyov (1):

      media: dib8000: avoid division by 0 in dib8000_set_dds()

SeungJu Cheon (1):
sound: ua101: fix division by zero at probe

Shardul Bankar (2):
mptcp: use MPJoinSynAckHMacFailure for SynAck HMAC failure
mptcp: use MPTCP_RST_EMPTCP for ACK HMAC validation failure

Shawn Lin (1):
mmc: sdhci-of-dwcmshc: Disable clock before DLL configuration

Shivam Kalra (1):
ACPI: video: force native backlight on HP OMEN 16 (8A44)

Shrikanth Hegde (1):
cpuidle: powerpc: avoid double clear when breaking snooze

Shuai Xue (1):
PCI/AER: Clear only error bits in PCIe Device Status

Shuvam Pandey (1):
Bluetooth: hci_event: fix potential UAF in SSP passkey handlers

Shyam Prasad N (2):
cifs: abort open_cached_dir if we don't request leases
cifs: change_conf needs to be called for session setup

Simon Liebold (1):
selftests/mqueue: Fix incorrectly named file

Sina Hassani (1):
iommufd: Fix a race with concurrent allocation and unmap

Siwei Zhang (3):
Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_new_connection_cb()
Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_state_change_cb()
Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_get_sndtimeo_cb()

Sohei Koyama (1):
ext4: fix missing brelse() in ext4_xattr_inode_dec_ref_all()

Sourabh Jain (1):

      powerpc/kdump: fix KASAN sanitization flag for core_$(BITS).o

Srinivas Kandagatla (3):
ASoC: qcom: q6apm-dai: reset queue ptr on trigger stop
ASoC: qcom: q6apm-lpass-dai: Fix multiple graph opens
ASoC: qcom: q6apm: remove child devices when apm is removed

Stefan Eichenberger (1):
clk: imx: imx8-acm: fix flags for acm clocks

Stefano Garzarella (1):
vsock/virtio: fix length and offset in tap skb for split packets

Stephen Smalley (2):
selinux: shrink critical section in sel_write_load()
selinux: prune /sys/fs/selinux/disable

Steven Rostedt (2):
ktest: Fix the month in the name of the failure directory tracing/probes: Limit size of event probe to 3K

Sven Eckelmann (4):
batman-adv: bla: prevent use-after-free when deleting claims
batman-adv: bla: only purge non-released claims
batman-adv: bla: put backbone reference on failed claim hash insert
batman-adv: tp_meter: fix tp_num leak on kmalloc failure

T.J. Mercier (1):
HID: playstation: Clamp num_touch_reports

Takashi Iwai (9):
ALSA: usb-audio: Evaluate packsize caps at the right place
ALSA: core: Fix potential data race at fasync handling
ALSA: caiaq: Handle probe errors properly
ALSA: caiaq: Fix potentially leftover ep1_in_urb at error path
ALSA: caiaq: Don't abort when no input device is available
ALSA: usb-audio: Avoid potential endless loop in convert_chmap_v3()
ALSA: aoa: Use guard() for mutex locks
ALSA: misc: Use guard() for spin locks
ALSA: seq: Notify client and port info changes

Tejas Bharambe (1):
ext4: validate p_idx bounds in ext4_ext_correct_indexes

Thomas Fourier (1):
crypto: hisilicon - Fix dma_unmap_single() direction

Thomas Zimmermann (4):
firmware: google: framebuffer: Do not mark framebuffer as busy
fbdev: defio: Disconnect deferred I/O from the lifetime of struct fb_info
firmware: google: framebuffer: Do not unregister platform device
fbcon: Avoid OOB font access if console rotation fails

Thorsten Blum (11):
crypto: atmel-aes - Fix 3-page memory leak in atmel_aes_buff_cleanup
crypto: atmel-ecc - Release client on allocation failure
crypto: atmel-tdes - fix DMA sync direction
crypto: atmel-sha204a - Fix potential UAF and memory leak in remove path thermal/drivers/sprd: Fix temperature clamping in sprd_thm_temp_to_rawdata thermal/drivers/sprd: Fix raw temperature clamping in sprd_thm_rawdata_to_temp
ALSA: aoa: Skip devices with no codecs in i2sbus_resume()
crypto: nx - fix bounce buffer leaks in nx842_crypto_{alloc,free}_ctx
printk: add print_hex_dump_devel()
crypto: caam - guard HMAC key hex dumps in hash_digest_key
crypto: nx - fix context leak in nx842_crypto_free_ctx

Tobias Gaertner (2):
ntfs3: add buffer boundary checks to run_unpack()
ntfs3: fix integer overflow in run_unpack() volume boundary check

Tommaso Soncin (1):

      ASoC: amd: yc: Add HP OMEN Gaming Laptop 16-ap0xxx product line in quirk table

Tristan Madani (2):
wifi: b43legacy: enforce bounds check on firmware key index in RX path
wifi: b43: enforce bounds check on firmware key index in b43_rx()

Tudor Ambarus (1):
mtd: spi-nor: debugfs: fix out-of-bounds read in spi_nor_params_show()

Tvrtko Ursulin (1):
drm/amdgpu: Use vmemdup_array_user in amdgpu_bo_create_list_entry_array

Tyllis Xu (3):
misc: ibmasm: fix OOB MMIO read in ibmasm_handle_mouse_interrupt()
ibmasm: fix OOB reads in command_file_write due to missing size checks
ibmasm: fix heap over-read in ibmasm_send_i2o_message()

Uros Bizjak (1):
iommu/amd: Use atomic64_inc_return() in iommu.c

Uwe Kleine-König (2):
mtd: docg3: Convert to platform remove callback returning void
spi: spi-ti-qspi: Convert to platform remove callback returning void

Vasiliy Kovalev (1):
ext2: reject inodes with zero i_nlink and valid mode in ext2_iget()

Vasily Gorbik (1):
s390/debug: Reject zero-length input in debug_input_flush_fn()

Vinicius Costa Gomes (2):
dmaengine: idxd: Fix crash when the event log is disabled
dmaengine: idxd: Fix leaking event log memory

Viorel Suman (OSS) (1):
pwm: imx-tpm: Count the number of enabled channels in probe

Wang Jun (1):
media: saa7164: add ioremap return checks and cleanups

Wenmeng Liu (1):
media: i2c: imx412: Assert reset GPIO during probe

Wentao Guan (1):
LoongArch: Fix potential ADE in loongson_gpu_fixup_dma_hang()

Wentao Liang (1):
of: unittest: fix use-after-free in testdrv_probe()

Xu Yang (3):
usb: chipidea: otg: not wait vbus drop if use role_switch
usb: chipidea: core: allow ci_irq_handler() handle both ID and VBUS change
extcon: ptn5150: handle pending IRQ events during system resume

Yang Xiuwei (1):
scsi: sd: fix missing put_disk() when device_add(&disk_dev) fails

Yang Yingliang (6):
spi: synquacer: switch to use modern name
spi: sun4i: switch to use modern name
spi: spi-ti-qspi: switch to use modern name
spi: zynq-qspi: switch to use modern name
spi: sun6i: switch to use modern name
spi: uniphier: switch to use modern name

Yi Cong (1):
wifi: rtl8xxxu: fix potential use of uninitialized value

Yilin Zhu (1):
ipv6: xfrm6: release dst on error in xfrm6_rcv_encap()

Yiyang Chen (2):
tools/accounting: handle truncated taskstats netlink messages
taskstats: set version in TGID exit notifications

Yochai Eisenrich (1):
btrfs: fix btrfs_ioctl_space_info() slot_count TOCTOU which can lead to info-leak

Yongpeng Yang (4):
f2fs: fix fiemap boundary handling when read extent cache is incomplete
f2fs: fix incorrect multidevice info in trace_f2fs_map_blocks()
f2fs: fix node_cnt race between extent node destroy and writeback
f2fs: fix UAF caused by decrementing sbi->nr_pages[] in f2fs_write_end_io()

Yosry Ahmed (11):
KVM: nSVM: Mark all of vmcb02 dirty when restoring nested state
KVM: nSVM: Sync NextRIP to cached vmcb12 after VMRUN of L2
KVM: nSVM: Sync interrupt shadow to cached vmcb12 after VMRUN of L2
KVM: nSVM: Ensure AVIC is inhibited when restoring a vCPU to guest mode
KVM: nSVM: Use vcpu->arch.cr2 when updating vmcb12 on nested #VMEXIT
KVM: nSVM: Always inject a #GP if mapping VMCB12 fails on nested VMRUN
KVM: nSVM: Clear GIF on nested #VMEXIT(INVALID)
KVM: nSVM: Clear EVENTINJ fields in vmcb12 on nested #VMEXIT
KVM: nSVM: Clear tracking of L1->L2 NMI and soft IRQ on nested #VMEXIT
KVM: nSVM: Add missing consistency check for EFER, CR0, CR4, and CS
KVM: nSVM: Add missing consistency check for nCR3 validity

Yuan Zhaoming (1):
net: mctp: fix don't require received header reserved bits to be zero

Yucheng Lu (1):
crypto: authencesn - reject short ahash digests during instance creation

Yussuf Khalil (1):
drm/amd/display: Do not skip unrelated mode changes in DSC validation

Zhengchuan Liang (2):
net: caif: clear client service pointer on teardown
net: bridge: use a stable FDB dst snapshot in RCU readers

Zhenzhong Wu (1):
tcp: call sk_data_ready() after listener migration

Zilin Guan (1):
hfsplus: fix held lock freed on hfsplus_fill_super()

Ziqing Chen (1):
ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names()

Zisen Ye (2):
smb/client: fix out-of-bounds read in smb2_compound_op() smb/client: fix out-of-bounds read in symlink_data()

hkbinbin (1):
RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv

author maintainer
#1 lore raw
Makefile +1 -1
index d00b00f0c54f..870dd6c30c67 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 6
-SUBLEVEL = 139
+SUBLEVEL = 140
 EXTRAVERSION =
 NAME = Pinguïn Aangedreven
 
arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi +10 -10
index e98d043e5746..7c1063f5b18b 100644
@@ -507,16 +507,16 @@ AM62X_IOPAD(0x15c, PIN_INPUT, 0)  /* (AB22) MDIO0_MDIO */ /* ETH_1_MDIO, SODIMM
 	/* On-module eMMC */
 	pinctrl_sdhci0: main-mmc0-default-pins {
 		pinctrl-single,pins = <
-			AM62X_IOPAD(0x220, PIN_INPUT, 0) /*  (Y3) MMC0_CMD  */
-			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK  */
-			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
-			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */
-			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */
-			AM62X_IOPAD(0x208, PIN_INPUT, 0) /*  (Y4) MMC0_DAT3 */
-			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */
-			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */
-			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */
-			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */
+			AM62X_IOPAD(0x220, PIN_INPUT,        0) /*  (Y3) MMC0_CMD  */
+			AM62X_IOPAD(0x218, PIN_INPUT,        0) /* (AB1) MMC0_CLK  */
+			AM62X_IOPAD(0x214, PIN_INPUT,        0) /* (AA2) MMC0_DAT0 */
+			AM62X_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AA1) MMC0_DAT1 */
+			AM62X_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (AA3) MMC0_DAT2 */
+			AM62X_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /*  (Y4) MMC0_DAT3 */
+			AM62X_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (AB2) MMC0_DAT4 */
+			AM62X_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */
+			AM62X_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */
+			AM62X_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */
 		>;
 	};
 
arch/arm64/crypto/aes-modes.S +2 -2
index 0e834a2c062c..e793478f37c1 100644
@@ -838,7 +838,7 @@ AES_FUNC_START(aes_mac_update)
 	encrypt_block	v0, w2, x1, x7, w8
 	eor		v0.16b, v0.16b, v4.16b
 	cmp		w3, wzr
-	csinv		x5, x6, xzr, eq
+	csinv		w5, w6, wzr, eq
 	cbz		w5, .Lmacout
 	encrypt_block	v0, w2, x1, x7, w8
 	st1		{v0.16b}, [x4]			/* return dg */
@@ -852,7 +852,7 @@ AES_FUNC_START(aes_mac_update)
 	eor		v0.16b, v0.16b, v1.16b		/* ..and xor with dg */
 
 	subs		w3, w3, #1
-	csinv		x5, x6, xzr, eq
+	csinv		w5, w6, wzr, eq
 	cbz		w5, .Lmacout
 
 .Lmacenc:
arch/arm64/kvm/arm.c +5 -0
index fe4314af8eec..3ae529e967c7 100644
@@ -557,6 +557,11 @@ int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
 int kvm_arch_vcpu_runnable(struct kvm_vcpu *v)
 {
 	bool irq_lines = *vcpu_hcr(v) & (HCR_VI | HCR_VF);
+
+	irq_lines |= (!irqchip_in_kernel(v->kvm) &&
+		      (kvm_timer_should_notify_user(v) ||
+		       kvm_pmu_should_notify_user(v)));
+
 	return ((irq_lines || kvm_vgic_vcpu_pending_irq(v))
 		&& !kvm_arm_vcpu_stopped(v) && !v->arch.pause);
 }
arch/arm64/kvm/hyp/nvhe/setup.c +3 -3
index 0d5e0a89ddce..29df463ab350 100644
@@ -284,15 +284,15 @@ void __noreturn __pkvm_init_finalise(void)
 	};
 	pkvm_pgtable.mm_ops = &pkvm_pgtable_mm_ops;
 
-	ret = fix_host_ownership();
+	ret = fix_hyp_pgtable_refcnt();
 	if (ret)
 		goto out;
 
-	ret = fix_hyp_pgtable_refcnt();
+	ret = hyp_create_pcpu_fixmap();
 	if (ret)
 		goto out;
 
-	ret = hyp_create_pcpu_fixmap();
+	ret = fix_host_ownership();
 	if (ret)
 		goto out;
 
arch/arm64/kvm/vgic/vgic-mmio-v2.c +1 -1
index e070cda86e12..d26155b7ce1e 100644
@@ -91,7 +91,7 @@ static int vgic_mmio_uaccess_write_v2_misc(struct kvm_vcpu *vcpu,
 		 * migration from old kernels to new kernels with legacy
 		 * userspace.
 		 */
-		reg = FIELD_GET(GICD_IIDR_REVISION_MASK, reg);
+		reg = FIELD_GET(GICD_IIDR_REVISION_MASK, val);
 		switch (reg) {
 		case KVM_VGIC_IMP_REV_2:
 		case KVM_VGIC_IMP_REV_3:
arch/arm64/kvm/vgic/vgic-mmio-v3.c +1 -1
index 7c0b23415ad9..4c470f20adab 100644
@@ -167,7 +167,7 @@ static int vgic_mmio_uaccess_write_v3_misc(struct kvm_vcpu *vcpu,
 		if ((reg ^ val) & ~GICD_IIDR_REVISION_MASK)
 			return -EINVAL;
 
-		reg = FIELD_GET(GICD_IIDR_REVISION_MASK, reg);
+		reg = FIELD_GET(GICD_IIDR_REVISION_MASK, val);
 		switch (reg) {
 		case KVM_VGIC_IMP_REV_2:
 		case KVM_VGIC_IMP_REV_3:
arch/arm64/mm/mmu.c +20 -16
index d6411f7f0b72..8c5cbf4c858d 100644
@@ -870,10 +870,14 @@ static void unmap_hotplug_pte_range(pmd_t *pmdp, unsigned long addr,
 
 		WARN_ON(!pte_present(pte));
 		pte_clear(&init_mm, addr, ptep);
-		flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
-		if (free_mapped)
+		if (free_mapped) {
+			/* CONT blocks are not supported in the vmemmap */
+			WARN_ON(pte_cont(pte));
+			flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
 			free_hotplug_page_range(pte_page(pte),
 						PAGE_SIZE, altmap);
+		}
+		/* unmap_hotplug_range() flushes TLB for !free_mapped */
 	} while (addr += PAGE_SIZE, addr < end);
 }
 
@@ -894,15 +898,14 @@ static void unmap_hotplug_pmd_range(pud_t *pudp, unsigned long addr,
 		WARN_ON(!pmd_present(pmd));
 		if (pmd_sect(pmd)) {
 			pmd_clear(pmdp);
-
-			/*
-			 * One TLBI should be sufficient here as the PMD_SIZE
-			 * range is mapped with a single block entry.
-			 */
-			flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
-			if (free_mapped)
+			if (free_mapped) {
+				/* CONT blocks are not supported in the vmemmap */
+				WARN_ON(pmd_cont(pmd));
+				flush_tlb_kernel_range(addr, addr + PMD_SIZE);
 				free_hotplug_page_range(pmd_page(pmd),
 							PMD_SIZE, altmap);
+			}
+			/* unmap_hotplug_range() flushes TLB for !free_mapped */
 			continue;
 		}
 		WARN_ON(!pmd_table(pmd));
@@ -927,15 +930,12 @@ static void unmap_hotplug_pud_range(p4d_t *p4dp, unsigned long addr,
 		WARN_ON(!pud_present(pud));
 		if (pud_sect(pud)) {
 			pud_clear(pudp);
-
-			/*
-			 * One TLBI should be sufficient here as the PUD_SIZE
-			 * range is mapped with a single block entry.
-			 */
-			flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
-			if (free_mapped)
+			if (free_mapped) {
+				flush_tlb_kernel_range(addr, addr + PUD_SIZE);
 				free_hotplug_page_range(pud_page(pud),
 							PUD_SIZE, altmap);
+			}
+			/* unmap_hotplug_range() flushes TLB for !free_mapped */
 			continue;
 		}
 		WARN_ON(!pud_table(pud));
@@ -965,6 +965,7 @@ static void unmap_hotplug_p4d_range(pgd_t *pgdp, unsigned long addr,
 static void unmap_hotplug_range(unsigned long addr, unsigned long end,
 				bool free_mapped, struct vmem_altmap *altmap)
 {
+	unsigned long start = addr;
 	unsigned long next;
 	pgd_t *pgdp, pgd;
 
@@ -986,6 +987,9 @@ static void unmap_hotplug_range(unsigned long addr, unsigned long end,
 		WARN_ON(!pgd_present(pgd));
 		unmap_hotplug_p4d_range(pgdp, addr, next, free_mapped, altmap);
 	} while (addr = next, addr < end);
+
+	if (!free_mapped)
+		flush_tlb_kernel_range(start, end);
 }
 
 static void free_empty_pte_table(pmd_t *pmdp, unsigned long addr,
arch/loongarch/kernel/cpu-probe.c +7 -0
index 55320813ee08..26e66a77da66 100644
@@ -7,6 +7,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/ptrace.h>
+#include <linux/cpu.h>
 #include <linux/smp.h>
 #include <linux/stddef.h>
 #include <linux/export.h>
@@ -327,3 +328,9 @@ void cpu_probe(void)
 
 	cpu_report();
 }
+
+ssize_t cpu_show_spectre_v1(struct device *dev,
+			    struct device_attribute *attr, char *buf)
+{
+	return sysfs_emit(buf, "Mitigation: __user pointer sanitization\n");
+}
arch/loongarch/kernel/syscall.c +2 -1
index b4c5acd7aa3b..f4e3bd219b1d 100644
@@ -9,6 +9,7 @@
 #include <linux/entry-common.h>
 #include <linux/errno.h>
 #include <linux/linkage.h>
+#include <linux/nospec.h>
 #include <linux/syscalls.h>
 #include <linux/unistd.h>
 
@@ -55,7 +56,7 @@ void noinstr do_syscall(struct pt_regs *regs)
 	nr = syscall_enter_from_user_mode(regs, nr);
 
 	if (nr < NR_syscalls) {
-		syscall_fn = sys_call_table[nr];
+		syscall_fn = sys_call_table[array_index_nospec(nr, NR_syscalls)];
 		regs->regs[4] = syscall_fn(regs->orig_a0, regs->regs[5], regs->regs[6],
 					   regs->regs[7], regs->regs[8], regs->regs[9]);
 	}
arch/loongarch/pci/acpi.c +5 -0
index 1da4dc46df43..2d584a59a2a0 100644
@@ -61,11 +61,16 @@ static void acpi_release_root_info(struct acpi_pci_root_info *ci)
 static int acpi_prepare_root_resources(struct acpi_pci_root_info *ci)
 {
 	int status;
+	unsigned long long pci_h = 0;
 	struct resource_entry *entry, *tmp;
 	struct acpi_device *device = ci->bridge;
 
 	status = acpi_pci_probe_root_resources(ci);
 	if (status > 0) {
+		acpi_evaluate_integer(device->handle, "PCIH", NULL, &pci_h);
+		if (pci_h)
+			return status;
+
 		resource_list_for_each_entry_safe(entry, tmp, &ci->resources) {
 			if (entry->res->flags & IORESOURCE_MEM) {
 				entry->offset = ci->root->mcfg_addr & GENMASK_ULL(63, 40);
arch/loongarch/pci/pci.c +3 -0
index 70485b167cfa..a25307d6aee8 100644
@@ -133,6 +133,9 @@ static void loongson_gpu_fixup_dma_hang(struct pci_dev *pdev, bool on)
 		crtc_reg = regbase;
 		crtc_offset = 0x400;
 		break;
+	default:
+		iounmap(regbase);
+		return;
 	}
 
 	for (i = 0; i < CRTC_NUM_MAX; i++, crtc_reg += crtc_offset) {
arch/parisc/kernel/syscalls/syscall.tbl +1 -1
index 73f560e30957..443ce9a05367 100644
@@ -154,7 +154,7 @@
 # 137 was afs_syscall
 138	common	setfsuid		sys_setfsuid
 139	common	setfsgid		sys_setfsgid
-140	common	_llseek			sys_llseek
+140	32	_llseek			sys_llseek
 141	common	getdents		sys_getdents			compat_sys_getdents
 142	common	_newselect		sys_select			compat_sys_select
 143	common	flock			sys_flock
arch/powerpc/kexec/Makefile +1 -1
index 0c2abe7f9908..1146af73a866 100644
@@ -14,4 +14,4 @@ GCOV_PROFILE_core_$(BITS).o := n
 KCOV_INSTRUMENT_core_$(BITS).o := n
 UBSAN_SANITIZE_core_$(BITS).o := n
 KASAN_SANITIZE_core.o := n
-KASAN_SANITIZE_core_$(BITS) := n
+KASAN_SANITIZE_core_$(BITS).o := n
arch/s390/kernel/debug.c +5 -0
index a85e0c3e7027..cbe209fe0df1 100644
@@ -1434,6 +1434,11 @@ static int debug_input_flush_fn(debug_info_t *id, struct debug_view *view,
 	char input_buf[1];
 	int rc = user_len;
 
+	if (!user_len) {
+		rc = -EINVAL;
+		goto out;
+	}
+
 	if (user_len > 0x10000)
 		user_len = 0x10000;
 	if (*offset != 0) {
arch/um/drivers/cow_user.c +7 -1
index 29b46581ddd1..dc1d1bcd85ec 100644
@@ -15,6 +15,12 @@
 #include "cow.h"
 #include "cow_sys.h"
 
+/*
+ * arch/um/Makefile remaps strrchr to kernel_strrchr; call the kernel
+ * name directly to avoid glibc >= 2.43's C23 strrchr macro.
+ */
+char *kernel_strrchr(const char *, int);
+
 #define PATH_LEN_V1 256
 
 /* unsigned time_t works until year 2106 */
@@ -153,7 +159,7 @@ static int absolutize(char *to, int size, char *from)
 			   errno);
 		return -1;
 	}
-	slash = strrchr(from, '/');
+	slash = kernel_strrchr(from, '/');
 	if (slash != NULL) {
 		*slash = '\0';
 		if (chdir(from)) {
arch/x86/kernel/shstk.c +29 -16

86 lines not on this page · raw message

arch/x86/kvm/hyperv.c +1 -1
index 223f4fa6a849..96c03f95212e 100644
@@ -1987,7 +1987,7 @@ static u64 kvm_hv_flush_tlb(struct kvm_vcpu *vcpu, struct kvm_hv_hcall *hc)
 	 * flush).  Translate the address here so the memory can be uniformly
 	 * read with kvm_read_guest().
 	 */
-	if (!hc->fast && is_guest_mode(vcpu)) {
+	if (!hc->fast && mmu_is_nested(vcpu)) {
 		hc->ingpa = translate_nested_gpa(vcpu, hc->ingpa, 0, NULL);
 		if (unlikely(hc->ingpa == INVALID_GPA))
 			return HV_STATUS_INVALID_HYPERCALL_INPUT;
arch/x86/kvm/mmu/mmu.c +14 -21
index 0dc804149b0f..774bc26b8235 100644
@@ -182,6 +182,8 @@ struct kmem_cache *mmu_page_header_cache;
 static struct percpu_counter kvm_total_used_mmu_pages;
 
 static void mmu_spte_set(u64 *sptep, u64 spte);
+static int mmu_page_zap_pte(struct kvm *kvm, struct kvm_mmu_page *sp,
+			    u64 *spte, struct list_head *invalid_list);
 
 struct kvm_mmu_role_regs {
 	const unsigned long cr0;
@@ -1194,19 +1196,6 @@ static void drop_spte(struct kvm *kvm, u64 *sptep)
 		rmap_remove(kvm, sptep);
 }
 
-static void drop_large_spte(struct kvm *kvm, u64 *sptep, bool flush)
-{
-	struct kvm_mmu_page *sp;
-
-	sp = sptep_to_sp(sptep);
-	WARN_ON_ONCE(sp->role.level == PG_LEVEL_4K);
-
-	drop_spte(kvm, sptep);
-
-	if (flush)
-		kvm_flush_remote_tlbs_sptep(kvm, sptep);
-}
-
 /*
  * Write-protect on the specified @sptep, @pt_protect indicates whether
  * spte write-protection is caused by protecting shadow page table.
@@ -2350,7 +2339,8 @@ static struct kvm_mmu_page *kvm_mmu_get_child_sp(struct kvm_vcpu *vcpu,
 {
 	union kvm_mmu_page_role role;
 
-	if (is_shadow_present_pte(*sptep) && !is_large_pte(*sptep))
+	if (is_shadow_present_pte(*sptep) && !is_large_pte(*sptep) &&
+	    spte_to_child_sp(*sptep) && spte_to_child_sp(*sptep)->gfn == gfn)
 		return ERR_PTR(-EEXIST);
 
 	role = kvm_mmu_child_role(sptep, direct, access);
@@ -2428,13 +2418,16 @@ static void __link_shadow_page(struct kvm *kvm,
 
 	BUILD_BUG_ON(VMX_EPT_WRITABLE_MASK != PT_WRITABLE_MASK);
 
-	/*
-	 * If an SPTE is present already, it must be a leaf and therefore
-	 * a large one.  Drop it, and flush the TLB if needed, before
-	 * installing sp.
-	 */
-	if (is_shadow_present_pte(*sptep))
-		drop_large_spte(kvm, sptep, flush);
+	if (is_shadow_present_pte(*sptep)) {
+		struct kvm_mmu_page *parent_sp;
+		LIST_HEAD(invalid_list);
+
+		parent_sp = sptep_to_sp(sptep);
+		WARN_ON_ONCE(parent_sp->role.level == PG_LEVEL_4K);
+
+		mmu_page_zap_pte(kvm, parent_sp, sptep, &invalid_list);
+		kvm_mmu_remote_flush_or_zap(kvm, &invalid_list, true);
+	}
 
 	spte = make_nonleaf_spte(sp->spt, sp_ad_disabled(sp));
 
arch/x86/kvm/svm/nested.c +44 -12

151 lines not on this page · raw message

arch/x86/kvm/svm/svm.c +17 -0
index ff65fe738733..31e901661b4e 100644
@@ -2494,6 +2494,9 @@ static int invlpga_interception(struct kvm_vcpu *vcpu)
 	gva_t gva = kvm_rax_read(vcpu);
 	u32 asid = kvm_rcx_read(vcpu);
 
+	if (nested_svm_check_permissions(vcpu))
+		return 1;
+
 	/* FIXME: Handle an address size prefix. */
 	if (!is_long_mode(vcpu))
 		gva = (u32)gva;
@@ -4339,6 +4342,16 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu, u64 run_flags)
 
 	svm_complete_interrupts(vcpu);
 
+	/*
+	 * Update the cache after completing interrupts to get an accurate
+	 * NextRIP, e.g. when re-injecting a soft interrupt.
+	 *
+	 * FIXME: Rework svm_get_nested_state() to not pull data from the
+	 *        cache (except for maybe int_ctl).
+	 */
+	if (is_guest_mode(vcpu))
+		svm->nested.ctl.next_rip = svm->vmcb->control.next_rip;
+
 	return svm_exit_handlers_fastpath(vcpu);
 }
 
@@ -4804,6 +4817,10 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram)
 	vmcb12 = map.hva;
 	nested_copy_vmcb_control_to_cache(svm, &vmcb12->control);
 	nested_copy_vmcb_save_to_cache(svm, &vmcb12->save);
+
+	if (nested_svm_check_cached_vmcb12(vcpu) < 0)
+		goto unmap_save;
+
 	ret = enter_svm_guest_mode(vcpu, smram64->svm_guest_vmcb_gpa, vmcb12, false);
 
 	if (ret)
arch/x86/kvm/svm/svm.h +2 -0
index 0b4344595db3..cf0a516a9f8c 100644
@@ -115,6 +115,7 @@ struct kvm_vmcb_info {
 };
 
 struct vmcb_save_area_cached {
+	struct vmcb_seg cs;
 	u64 efer;
 	u64 cr4;
 	u64 cr3;
@@ -611,6 +612,7 @@ static inline int nested_svm_simple_vmexit(struct vcpu_svm *svm, u32 exit_code)
 
 int nested_svm_exit_handled(struct vcpu_svm *svm);
 int nested_svm_check_permissions(struct kvm_vcpu *vcpu);
+int nested_svm_check_cached_vmcb12(struct kvm_vcpu *vcpu);
 int nested_svm_check_exception(struct vcpu_svm *svm, unsigned nr,
 			       bool has_error_code, u32 error_code);
 int nested_svm_exit_special(struct vcpu_svm *svm);
arch/x86/kvm/x86.c +39 -23

99 lines not on this page · raw message

block/bio-integrity.c +2 -0
index 15e444b2fcc1..dc6a9b0fab36 100644
@@ -134,6 +134,8 @@ int bio_integrity_add_page(struct bio *bio, struct page *page,
 		struct bio_vec *bv = &bip->bip_vec[bip->bip_vcnt - 1];
 		bool same_page = false;
 
+		if (!zone_device_pages_compatible(bv->bv_page, page))
+			return 0;
 		if (bvec_try_merge_hw_page(q, bv, page, len, offset,
 					   &same_page)) {
 			bip->bip_iter.bi_size += len;
block/bio.c +9 -5
index b197abbaebc4..14aefb190545 100644
@@ -1098,11 +1098,15 @@ int bio_add_page(struct bio *bio, struct page *page,
 	if (bio->bi_iter.bi_size > UINT_MAX - len)
 		return 0;
 
-	if (bio->bi_vcnt > 0 &&
-	    bvec_try_merge_page(&bio->bi_io_vec[bio->bi_vcnt - 1],
-				page, len, offset, &same_page)) {
-		bio->bi_iter.bi_size += len;
-		return len;
+	if (bio->bi_vcnt > 0) {
+		struct bio_vec *bv = &bio->bi_io_vec[bio->bi_vcnt - 1];
+
+		if (!zone_device_pages_compatible(bv->bv_page, page))
+			return 0;
+		if (bvec_try_merge_page(bv, page, len, offset, &same_page)) {
+			bio->bi_iter.bi_size += len;
+			return len;
+		}
 	}
 
 	if (bio->bi_vcnt >= bio->bi_max_vecs)
block/blk.h +21 -0
index 67915b04b3c1..13243d9fb896 100644
@@ -95,6 +95,8 @@ static inline bool biovec_phys_mergeable(struct request_queue *q,
 
 	if (addr1 + vec1->bv_len != addr2)
 		return false;
+	if (!zone_device_pages_have_same_pgmap(vec1->bv_page, vec2->bv_page))
+		return false;
 	if (xen_domain() && !xen_biovec_phys_mergeable(vec1, vec2->bv_page))
 		return false;
 	if ((addr1 | mask) != ((addr2 + vec2->bv_len - 1) | mask))
@@ -102,6 +104,25 @@ static inline bool biovec_phys_mergeable(struct request_queue *q,
 	return true;
 }
 
+/*
+ * Check if two pages from potentially different zone device pgmaps can
+ * coexist as separate bvec entries in the same bio.
+ *
+ * The block DMA iterator (blk_dma_map_iter_start) caches the P2PDMA mapping
+ * state from the first segment and applies it to all subsequent segments, so
+ * P2PDMA pages from different pgmaps must not be mixed in the same bio.
+ *
+ * Other zone device types (FS_DAX, GENERIC) use the same dma_map_phys() path
+ * as normal RAM.  PRIVATE and COHERENT pages never appear in bios.
+ */
+static inline bool zone_device_pages_compatible(const struct page *a,
+						const struct page *b)
+{
+	if (is_pci_p2pdma_page(a) || is_pci_p2pdma_page(b))
+		return zone_device_pages_have_same_pgmap(a, b);
+	return true;
+}
+
 static inline bool __bvec_gap_to_prev(const struct queue_limits *lim,
 		struct bio_vec *bprv, unsigned int offset)
 {
certs/extract-cert.c +5 -1
index 7d6d468ed612..54ecd1024274 100644
@@ -43,7 +43,9 @@ void format(void)
 	exit(2);
 }
 
+#ifdef USE_PKCS11_ENGINE
 static const char *key_pass;
+#endif
 static BIO *wb;
 static char *cert_dst;
 static bool verbose;
@@ -135,7 +137,9 @@ int main(int argc, char **argv)
 	if (verbose_env && strchr(verbose_env, '1'))
 		verbose = true;
 
-        key_pass = getenv("KBUILD_SIGN_PIN");
+#ifdef USE_PKCS11_ENGINE
+	key_pass = getenv("KBUILD_SIGN_PIN");
+#endif
 
 	if (argc != 3)
 		format();
crypto/authencesn.c +5 -0
index eeda044a0f5f..55833cfea09a 100644
@@ -397,6 +397,11 @@ static int crypto_authenc_esn_create(struct crypto_template *tmpl,
 	auth = crypto_spawn_ahash_alg(&ctx->auth);
 	auth_base = &auth->base;
 
+	if (auth->digestsize > 0 && auth->digestsize < 4) {
+		err = -EINVAL;
+		goto err_free_inst;
+	}
+
 	err = crypto_grab_skcipher(&ctx->enc, aead_crypto_instance(inst),
 				   crypto_attr_alg_name(tb[2]), 0, mask);
 	if (err)
crypto/pcrypt.c +5 -2
index 7fc79e7dce44..71a0c74eb634 100644
@@ -69,6 +69,9 @@ static void pcrypt_aead_done(void *data, int err)
 	struct pcrypt_request *preq = aead_request_ctx(req);
 	struct padata_priv *padata = pcrypt_request_padata(preq);
 
+	if (err == -EINPROGRESS)
+		return;
+
 	padata->info = err;
 
 	padata_do_serial(padata);
@@ -82,7 +85,7 @@ static void pcrypt_aead_enc(struct padata_priv *padata)
 
 	ret = crypto_aead_encrypt(req);
 
-	if (ret == -EINPROGRESS)
+	if (ret == -EINPROGRESS || ret == -EBUSY)
 		return;
 
 	padata->info = ret;
@@ -133,7 +136,7 @@ static void pcrypt_aead_dec(struct padata_priv *padata)
 
 	ret = crypto_aead_decrypt(req);
 
-	if (ret == -EINPROGRESS)
+	if (ret == -EINPROGRESS || ret == -EBUSY)
 		return;
 
 	padata->info = ret;
drivers/acpi/cppc_acpi.c +3 -3
index 0bf3861cf79b..018a98d87bcb 100644
@@ -347,7 +347,7 @@ static int send_pcc_cmd(int pcc_ss_id, u16 cmd)
 end:
 	if (cmd == CMD_WRITE) {
 		if (unlikely(ret)) {
-			for_each_online_cpu(i) {
+			for_each_possible_cpu(i) {
 				struct cpc_desc *desc = per_cpu(cpc_desc_ptr, i);
 
 				if (!desc)
@@ -509,13 +509,13 @@ int acpi_get_psd_map(unsigned int cpu, struct cppc_cpudata *cpu_data)
 	else if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ANY)
 		cpu_data->shared_type = CPUFREQ_SHARED_TYPE_ANY;
 
-	for_each_online_cpu(i) {
+	for_each_possible_cpu(i) {
 		if (i == cpu)
 			continue;
 
 		match_cpc_ptr = per_cpu(cpc_desc_ptr, i);
 		if (!match_cpc_ptr)
-			goto err_fault;
+			continue;
 
 		match_pdomain = &(match_cpc_ptr->domain_info);
 		if (match_pdomain->domain != pdomain->domain)
drivers/acpi/power.c +1 -1
index ff5fcd541e50..9f9f580e393c 100644
@@ -986,7 +986,7 @@ struct acpi_device *acpi_add_power_resource(acpi_handle handle)
 	return device;
 
  err:
-	acpi_release_power_resource(&device->dev);
+	acpi_dev_put(device);
 	return NULL;
 }
 
drivers/acpi/scan.c +1 -1
index 5b5986e10c2d..2892219c7afd 100644
@@ -1862,7 +1862,7 @@ static int acpi_add_single_object(struct acpi_device **child,
 		result = acpi_device_add(device);
 
 	if (result) {
-		acpi_device_release(&device->dev);
+		acpi_dev_put(device);
 		return result;
 	}
 
drivers/acpi/video_detect.c +8 -0
index e96afb1622f9..962720aafeda 100644
@@ -820,6 +820,14 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "Z830"),
 		},
 	},
+	{
+	 .callback = video_detect_force_native,
+	 /* HP OMEN Gaming Laptop 16-n0xxx */
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "OMEN by HP Gaming Laptop 16-n0xxx"),
+		},
+	},
 
 	/*
 	 * Models which have nvidia-ec-wmi support, but should not use it.
drivers/base/core.c +27 -12
index a192ce5bb8f9..3c172e6d3fe0 100644
@@ -182,7 +182,7 @@ void fw_devlink_purge_absent_suppliers(struct fwnode_handle *fwnode)
 	if (fwnode->dev)
 		return;
 
-	fwnode->flags |= FWNODE_FLAG_NOT_DEVICE;
+	fwnode_set_flag(fwnode, FWNODE_FLAG_NOT_DEVICE);
 	fwnode_links_purge_consumers(fwnode);
 
 	fwnode_for_each_available_child_node(fwnode, child)
@@ -228,7 +228,7 @@ static void __fw_devlink_pickup_dangling_consumers(struct fwnode_handle *fwnode,
 	if (fwnode->dev && fwnode->dev->bus)
 		return;
 
-	fwnode->flags |= FWNODE_FLAG_NOT_DEVICE;
+	fwnode_set_flag(fwnode, FWNODE_FLAG_NOT_DEVICE);
 	__fwnode_links_move_consumers(fwnode, new_sup);
 
 	fwnode_for_each_available_child_node(fwnode, child)
@@ -1013,7 +1013,7 @@ static void device_links_missing_supplier(struct device *dev)
 static bool dev_is_best_effort(struct device *dev)
 {
 	return (fw_devlink_best_effort && dev->can_match) ||
-		(dev->fwnode && (dev->fwnode->flags & FWNODE_FLAG_BEST_EFFORT));
+		(dev->fwnode && fwnode_test_flag(dev->fwnode, FWNODE_FLAG_BEST_EFFORT));
 }
 
 static struct fwnode_handle *fwnode_links_check_suppliers(
@@ -1729,11 +1729,11 @@ bool fw_devlink_is_strict(void)
 
 static void fw_devlink_parse_fwnode(struct fwnode_handle *fwnode)
 {
-	if (fwnode->flags & FWNODE_FLAG_LINKS_ADDED)
+	if (fwnode_test_flag(fwnode, FWNODE_FLAG_LINKS_ADDED))
 		return;
 
 	fwnode_call_int_op(fwnode, add_links);
-	fwnode->flags |= FWNODE_FLAG_LINKS_ADDED;
+	fwnode_set_flag(fwnode, FWNODE_FLAG_LINKS_ADDED);
 }
 
 static void fw_devlink_parse_fwtree(struct fwnode_handle *fwnode)
@@ -1892,7 +1892,7 @@ static bool fwnode_init_without_drv(struct fwnode_handle *fwnode)
 	struct device *dev;
 	bool ret;
 
-	if (!(fwnode->flags & FWNODE_FLAG_INITIALIZED))
+	if (!fwnode_test_flag(fwnode, FWNODE_FLAG_INITIALIZED))
 		return false;
 
 	dev = get_dev_from_fwnode(fwnode);
@@ -1951,10 +1951,10 @@ static bool __fw_devlink_relax_cycles(struct fwnode_handle *con_handle,
 	 * We aren't trying to find all cycles. Just a cycle between con and
 	 * sup_handle.
 	 */
-	if (sup_handle->flags & FWNODE_FLAG_VISITED)
+	if (fwnode_test_flag(sup_handle, FWNODE_FLAG_VISITED))
 		return false;
 
-	sup_handle->flags |= FWNODE_FLAG_VISITED;
+	fwnode_set_flag(sup_handle, FWNODE_FLAG_VISITED);
 
 	/* Termination condition. */
 	if (sup_handle == con_handle) {
@@ -2024,7 +2024,7 @@ static bool __fw_devlink_relax_cycles(struct fwnode_handle *con_handle,
 	}
 
 out:
-	sup_handle->flags &= ~FWNODE_FLAG_VISITED;
+	fwnode_clear_flag(sup_handle, FWNODE_FLAG_VISITED);
 	put_device(sup_dev);
 	put_device(con_dev);
 	put_device(par_dev);
@@ -2077,7 +2077,7 @@ static int fw_devlink_create_devlink(struct device *con,
 	 * When such a flag is set, we can't create device links where P is the
 	 * supplier of C as that would delay the probe of C.
 	 */
-	if (sup_handle->flags & FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD &&
+	if (fwnode_test_flag(sup_handle, FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD) &&
 	    fwnode_is_ancestor_of(sup_handle, con->fwnode))
 		return -EINVAL;
 
@@ -2100,7 +2100,7 @@ static int fw_devlink_create_devlink(struct device *con,
 	else
 		flags = FW_DEVLINK_FLAGS_PERMISSIVE;
 
-	if (sup_handle->flags & FWNODE_FLAG_NOT_DEVICE)
+	if (fwnode_test_flag(sup_handle, FWNODE_FLAG_NOT_DEVICE))
 		sup_dev = fwnode_get_next_parent_dev(sup_handle);
 	else
 		sup_dev = get_dev_from_fwnode(sup_handle);
@@ -2112,7 +2112,7 @@ static int fw_devlink_create_devlink(struct device *con,
 		 * supplier device indefinitely.
 		 */
 		if (sup_dev->links.status == DL_DEV_NO_DRIVER &&
-		    sup_handle->flags & FWNODE_FLAG_INITIALIZED) {
+		    fwnode_test_flag(sup_handle, FWNODE_FLAG_INITIALIZED)) {
 			dev_dbg(con,
 				"Not linking %pfwf - dev might never probe\n",
 				sup_handle);
@@ -3680,6 +3680,21 @@ int device_add(struct device *dev)
 		fw_devlink_link_device(dev);
 	}
 
+	/*
+	 * The moment the device was linked into the bus's "klist_devices" in
+	 * bus_add_device() then it's possible that probe could have been
+	 * attempted in a different thread via userspace loading a driver
+	 * matching the device. "ready_to_probe" being unset would have
+	 * blocked those attempts. Now that all of the above initialization has
+	 * happened, unblock probe. If probe happens through another thread
+	 * after this point but before bus_probe_device() runs then it's fine.
+	 * bus_probe_device() -> device_initial_probe() -> __device_attach()
+	 * will notice (under device_lock) that the device is already bound.
+	 */
+	device_lock(dev);
+	dev_set_ready_to_probe(dev);
+	device_unlock(dev);
+
 	bus_probe_device(dev);
 
 	/*
drivers/base/dd.c +20 -0
index 7e2fb159bb89..d371c3437dc6 100644
@@ -785,6 +785,26 @@ static int __driver_probe_device(struct device_driver *drv, struct device *dev)
 	if (dev->driver)
 		return -EBUSY;
 
+	/*
+	 * In device_add(), the "struct device" gets linked into the subsystem's
+	 * list of devices and broadcast to userspace (via uevent) before we're
+	 * quite ready to probe. Those open pathways to driver probe before
+	 * we've finished enough of device_add() to reliably support probe.
+	 * Detect this and tell other pathways to try again later. device_add()
+	 * itself will also try to probe immediately after setting
+	 * "ready_to_probe".
+	 */
+	if (!dev_ready_to_probe(dev))
+		return dev_err_probe(dev, -EPROBE_DEFER, "Device not ready to probe\n");
+
+	/*
+	 * Set can_match = true after calling dev_ready_to_probe(), so
+	 * driver_deferred_probe_add() won't actually add the device to the
+	 * deferred probe list when dev_ready_to_probe() returns false.
+	 *
+	 * When dev_ready_to_probe() returns false, it means that device_add()
+	 * will do another probe() attempt for us.
+	 */
 	dev->can_match = true;
 	pr_debug("bus: '%s': %s: matched device %s with driver %s\n",
 		 drv->bus->name, __func__, dev_name(dev), drv->name);
drivers/block/rbd.c +3 -3
index 6f68c2a74361..a50b946c3934 100644
@@ -7172,7 +7172,7 @@ static ssize_t do_rbd_add(const char *buf, size_t count)
 
 	rc = device_add_disk(&rbd_dev->dev, rbd_dev->disk, NULL);
 	if (rc)
-		goto err_out_cleanup_disk;
+		goto err_out_device;
 
 	spin_lock(&rbd_dev_list_lock);
 	list_add_tail(&rbd_dev->node, &rbd_dev_list);
@@ -7186,8 +7186,8 @@ static ssize_t do_rbd_add(const char *buf, size_t count)
 	module_put(THIS_MODULE);
 	return rc;
 
-err_out_cleanup_disk:
-	rbd_free_disk(rbd_dev);
+err_out_device:
+	device_del(&rbd_dev->dev);
 err_out_image_lock:
 	rbd_dev_image_unlock(rbd_dev);
 	rbd_dev_device_release(rbd_dev);
drivers/block/zram/zram_drv.c +2 -1
index 44cf0e51d7db..6584c1ca5a17 100644
@@ -1880,7 +1880,7 @@ static void zram_bio_discard(struct zram *zram, struct bio *bio)
 	 */
 	if (offset) {
 		if (n <= (PAGE_SIZE - offset))
-			return;
+			goto end_bio;
 
 		n -= (PAGE_SIZE - offset);
 		index++;
@@ -1895,6 +1895,7 @@ static void zram_bio_discard(struct zram *zram, struct bio *bio)
 		n -= PAGE_SIZE;
 	}
 
+end_bio:
 	bio_endio(bio);
 }
 
drivers/bluetooth/virtio_bt.c +32 -7
index 18208e152a36..ca62b7369939 100644
@@ -12,6 +12,7 @@
 #include <net/bluetooth/hci_core.h>
 
 #define VERSION "0.1"
+#define VIRTBT_RX_BUF_SIZE 1000
 
 enum {
 	VIRTBT_VQ_TX,
@@ -33,11 +34,11 @@ static int virtbt_add_inbuf(struct virtio_bluetooth *vbt)
 	struct sk_buff *skb;
 	int err;
 
-	skb = alloc_skb(1000, GFP_KERNEL);
+	skb = alloc_skb(VIRTBT_RX_BUF_SIZE, GFP_KERNEL);
 	if (!skb)
 		return -ENOMEM;
 
-	sg_init_one(sg, skb->data, 1000);
+	sg_init_one(sg, skb->data, VIRTBT_RX_BUF_SIZE);
 
 	err = virtqueue_add_inbuf(vq, sg, 1, skb, GFP_KERNEL);
 	if (err < 0) {
@@ -197,6 +198,7 @@ static int virtbt_shutdown_generic(struct hci_dev *hdev)
 
 static void virtbt_rx_handle(struct virtio_bluetooth *vbt, struct sk_buff *skb)
 {
+	size_t min_hdr;
 	__u8 pkt_type;
 
 	pkt_type = *((__u8 *) skb->data);
@@ -204,16 +206,32 @@ static void virtbt_rx_handle(struct virtio_bluetooth *vbt, struct sk_buff *skb)
 
 	switch (pkt_type) {
 	case HCI_EVENT_PKT:
+		min_hdr = sizeof(struct hci_event_hdr);
+		break;
 	case HCI_ACLDATA_PKT:
+		min_hdr = sizeof(struct hci_acl_hdr);
+		break;
 	case HCI_SCODATA_PKT:
+		min_hdr = sizeof(struct hci_sco_hdr);
+		break;
 	case HCI_ISODATA_PKT:
-		hci_skb_pkt_type(skb) = pkt_type;
-		hci_recv_frame(vbt->hdev, skb);
+		min_hdr = sizeof(struct hci_iso_hdr);
 		break;
 	default:
 		kfree_skb(skb);
-		break;
+		return;
+	}
+
+	if (skb->len < min_hdr) {
+		bt_dev_err_ratelimited(vbt->hdev,
+				       "rx pkt_type 0x%02x payload %u < hdr %zu\n",
+				       pkt_type, skb->len, min_hdr);
+		kfree_skb(skb);
+		return;
 	}
+
+	hci_skb_pkt_type(skb) = pkt_type;
+	hci_recv_frame(vbt->hdev, skb);
 }
 
 static void virtbt_rx_work(struct work_struct *work)
@@ -227,8 +245,15 @@ static void virtbt_rx_work(struct work_struct *work)
 	if (!skb)
 		return;
 
-	skb_put(skb, len);
-	virtbt_rx_handle(vbt, skb);
+	if (!len || len > VIRTBT_RX_BUF_SIZE) {
+		bt_dev_err_ratelimited(vbt->hdev,
+				       "rx reply len %u outside [1, %u]\n",
+				       len, VIRTBT_RX_BUF_SIZE);
+		kfree_skb(skb);
+	} else {
+		skb_put(skb, len);
+		virtbt_rx_handle(vbt, skb);
+	}
 
 	if (virtbt_add_inbuf(vbt) < 0)
 		return;
drivers/bus/imx-weim.c +1 -1
index f9fd1582f150..5244013d328f 100644
@@ -335,7 +335,7 @@ static int of_weim_notify(struct notifier_block *nb, unsigned long action,
 			 * fw_devlink doesn't skip adding consumers to this
 			 * device.
 			 */
-			rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
+			fwnode_clear_flag(&rd->dn->fwnode, FWNODE_FLAG_NOT_DEVICE);
 			if (!of_platform_device_create(rd->dn, NULL, &pdev->dev)) {
 				dev_err(&pdev->dev,
 					"Failed to create child device '%pOF'\n",
drivers/char/ipmi/ipmi_si_intf.c +56 -14

137 lines not on this page · raw message

drivers/char/ipmi/ipmi_ssif.c +31 -5
index df8dd50b4cbe..d94dd1a527c2 100644
@@ -225,6 +225,9 @@ struct ssif_info {
 	bool		    has_event_buffer;
 	bool		    supports_alert;
 
+	/* When requesting events and messages, don't do it forever. */
+	unsigned int        num_requests_in_a_row;
+
 	/*
 	 * Used to tell what we should do with alerts.  If we are
 	 * waiting on a response, read the data immediately.
@@ -413,7 +416,10 @@ static void start_event_fetch(struct ssif_info *ssif_info, unsigned long *flags)
 	}
 
 	ssif_info->curr_msg = msg;
-	ssif_info->ssif_state = SSIF_GETTING_EVENTS;
+	if (ssif_info->ssif_state != SSIF_GETTING_EVENTS) {
+		ssif_info->num_requests_in_a_row = 0;
+		ssif_info->ssif_state = SSIF_GETTING_EVENTS;
+	}
 	ipmi_ssif_unlock_cond(ssif_info, flags);
 
 	msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2);
@@ -436,7 +442,10 @@ static void start_recv_msg_fetch(struct ssif_info *ssif_info,
 	}
 
 	ssif_info->curr_msg = msg;
-	ssif_info->ssif_state = SSIF_GETTING_MESSAGES;
+	if (ssif_info->ssif_state != SSIF_GETTING_MESSAGES) {
+		ssif_info->num_requests_in_a_row = 0;
+		ssif_info->ssif_state = SSIF_GETTING_MESSAGES;
+	}
 	ipmi_ssif_unlock_cond(ssif_info, flags);
 
 	msg->data[0] = (IPMI_NETFN_APP_REQUEST << 2);
@@ -481,8 +490,6 @@ static int ipmi_ssif_thread(void *data)
 		/* Wait for something to do */
 		result = wait_for_completion_interruptible(
 						&ssif_info->wake_thread);
-		if (ssif_info->stopping)
-			break;
 		if (result == -ERESTARTSYS)
 			continue;
 		init_completion(&ssif_info->wake_thread);
@@ -843,6 +850,11 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 			ssif_info->msg_flags &= ~EVENT_MSG_BUFFER_FULL;
 			handle_flags(ssif_info, flags);
 		} else {
+			ssif_info->num_requests_in_a_row++;
+			if (ssif_info->num_requests_in_a_row > 10)
+				/* Stop if we do this too many times. */
+				ssif_info->msg_flags &= ~EVENT_MSG_BUFFER_FULL;
+
 			handle_flags(ssif_info, flags);
 			ssif_inc_stat(ssif_info, events);
 			deliver_recv_msg(ssif_info, msg);
@@ -876,6 +888,11 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 			ssif_info->msg_flags &= ~RECEIVE_MSG_AVAIL;
 			handle_flags(ssif_info, flags);
 		} else {
+			ssif_info->num_requests_in_a_row++;
+			if (ssif_info->num_requests_in_a_row > 10)
+				/* Stop if we do this too many times. */
+				ssif_info->msg_flags &= ~RECEIVE_MSG_AVAIL;
+
 			ssif_inc_stat(ssif_info, incoming_messages);
 			handle_flags(ssif_info, flags);
 			deliver_recv_msg(ssif_info, msg);
@@ -1271,8 +1288,8 @@ static void shutdown_ssif(void *send_info)
 	del_timer_sync(&ssif_info->watch_timer);
 	del_timer_sync(&ssif_info->retry_timer);
 	if (ssif_info->thread) {
-		complete(&ssif_info->wake_thread);
 		kthread_stop(ssif_info->thread);
+		ssif_info->thread = NULL;
 	}
 }
 
@@ -1898,6 +1915,15 @@ static int ssif_probe(struct i2c_client *client)
 
  out:
 	if (rv) {
+		/*
+		 * If ipmi_register_smi() starts the interface, it will
+		 * call shutdown and that will free the thread and set
+		 * it to NULL.  Otherwise it must be freed here.
+		 */
+		if (ssif_info->thread) {
+			kthread_stop(ssif_info->thread);
+			ssif_info->thread = NULL;
+		}
 		if (addr_info)
 			addr_info->client = NULL;
 
drivers/char/tpm/tpm_tis_core.c +10 -1
index 5e6ee5b82b8f..aaeace9f4a4d 100644
@@ -472,6 +472,8 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
 		status = tpm_tis_status(chip);
 		if (!itpm && (status & TPM_STS_DATA_EXPECT) == 0) {
 			rc = -EIO;
+			dev_err(&chip->dev, "TPM_STS_DATA_EXPECT should be set. sts = 0x%08x\n",
+				status);
 			goto out_err;
 		}
 	}
@@ -492,6 +494,8 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
 	status = tpm_tis_status(chip);
 	if (!itpm && (status & TPM_STS_DATA_EXPECT) != 0) {
 		rc = -EIO;
+		dev_err(&chip->dev, "TPM_STS_DATA_EXPECT should be unset. sts = 0x%08x\n",
+			status);
 		goto out_err;
 	}
 
@@ -553,11 +557,16 @@ static int tpm_tis_send_main(struct tpm_chip *chip, const u8 *buf, size_t len)
 			break;
 		else if (rc != -EAGAIN && rc != -EIO)
 			/* Data transfer failed, not recoverable */
-			return rc;
+			goto out_err;
 
 		usleep_range(priv->timeout_min, priv->timeout_max);
 	}
 
+	if (rc == -EAGAIN || rc == -EIO) {
+		dev_err(&chip->dev, "Exhausted %d tpm_tis_send_data retries\n", TPM_RETRY);
+		goto out_err;
+	}
+
 	/* go and do it */
 	rc = tpm_tis_write8(priv, TPM_STS(priv->locality), TPM_STS_GO);
 	if (rc < 0)
drivers/clk/clk-rk808.c +1 -1
index f7412b137e5e..5a75b5c91555 100644
@@ -153,7 +153,7 @@ static int rk808_clkout_probe(struct platform_device *pdev)
 	struct rk808_clkout *rk808_clkout;
 	int ret;
 
-	dev->of_node = pdev->dev.parent->of_node;
+	device_set_of_node_from_dev(dev, dev->parent);
 
 	rk808_clkout = devm_kzalloc(dev,
 				    sizeof(*rk808_clkout), GFP_KERNEL);
drivers/clk/imx/clk-imx8-acm.c +2 -1
index b9ddb74b86f7..abc4c53fcc36 100644
@@ -368,7 +368,8 @@ static int imx8_acm_clk_probe(struct platform_device *pdev)
 	for (i = 0; i < priv->soc_data->num_sels; i++) {
 		hws[sels[i].clkid] = devm_clk_hw_register_mux_parent_data_table(dev,
 										sels[i].name, sels[i].parents,
-										sels[i].num_parents, 0,
+										sels[i].num_parents,
+										CLK_SET_RATE_NO_REPARENT,
 										base + sels[i].reg,
 										sels[i].shift, sels[i].width,
 										0, NULL, NULL);
drivers/clk/microchip/clk-mpfs-ccc.c +5 -1
index bce61c45e967..9ed8074a9ee8 100644
@@ -178,7 +178,7 @@ static int mpfs_ccc_register_outputs(struct device *dev, struct mpfs_ccc_out_hw_
 			return dev_err_probe(dev, ret, "failed to register clock id: %d\n",
 					     out_hw->id);
 
-		data->hw_data.hws[out_hw->id] = &out_hw->divider.hw;
+		data->hw_data.hws[out_hw->id - 2] = &out_hw->divider.hw;
 	}
 
 	return 0;
@@ -234,6 +234,10 @@ static int mpfs_ccc_probe(struct platform_device *pdev)
 	unsigned int num_clks;
 	int ret;
 
+	/*
+	 * If DLLs get added here, mpfs_ccc_register_outputs() currently packs
+	 * sparse clock IDs in the hws array
+	 */
 	num_clks = ARRAY_SIZE(mpfs_ccc_pll_clks) + ARRAY_SIZE(mpfs_ccc_pll0out_clks) +
 		   ARRAY_SIZE(mpfs_ccc_pll1out_clks);
 
drivers/cpuidle/cpuidle-powernv.c +4 -1
index 9ebedd972df0..b89e7111e7b8 100644
@@ -95,7 +95,10 @@ static int snooze_loop(struct cpuidle_device *dev,
 
 	HMT_medium();
 	ppc64_runlatch_on();
-	clear_thread_flag(TIF_POLLING_NRFLAG);
+
+	/* Avoid double clear when breaking */
+	if (!dev->poll_time_limit)
+		clear_thread_flag(TIF_POLLING_NRFLAG);
 
 	local_irq_disable();
 
drivers/cpuidle/cpuidle-pseries.c +4 -1
index 14db9b7d985d..d8eedb3e09cb 100644
@@ -63,7 +63,10 @@ int snooze_loop(struct cpuidle_device *dev, struct cpuidle_driver *drv,
 	}
 
 	HMT_medium();
-	clear_thread_flag(TIF_POLLING_NRFLAG);
+
+       /* Avoid double clear when breaking */
+	if (!dev->poll_time_limit)
+		clear_thread_flag(TIF_POLLING_NRFLAG);
 
 	raw_local_irq_disable();
 
drivers/crypto/atmel-aes.c +1 -1
index 55b5f577b01c..97fcde012676 100644
@@ -2323,7 +2323,7 @@ static int atmel_aes_buff_init(struct atmel_aes_dev *dd)
 
 static void atmel_aes_buff_cleanup(struct atmel_aes_dev *dd)
 {
-	free_page((unsigned long)dd->buf);
+	free_pages((unsigned long)dd->buf, ATMEL_AES_BUFFER_ORDER);
 }
 
 static int atmel_aes_dma_init(struct atmel_aes_dev *dd)
drivers/crypto/atmel-ecc.c +1 -0
index 590ea984c622..813d8517e1c3 100644
@@ -261,6 +261,7 @@ static int atmel_ecdh_init_tfm(struct crypto_kpp *tfm)
 	if (IS_ERR(fallback)) {
 		dev_err(&ctx->client->dev, "Failed to allocate transformation for '%s': %ld\n",
 			alg, PTR_ERR(fallback));
+		atmel_ecc_i2c_client_free(ctx->client);
 		return PTR_ERR(fallback);
 	}
 
drivers/crypto/atmel-sha204a.c +2 -4
index 67fd084a2b97..2cf5407818f1 100644
@@ -125,10 +125,8 @@ static void atmel_sha204a_remove(struct i2c_client *client)
 {
 	struct atmel_i2c_client_priv *i2c_priv = i2c_get_clientdata(client);
 
-	if (atomic_read(&i2c_priv->tfm_count)) {
-		dev_emerg(&client->dev, "Device is busy, will remove it anyhow\n");
-		return;
-	}
+	devm_hwrng_unregister(&client->dev, &i2c_priv->hwrng);
+	atmel_i2c_flush_queue();
 
 	kfree((void *)i2c_priv->hwrng.priv);
 }
drivers/crypto/atmel-tdes.c +4 -4
index d234495f1115..6870a13342e2 100644
@@ -304,8 +304,8 @@ static int atmel_tdes_crypt_pdc_stop(struct atmel_tdes_dev *dd)
 		dma_unmap_sg(dd->dev, dd->out_sg, 1, DMA_FROM_DEVICE);
 		dma_unmap_sg(dd->dev, dd->in_sg, 1, DMA_TO_DEVICE);
 	} else {
-		dma_sync_single_for_device(dd->dev, dd->dma_addr_out,
-					   dd->dma_size, DMA_FROM_DEVICE);
+		dma_sync_single_for_cpu(dd->dev, dd->dma_addr_out,
+					dd->dma_size, DMA_FROM_DEVICE);
 
 		/* copy data */
 		count = atmel_tdes_sg_copy(&dd->out_sg, &dd->out_offset,
@@ -655,8 +655,8 @@ static int atmel_tdes_crypt_dma_stop(struct atmel_tdes_dev *dd)
 			dma_unmap_sg(dd->dev, dd->out_sg, 1, DMA_FROM_DEVICE);
 			dma_unmap_sg(dd->dev, dd->in_sg, 1, DMA_TO_DEVICE);
 		} else {
-			dma_sync_single_for_device(dd->dev, dd->dma_addr_out,
-				dd->dma_size, DMA_FROM_DEVICE);
+			dma_sync_single_for_cpu(dd->dev, dd->dma_addr_out,
+						dd->dma_size, DMA_FROM_DEVICE);
 
 			/* copy data */
 			count = atmel_tdes_sg_copy(&dd->out_sg, &dd->out_offset,
drivers/crypto/caam/caamalg_qi2.c +2 -2
index 06e0681fdbe1..ac97a15ac78b 100644
@@ -3268,7 +3268,7 @@ static int hash_digest_key(struct caam_hash_ctx *ctx, u32 *keylen, u8 *key,
 	dpaa2_fl_set_addr(out_fle, key_dma);
 	dpaa2_fl_set_len(out_fle, digestsize);
 
-	print_hex_dump_debug("key_in@" __stringify(__LINE__)": ",
+	print_hex_dump_devel("key_in@" __stringify(__LINE__)": ",
 			     DUMP_PREFIX_ADDRESS, 16, 4, key, *keylen, 1);
 	print_hex_dump_debug("shdesc@" __stringify(__LINE__)": ",
 			     DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc),
@@ -3288,7 +3288,7 @@ static int hash_digest_key(struct caam_hash_ctx *ctx, u32 *keylen, u8 *key,
 		/* in progress */
 		wait_for_completion(&result.completion);
 		ret = result.err;
-		print_hex_dump_debug("digested key@" __stringify(__LINE__)": ",
+		print_hex_dump_devel("digested key@" __stringify(__LINE__)": ",
 				     DUMP_PREFIX_ADDRESS, 16, 4, key,
 				     digestsize, 1);
 	}
drivers/crypto/caam/caamhash.c +2 -2
index 30cc46c4c33a..c1a06f033b11 100644
@@ -393,7 +393,7 @@ static int hash_digest_key(struct caam_hash_ctx *ctx, u32 *keylen, u8 *key,
 	append_seq_store(desc, digestsize, LDST_CLASS_2_CCB |
 			 LDST_SRCDST_BYTE_CONTEXT);
 
-	print_hex_dump_debug("key_in@"__stringify(__LINE__)": ",
+	print_hex_dump_devel("key_in@"__stringify(__LINE__)": ",
 			     DUMP_PREFIX_ADDRESS, 16, 4, key, *keylen, 1);
 	print_hex_dump_debug("jobdesc@"__stringify(__LINE__)": ",
 			     DUMP_PREFIX_ADDRESS, 16, 4, desc, desc_bytes(desc),
@@ -408,7 +408,7 @@ static int hash_digest_key(struct caam_hash_ctx *ctx, u32 *keylen, u8 *key,
 		wait_for_completion(&result.completion);
 		ret = result.err;
 
-		print_hex_dump_debug("digested key@"__stringify(__LINE__)": ",
+		print_hex_dump_devel("digested key@"__stringify(__LINE__)": ",
 				     DUMP_PREFIX_ADDRESS, 16, 4, key,
 				     digestsize, 1);
 	}
drivers/crypto/ccree/cc_hash.c +1 -0
index f418162932fe..ef9bde93a695 100644
@@ -1448,6 +1448,7 @@ static int cc_mac_digest(struct ahash_request *req)
 	if (cc_map_hash_request_final(ctx->drvdata, state, req->src,
 				      req->nbytes, 1, flags)) {
 		dev_err(dev, "map_ahash_request_final() failed\n");
+		cc_unmap_result(dev, state, digestsize, req->result);
 		cc_unmap_req(dev, state, ctx);
 		return -ENOMEM;
 	}
drivers/crypto/hisilicon/sec/sec_algs.c +1 -1
index 1189effcdad0..512190b31b99 100644
@@ -844,7 +844,7 @@ static int sec_alg_skcipher_crypto(struct skcipher_request *skreq,
 	if (crypto_skcipher_ivsize(atfm))
 		dma_unmap_single(info->dev, sec_req->dma_iv,
 				 crypto_skcipher_ivsize(atfm),
-				 DMA_BIDIRECTIONAL);
+				 DMA_TO_DEVICE);
 err_unmap_out_sg:
 	if (split)
 		sec_unmap_sg_on_err(skreq->dst, steps, splits_out,
drivers/crypto/nx/nx-842.c +26 -21

90 lines not on this page · raw message

drivers/crypto/nx/nx-842.h +14 -11
index 7590bfb24d79..58137ffd3835 100644
@@ -3,7 +3,6 @@
 #ifndef __NX_842_H__
 #define __NX_842_H__
 
-#include <crypto/algapi.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/module.h>
@@ -101,6 +100,8 @@
 #define LEN_ON_SIZE(pa, size)	((size) - ((pa) & ((size) - 1)))
 #define LEN_ON_PAGE(pa)		LEN_ON_SIZE(pa, PAGE_SIZE)
 
+struct crypto_scomp;
+
 static inline unsigned long nx842_get_pa(void *addr)
 {
 	if (!is_vmalloc_addr(addr))
@@ -157,9 +158,11 @@ struct nx842_crypto_header_group {
 } __packed;
 
 struct nx842_crypto_header {
-	__be16 magic;		/* NX842_CRYPTO_MAGIC */
-	__be16 ignore;		/* decompressed end bytes to ignore */
-	u8 groups;		/* total groups in this header */
+	struct_group_tagged(nx842_crypto_header_hdr, hdr,
+		__be16 magic;		/* NX842_CRYPTO_MAGIC */
+		__be16 ignore;		/* decompressed end bytes to ignore */
+		u8 groups;		/* total groups in this header */
+	);
 	struct nx842_crypto_header_group group[];
 } __packed;
 
@@ -171,19 +174,19 @@ struct nx842_crypto_ctx {
 	u8 *wmem;
 	u8 *sbounce, *dbounce;
 
-	struct nx842_crypto_header header;
+	struct nx842_crypto_header_hdr header;
 	struct nx842_crypto_header_group group[NX842_CRYPTO_GROUP_MAX];
 
 	struct nx842_driver *driver;
 };
 
-int nx842_crypto_init(struct crypto_tfm *tfm, struct nx842_driver *driver);
-void nx842_crypto_exit(struct crypto_tfm *tfm);
-int nx842_crypto_compress(struct crypto_tfm *tfm,
+void *nx842_crypto_alloc_ctx(struct nx842_driver *driver);
+void nx842_crypto_free_ctx(void *ctx);
+int nx842_crypto_compress(struct crypto_scomp *tfm,
 			  const u8 *src, unsigned int slen,
-			  u8 *dst, unsigned int *dlen);
-int nx842_crypto_decompress(struct crypto_tfm *tfm,
+			  u8 *dst, unsigned int *dlen, void *ctx);
+int nx842_crypto_decompress(struct crypto_scomp *tfm,
 			    const u8 *src, unsigned int slen,
-			    u8 *dst, unsigned int *dlen);
+			    u8 *dst, unsigned int *dlen, void *ctx);
 
 #endif /* __NX_842_H__ */
drivers/crypto/nx/nx-common-powernv.c +15 -16
index 8c859872c183..fd0a98b2fb1b 100644
@@ -9,6 +9,7 @@
 
 #include "nx-842.h"
 
+#include <crypto/internal/scompress.h>
 #include <linux/timer.h>
 
 #include <asm/prom.h>
@@ -1031,23 +1032,21 @@ static struct nx842_driver nx842_powernv_driver = {
 	.decompress =	nx842_powernv_decompress,
 };
 
-static int nx842_powernv_crypto_init(struct crypto_tfm *tfm)
+static void *nx842_powernv_crypto_alloc_ctx(void)
 {
-	return nx842_crypto_init(tfm, &nx842_powernv_driver);
+	return nx842_crypto_alloc_ctx(&nx842_powernv_driver);
 }
 
-static struct crypto_alg nx842_powernv_alg = {
-	.cra_name		= "842",
-	.cra_driver_name	= "842-nx",
-	.cra_priority		= 300,
-	.cra_flags		= CRYPTO_ALG_TYPE_COMPRESS,
-	.cra_ctxsize		= sizeof(struct nx842_crypto_ctx),
-	.cra_module		= THIS_MODULE,
-	.cra_init		= nx842_powernv_crypto_init,
-	.cra_exit		= nx842_crypto_exit,
-	.cra_u			= { .compress = {
-	.coa_compress		= nx842_crypto_compress,
-	.coa_decompress		= nx842_crypto_decompress } }
+static struct scomp_alg nx842_powernv_alg = {
+	.base.cra_name		= "842",
+	.base.cra_driver_name	= "842-nx",
+	.base.cra_priority	= 300,
+	.base.cra_module	= THIS_MODULE,
+
+	.alloc_ctx		= nx842_powernv_crypto_alloc_ctx,
+	.free_ctx		= nx842_crypto_free_ctx,
+	.compress		= nx842_crypto_compress,
+	.decompress		= nx842_crypto_decompress,
 };
 
 static __init int nx_compress_powernv_init(void)
@@ -1107,7 +1106,7 @@ static __init int nx_compress_powernv_init(void)
 		nx842_powernv_exec = nx842_exec_vas;
 	}
 
-	ret = crypto_register_alg(&nx842_powernv_alg);
+	ret = crypto_register_scomp(&nx842_powernv_alg);
 	if (ret) {
 		nx_delete_coprocs();
 		return ret;
@@ -1128,7 +1127,7 @@ static void __exit nx_compress_powernv_exit(void)
 	if (!nx842_ct)
 		vas_unregister_api_powernv();
 
-	crypto_unregister_alg(&nx842_powernv_alg);
+	crypto_unregister_scomp(&nx842_powernv_alg);
 
 	nx_delete_coprocs();
 }
drivers/crypto/nx/nx-common-pseries.c +16 -17
index 7e98f174f69b..0d26aafd0886 100644
@@ -11,6 +11,7 @@
 #include <asm/vio.h>
 #include <asm/hvcall.h>
 #include <asm/vas.h>
+#include <crypto/internal/scompress.h>
 
 #include "nx-842.h"
 #include "nx_csbcpb.h" /* struct nx_csbcpb */
@@ -1008,23 +1009,21 @@ static struct nx842_driver nx842_pseries_driver = {
 	.decompress =	nx842_pseries_decompress,
 };
 
-static int nx842_pseries_crypto_init(struct crypto_tfm *tfm)
+static void *nx842_pseries_crypto_alloc_ctx(void)
 {
-	return nx842_crypto_init(tfm, &nx842_pseries_driver);
+	return nx842_crypto_alloc_ctx(&nx842_pseries_driver);
 }
 
-static struct crypto_alg nx842_pseries_alg = {
-	.cra_name		= "842",
-	.cra_driver_name	= "842-nx",
-	.cra_priority		= 300,
-	.cra_flags		= CRYPTO_ALG_TYPE_COMPRESS,
-	.cra_ctxsize		= sizeof(struct nx842_crypto_ctx),
-	.cra_module		= THIS_MODULE,
-	.cra_init		= nx842_pseries_crypto_init,
-	.cra_exit		= nx842_crypto_exit,
-	.cra_u			= { .compress = {
-	.coa_compress		= nx842_crypto_compress,
-	.coa_decompress		= nx842_crypto_decompress } }
+static struct scomp_alg nx842_pseries_alg = {
+	.base.cra_name		= "842",
+	.base.cra_driver_name	= "842-nx",
+	.base.cra_priority	= 300,
+	.base.cra_module	= THIS_MODULE,
+
+	.alloc_ctx		= nx842_pseries_crypto_alloc_ctx,
+	.free_ctx		= nx842_crypto_free_ctx,
+	.compress		= nx842_crypto_compress,
+	.decompress		= nx842_crypto_decompress,
 };
 
 static int nx842_probe(struct vio_dev *viodev,
@@ -1072,7 +1071,7 @@ static int nx842_probe(struct vio_dev *viodev,
 	if (ret)
 		goto error;
 
-	ret = crypto_register_alg(&nx842_pseries_alg);
+	ret = crypto_register_scomp(&nx842_pseries_alg);
 	if (ret) {
 		dev_err(&viodev->dev, "could not register comp alg: %d\n", ret);
 		goto error;
@@ -1120,7 +1119,7 @@ static void nx842_remove(struct vio_dev *viodev)
 	if (caps_feat)
 		sysfs_remove_group(&viodev->dev.kobj, &nxcop_caps_attr_group);
 
-	crypto_unregister_alg(&nx842_pseries_alg);
+	crypto_unregister_scomp(&nx842_pseries_alg);
 
 	spin_lock_irqsave(&devdata_mutex, flags);
 	old_devdata = rcu_dereference_check(devdata,
@@ -1252,7 +1251,7 @@ static void __exit nx842_pseries_exit(void)
 
 	vas_unregister_api_pseries();
 
-	crypto_unregister_alg(&nx842_pseries_alg);
+	crypto_unregister_scomp(&nx842_pseries_alg);
 
 	spin_lock_irqsave(&devdata_mutex, flags);
 	old_devdata = rcu_dereference_check(devdata,
drivers/crypto/talitos.c +166 -88

421 lines not on this page · raw message

drivers/dma/idxd/device.c +1 -2
index 44bbeb3acd14..13af4ef2f43f 100644
@@ -810,8 +810,7 @@ static void idxd_device_evl_free(struct idxd_device *idxd)
 	struct device *dev = &idxd->pdev->dev;
 	struct idxd_evl *evl = idxd->evl;
 
-	gencfg.bits = ioread32(idxd->reg_base + IDXD_GENCFG_OFFSET);
-	if (!gencfg.evl_en)
+	if (!evl)
 		return;
 
 	mutex_lock(&evl->lock);
drivers/extcon/extcon-ptn5150.c +14 -0
index 4616da7e5430..4e69982e0345 100644
@@ -331,6 +331,19 @@ static int ptn5150_i2c_probe(struct i2c_client *i2c)
 	return 0;
 }
 
+static int ptn5150_resume(struct device *dev)
+{
+	struct i2c_client *i2c = to_i2c_client(dev);
+	struct ptn5150_info *info = i2c_get_clientdata(i2c);
+
+	/* Need to check possible pending interrupt events */
+	schedule_work(&info->irq_work);
+
+	return 0;
+}
+
+static DEFINE_SIMPLE_DEV_PM_OPS(ptn5150_pm_ops, NULL, ptn5150_resume);
+
 static const struct of_device_id ptn5150_dt_match[] = {
 	{ .compatible = "nxp,ptn5150" },
 	{ },
@@ -346,6 +359,7 @@ MODULE_DEVICE_TABLE(i2c, ptn5150_i2c_id);
 static struct i2c_driver ptn5150_i2c_driver = {
 	.driver		= {
 		.name	= "ptn5150",
+		.pm = pm_sleep_ptr(&ptn5150_pm_ops),
 		.of_match_table = ptn5150_dt_match,
 	},
 	.probe		= ptn5150_i2c_probe,
drivers/firmware/google/framebuffer-coreboot.c +1 -11
index c323a818805c..b626b11ebf85 100644
@@ -50,7 +50,7 @@ static int framebuffer_probe(struct coreboot_device *dev)
 		return -ENODEV;
 
 	memset(&res, 0, sizeof(res));
-	res.flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+	res.flags = IORESOURCE_MEM;
 	res.name = "Coreboot Framebuffer";
 	res.start = fb->physical_address;
 	length = PAGE_ALIGN(fb->y_resolution * fb->bytes_per_line);
@@ -64,22 +64,12 @@ static int framebuffer_probe(struct coreboot_device *dev)
 						 sizeof(pdata));
 	if (IS_ERR(pdev))
 		pr_warn("coreboot: could not register framebuffer\n");
-	else
-		dev_set_drvdata(&dev->dev, pdev);
 
 	return PTR_ERR_OR_ZERO(pdev);
 }
 
-static void framebuffer_remove(struct coreboot_device *dev)
-{
-	struct platform_device *pdev = dev_get_drvdata(&dev->dev);
-
-	platform_device_unregister(pdev);
-}
-
 static struct coreboot_driver framebuffer_driver = {
 	.probe = framebuffer_probe,
-	.remove = framebuffer_remove,
 	.drv = {
 		.name = "framebuffer",
 	},
drivers/gpio/gpiolib-of.c +8 -1
index c1e83b2926ae..4da0798ccd12 100644
@@ -1136,5 +1136,12 @@ int of_gpiochip_add(struct gpio_chip *chip)
 
 void of_gpiochip_remove(struct gpio_chip *chip)
 {
-	of_node_put(dev_of_node(&chip->gpiodev->dev));
+	struct device_node *np = dev_of_node(&chip->gpiodev->dev);
+
+	for_each_child_of_node_scoped(np, child) {
+		if (of_property_present(child, "gpio-hog"))
+			of_node_clear_flag(child, OF_POPULATED);
+	}
+
+	of_node_put(np);
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +2 -1
index b2d86ffc626c..9c0e4e4bf3f6 100644
@@ -1665,7 +1665,8 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu(
 			alloc_domain = AMDGPU_GEM_DOMAIN_GTT;
 			alloc_flags = 0;
 		} else {
-			alloc_flags = AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE;
+			alloc_flags = AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE |
+				AMDGPU_GEM_CREATE_VRAM_CLEARED;
 			alloc_flags |= (flags & KFD_IOC_ALLOC_MEM_FLAGS_PUBLIC) ?
 			AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED : 0;
 		}
drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c +20 -23

69 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +10 -3
index eace2c9d0c36..ea75c2b2bbb1 100644
@@ -252,12 +252,19 @@ void amdgpu_gart_table_ram_free(struct amdgpu_device *adev)
  */
 int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev)
 {
+	int r;
+
 	if (adev->gart.bo != NULL)
 		return 0;
 
-	return amdgpu_bo_create_kernel(adev,  adev->gart.table_size, PAGE_SIZE,
-				       AMDGPU_GEM_DOMAIN_VRAM, &adev->gart.bo,
-				       NULL, (void *)&adev->gart.ptr);
+	r = amdgpu_bo_create_kernel(adev,  adev->gart.table_size, PAGE_SIZE,
+				    AMDGPU_GEM_DOMAIN_VRAM, &adev->gart.bo,
+				    NULL, (void *)&adev->gart.ptr);
+	if (r)
+		return r;
+
+	memset_io(adev->gart.ptr, adev->gart.gart_pte_flags, adev->gart.table_size);
+	return 0;
 }
 
 /**
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +7 -4
index 60f770b99c2c..dc17e2ce84d0 100644
@@ -440,15 +440,18 @@ void amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
 
 int amdgpu_ring_init_mqd(struct amdgpu_ring *ring);
 
-static inline u32 amdgpu_ib_get_value(struct amdgpu_ib *ib, int idx)
+static inline u32 amdgpu_ib_get_value(struct amdgpu_ib *ib, uint32_t idx)
 {
-	return ib->ptr[idx];
+	if (idx < ib->length_dw)
+		return ib->ptr[idx];
+	return 0;
 }
 
-static inline void amdgpu_ib_set_value(struct amdgpu_ib *ib, int idx,
+static inline void amdgpu_ib_set_value(struct amdgpu_ib *ib, uint32_t idx,
 				       uint32_t value)
 {
-	ib->ptr[idx] = value;
+	if (idx < ib->length_dw)
+		ib->ptr[idx] = value;
 }
 
 int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm,
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +3 -0
index c56405b49050..96c98417c29d 100644
@@ -75,6 +75,9 @@ static int amdgpu_ttm_init_on_chip(struct amdgpu_device *adev,
 				    unsigned int type,
 				    uint64_t size_in_page)
 {
+	if (!size_in_page)
+		return 0;
+
 	return ttm_range_man_init(&adev->mman.bdev, type,
 				  false, size_in_page);
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +3 -0
index 8e91355ad42c..d25d444984b3 100644
@@ -654,6 +654,9 @@ static int amdgpu_vce_cs_reloc(struct amdgpu_cs_parser *p, struct amdgpu_ib *ib,
 	uint64_t addr;
 	int r;
 
+	if (lo >= ib->length_dw || hi >= ib->length_dw)
+		return -EINVAL;
+
 	if (index == 0xffffffff)
 		index = 0;
 
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +0 -3
index 895060f6948f..f923aaa6104a 100644
@@ -5388,9 +5388,6 @@ static void gfx_v9_0_ring_emit_fence_kiq(struct amdgpu_ring *ring, u64 addr,
 {
 	struct amdgpu_device *adev = ring->adev;
 
-	/* we only allocate 32bit for each seq wb address */
-	BUG_ON(flags & AMDGPU_FENCE_FLAG_64BIT);
-
 	/* write fence seq to the "addr" */
 	amdgpu_ring_write(ring, PACKET3(PACKET3_WRITE_DATA, 3));
 	amdgpu_ring_write(ring, (WRITE_DATA_ENGINE_SEL(0) |
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +2 -2
index 0ba9a3d3312f..6a26428572ec 100644
@@ -841,7 +841,7 @@ static void sdma_v4_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 se
 	/* write the fence */
 	amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_FENCE));
 	/* zero in first two bits */
-	BUG_ON(addr & 0x3);
+	WARN_ON(addr & 0x3);
 	amdgpu_ring_write(ring, lower_32_bits(addr));
 	amdgpu_ring_write(ring, upper_32_bits(addr));
 	amdgpu_ring_write(ring, lower_32_bits(seq));
@@ -851,7 +851,7 @@ static void sdma_v4_0_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 se
 		addr += 4;
 		amdgpu_ring_write(ring, SDMA_PKT_HEADER_OP(SDMA_OP_FENCE));
 		/* zero in first two bits */
-		BUG_ON(addr & 0x3);
+		WARN_ON(addr & 0x3);
 		amdgpu_ring_write(ring, lower_32_bits(addr));
 		amdgpu_ring_write(ring, upper_32_bits(addr));
 		amdgpu_ring_write(ring, upper_32_bits(seq));
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c +21 -4
index 710328f12194..c9345da548a6 100644
@@ -1789,7 +1789,7 @@ static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, struct amdgpu_job *job,
 {
 	struct ttm_operation_ctx ctx = { false, false };
 	struct amdgpu_bo_va_mapping *map;
-	uint32_t *msg, num_buffers;
+	uint32_t *msg, num_buffers, len_dw;
 	struct amdgpu_bo *bo;
 	uint64_t start, end;
 	unsigned int i;
@@ -1810,6 +1810,11 @@ static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, struct amdgpu_job *job,
 		return -EINVAL;
 	}
 
+	if (end - addr < 16) {
+		DRM_ERROR("VCN messages must be at least 4 DWORDs!\n");
+		return -EINVAL;
+	}
+
 	bo->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
 	amdgpu_bo_placement_from_domain(bo, bo->allowed_domains);
 	r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx);
@@ -1826,8 +1831,8 @@ static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, struct amdgpu_job *job,
 
 	msg = ptr + addr - start;
 
-	/* Check length */
 	if (msg[1] > end - addr) {
+		DRM_ERROR("VCN message header does not fit in BO!\n");
 		r = -EINVAL;
 		goto out;
 	}
@@ -1835,9 +1840,19 @@ static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, struct amdgpu_job *job,
 	if (msg[3] != RDECODE_MSG_CREATE)
 		goto out;
 
+	len_dw = msg[1] / 4;
 	num_buffers = msg[2];
+
+	/* Verify that all indices fit within the claimed length. Each index is 4 DWORDs */
+	if (num_buffers > len_dw || 6 + num_buffers * 4 > len_dw) {
+		DRM_ERROR("VCN message has too many buffers!\n");
+		r = -EINVAL;
+		goto out;
+	}
+
 	for (i = 0, msg = &msg[6]; i < num_buffers; ++i, msg += 4) {
 		uint32_t offset, size, *create;
+		uint64_t buf_end;
 
 		if (msg[0] != RDECODE_MESSAGE_CREATE)
 			continue;
@@ -1845,14 +1860,16 @@ static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, struct amdgpu_job *job,
 		offset = msg[1];
 		size = msg[2];
 
-		if (offset + size > end) {
+		if (size < 4 || check_add_overflow(offset, size, &buf_end) ||
+		    buf_end > end - addr) {
+			DRM_ERROR("VCN message buffer exceeds BO bounds!\n");
 			r = -EINVAL;
 			goto out;
 		}
 
 		create = ptr + addr + offset - start;
 
-		/* H246, HEVC and VP9 can run on any instance */
+		/* H264, HEVC and VP9 can run on any instance */
 		if (create[0] == 0x7 || create[0] == 0x10 || create[0] == 0x11)
 			continue;
 
drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c +32 -14

106 lines not on this page · raw message

drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +27 -2
index 2e194aa60848..d8544c766125 100644
@@ -26,6 +26,7 @@
 #include <linux/err.h>
 #include <linux/fs.h>
 #include <linux/file.h>
+#include <linux/overflow.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/uaccess.h>
@@ -784,6 +785,9 @@ static int kfd_ioctl_get_process_apertures_new(struct file *filp,
 		goto out_unlock;
 	}
 
+	if (args->num_of_nodes > kfd_topology_get_num_devices())
+		return -EINVAL;
+
 	/* Fill in process-aperture information for all available
 	 * nodes, but not more than args->num_of_nodes as that is
 	 * the amount of memory allocated by user
@@ -1702,6 +1706,16 @@ static int kfd_ioctl_smi_events(struct file *filep,
 	return kfd_smi_event_open(pdd->dev, &args->anon_fd);
 }
 
+static int kfd_ioctl_svm_validate(void *kdata, unsigned int usize)
+{
+	struct kfd_ioctl_svm_args *args = kdata;
+	size_t expected = struct_size(args, attrs, args->nattr);
+
+	if (expected == SIZE_MAX || usize < expected)
+		return -EINVAL;
+	return 0;
+}
+
 #if IS_ENABLED(CONFIG_HSA_AMD_SVM)
 
 static int kfd_ioctl_set_xnack_mode(struct file *filep,
@@ -3125,7 +3139,11 @@ static int kfd_ioctl_set_debug_trap(struct file *filep, struct kfd_process *p, v
 
 #define AMDKFD_IOCTL_DEF(ioctl, _func, _flags) \
 	[_IOC_NR(ioctl)] = {.cmd = ioctl, .func = _func, .flags = _flags, \
-			    .cmd_drv = 0, .name = #ioctl}
+			    .validate = NULL, .cmd_drv = 0, .name = #ioctl}
+
+#define AMDKFD_IOCTL_DEF_V(ioctl, _func, _validate, _flags) \
+	[_IOC_NR(ioctl)] = {.cmd = ioctl, .func = _func, .flags = _flags, \
+			    .validate = _validate, .cmd_drv = 0, .name = #ioctl}
 
 /** Ioctl table */
 static const struct amdkfd_ioctl_desc amdkfd_ioctls[] = {
@@ -3222,7 +3240,8 @@ static const struct amdkfd_ioctl_desc amdkfd_ioctls[] = {
 	AMDKFD_IOCTL_DEF(AMDKFD_IOC_SMI_EVENTS,
 			kfd_ioctl_smi_events, 0),
 
-	AMDKFD_IOCTL_DEF(AMDKFD_IOC_SVM, kfd_ioctl_svm, 0),
+	AMDKFD_IOCTL_DEF_V(AMDKFD_IOC_SVM, kfd_ioctl_svm,
+			   kfd_ioctl_svm_validate, 0),
 
 	AMDKFD_IOCTL_DEF(AMDKFD_IOC_SET_XNACK_MODE,
 			kfd_ioctl_set_xnack_mode, 0),
@@ -3344,6 +3363,12 @@ static long kfd_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
 		memset(kdata, 0, usize);
 	}
 
+	if (ioctl->validate) {
+		retcode = ioctl->validate(kdata, usize);
+		if (retcode)
+			goto err_i1;
+	}
+
 	retcode = func(filep, process, kdata);
 
 	if (cmd & IOC_OUT)
drivers/gpu/drm/amd/amdkfd/kfd_priv.h +4 -0
index 0b69ff5375c5..12de27f58edf 100644
@@ -1006,10 +1006,13 @@ extern struct srcu_struct kfd_processes_srcu;
 typedef int amdkfd_ioctl_t(struct file *filep, struct kfd_process *p,
 				void *data);
 
+typedef int amdkfd_ioctl_validate_t(void *kdata, unsigned int usize);
+
 struct amdkfd_ioctl_desc {
 	unsigned int cmd;
 	int flags;
 	amdkfd_ioctl_t *func;
+	amdkfd_ioctl_validate_t *validate;
 	unsigned int cmd_drv;
 	const char *name;
 };
@@ -1145,6 +1148,7 @@ static inline struct kfd_node *kfd_node_by_irq_ids(struct amdgpu_device *adev,
 	return NULL;
 }
 int kfd_topology_enum_kfd_devices(uint8_t idx, struct kfd_node **kdev);
+uint32_t kfd_topology_get_num_devices(void);
 int kfd_numa_node_to_apic_id(int numa_node_id);
 
 /* Interrupts */
drivers/gpu/drm/amd/amdkfd/kfd_topology.c +11 -0
index 3885bb53f019..556883e6a509 100644
@@ -2177,6 +2177,17 @@ int kfd_topology_remove_device(struct kfd_node *gpu)
 	return res;
 }
 
+uint32_t kfd_topology_get_num_devices(void)
+{
+	uint32_t num_devices;
+
+	down_read(&topology_lock);
+	num_devices = sys_props.num_devices;
+	up_read(&topology_lock);
+
+	return num_devices;
+}
+
 /* kfd_topology_enum_kfd_devices - Enumerate through all devices in KFD
  *	topology. If GPU device is found @idx, then valid kfd_dev pointer is
  *	returned through @kdev
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +5 -0
index f51c3921cbc2..12f75b2ad664 100644
@@ -10152,6 +10152,11 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
 	}
 
 	if (dc_resource_is_dsc_encoding_supported(dc)) {
+		for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
+			dm_new_crtc_state = to_dm_crtc_state(new_crtc_state);
+			dm_new_crtc_state->mode_changed_independent_from_dsc = new_crtc_state->mode_changed;
+		}
+
 		for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
 			if (drm_atomic_crtc_needs_modeset(new_crtc_state)) {
 				ret = add_affected_mst_dsc_crtcs(state, crtc);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +1 -0
index 88606b805330..8d4f2cadb915 100644
@@ -737,6 +737,7 @@ struct dm_crtc_state {
 
 	bool freesync_vrr_info_changed;
 
+	bool mode_changed_independent_from_dsc;
 	bool dsc_force_changed;
 	bool vrr_supported;
 	struct mod_freesync_config freesync_config;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +5 -2
index 2698e5c74ddf..ab6924d3046b 100644
@@ -1587,8 +1587,11 @@ int pre_validate_dsc(struct drm_atomic_state *state,
 		} else {
 			int ind = find_crtc_index_in_state_by_stream(state, stream);
 
-			if (ind >= 0)
-				state->crtcs[ind].new_state->mode_changed = 0;
+			if (ind >= 0) {
+				struct dm_crtc_state *dm_new_crtc_state = to_dm_crtc_state(state->crtcs[ind].new_state);
+
+				dm_new_crtc_state->base.mode_changed = dm_new_crtc_state->mode_changed_independent_from_dsc;
+			}
 		}
 	}
 clean_exit:
drivers/gpu/drm/amd/pm/powerplay/smumgr/ci_smumgr.c +7 -6
index 9e4228232f02..23f991dd065f 100644
@@ -1326,12 +1326,13 @@ static int ci_populate_all_memory_levels(struct pp_hwmgr *hwmgr)
 
 	dev_id = adev->pdev->device;
 
-	if ((dpm_table->mclk_table.count >= 2)
-		&& ((dev_id == 0x67B0) ||  (dev_id == 0x67B1))) {
-		smu_data->smc_state_table.MemoryLevel[1].MinVddci =
-				smu_data->smc_state_table.MemoryLevel[0].MinVddci;
-		smu_data->smc_state_table.MemoryLevel[1].MinMvdd =
-				smu_data->smc_state_table.MemoryLevel[0].MinMvdd;
+	if ((dpm_table->mclk_table.count >= 2) &&
+	    ((dev_id == 0x67B0) ||  (dev_id == 0x67B1)) &&
+	    (adev->pdev->revision == 0)) {
+		smu_data->smc_state_table.MemoryLevel[1].MinVddc =
+				smu_data->smc_state_table.MemoryLevel[0].MinVddc;
+		smu_data->smc_state_table.MemoryLevel[1].MinVddcPhases =
+				smu_data->smc_state_table.MemoryLevel[0].MinVddcPhases;
 	}
 	smu_data->smc_state_table.MemoryLevel[0].ActivityLevel = 0x1F;
 	CONVERT_FROM_HOST_TO_SMC_US(smu_data->smc_state_table.MemoryLevel[0].ActivityLevel);
drivers/gpu/drm/drm_gem_framebuffer_helper.c +2 -2
index 3bdb6ba37ff4..2383ebb5e435 100644
@@ -174,8 +174,8 @@ int drm_gem_fb_init_with_funcs(struct drm_device *dev,
 	}
 
 	for (i = 0; i < info->num_planes; i++) {
-		unsigned int width = mode_cmd->width / (i ? info->hsub : 1);
-		unsigned int height = mode_cmd->height / (i ? info->vsub : 1);
+		unsigned int width = drm_format_info_plane_width(info, mode_cmd->width, i);
+		unsigned int height = drm_format_info_plane_height(info, mode_cmd->height, i);
 		unsigned int min_size;
 
 		objs[i] = drm_gem_object_lookup(file, mode_cmd->handles[i]);
drivers/gpu/drm/nouveau/nouveau_gem.c +1 -1
index cd97df690335..e8ce33c89548 100644
@@ -679,7 +679,7 @@ nouveau_gem_pushbuf_reloc_apply(struct nouveau_cli *cli,
 		}
 		nvbo = (void *)(unsigned long)bo[r->reloc_bo_index].user_priv;
 
-		if (unlikely(r->reloc_bo_offset + 4 >
+		if (unlikely((u64)r->reloc_bo_offset + 4 >
 			     nvbo->bo.base.size)) {
 			NV_PRINTK(err, cli, "reloc outside of bo\n");
 			ret = -EINVAL;
drivers/gpu/drm/radeon/ci_dpm.c +6 -3
index b8f4dac68d85..63c4d99a1aac 100644
@@ -2466,7 +2466,8 @@ static void ci_register_patching_mc_arb(struct radeon_device *rdev,
 
 	if (patch &&
 	    ((rdev->pdev->device == 0x67B0) ||
-	     (rdev->pdev->device == 0x67B1))) {
+	     (rdev->pdev->device == 0x67B1)) &&
+	    (rdev->pdev->revision == 0)) {
 		if ((memory_clock > 100000) && (memory_clock <= 125000)) {
 			tmp2 = (((0x31 * engine_clock) / 125000) - 1) & 0xff;
 			*dram_timimg2 &= ~0x00ff0000;
@@ -3307,7 +3308,8 @@ static int ci_populate_all_memory_levels(struct radeon_device *rdev)
 	pi->smc_state_table.MemoryLevel[0].EnabledForActivity = 1;
 
 	if ((dpm_table->mclk_table.count >= 2) &&
-	    ((rdev->pdev->device == 0x67B0) || (rdev->pdev->device == 0x67B1))) {
+	    ((rdev->pdev->device == 0x67B0) || (rdev->pdev->device == 0x67B1)) &&
+	    (rdev->pdev->revision == 0)) {
 		pi->smc_state_table.MemoryLevel[1].MinVddc =
 			pi->smc_state_table.MemoryLevel[0].MinVddc;
 		pi->smc_state_table.MemoryLevel[1].MinVddcPhases =
@@ -4504,7 +4506,8 @@ static int ci_register_patching_mc_seq(struct radeon_device *rdev,
 
 	if (patch &&
 	    ((rdev->pdev->device == 0x67B0) ||
-	     (rdev->pdev->device == 0x67B1))) {
+	     (rdev->pdev->device == 0x67B1)) &&
+	    (rdev->pdev->revision == 0)) {
 		for (i = 0; i < table->last; i++) {
 			if (table->last >= SMU7_DISCRETE_MC_REGISTER_ARRAY_SIZE)
 				return -EINVAL;
drivers/gpu/drm/tiny/arcpgu.c +2 -1
index e5b10e41554a..b6218567f5a4 100644
@@ -248,7 +248,8 @@ DEFINE_DRM_GEM_DMA_FOPS(arcpgu_drm_ops);
 static int arcpgu_load(struct arcpgu_drm_private *arcpgu)
 {
 	struct platform_device *pdev = to_platform_device(arcpgu->drm.dev);
-	struct device_node *encoder_node = NULL, *endpoint_node = NULL;
+	struct device_node *encoder_node __free(device_node) = NULL;
+	struct device_node *endpoint_node = NULL;
 	struct drm_connector *connector = NULL;
 	struct drm_device *drm = &arcpgu->drm;
 	struct resource *res;
drivers/hid/hid-playstation.c +4 -2
index 199f76988bae..4db50cacbf9a 100644
@@ -2200,7 +2200,8 @@ static int dualshock4_parse_report(struct ps_device *ps_dev, struct hid_report *
 		struct dualshock4_input_report_usb *usb = (struct dualshock4_input_report_usb *)data;
 
 		ds4_report = &usb->common;
-		num_touch_reports = usb->num_touch_reports;
+		num_touch_reports = min_t(u8, usb->num_touch_reports,
+					  ARRAY_SIZE(usb->touch_reports));
 		touch_reports = usb->touch_reports;
 	} else if (hdev->bus == BUS_BLUETOOTH && report->id == DS4_INPUT_REPORT_BT &&
 			size == DS4_INPUT_REPORT_BT_SIZE) {
@@ -2214,7 +2215,8 @@ static int dualshock4_parse_report(struct ps_device *ps_dev, struct hid_report *
 		}
 
 		ds4_report = &bt->common;
-		num_touch_reports = bt->num_touch_reports;
+		num_touch_reports = min_t(u8, bt->num_touch_reports,
+					  ARRAY_SIZE(bt->touch_reports));
 		touch_reports = bt->touch_reports;
 	} else {
 		hid_err(hdev, "Unhandled reportID=%d\n", report->id);
drivers/hwmon/corsair-psu.c +2 -2
index f8f22b8a67cd..93937e1bce19 100644
@@ -805,13 +805,13 @@ static int corsairpsu_probe(struct hid_device *hdev, const struct hid_device_id
 	ret = corsairpsu_init(priv);
 	if (ret < 0) {
 		dev_err(&hdev->dev, "unable to initialize device (%d)\n", ret);
-		goto fail_and_stop;
+		goto fail_and_close;
 	}
 
 	ret = corsairpsu_fwinfo(priv);
 	if (ret < 0) {
 		dev_err(&hdev->dev, "unable to query firmware (%d)\n", ret);
-		goto fail_and_stop;
+		goto fail_and_close;
 	}
 
 	corsairpsu_get_criticals(priv);
drivers/hwmon/ltc2992.c +33 -10

69 lines not on this page · raw message

drivers/i2c/i2c-core-of.c +1 -1
index a6c407d36800..50e97e2ed2cf 100644
@@ -182,7 +182,7 @@ static int of_i2c_notify(struct notifier_block *nb, unsigned long action,
 		 * Clear the flag before adding the device so that fw_devlink
 		 * doesn't skip adding consumers to this device.
 		 */
-		rd->dn->fwnode.flags &= ~FWNODE_FLAG_NOT_DEVICE;
+		fwnode_clear_flag(&rd->dn->fwnode, FWNODE_FLAG_NOT_DEVICE);
 		client = of_i2c_register_device(adap, rd->dn);
 		if (IS_ERR(client)) {
 			dev_err(&adap->dev, "failed to create client for '%pOF'\n",
drivers/iio/adc/ad7768-1.c +7 -2
index e147eaf1a3b1..0f1361bbafa3 100644
@@ -241,12 +241,17 @@ static int ad7768_scan_direct(struct iio_dev *indio_dev)
 	struct ad7768_state *st = iio_priv(indio_dev);
 	int readval, ret;
 
-	reinit_completion(&st->completion);
-
 	ret = ad7768_set_mode(st, AD7768_ONE_SHOT);
 	if (ret < 0)
 		return ret;
 
+	reinit_completion(&st->completion);
+
+	/* One-shot mode requires a SYNC pulse to generate a new sample */
+	ret = ad7768_send_sync_pulse(st);
+	if (ret)
+		return ret;
+
 	ret = wait_for_completion_timeout(&st->completion,
 					  msecs_to_jiffies(1000));
 	if (!ret)
drivers/iio/adc/ti-ads7950.c +5 -6
index 263fc3a1b87e..8856d85db4bb 100644
@@ -47,8 +47,6 @@
 #define TI_ADS7950_MAX_CHAN	16
 #define TI_ADS7950_NUM_GPIOS	4
 
-#define TI_ADS7950_TIMESTAMP_SIZE (sizeof(int64_t) / sizeof(__be16))
-
 /* val = value, dec = left shift, bits = number of bits of the mask */
 #define TI_ADS7950_EXTRACT(val, dec, bits) \
 	(((val) >> (dec)) & ((1 << (bits)) - 1))
@@ -105,8 +103,7 @@ struct ti_ads7950_state {
 	 * DMA (thus cache coherency maintenance) may require the
 	 * transfer buffers to live in their own cache lines.
 	 */
[… more lines in the raw message]

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

drivers/infiniband/core/addr.c +3 -0
index e95745710610..579fd879716d 100644

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

drivers/infiniband/hw/hns/hns_roce_qp.c +7 -0
index 26784b296ffa..64516f898f80 100644

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

drivers/infiniband/hw/mana/qp.c +15 -0
index 4b3b5b274e84..8009a339bf9c 100644

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

drivers/infiniband/hw/mlx4/srq.c +3 -1
index c4cf91235eee..68e8b04c5388 100644

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

drivers/infiniband/hw/mlx5/main.c +1 -0
index 0adb98b8dacc..5408ee2b33ec 100644

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

drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +2 -2
index c849fdbd4c99..c47ecb1c08bf 100644

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

drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c +1 -1
index 9f54aa90a35a..dde1910dd8b1 100644

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

drivers/infiniband/sw/rxe/rxe_recv.c +13 -1
index 5861e4244049..2d5e701ff961 100644

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

drivers/infiniband/sw/rxe/rxe_resp.c +13 -1
index fa2b87c74929..70e9bf3a7042 100644

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

drivers/iommu/amd/amd_iommu_types.h +1 -1
index d872054b874f..2571a782b7b6 100644

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

drivers/iommu/amd/init.c +1 -1
index 6261bc7304e9..e5fee1aae587 100644

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

drivers/iommu/amd/iommu.c +12 -6
index d119a104a343..48cf9e9e1597 100644

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

drivers/iommu/iommufd/io_pagetable.c +10 -0
index 6bd37343061e..d1300774cc2b 100644

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

drivers/leds/rgb/leds-qcom-lpg.c +6 -1
index 9843fe2e5f9e..d94c5dd91bdf 100644

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

drivers/md/dm-ioctl.c +5 -1
index 5bb76aab7755..a9cde9fe8fa3 100644

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

drivers/md/dm-raid1.c +3 -3
index 94b6c43dfa5c..93e3470a701c 100644

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

drivers/md/dm-verity-fec.c +4 -4
index c9a5bbb6202f..5f646c4bb98a 100644

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

drivers/md/persistent-data/dm-btree-remove.c +8 -0
index 942cd47eb52d..aeec5b9a1dd5 100644

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

drivers/md/raid10.c +4 -2
index 6bcf6852c200..fd03c01bcf25 100644

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

drivers/md/raid5-cache.c +33 -15

48 lines not on this page · raw message

drivers/md/raid5.c +7 -1
index aad2b8c0c541..6eb94e466f90 100644

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

drivers/media/common/videobuf2/videobuf2-dma-sg.c +1 -0
index a5aa6a2a028c..94239f914120 100644

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

drivers/media/dvb-frontends/dib8000.c +2 -2
index cfe59c3255f7..a2e63296be5d 100644

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

drivers/media/i2c/imx219.c +3 -0
index a3d5a8a7c660..03cbacd77a80 100644

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

drivers/media/i2c/imx412.c +1 -1
index 90fc8eea171f..63c1a727d5be 100644

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

drivers/media/i2c/ov08d10.c +5 -5
index 7d55d4ca24de..e265cc78542e 100644

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

drivers/media/i2c/ov8856.c +8 -2
index 8c93fe6285f8..91981437c572 100644

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

drivers/media/pci/saa7164/saa7164-core.c +35 -12

47 lines not on this page · raw message

drivers/media/pci/zoran/zoran_card.c +1 -1
index 3975fc1b2ee3..38a083ffe6c3 100644

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

drivers/media/platform/amphion/vpu_v4l2.c +3 -6
index 27c99f5c5b71..8ce105847501 100644

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

drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c +1 -0
index 4c7b46f5a7dd..5c513916cf72 100644

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

drivers/media/platform/ti/omap3isp/ispvideo.c +1 -0
index b9e0b6215fa0..ef369d486141 100644

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

drivers/media/rc/igorplugusb.c +11 -5
index 1464ef9c55bc..f3616607d4f5 100644

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

drivers/media/rc/streamzap.c +8 -4
index d3b48a0dd1f4..8e9b156e4300 100644

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

drivers/media/rc/ttusbir.c +9 -4
index 560a26f3965c..dde446a95eaa 100644

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

drivers/media/rc/xbox_remote.c +8 -1
index a1572381d097..0c9c855ced72 100644

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

drivers/media/usb/uvc/uvc_queue.c +1 -2
index 83ed7821fa2a..ac108330cdad 100644

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

drivers/mfd/stpmic1.c +18 -2
index c5128fe96cc7..27497f0db5cc 100644

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

drivers/misc/ibmasm/ibmasmfs.c +7 -0
index 5867af9f592c..93dba0d79b5a 100644

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

drivers/misc/ibmasm/lowlevel.c +8 -4
index 6922dc6c10db..5313230f36ad 100644

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

drivers/misc/ibmasm/remote.c +5 -0
index ec816d3b38cb..521531738c9a 100644

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

drivers/mmc/core/block.c +10 -2
index 3564a0f63c9c..f53f0bf4ae60 100644

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

drivers/mmc/core/card.h +5 -0
index fe0b2fa3bb89..4af43f9f1476 100644

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

drivers/mmc/core/queue.c +6 -2
index b396e3900717..9eed7562e267 100644

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

drivers/mmc/core/queue.h +3 -0
index 9ade3bcbb714..c30e4065c9ba 100644

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

drivers/mmc/core/quirks.h +9 -0
index c417ed34c057..1f7406c0ab03 100644

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

drivers/mmc/host/sdhci-of-dwcmshc.c +16 -3
index def7997f340a..99a618884df5 100644

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

drivers/mtd/devices/docg3.c +3 -5
index 22e73dd6118b..e37fb1155647 100644

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

drivers/mtd/spi-nor/debugfs.c +3 -1
index 6e163cb5b478..2f6098e47119 100644

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

drivers/mtd/spi-nor/sst.c +31 -19

50 lines not on this page · raw message

drivers/net/bonding/bond_main.c +3 -3
index 114ebaa284da..8d481a6495e8 100644

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

drivers/net/can/usb/ucan.c +1 -1
index 6c90b4a7d955..c3ebb648d8b0 100644

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

drivers/net/ethernet/ibm/ibmveth.c +22 -0
index a332a0e3154a..be12eaf080e9 100644

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

drivers/net/ethernet/ibm/ibmveth.h +1 -0
index 8468e2c59d7a..bc1c1bb83c40 100644

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

drivers/net/ethernet/micrel/ks8851.h +2 -4
index 31f75b4a67fd..b795a3a60571 100644

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

drivers/net/ethernet/micrel/ks8851_common.c +30 -39

69 lines not on this page · raw message

drivers/net/ethernet/micrel/ks8851_par.c +6 -9
index 96fb0ffcedb9..7f16ee5a91e2 100644

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

drivers/net/ethernet/micrel/ks8851_spi.c +4 -7
index e33a5e7beb39..50afe8c11178 100644

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

drivers/net/ethernet/microsoft/mana/mana_en.c +10 -1
index b56a337b1e21..343f6e879af3 100644

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

drivers/net/ethernet/stmicro/stmmac/chain_mode.c +1 -1
index 1c01e3c640ce..251560887823 100644

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

drivers/net/ethernet/stmicro/stmmac/common.h +1 -1
index c74de09181c6..5cecbe0e3b6a 100644

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

drivers/net/ethernet/stmicro/stmmac/ring_mode.c +1 -1
index d218412ca832..45c14c1bb0ea 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +26 -21

47 lines not on this page · raw message

drivers/net/ethernet/wangxun/libwx/wx_hw.c +5 -2
index 7feb991a9592..e6320da3e594 100644

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

drivers/net/ethernet/wangxun/txgbe/txgbe_main.c +2 -1
index d60c26ba0ba4..d0d955467aef 100644

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

drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c +2 -0
index 4159c84035fd..2494a3a171fd 100644

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

drivers/net/phy/mdio_bus.c +2 -2
index 7da30a6752be..08b32b45126d 100644

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

drivers/net/wireless/ath/ath5k/base.c +2 -1
index c59c14483177..04558fff0a99 100644

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

drivers/net/wireless/broadcom/b43/xmit.c +2 -1
index 7651b1bdb592..f0b082596637 100644

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

drivers/net/wireless/broadcom/b43legacy/xmit.c +2 -1
index efd63f4ce74f..ee199d4eaf03 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +4 -2
index 6b38d9de71af..a4d0db371c89 100644

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

drivers/net/wireless/marvell/mwifiex/init.c +1 -1
index c9c58419c37b..64d651c78570 100644

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

drivers/net/wireless/mediatek/mt76/mt76_connac.h +6 -0
index 22878f088804..1f29d8cd900c 100644

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

drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c +2 -2
index 570c9dcbc505..6a637d4f4236 100644

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

drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +2 -1
index 7420d91bef0d..a388078cdaa2 100644

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

drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +1 -1
index 27391ee3564a..4740c6dc3108 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/main.c +4 -3
index ae7a01c7ce36..5ffe08b8b85c 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +3 -0
index d1b1b8f767fc..80a07e5f3a27 100644

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

drivers/net/wireless/mediatek/mt76/mt792x_regs.h +4 -0
index a99af23e4b56..ae33ac34e3cc 100644

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

drivers/net/wireless/mediatek/mt76/mt792x_usb.c +43 -8

51 lines not on this page · raw message

drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +8 -20
index 03aacb7a4317..5a57ffb53ace 100644

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

drivers/net/wireless/realtek/rtw88/pci.c +2 -1
index 2bfc0e822b8d..bd6d8b2af242 100644

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

drivers/net/wireless/rsi/rsi_common.h +2 -3
index 7aa5124575cf..c40f8101febc 100644

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

drivers/net/wwan/t7xx/t7xx_modem_ops.c +17 -3
index 24e7d491468e..6e319f1ac6dc 100644

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

drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c +16 -2
index ae632ef96698..f869e4ed9ee9 100644

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

drivers/net/wwan/t7xx/t7xx_port_proxy.h +1 -1
index 81d059fbc0fb..6784c6b783a4 100644

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

drivers/nvme/host/apple.c +1 -5
index 9b1019ee7478..04bb23757a52 100644

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

drivers/nvme/host/core.c +1 -1
index 215aa871092d..48c46c942253 100644

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

drivers/nvme/host/pci.c +2 -0
index 6f78577fb70d..40d9be6468b5 100644

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

drivers/nvme/target/core.c +1 -1
index 1cf6dfac1836..5a2adfc7c796 100644

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

drivers/of/base.c +1 -1
index d10248a5c0a5..04c6a3b40429 100644

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

drivers/of/dynamic.c +1 -1
index 18393800546c..ab109bb92cf4 100644

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

drivers/of/platform.c +1 -1
index ccf7f0ffa67f..18b72f891c5b 100644

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

drivers/of/unittest.c +0 -1
index 4b7e663feee3..9af9d3f7418f 100644

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

drivers/parisc/lasi.c +8 -4
index 73c93e9cfa51..86ef05fba217 100644

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

drivers/pci/endpoint/functions/pci-epf-mhi.c +4 -0
index 87154992ea11..e5a7d1735649 100644

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

drivers/pci/endpoint/functions/pci-epf-ntb.c +2 -54

56 lines not on this page · raw message

drivers/pci/pci.c +3 -4
index b82927905968..a21192ec5689 100644

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

drivers/pci/pcie/aer.c +0 -2
index 42a0f86b72fa..608908552daf 100644

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

drivers/platform/x86/hp/hp-wmi.c +5 -0
index 8ebb7be52ee7..9ac5ecc9833a 100644

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

drivers/power/supply/axp288_charger.c +8 -11
index ac05942e4e6a..ca52c2c82b2c 100644

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

drivers/power/supply/max17042_battery.c +1 -1
index ab97dd7ca5cb..32a0a05a15e2 100644

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

drivers/pwm/pwm-imx-tpm.c +8 -0
index 6591f8f84ce8..7a46bb49d51b 100644

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

drivers/regulator/act8945a-regulator.c +2 -1
index 24cbdd833863..5bbe2bce740e 100644

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

drivers/regulator/bd9571mwv-regulator.c +2 -1
index d469481d8442..21b07ad7afe6 100644

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

drivers/regulator/max77650-regulator.c +1 -1
index 94abfbb2bc1e..16e9f85442c6 100644

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

drivers/regulator/mt6357-regulator.c +1 -1
index c0439a4e0b50..01af473d515e 100644

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

drivers/regulator/rk808-regulator.c +1 -2
index bec22a001a5d..56edf81e57fd 100644

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

drivers/remoteproc/xlnx_r5_remoteproc.c +11 -9
index feca6de68da2..425b905dc86d 100644

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

drivers/rtc/rtc-ntxec.c +1 -1
index 850ca49186fd..d28ddb34e19e 100644

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

drivers/scsi/sd.c +1 -0
index 873c920eb0cf..8cb10cb78b1d 100644

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

drivers/spi/spi-at91-usart.c +7 -1
index b11d0f993cc7..8719d1a99189 100644

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

drivers/spi/spi-atmel.c +7 -1
index e073d54873b1..c9666be85f53 100644

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

drivers/spi/spi-bcm63xx.c +7 -1
index ba66fe9f1f54..746a61095ad4 100644

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

drivers/spi/spi-bcmbca-hsspi.c +3 -1
index 4965bc86d7f5..6f71639aea03 100644

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

drivers/spi/spi-cadence.c +13 -2
index 81edf0a3ddf8..c6579db42eff 100644

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

drivers/spi/spi-coldfire-qspi.c +8 -2
index b341b6908df0..d6725a587483 100644

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

drivers/spi/spi-dln2.c +7 -1
index d319dc357fef..29720f8959dc 100644

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

drivers/spi/spi-fsl-espi.c +9 -1
index ea647ee94da8..c77b5b28ff50 100644

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

drivers/spi/spi-fsl-spi.c +13 -1
index 750e2cd2594d..8c4db3537790 100644

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

drivers/spi/spi-img-spfi.c +7 -1
index d8360f94d3b7..1e2a8cf9290f 100644

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

drivers/spi/spi-imx.c +5 -0
index 76f8747c2943..8b5da079d684 100644

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

drivers/spi/spi-lantiq-ssc.c +7 -1
index 938e9e577e4f..a852d23caa4d 100644

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

drivers/spi/spi-meson-spicc.c +0 -2
index 43d134f4b42b..de8cf91658fd 100644

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

drivers/spi/spi-microchip-core-qspi.c +15 -26

41 lines not on this page · raw message

drivers/spi/spi-mpc52xx.c +2 -1
index b8e2d9263fc8..16ab333af009 100644

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

drivers/spi/spi-mtk-nor.c +3 -1
index cf4ee8b19e42..d20c3984f2a0 100644

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

drivers/spi/spi-omap2-mcspi.c +7 -1
index 35ca8fda45aa..c955741f0c73 100644

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

drivers/spi/spi-orion.c +9 -0
index 1f10f5c8e34d..77dc56ac6dfa 100644

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

drivers/spi/spi-qup.c +7 -1
index 4b6f6b25219b..1e9cd86d9dcc 100644

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

drivers/spi/spi-rockchip.c +3 -1
index 1615f935c8f0..9e160cba1ff3 100644

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

drivers/spi/spi-rspi.c +8 -2
index 8e81f1a8623f..3a4f9a276cf5 100644

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

drivers/spi/spi-s3c64xx.c +3 -6
index f699ce1b4025..4d50d3bf721b 100644

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

drivers/spi/spi-sh-hspi.c +8 -2
index 5d63aa1d28e2..00b1b2099d15 100644

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

drivers/spi/spi-sprd.c +6 -2
index 95377cf748c0..4ba822ee491a 100644

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

drivers/spi/spi-sun4i.c +44 -36

80 lines not on this page · raw message

drivers/spi/spi-sun6i.c +80 -74

154 lines not on this page · raw message

drivers/spi/spi-synquacer.c +47 -41

88 lines not on this page · raw message

drivers/spi/spi-tegra114.c +7 -1
index c99f72c9ab17..ba2c9feab1cd 100644

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

drivers/spi/spi-tegra20-sflash.c +7 -1
index 0c5507473f97..956178f7dd86 100644

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

drivers/spi/spi-ti-qspi.c +48 -49

97 lines not on this page · raw message

drivers/spi/spi-topcliff-pch.c +3 -3
index af5846cfe5e9..f34603df0114 100644

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

drivers/spi/spi-uniphier.c +104 -108

212 lines not on this page · raw message

drivers/spi/spi-zynq-qspi.c +28 -51

79 lines not on this page · raw message

drivers/spi/spi-zynqmp-gqspi.c +3 -1
index b5deb4fe3b83..b9ed6d6824b2 100644

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

drivers/spi/spi.c +38 -25

63 lines not on this page · raw message

drivers/staging/media/atomisp/pci/atomisp_ioctl.c +4 -0
index d2174156573a..de37bb15c856 100644

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

drivers/staging/media/imx/imx-media-csi.c +24 -16
index dda1ebc34692..2c78b08749a8 100644

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

drivers/staging/vme_user/vme_fake.c +2 -0
index 95730d1270af..c70aec959f4d 100644

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

drivers/target/target_core_configfs.c +1 -1
index a52a4ac735e1..74a71c8d7ac1 100644

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

drivers/thermal/sprd_thermal.c +2 -2
index e27c4bdc8912..6e40288bcae9 100644

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

drivers/thermal/thermal_core.c +4 -3
index 660a8d6f3567..3efdd2ae6dcb 100644

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

drivers/usb/chipidea/core.c +23 -22

45 lines not on this page · raw message

drivers/usb/chipidea/otg.c +5 -2
index 647e98f4e351..fecc7d7e2f0d 100644

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

drivers/usb/class/usblp.c +2 -1
index ff1a941fd2ed..7424052a1fa9 100644

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

drivers/usb/common/ulpi.c +4 -1
index c9f52cd1cfb2..b1957dc687a8 100644

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

drivers/usb/dwc3/core.c +6 -6
index 11b938fd9de0..3ac0de8351f5 100644

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

drivers/usb/gadget/udc/omap_udc.c +0 -4
index f90eeecf27de..895d5c5df1ae 100644

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

drivers/usb/host/xhci.c +0 -1
index 0fdb0780d19c..9243eff82817 100644

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

drivers/usb/serial/option.c +4 -0
index 4027d81e8932..835727335c73 100644

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

drivers/usb/typec/tcpm/tcpm.c +2 -0
index 2e39686e01c9..c6330084d4f6 100644

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

drivers/video/fbdev/core/fb_defio.c +142 -37

179 lines not on this page · raw message

drivers/video/fbdev/core/fbcon_rotate.c +4 -1
index ec3c883400f7..4a06e71ae443 100644

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

drivers/video/fbdev/udlfb.c +30 -1
index 077f064ddd48..80b36f4caf0c 100644

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

fs/binfmt_elf.c +1 -1
index 3ff7d2e47c7e..e4348dd76658 100644

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

fs/btrfs/ioctl.c +3 -2
index 4723013995f5..d17d1eff8eff 100644

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

fs/btrfs/space-info.c +1 -1
index 12f8f55bb993..0a960b6c866e 100644

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

fs/ceph/dir.c +4 -2
index cc448470fd9b..d3bb28939194 100644

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

fs/erofs/decompressor.c +1 -0
index 86e088fd386e..18e4da98309d 100644

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

fs/erofs/dir.c +15 -13
index b80abec0531a..c5a965c5c8f8 100644

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

fs/ext2/inode.c +11 -3
index 6ff1f8f29a3c..6eccee033617 100644

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

fs/ext4/extents.c +15 -0
index 7626cf2b07f1..a94798e23c1a 100644

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

fs/ext4/xattr.c +4 -2
index bb4b7f280267..5b5c3ce7719d 100644

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

fs/f2fs/data.c +26 -6
index 44f6be3ea11a..7643c1d7dbb2 100644

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

fs/f2fs/extent_cache.c +10 -7
index 847c50e40c22..09fd0cbd8f77 100644

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

fs/f2fs/f2fs.h +1 -1
index d7afa8bc0ff8..fb35f78e60bb 100644

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

fs/f2fs/inode.c +1 -1
index 4ba5642148b5..db80b6cad325 100644

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

fs/f2fs/node.c +16 -1
index 133141f10d94..586a90643ddd 100644

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

fs/f2fs/segment.c +3 -3
index 764a3d084e4c..8791aba087cd 100644

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

fs/f2fs/super.c +8 -3
index 9bd71d68cd95..7614d93bd67f 100644

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

fs/hfsplus/bfind.c +51 -0

51 lines not on this page · raw message

fs/hfsplus/catalog.c +2 -2
index e71ae2537eaa..34e19f6c3468 100644

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

fs/hfsplus/dir.c +1 -1
index d23f8c4cd717..eecb72c800d0 100644

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

fs/hfsplus/hfsplus_fs.h +9 -0
index 595e5fd4dfdd..52be0d59e532 100644

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

fs/hfsplus/super.c +4 -2
index 954ceaa748e6..0d15e440d686 100644

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

fs/isofs/export.c +1 -1
index 421d247fae52..78f80c1a5c54 100644

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

fs/isofs/rock.c +9 -0
index 348783a70f57..4a791011cb09 100644

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

fs/notify/fsnotify.c +1 -1
index 82602157bcc0..7da224a0ae7c 100644

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

fs/notify/inotify/inotify_user.c +1 -0
index 1c4bfdab008d..804af9d6078b 100644

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

fs/notify/mark.c +11 -7
index 4be6e883d492..b419a5ccf192 100644

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

fs/ntfs3/run.c +15 -3
index 0256fa7c879f..f2451eaf928a 100644

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

fs/ocfs2/aops.c +45 -29

74 lines not on this page · raw message

fs/smb/client/cached_dir.c +8 -0
index d83161285a17..fbc746813a6f 100644

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

fs/smb/client/cifsacl.c +130 -47

177 lines not on this page · raw message

fs/smb/client/cifsacl.h +1 -90

91 lines not on this page · raw message

fs/smb/client/smb2inode.c +8 -4
index aae486771ccb..540f4ba81b6c 100644

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

fs/smb/client/smb2misc.c +2 -1
index 70a9536b03c6..dc0a441371be 100644

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

fs/smb/client/smb2ops.c +11 -0
index bedca306cc82..c16ed08d62af 100644

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

fs/smb/common/smbacl.h new file +122 -0

122 lines not on this page · raw message

fs/smb/server/connection.c +13 -15
index 907ddfc2c2c1..a5209abb004a 100644

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

fs/smb/server/connection.h +4 -2
index 45421269ddd8..2a4b0141ab45 100644

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

fs/smb/server/smb2pdu.c +2 -2
index 0ead29d69259..6c41a67be725 100644

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

fs/smb/server/smbacl.c +29 -19

48 lines not on this page · raw message

fs/smb/server/smbacl.h +2 -111

113 lines not on this page · raw message

fs/smb/server/transport_rdma.c +5 -0
index 4bab3f89d2c8..3528ec33919d 100644

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

fs/smb/server/transport_tcp.c +21 -4
index e55afd0c9bf4..b3a1df597d50 100644

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

fs/smb/server/vfs_cache.c +30 -10
index 2fcb7ca33a63..eacc6ef41db0 100644

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

fs/tracefs/event_inode.c +14 -0
index 4190e6155044..f98315e91e99 100644

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

fs/tracefs/inode.c +4 -1
index 6b70965063d7..6c7b48770948 100644

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

fs/tracefs/internal.h +3 -0
index d83c2a25f288..a4a7f8431aff 100644

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

fs/udf/misc.c +6 -2
index 0788593b6a1d..6928e378fbbd 100644

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

fs/udf/super.c +3 -1
index cb13a07a4aa8..dbf5faf07912 100644

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

fs/userfaultfd.c +0 -2
index 5ceb1fa8eb11..74c468cc432e 100644

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

fs/xfs/xfs_buf.c +1 -0
index 20c1d146af1d..1181108f8074 100644

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

include/linux/bpf_verifier.h +27 -4
index 32e89758176b..dba211d3bb9a 100644

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

include/linux/damon.h +2 -0
index 343132a146cf..8d88ac52a72d 100644

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

include/linux/device.h +45 -0

45 lines not on this page · raw message

include/linux/f2fs_fs.h +1 -0
index b9affa64b7fa..fed8bec024db 100644

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

include/linux/fb.h +3 -1
index 322b4d20afa5..8a9d949cc7e2 100644

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

include/linux/fsnotify_backend.h +1 -0
index 575415b51349..9bc585a29b78 100644

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

include/linux/fwnode.h +33 -11

44 lines not on this page · raw message

include/linux/mmap_lock.h +3 -3
index 8d38dcb6d044..153e01867790 100644

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

include/linux/mmc/card.h +1 -0
index 7c6da19fff9f..d9fbd389dce2 100644

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

include/linux/padata.h +0 -4
index 495b16b6b4d7..6f07e12a4381 100644

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

include/linux/printk.h +13 -0
index e4878bb58f66..478203bb2369 100644

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

include/linux/randomize_kstack.h +15 -11
index 6d92b68efbf6..7792ee5e509f 100644

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

include/linux/sched.h +4 -0
index 856a560100c2..fad3aad97c7b 100644

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

include/linux/tpm_eventlog.h +7 -2
index 7d68a5cc5881..6e5be15029fb 100644

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

include/linux/usb.h +2 -1
index 6e6e32067148..e49e5ab57813 100644

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

include/net/mana/mana.h +1 -0
index 7892b79854f6..d716771a7262 100644

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

include/net/mctp.h +3 -0
index 1eb1b4393e46..6dbed4ca2220 100644

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

include/trace/events/rxrpc.h +3 -3
index 6965099dda89..f0560087637e 100644

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

include/video/udlfb.h +1 -0
index 58fb5732831a..ab34790d57ec 100644

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

init/main.c +0 -1
index 20d2dd4d9b40..eac47a2beb7e 100644

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

io_uring/poll.c +11 -3
index 64835d692c37..66a0a9b9950b 100644

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

io_uring/timeout.c +4 -0
index be2a0f6c209b..edf4b2455c48 100644

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

kernel/bpf/verifier.c +153 -83

236 lines not on this page · raw message

kernel/exit.c +2 -1
index 686bbe72bb41..5ebe01e8f37e 100644

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

kernel/fork.c +2 -0
index 5b60692b1a4e..c65a70581af7 100644

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

kernel/locking/rtmutex.c +8 -5
index bf3a28ee7d8f..def1f8fbc85c 100644

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

kernel/padata.c +37 -99

136 lines not on this page · raw message

kernel/regset.c +3 -3
index 586823786f39..b2871fa68b2a 100644

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

kernel/sched/core.c +1 -1
index c4a9797e9eff..d558e43aedcf 100644

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

kernel/sched/rt.c +1 -1
index 0b420a65b31d..46d2250b7235 100644

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

kernel/sched/sched.h +1 -1
index e1913e253221..65ff0254659a 100644

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

kernel/taskstats.c +1 -0
index 8ce3fa0c19e2..a16392b1bdc1 100644

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

kernel/trace/trace_probe.c +6 -0
index d46a1033ba5b..dee9494ed189 100644

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

kernel/trace/trace_probe.h +3 -1
index c71fa9c2f381..ce5a0935cd45 100644

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

kernel/tracepoint.c +2 -0
index 8d1507dd0724..f7a4210d5d5e 100644

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

lib/crypto/mpi/mpicoder.c +1 -1
index 3cb6bd148fa9..b6efe618e614 100644

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

lib/scatterlist.c +4 -4
index 7bc2220fea80..398014d6626c 100644

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

lib/test_hmm.c +49 -37

86 lines not on this page · raw message

lib/ts_kmp.c +16 -2
index c77a3d537f24..ed13eb0fcd72 100644

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

mm/damon/core.c +36 -1
index 48747236c21c..8e5e3bb835d1 100644

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

mm/damon/lru_sort.c +56 -32

88 lines not on this page · raw message

mm/damon/reclaim.c +56 -32

88 lines not on this page · raw message

mm/damon/sysfs-schemes.c +11 -1
index c774f1e5c0a5..dd04bd38567a 100644

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

mm/hugetlb.c +1 -0
index aa0ef3bc4dd6..6a1e0eefd254 100644

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

net/batman-adv/bat_iv_ogm.c +60 -25

85 lines not on this page · raw message

net/batman-adv/bridge_loop_avoidance.c +10 -1
index 96b3c1c972cd..30deb7d73b2b 100644

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

net/batman-adv/main.c +1 -0
index e8a449915566..18b32c39ed4b 100644

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

net/batman-adv/tp_meter.c +96 -20

116 lines not on this page · raw message

net/batman-adv/tp_meter.h +1 -0
index f0046d366eac..4e97cd10cd02 100644

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

net/batman-adv/types.h +4 -0
index d6854c109cd2..788507b29f9a 100644

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

net/bluetooth/hci_conn.c +18 -1
index 97e48c1f69af..f51c530a3c45 100644

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

net/bluetooth/hci_event.c +39 -6

45 lines not on this page · raw message

net/bluetooth/l2cap_sock.c +9 -0
index 1960d35b3be0..fd727a2961fa 100644

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

net/bluetooth/mgmt.c +185 -77

262 lines not on this page · raw message

net/bluetooth/mgmt_util.c +46 -0

46 lines not on this page · raw message

net/bluetooth/mgmt_util.h +3 -0
index 024e51dd6937..bcba8c9d8952 100644

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

net/bridge/br_arp_nd_proxy.c +5 -3
index f033a5167560..985aaf7ff156 100644

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

net/bridge/br_fdb.c +18 -10
index fa2970db2130..0a51f648c57e 100644

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

net/caif/cfsrvl.c +12 -2
index 9cef9496a707..9a474d99bae8 100644

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

net/ceph/auth.c +2 -2
index 0d75679c6a7e..06d0d73309c2 100644

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

net/ceph/mon_client.c +2 -0
index 290fd7ab125f..9608072863dc 100644

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

net/core/flow_dissector.c +5 -8
index aafa754b6cba..9432e5362b44 100644

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

net/core/rtnetlink.c +1 -0
index acb3a8e19743..350705730f76 100644

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

net/ipv4/ah4.c +18 -11
index 015c0f4ec5ba..9f00d251770d 100644

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

net/ipv4/icmp.c +7 -1
index 3171392c8c06..3fcf11f83d87 100644

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

net/ipv4/inet_connection_sock.c +3 -0
index 7ac315b93bc6..a6f9192b4e53 100644

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

net/ipv6/ah6.c +17 -10
index 5361e2107458..c6f1ad058dd2 100644

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

net/ipv6/exthdrs.c +6 -3
index a8790163e8b6..54e71623aac9 100644

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

net/ipv6/ip6_gre.c +3 -2
index 63ac4a8e095b..b10d2e59d8c4 100644

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

net/ipv6/rpl_iptunnel.c +9 -0
index 523aa8c9b382..702509dffd7c 100644

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

net/ipv6/seg6_iptunnel.c +11 -1
index 50bc05b85329..6fb1f99c5412 100644

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

net/ipv6/xfrm6_protocol.c +3 -1
index ea2f805d3b01..9b586fcec485 100644

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

net/mac80211/mlme.c +4 -5
index 77da0bd5891e..496f2b36a0be 100644

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

net/mac80211/rx.c +1 -1
index 6bfd262dce26..a716a055bff9 100644

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

net/mctp/route.c +6 -2
index 59fbc54d8e66..a565cf2bc733 100644

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

net/mptcp/protocol.c +2 -1
index 6bf6bd741cba..71995d00696e 100644

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

net/mptcp/sockopt.c +6 -6
index b31ba9f905e3..b5bf47218a18 100644

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

net/mptcp/subflow.c +2 -2
index 36c6d76f18df..49be98ffd1de 100644

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

net/netfilter/nft_bitwise.c +2 -1
index 7de95674fd8c..2cfb0104680c 100644

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

net/openvswitch/vport-netdev.c +5 -1
index 68d38c12427c..ca9cee48d152 100644

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

net/qrtr/ns.c +76 -10

86 lines not on this page · raw message

net/rds/message.c +15 -5
index 7af59d2443e5..921d89973b93 100644

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

net/rds/rdma.c +0 -4
index 00dbcd4d28e6..34d9333e4229 100644

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

net/rxrpc/ar-internal.h +0 -1
index f4512761f572..1db479f3d6d3 100644

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

net/rxrpc/call_event.c +25 -2
index 0f78544d043b..07b2d81145d6 100644

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

net/rxrpc/conn_event.c +31 -13

44 lines not on this page · raw message

net/rxrpc/io_thread.c +2 -22
index 0491f2bbf61e..f542eda13ff0 100644

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

net/rxrpc/rxkad.c +49 -63

112 lines not on this page · raw message

net/rxrpc/skbuff.c +0 -9
index 3bcd6ee80396..e2169d1a14b5 100644

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

net/sched/sch_red.c +1 -1
index 3c6b4460cf2c..ea3580d1d19e 100644

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

net/sctp/socket.c +9 -0
index 852c4f66eab5..b3c19210667f 100644

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

net/smc/smc_clc.c +2 -2
index 2f748226f143..1bf6cd010f04 100644

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

net/strparser/strparser.c +8 -0
index b61384b08e7c..2a805c964210 100644

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

net/unix/af_unix.c +3 -0
index 6bc7aef06a5b..651c7debe799 100644

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

net/vmw_vsock/af_vsock.c +3 -3
index ca1289e64bcc..187cc259f820 100644

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

net/vmw_vsock/hyperv_transport.c +2 -2
index 56c232cf5b0f..34871ed1a099 100644

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

net/vmw_vsock/virtio_transport_common.c +5 -6
index 4c374c36c29d..f5eb68145ca1 100644

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

net/xfrm/xfrm_state.c +6 -6
index ca42c9b8cecc..8ba31cf9b319 100644

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

net/xfrm/xfrm_user.c +1 -0
index fd6330984f88..9074434196f4 100644

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

security/selinux/hooks.c +2 -1
index d4a99d98ec77..60092d0b013c 100644

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

security/selinux/selinuxfs.c +15 -39

54 lines not on this page · raw message

sound/aoa/codecs/onyx.c +32 -72

104 lines not on this page · raw message

sound/aoa/codecs/tas.c +39 -74

113 lines not on this page · raw message

sound/aoa/core/gpio-feature.c +7 -13
index 39bb409b27f6..19ed0e6907da 100644

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

sound/aoa/core/gpio-pmf.c +9 -17
index 37866039d1ea..e76bde25e41a 100644

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

sound/aoa/soundbus/i2sbus/core.c +9 -3
index 51ed2f34b276..14631e65aa70 100644

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

sound/aoa/soundbus/i2sbus/pcm.c +72 -71

143 lines not on this page · raw message

sound/core/control.c +4 -0
index dd4bdb39782c..3b464260795e 100644

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

sound/core/misc.c +25 -19

44 lines not on this page · raw message

sound/core/seq/oss/seq_oss_rw.c +3 -3
index 8a142fd54a19..307ef98c44c7 100644

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

sound/core/seq/seq_clientmgr.c +8 -1
index 31428cdc0f63..9d71decaddd6 100644

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

sound/core/seq/seq_clientmgr.h +4 -1
index 915b1017286e..05c8758f50ad 100644

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

sound/core/seq/seq_ump_client.c +1 -3
index 1c6c49560ae1..55923ee6c97a 100644

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

sound/drivers/pcmtest.c +15 -4
index b8bff5522bce..4eb59e9d2322 100644

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

sound/firewire/tascam/tascam-hwdep.c +1 -0
index 74eed9505665..9c3f68d8daef 100644

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

sound/pci/ctxfi/ctatc.c +2 -1
index fbdb8a3d5b8e..939539af68f6 100644

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

sound/pci/hda/cs35l56_hda.c +14 -5
index 8d86a13b8a96..bae7b1d592c6 100644

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

sound/soc/amd/yc/acp6x-mach.c +14 -0
index aaa0f44ef9e0..8281cdae9fd0 100644

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

sound/soc/fsl/fsl_easrc.c +1 -1
index 13396a167b8a..c78abf7698e0 100644

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

sound/soc/intel/boards/bytcr_wm5102.c +1 -0
index 5c9e06ed1a53..de95a79d083e 100644

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

sound/soc/qcom/qdsp6/q6apm-dai.c +1 -0
index 1c2900cccba6..80df74985919 100644

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

sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +1 -1
index 9fcf8f59ea28..8f8fb537876f 100644

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

sound/soc/qcom/qdsp6/q6apm.c +3 -0
index b2ea760ff16e..7b447cb50d50 100644

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

sound/soc/sof/compress.c +3 -0
index d7b044f33d79..c469bb706e4a 100644

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

sound/usb/6fire/control.c +6 -4
index 9bd8dcbb68e4..7c2274120c76 100644

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

sound/usb/caiaq/control.c +36 -16

52 lines not on this page · raw message

sound/usb/caiaq/device.c +25 -10
index 51177ebfb8c6..b20aae0caf60 100644

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

sound/usb/caiaq/input.c +1 -1
index a9130891bb69..5c70fdf61cc1 100644

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

sound/usb/endpoint.c +3 -3
index f6cef6aaca77..b399a7065cf3 100644

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

sound/usb/format.c +1 -1
index 682adbdf7ee7..aec676a889ac 100644

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

sound/usb/midi2.c +5 -4
index 8c668502e1a5..9e183d9d1b09 100644

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

sound/usb/misc/ua101.c +7 -0
index 4f6b20ed29dd..303c7a00489e 100644

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

sound/usb/mixer.c +4 -3
index 223deaef64f4..8c4fb5be3dba 100644

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

sound/usb/mixer_quirks.c +7 -5
index 270a0be672b7..b85896a821b2 100644

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

sound/usb/stream.c +3 -1
index 12a5e053ec54..920a718f91e6 100644

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

tools/accounting/getdelays.c +37 -4

41 lines not on this page · raw message

tools/accounting/procacct.c +36 -4
index 90c4a37f53d9..298fb3f6d80b 100644

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

tools/testing/ktest/ktest.pl +1 -1
index a8979280b505..e93ac83270da 100755

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

tools/testing/selftests/bpf/progs/verifier_spill_fill.c +281 -0

281 lines not on this page · raw message

tools/testing/selftests/bpf/progs/verifier_subprog_precision.c +77 -10

87 lines not on this page · raw message

tools/testing/selftests/bpf/verifier/precise.c +22 -16
index 0d84dd1f38b6..8a2ff81d8350 100644

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

tools/testing/selftests/mqueue/setting deleted +0 -1
deleted file mode 100644
index a953c96aa16e..000000000000

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

tools/testing/selftests/mqueue/settings new file +1 -0
new file mode 100644
index 000000000000..a953c96aa16e

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.