Linux 7.2.7
Greg Kroah-Hartman
maintainerI'm announcing the release of the 7.2.7 kernel.
All users of the 7.2 kernel series must upgrade.
The updated 7.2.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-7.2.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/ABI/testing/sysfs-fs-erofs | 2 Documentation/admin-guide/kernel-parameters.txt | 37 Documentation/hwmon/gpd-fan.rst | 2 Documentation/hwmon/hwmon-kernel-api.rst | 15 Documentation/netlink/specs/rt-link.yaml | 2 Documentation/scheduler/sched-ext.rst | 2 MAINTAINERS | 1 Makefile | 2 arch/arm/mach-ux500/cpu-db8500.c | 6 arch/arm64/kernel/machine_kexec.c | 3 arch/arm64/tools/sysreg | 4 arch/powerpc/include/asm/entry-common.h | 14 arch/powerpc/kernel/eeh_driver.c | 2 arch/powerpc/kernel/interrupt.c | 2 arch/powerpc/kexec/file_load_64.c | 4 arch/powerpc/kvm/book3s_hv.c | 4 arch/powerpc/platforms/powernv/pci-ioda.c | 6 arch/powerpc/platforms/ps3/repository.c | 5 arch/riscv/kernel/process.c | 4 arch/riscv/kernel/sys_hwprobe.c | 5 arch/s390/boot/ipl_parm.c | 26 arch/s390/boot/physmem_info.c | 2 arch/s390/crypto/aes_s390.c | 87 - arch/s390/crypto/paes_s390.c | 19 arch/s390/crypto/phmac_s390.c | 36 arch/s390/include/asm/pai.h | 1 arch/s390/kernel/debug.c | 6 arch/s390/kernel/diag/diag324.c | 3 arch/s390/kernel/ipl.c | 12 arch/s390/kernel/perf_pai.c | 198 ++ arch/s390/kernel/vtime.c | 6 arch/x86/crypto/aria-aesni-avx2-asm_64.S | 6 arch/x86/crypto/aria-gfni-avx512-asm_64.S | 3 arch/x86/events/intel/core.c | 33 arch/x86/events/intel/ds.c | 18 arch/x86/events/perf_event.h | 3 arch/x86/include/asm/pgtable.h | 2 arch/x86/kernel/alternative.c | 111 + arch/x86/kernel/amd_node.c | 25 arch/x86/kernel/cpu/mce/amd.c | 2 arch/x86/kernel/itmt.c | 8 arch/x86/mm/pat/set_memory.c | 148 +- block/bio.c | 9 drivers/accel/amdxdna/aie2_message.c | 2 drivers/accel/amdxdna/amdxdna_ctx.c | 4 drivers/accel/amdxdna/amdxdna_ctx.h | 2 drivers/accel/amdxdna/amdxdna_gem.c | 13 drivers/accel/ethosu/ethosu_device.h | 1 drivers/accel/ethosu/ethosu_drv.c | 3 drivers/accel/ethosu/ethosu_gem.c | 11 drivers/accel/ethosu/ethosu_job.c | 16 drivers/accel/ivpu/ivpu_fw_log.c | 87 - drivers/accel/ivpu/ivpu_gem.h | 14 drivers/accel/ivpu/ivpu_ipc.c | 7 drivers/accel/qaic/qaic_control.c | 46 drivers/block/sunvdc.c | 17 drivers/block/ublk_drv.c | 1 drivers/bluetooth/btintel.c | 39 drivers/bluetooth/btintel_pcie.c | 9 drivers/bluetooth/btmtk.c | 11 drivers/bluetooth/btmtk.h | 1 drivers/bluetooth/btqcomsmd.c | 6 drivers/bluetooth/btrtl.c | 5 drivers/bluetooth/btusb.c | 105 + drivers/bluetooth/hci_mrvl.c | 3 drivers/char/virtio_console.c | 21 drivers/clk/ux500/clk-prcmu.c | 20 drivers/clk/ux500/u8500_of_clk.c | 2 drivers/cpufreq/cpufreq.c | 6 drivers/cpuidle/cpuidle-ux500.c | 6 drivers/dibs/dibs_main.c | 10 drivers/edac/altera_edac.c | 10 drivers/edac/amd64_edac.c | 2 drivers/edac/edac_device_sysfs.c | 11 drivers/edac/igen6_edac.c | 66 drivers/gpu/drm/adp/Kconfig | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 20 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 14 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 20 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 1 drivers/gpu/drm/amd/display/dc/core/dc.c | 3 drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 6 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 2 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 4 drivers/gpu/drm/bridge/tc358768.c | 15 drivers/gpu/drm/bridge/ti-sn65dsi83.c | 6 drivers/gpu/drm/drm_exec.c | 13 drivers/gpu/drm/drm_pagemap.c | 130 + drivers/gpu/drm/drm_panic_qr.rs | 4 drivers/gpu/drm/gud/gud_drv.c | 2 drivers/gpu/drm/i915/display/intel_cdclk.c | 10 drivers/gpu/drm/i915/display/intel_display_types.h | 2 drivers/gpu/drm/i915/display/intel_dp.c | 44 drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 drivers/gpu/drm/i915/i915_query.c | 4 drivers/gpu/drm/logicvc/Kconfig | 1 drivers/gpu/drm/rockchip/Kconfig | 3 drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 7 drivers/gpu/drm/scheduler/tests/mock_scheduler.c | 11 drivers/gpu/drm/tiny/cirrus-qemu.c | 3 drivers/gpu/drm/virtio/virtgpu_display.c | 2 drivers/gpu/drm/virtio/virtgpu_drv.h | 20 drivers/gpu/drm/virtio/virtgpu_object.c | 2 drivers/gpu/drm/virtio/virtgpu_vq.c | 6 drivers/gpu/drm/xe/Makefile | 4 drivers/gpu/drm/xe/instructions/xe_gpu_commands.h | 1 drivers/gpu/drm/xe/regs/xe_i2c_regs.h | 2 drivers/gpu/drm/xe/xe_amc.c | 197 ++ drivers/gpu/drm/xe/xe_amc.h | 25 drivers/gpu/drm/xe/xe_i2c.c | 128 - drivers/gpu/drm/xe/xe_i2c.h | 13 drivers/gpu/drm/xe/xe_oa.c | 6 drivers/gpu/drm/xe/xe_pagefault.c | 10 drivers/gpu/drm/xe/xe_pagefault_types.h | 3 drivers/gpu/drm/xe/xe_ring_ops.c | 11 drivers/hwmon/applesmc.c | 7 drivers/hwmon/aspeed-pwm-tacho.c | 4 drivers/hwmon/asus_rog_ryujin.c | 105 + drivers/hwmon/chipcap2.c | 9 drivers/hwmon/corsair-cpro.c | 24 drivers/hwmon/gpio-fan.c | 13 drivers/hwmon/hwmon.c | 21 drivers/hwmon/ina2xx.c | 163 +- drivers/hwmon/ltc4282.c | 2 drivers/hwmon/mcp9982.c | 2 drivers/hwmon/nct6694-hwmon.c | 35 drivers/hwmon/pmbus/pmbus_core.c | 4 drivers/hwmon/sht4x.c | 8 drivers/hwmon/yogafan.c | 2 drivers/i2c/busses/i2c-designware-common.c | 2 drivers/i2c/busses/i2c-designware-core.h | 85 - drivers/i2c/busses/i2c-designware-master.c | 2 drivers/i2c/busses/i2c-designware-slave.c | 2 drivers/iommu/amd/init.c | 16 drivers/iommu/amd/nested.c | 7 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 4 drivers/iommu/riscv/iommu.c | 117 + drivers/iommu/riscv/iommu.h | 2 drivers/iommu/s390-iommu.c | 2 drivers/irqchip/irq-gic-v5.c | 6 drivers/leds/leds-st1202.c | 10 drivers/media/i2c/mt9p031.c | 6 drivers/media/pci/intel/ipu-bridge.c | 24 drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c | 5 drivers/media/platform/microchip/microchip-sama7g5-isc.c | 7 drivers/media/platform/qcom/iris/iris_resources.c | 15 drivers/media/platform/qcom/venus/pm_helpers.c | 7 drivers/media/platform/renesas/rcar-csi2.c | 6 drivers/media/platform/rockchip/rkvdec/rkvdec-hevc-common.c | 14 drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c | 7 drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-hevc.c | 2 drivers/media/platform/samsung/s3c-camif/camif-core.c | 7 drivers/media/platform/verisilicon/hantro_g2_hevc_dec.c | 6 drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c | 57 drivers/media/usb/as102/as102_usb_drv.c | 73 - drivers/media/usb/dvb-usb-v2/mxl111sf.c | 12 drivers/media/usb/gspca/jl2005bcd.c | 7 drivers/media/v4l2-core/v4l2-ctrls-core.c | 32 drivers/media/v4l2-core/v4l2-h264.c | 3 drivers/mfd/ab8500-core.c | 2 drivers/mfd/db8500-prcmu.c | 6 drivers/misc/amd-sbi/rmi-core.c | 4 drivers/net/bonding/bond_alb.c | 34 drivers/net/bonding/bond_main.c | 18 drivers/net/bonding/bond_options.c | 4 drivers/net/dsa/bcm_sf2_cfp.c | 2 drivers/net/dsa/lantiq/lantiq_gswip.h | 2 drivers/net/dsa/mt7530-mmio.c | 1 drivers/net/dsa/mt7530.c | 68 drivers/net/dsa/mt7530.h | 1 drivers/net/dsa/mv88e6xxx/chip.c | 16 drivers/net/ethernet/airoha/airoha_eth.h | 2 drivers/net/ethernet/allwinner/sun4i-emac.c | 2 drivers/net/ethernet/amd/pds_core/fw.c | 10 drivers/net/ethernet/amd/pds_core/main.c | 10 drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 3 drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c | 4 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 99 + drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c | 21 drivers/net/ethernet/broadcom/bnxt/bnxt_gso.h | 6 drivers/net/ethernet/cadence/macb.h | 23 drivers/net/ethernet/cadence/macb_main.c | 677 +++++---- drivers/net/ethernet/cadence/macb_pci.c | 46 drivers/net/ethernet/cadence/macb_ptp.c | 23 drivers/net/ethernet/cortina/gemini.c | 77 - drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c | 4 drivers/net/ethernet/intel/ice/ice_common.c | 9 drivers/net/ethernet/intel/ice/ice_sched.c | 4 drivers/net/ethernet/intel/ice/ice_trace.h | 64 drivers/net/ethernet/intel/ice/ice_type.h | 2 drivers/net/ethernet/intel/idpf/idpf_txrx.c | 34 drivers/net/ethernet/marvell/octeontx2/af/mcs.c | 10 drivers/net/ethernet/marvell/octeontx2/af/rvu.c | 33 drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c | 10 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c | 5 drivers/net/ethernet/marvell/octeontx2/nic/qos.c | 60 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 18 drivers/net/ethernet/mediatek/mtk_eth_soc.h | 4 drivers/net/ethernet/mellanox/mlx5/core/en/port.c | 15 drivers/net/ethernet/mellanox/mlx5/core/en/port.h | 4 drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c | 7 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c | 2 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 13 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 52 drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 1 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 51 drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c | 37 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 8 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 1 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c | 7 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 19 drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c | 34 drivers/net/ethernet/micrel/ks8851_common.c | 8 drivers/net/ethernet/microsoft/mana/mana_bpf.c | 1 drivers/net/ethernet/microsoft/mana/mana_en.c | 24 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c | 19 drivers/net/ethernet/oa_tc6.c | 434 ++++-- drivers/net/ethernet/pensando/ionic/ionic_txrx.c | 13 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 93 - drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c | 1 drivers/net/gtp.c | 5 drivers/net/ieee802154/cc2520.c | 5 drivers/net/ieee802154/mac802154_hwsim.c | 10 drivers/net/mctp/mctp-i3c.c | 9 drivers/net/net_failover.c | 2 drivers/net/phy/dp83867.c | 3 drivers/net/phy/dp83td510.c | 3 drivers/net/phy/mediatek/mtk-ge.c | 29 drivers/net/phy/phylink.c | 2 drivers/net/ppp/ppp_async.c | 89 - drivers/net/ppp/ppp_synctty.c | 97 - drivers/net/usb/cx82310_eth.c | 1 drivers/net/usb/hso.c | 2 drivers/net/usb/pegasus.c | 54 drivers/net/usb/pegasus.h | 3 drivers/net/vxlan/vxlan_core.c | 13 drivers/net/vxlan/vxlan_mdb.c | 8 drivers/net/wireless/ath/ath9k/hif_usb.c | 12 drivers/net/wireless/ath/ath9k/hif_usb.h | 2 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 33 drivers/nvme/host/core.c | 77 - drivers/nvme/host/nvme.h | 16 drivers/nvme/host/rdma.c | 18 drivers/nvme/host/sysfs.c | 2 drivers/nvme/host/tcp.c | 5 drivers/nvme/host/zns.c | 4 drivers/nvme/target/configfs.c | 4 drivers/nvme/target/core.c | 2 drivers/nvme/target/pr.c | 2 drivers/nvme/target/rdma.c | 15 drivers/opp/of.c | 2 drivers/perf/riscv_pmu_legacy.c | 5 drivers/perf/riscv_pmu_sbi.c | 98 - drivers/platform/x86/asus-laptop.c | 4 drivers/platform/x86/hp/hp-wmi.c | 129 + drivers/platform/x86/x86-android-tablets/core.c | 12 drivers/ras/amd/atl/core.c | 1 drivers/regulator/db8500-prcmu.c | 12 drivers/regulator/pf1550-regulator.c | 82 - drivers/s390/net/ism_drv.c | 4 drivers/s390/net/qeth_l2.h | 3 drivers/s390/net/qeth_l2_main.c | 26 drivers/s390/net/qeth_l2_sys.c | 7 drivers/scsi/mpi3mr/mpi3mr_transport.c | 8 drivers/scsi/mpt3sas/mpt3sas_base.c | 5 drivers/scsi/qla2xxx/qla_bsg.c | 49 drivers/scsi/qla2xxx/qla_def.h | 2 drivers/scsi/qla2xxx/qla_fw.h | 4 drivers/scsi/qla2xxx/qla_init.c | 14 drivers/scsi/qla2xxx/qla_iocb.c | 23 drivers/scsi/qla2xxx/qla_isr.c | 33 drivers/scsi/qla2xxx/qla_mbx.c | 6 drivers/scsi/qla2xxx/qla_mid.c | 49 drivers/scsi/qla2xxx/qla_nvme.c | 10 drivers/scsi/qla2xxx/qla_os.c | 15 drivers/staging/fbtft/fbtft-core.c | 9 drivers/target/iscsi/iscsi_target.c | 4 drivers/thermal/db8500_thermal.c | 10 drivers/thermal/thermal_sysfs.c | 12 drivers/ufs/host/ufshcd-pci.c | 59 drivers/usb/atm/xusbatm.c | 6 drivers/usb/class/usbtmc.c | 2 drivers/usb/serial/spcp8x5.c | 6 drivers/vdpa/ifcvf/ifcvf_main.c | 3 drivers/vdpa/solidrun/snet_main.c | 6 drivers/vdpa/vdpa_sim/vdpa_sim_blk.c | 3 drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 7 drivers/vdpa/vdpa_user/vduse_dev.c | 10 drivers/vhost/net.c | 2 drivers/vhost/vdpa.c | 88 - drivers/vhost/vhost.c | 57 drivers/vhost/vhost.h | 1 drivers/vhost/vsock.c | 2 drivers/video/fbdev/vfb.c | 11 drivers/virtio/virtio.c | 2 drivers/virtio/virtio_input.c | 9 drivers/virtio/virtio_mmio.c | 16 drivers/virtio/virtio_pci_common.c | 4 drivers/virtio/virtio_ring.c | 38 drivers/watchdog/db8500_wdt.c | 22 drivers/watchdog/msc313e_wdt.c | 74 - drivers/watchdog/sunxi_wdt.c | 45 drivers/watchdog/watchdog_hrtimer_pretimeout.c | 1 fs/afs/addr_list.c | 5 fs/afs/dir_edit.c | 9 fs/afs/dir_search.c | 11 fs/afs/fs_probe.c | 1 fs/afs/internal.h | 8 fs/afs/server.c | 1 fs/autofs/inode.c | 4 fs/btrfs/inode.c | 3 fs/btrfs/raid-stripe-tree.c | 25 fs/btrfs/raid-stripe-tree.h | 1 fs/btrfs/scrub.c | 24 fs/btrfs/send.c | 2 fs/btrfs/transaction.c | 13 fs/btrfs/tree-log.c | 16 fs/btrfs/volumes.c | 4 fs/btrfs/zoned.c | 11 fs/btrfs/zstd.c | 11 fs/cachefiles/xattr.c | 16 fs/configfs/dir.c | 9 fs/configfs/symlink.c | 24 fs/erofs/data.c | 2 fs/erofs/decompressor.c | 55 fs/erofs/decompressor_lzma.c | 18 fs/erofs/internal.h | 6 fs/erofs/sysfs.c | 2 fs/erofs/xattr.c | 9 fs/erofs/zdata.c | 18 fs/exec.c | 22 fs/f2fs/f2fs.h | 2 fs/f2fs/gc.c | 52 fs/f2fs/segment.c | 4 fs/netfs/buffered_read.c | 164 +- fs/netfs/direct_write.c | 31 fs/netfs/internal.h | 3 fs/netfs/misc.c | 19 fs/netfs/objects.c | 32 fs/netfs/read_collect.c | 128 + fs/netfs/read_pgpriv2.c | 15 fs/netfs/read_retry.c | 13 fs/netfs/read_single.c | 2 fs/netfs/rolling_buffer.c | 81 - fs/netfs/write_issue.c | 2 fs/ntfs/attrib.c | 10 fs/ntfs/ea.c | 14 fs/ntfs/lcnalloc.c | 9 fs/ntfs/mft.c | 4 fs/ntfs/reparse.c | 7 fs/ntfs/super.c | 11 fs/overlayfs/super.c | 2 fs/smb/client/cifsacl.c | 95 - fs/smb/client/cifssmb.c | 26 fs/smb/client/file.c | 22 fs/smb/client/inode.c | 17 fs/smb/client/misc.c | 24 fs/smb/client/readdir.c | 17 fs/smb/client/reparse.c | 33 fs/smb/client/smb2ops.c | 188 ++ fs/smb/client/trace.h | 1 fs/smb/client/transport.c | 11 fs/smb/server/connection.c | 25 fs/smb/server/ksmbd_work.h | 2 fs/smb/server/mgmt/user_session.c | 13 fs/smb/server/mgmt/user_session.h | 1 fs/smb/server/smb2pdu.c | 47 fs/smb/server/smbacl.c | 67 fs/smb/server/transport_tcp.c | 36 fs/smb/server/vfs_cache.c | 17 fs/smb/server/vfs_cache.h | 1 fs/super.c | 9 fs/ufs/cylinder.c | 10 fs/ufs/dir.c | 2 fs/ufs/super.c | 17 fs/xfs/libxfs/xfs_btree_mem.c | 2 fs/xfs/libxfs/xfs_btree_staging.c | 4 fs/xfs/libxfs/xfs_da_btree.c | 2 fs/xfs/libxfs/xfs_da_btree.h | 2 fs/xfs/libxfs/xfs_defer.c | 2 fs/xfs/libxfs/xfs_exchmaps.c | 10 fs/xfs/libxfs/xfs_parent.c | 12 fs/xfs/libxfs/xfs_rtrefcount_btree.c | 7 fs/xfs/libxfs/xfs_rtrmap_btree.c | 6 fs/xfs/scrub/agheader.c | 7 fs/xfs/scrub/agheader_repair.c | 39 fs/xfs/scrub/alloc_repair.c | 18 fs/xfs/scrub/attr_repair.c | 2 fs/xfs/scrub/bmap.c | 2 fs/xfs/scrub/dir_repair.c | 31 fs/xfs/scrub/dirtree.c | 31 fs/xfs/scrub/dirtree_repair.c | 2 fs/xfs/scrub/findparent.c | 54 fs/xfs/scrub/ialloc.c | 4 fs/xfs/scrub/metapath.c | 4 fs/xfs/scrub/quota_repair.c | 14 fs/xfs/scrub/quotacheck.c | 4 fs/xfs/scrub/reap.c | 6 fs/xfs/scrub/refcount.c | 8 fs/xfs/scrub/rgsuper.c | 6 fs/xfs/scrub/rtrefcount.c | 82 - fs/xfs/scrub/rtsummary_repair.c | 3 fs/xfs/scrub/scrub.c | 3 fs/xfs/scrub/stats.c | 61 fs/xfs/scrub/stats.h | 4 fs/xfs/scrub/symlink_repair.c | 2 fs/xfs/scrub/tempfile.c | 29 fs/xfs/scrub/trace.h | 35 fs/xfs/xfs_buf.c | 2 fs/xfs/xfs_exchmaps_item.c | 19 fs/xfs/xfs_exchrange.c | 12 fs/xfs/xfs_healthmon.c | 30 fs/xfs/xfs_verify_media.c | 24 include/drm/drm_pagemap.h | 8 include/linux/bpf.h | 3 include/linux/bpf_verifier.h | 21 include/linux/designware_i2c.h | 107 + include/linux/dma-fence-array.h | 1 include/linux/dma-fence-chain.h | 9 include/linux/igmp.h | 7 include/linux/mfd/db8500-prcmu.h | 252 +++ include/linux/mfd/dbx500-prcmu.h | 575 -------- include/linux/mmap_lock.h | 2 include/linux/netfs.h | 5 include/linux/oa_tc6.h | 50 include/linux/perf/riscv_pmu.h | 2 include/linux/rbtree_augmented.h | 35 include/linux/ring_buffer.h | 24 include/linux/rolling_buffer.h | 6 include/linux/sched.h | 2 include/linux/sched/signal.h | 5 include/linux/skbuff.h | 5 include/media/v4l2-hevc.h | 41 include/net/cfg802154.h | 1 include/net/if_inet6.h | 2 include/net/ip.h | 3 include/net/ip6_route.h | 2 include/net/sch_generic.h | 2 include/net/tcp.h | 3 include/trace/events/cachefiles.h | 19 include/trace/events/icmp.h | 13 include/trace/events/netfs.h | 30 include/uapi/drm/amdgpu_drm.h | 2 init/main.c | 27 io_uring/net.c | 51 io_uring/rw.c | 29 kernel/bpf/arraymap.c | 5 kernel/bpf/backtrack.c | 62 kernel/bpf/bpf_iter.c | 2 kernel/bpf/btf.c | 27 kernel/bpf/cfg.c | 3 kernel/bpf/fixups.c | 7 kernel/bpf/hashtab.c | 29 kernel/bpf/local_storage.c | 5 kernel/bpf/stackmap.c | 2 kernel/bpf/states.c | 11 kernel/bpf/syscall.c | 2 kernel/bpf/verifier.c | 263 +++ kernel/cgroup/cpuset.c | 39 kernel/events/core.c | 4 kernel/events/ring_buffer.c | 9 kernel/exit.c | 9 kernel/fork.c | 7 kernel/locking/lockdep.c | 50 kernel/nstree.c | 10 kernel/printk/nbcon.c | 4 kernel/printk/printk.c | 2 kernel/reboot.c | 19 kernel/sched/core.c | 19 kernel/sched/deadline.c | 4 kernel/sched/ext/ext.c | 21 kernel/sched/fair.c | 18 kernel/sched/rt.c | 4 kernel/signal.c | 12 kernel/time/clockevents.c | 33 kernel/time/hrtimer.c | 15 kernel/time/tick-broadcast.c | 36 kernel/time/tick-internal.h | 2 kernel/trace/ftrace.c | 2 kernel/trace/ring_buffer.c | 226 ++- kernel/trace/ring_buffer_benchmark.c | 6 kernel/trace/trace.c | 150 +- kernel/trace/trace.h | 11 kernel/trace/trace_events.c | 2 kernel/trace/trace_events_hist.c | 86 - kernel/trace/trace_events_trigger.c | 4 kernel/trace/trace_events_user.c | 26 kernel/trace/trace_functions_graph.c | 3 kernel/trace/trace_probe.c | 48 kernel/trace/trace_probe.h | 2 kernel/trace/trace_remote.c | 6 kernel/workqueue.c | 3 lib/iov_iter.c | 18 mm/slub.c | 20 net/bluetooth/hci_core.c | 4 net/bluetooth/hci_sysfs.c | 17 net/bluetooth/l2cap_core.c | 33 net/bluetooth/msft.c | 2 net/bridge/br_cfm.c | 11 net/bridge/br_device.c | 1 net/bridge/br_input.c | 35 net/bridge/br_mrp.c | 13 net/bridge/br_multicast.c | 9 net/bridge/br_private.h | 26 net/core/dev.c | 27 net/core/gro_cells.c | 2 net/core/rtnetlink.c | 7 net/core/skbuff.c | 7 net/dsa/tag_brcm.c | 1 net/hsr/hsr_slave.c | 11 net/ieee802154/6lowpan/core.c | 2 net/ipv4/fib_rules.c | 4 net/ipv4/igmp.c | 210 +-- net/ipv4/inet_fragment.c | 6 net/ipv4/ip_output.c | 1 net/ipv4/ip_tunnel_core.c | 6 net/ipv4/ipmr.c | 3 net/ipv4/ipmr_base.c | 2 net/ipv4/nexthop.c | 2 net/ipv4/tcp.c | 14 net/ipv4/tcp_offload.c | 22 net/ipv4/tcp_output.c | 4 net/ipv4/tcp_timer.c | 6 net/ipv4/udp.c | 4 net/ipv6/exthdrs.c | 4 net/ipv6/ip6_fib.c | 4 net/ipv6/ip6_flowlabel.c | 19 net/ipv6/ip6_gre.c | 6 net/ipv6/ip6_output.c | 2 net/ipv6/ip6mr.c | 2 net/ipv6/mcast.c | 148 +- net/ipv6/netfilter/ip6_tables.c | 5 net/ipv6/route.c | 9 net/ipv6/tcpv6_offload.c | 15 net/mac802154/ieee802154_i.h | 8 net/mac802154/iface.c | 6 net/mac802154/main.c | 1 net/mac802154/rx.c | 120 + net/mac802154/scan.c | 10 net/mptcp/options.c | 8 net/mptcp/pm.c | 45 net/mptcp/pm_kernel.c | 8 net/mptcp/pm_userspace.c | 18 net/mptcp/protocol.c | 43 net/mptcp/protocol.h | 13 net/mptcp/subflow.c | 12 net/mptcp/syncookies.c | 5 net/netfilter/ipvs/ip_vs_sync.c | 20 net/netfilter/nf_conntrack_netlink.c | 2 net/netfilter/nf_conntrack_sip.c | 2 net/netfilter/nf_log_syslog.c | 2 net/netfilter/nfnetlink_cttimeout.c | 2 net/netfilter/nfnetlink_log.c | 15 net/netlink/genetlink.c | 21 net/openvswitch/flow.c | 4 net/openvswitch/flow_table.c | 4 net/packet/af_packet.c | 5 net/rds/connection.c | 89 + net/rds/ib_recv.c | 9 net/rds/message.c | 4 net/rds/send.c | 14 net/rds/tcp.c | 101 + net/rds/tcp_listen.c | 6 net/sched/act_api.c | 46 net/sched/cls_api.c | 2 net/sched/cls_route.c | 76 - net/sched/cls_u32.c | 32 net/sched/sch_api.c | 2 net/sched/sch_drr.c | 3 net/sched/sch_dualpi2.c | 10 net/sched/sch_ets.c | 12 net/sched/sch_fq_pie.c | 3 net/sched/sch_generic.c | 20 net/sched/sch_hhf.c | 8 net/sched/sch_pie.c | 2 net/sched/sch_sfq.c | 7 net/sctp/sm_make_chunk.c | 14 net/sctp/sm_sideeffect.c | 11 net/tipc/link.c | 6 net/tipc/name_table.c | 30 net/unix/af_unix.c | 12 rust/bindings/lib.rs | 4 rust/kernel/num.rs | 9 rust/pin-init/src/lib.rs | 8 rust/uapi/lib.rs | 4 samples/rust/rust_print_main.rs | 8 scripts/livepatch/init.c | 2 scripts/mksysmap | 4 scripts/sorttable.c | 2 security/landlock/fs.c | 18 sound/core/pcm_native.c | 35 sound/core/ump.c | 4 sound/drivers/dummy.c | 2 sound/hda/common/codec.c | 4 sound/hda/core/device.c | 5 sound/pci/ctxfi/cthw20k2.c | 1 sound/soc/amd/acp-da7219-max98357a.c | 23 sound/soc/amd/renoir/acp3x-pdm-dma.c | 2 sound/soc/amd/yc/acp6x-pdm-dma.c | 2 sound/soc/bcm/bcm63xx-i2s-whistler.c | 1 sound/soc/codecs/ab8500-codec.c | 684 +++------- sound/soc/codecs/cs35l56-i2c.c | 10 sound/soc/codecs/cs35l56-sdw.c | 6 sound/soc/codecs/cs35l56-spi.c | 10 sound/soc/codecs/cs35l56.c | 124 + sound/soc/codecs/cs35l56.h | 4 sound/soc/codecs/mt6351.c | 1 sound/soc/fsl/fsl_micfil.c | 21 sound/soc/intel/atom/sst/sst_pci.c | 1 sound/soc/intel/avs/core.c | 11 sound/soc/intel/avs/debugfs.c | 12 sound/soc/intel/avs/path.c | 11 sound/soc/intel/avs/pcm.c | 34 sound/soc/intel/avs/topology.c | 49 sound/soc/intel/avs/topology.h | 5 sound/soc/sprd/sprd-pcm-compress.c | 15 sound/soc/sti/uniperif_reader.c | 4 sound/soc/ux500/ux500_msp_dai.c | 189 +- sound/soc/ux500/ux500_msp_dai.h | 14 sound/soc/ux500/ux500_msp_i2s.c | 264 ++- sound/soc/ux500/ux500_msp_i2s.h | 12 sound/usb/caiaq/audio.c | 10 sound/usb/caiaq/device.c | 36 sound/usb/caiaq/device.h | 4 sound/usb/caiaq/midi.c | 6 sound/usb/usx2y/us122l.c | 7 sound/usb/usx2y/usbusx2y.c | 10 sound/usb/usx2y/usbusx2y.h | 4 tools/bootconfig/main.c | 13 tools/objtool/klp-checksum.c | 21 tools/perf/util/powerpc-vpadtl.c | 2 tools/perf/util/symbol.c | 11 tools/sched_ext/scx_central.bpf.c | 6 tools/sched_ext/scx_flatcg.bpf.c | 2 tools/testing/selftests/alsa/mixer-test.c | 4 tools/testing/selftests/bpf/progs/test_bpf_nf.c | 8 tools/testing/selftests/bpf/progs/verifier_subprog_precision.c | 12 tools/testing/selftests/cgroup/test_core.c | 2 tools/testing/selftests/cgroup/test_cpu.c | 2 tools/testing/selftests/cgroup/test_cpuset.c | 2 tools/testing/selftests/cgroup/test_cpuset_prs.sh | 6 tools/testing/selftests/cgroup/test_freezer.c | 2 tools/testing/selftests/cgroup/test_kill.c | 2 tools/testing/selftests/cgroup/test_kmem.c | 4 tools/testing/selftests/cgroup/test_memcontrol.c | 2 tools/testing/selftests/cgroup/test_pids.c | 2 tools/testing/selftests/cgroup/test_zswap.c | 2 tools/testing/selftests/net/fib_nexthops.sh | 28 tools/testing/selftests/net/mptcp/mptcp_connect.c | 4 tools/testing/selftests/net/mptcp/mptcp_lib.sh | 26 tools/testing/selftests/net/pmtu.sh | 2 tools/testing/selftests/net/test_vxlan_mdb.sh | 6 tools/testing/selftests/powerpc/tm/tm.h | 8 tools/testing/selftests/ublk/Makefile | 2 655 files changed, 9919 insertions(+), 5501 deletions(-)
Aamir Ahmed (1):
net: hinic: fix mailbox segment buffer overflow
Aboorva Devarajan (1):
powerpc/entry: Fix double accounting of user time on interrupt entry
Adrian Hunter (1):
perf symbol: Do not use debug file as the binary type
Ahmed Naseef (1):
net: dsa: mt7530: add EN7528 support
Akiva Goldberger (1):
net/mlx5: LAG, use local tracker to update active ports
Aleksandr Nogikh (1):
Bluetooth: hci_core: Fix race condition during device registration
Aleksei Sviridkin (5):
net: macb: zero the link settings taprio reads back
net: macb: reject an unknown link speed in the taprio setup
net: phylink: initialise link_state before a forced major config
net: dsa: mt7530: populate lpi_interfaces to fix EEE support
net: ethernet: mtk_eth_soc: populate lpi_interfaces to fix EEE support
Alexander Graf (1):
virtio_ring: fix stale descriptor flags after a failed packed add
Alexandra Winter (2):
dibs: Unregister dibs_class after error
s390/ism: folio_put() after error
Ali Ahmet Memis (4):
ufs: do not treat unreadable directory blocks as empty
hwmon: (nct6694) do not expose enable on DTIN temperature channels
ufs: create the root dentry after loading cylinder metadata
ufs: validate cylinder group metadata before caching it
Ali Ahmet Memiş (1):
tracing: Don't dereference trace_event_file in deferred trigger free
Alice Mikityanska (3):
net: ipv4: Fix UDP length overflow with PMTU discover and big MTU
net: ipv6: Fix UDP length overflow with PMTU discover and big MTU
net: ipv6: Clamp to IP6_MAX_MTU in ip6_dst_mtu_maybe_forward
Allison Henderson (5):
net/rds: use wq_has_sleeper() in release_in_xmit() net/rds: use clear_bit_unlock() in release_refill() net/rds: clear cp_flags bits individually in rds_conn_path_reset() net/rds: acquire RDS_IN_XMIT in rds_tcp_reset_callbacks() net/rds: don't let rds_conn_shutdown() consume a concurrent drop
Andrea Parri (1):
hrtimer: Use hard expiry when updating timers on the same base
Andrew Stellman (1):
virtio-pci: return IRQ_HANDLED after non-zero ISR
Andy Chiu (1):
riscv: hwprobe: initialize pair->value in hwprobe_one_pair()
Andy Shevchenko (2):
smb: client: transport: Fix debug printing in __release_mid()
thermal: sysfs: switch to use scnprintf() to suppress truncation warning
Antonin Godard (1):
Documentation: hwmon: replace full-width colon by a standard ASCII colon
Anuj Gupta (1):
xfs: release alleged child inode on metapath unlink error
Aohan Mei (1):
smb: client: reject userspace cifs.idmap descriptions
Arda Doğu Ari (1):
platform/x86: hp-wmi: Fix board_params typo for 8DD6 board
Arie Miller (3):
hwmon: (asus_rog_ryujin) Add per-device configuration
hwmon: (asus_rog_ryujin) Validate HID report lengths
hwmon: (asus_rog_ryujin) Synchronize HID command and report handling
Armin Wolf (1):
platform/x86: asus-laptop: Fix ACPI event handling
Arunpravin Paneer Selvam (1):
drm/amdgpu: skip the VMID 0 flush for VRAM
Arvind Yadav (2):
drm/pagemap: Prevent double migration of device pages drm/pagemap: Reset migration page count on eviction retry
Avi Weiss (1):
btrfs: send: fix lost error return value in will_overwrite_ref()
Baolin Liu (9):
ntfs: return DT_UNKNOWN on inode lookup failure in readdir
ntfs: propagate reparse index insertion failure
ntfs: return -ERANGE for undersized xattr buffer
ntfs: preserve error code in ntfs_resident_attr_record_add()
ntfs: return real error from ntfs_non_resident_attr_record_add()
ntfs: fix kmap_local leak in write_mft_record_nolock() error paths
ntfs: only count successfully cleared runs when freeing clusters
ntfs: skip free cluster decrement when rollback fails
ntfs: leave HasEA flag untouched on setxattr failure
Baul Lee (1):
vxlan: mdb: Fix use-after-free in vxlan_mdb_remote_src_del()
Benjamin Leggett (1):
drm/virtio: use the DMA API for resource backing on Xen
Binglei Wang (1):
erofs: add missing buf->off in erofs_bread()
Bjoern Doebel (4):
smb: client: fail DACL rewrite when the new DACL exceeds 64K
smb: client: avoid leaking refcount in cifs_queue_oplock_break()
smb: client: avoid leaking refcount when cifs_sb_tlink() fails
smb: client: fix heap overflow in DACL owner/group rewrite
Breno Leitao (1):
arm64: trans_pgd: clone only the linear map that exists at runtime
Carolina Jubran (4):
net/mlx5e: Fix ETS zero BW reporting when one TC holds 100% net/mlx5e: Fix use-after-free race in sample_restore_put() net/mlx5e: Keep HW timestamp stats monotonic across reconfiguration net/mlx5e: Move representor vnic reporter to eswitch devlink port
Cen Zhang (Microsoft) (1):
reboot: fix cad_pid use-after-free race
Cezary Rojewski (4):
ASoC: Intel: avs: Clean up the bus when fetching ML caps fails
ASoC: Intel: avs: Do not ignore -ENOENT when loading a topology
ASoC: Intel: avs: Fix unbalanced module reference count
ASoC: Intel: avs: Refactor and fix init_config access
Chaitanya Kumar Borah (1):
drm/i915/dp_mst: Remove duplicate intel_pfit_compute_config() call
Chao Yu (2):
f2fs: fix to shrink gc_lock coverage in f2fs_gc_range()
f2fs: fix to reset all pinned status during fggc
ChenXiaoSong (1):
smb/server: cancel async requests when closing connection
Chengfeng Ye (3):
netfilter: cttimeout: prevent UAF during module unload
netfilter: nf_log: unregister loggers before per-net teardown
afs: Clear stale peer app data after address list changes
Chengyu Zhu (1):
erofs: delimit inode_share cache key components
Ciprian Regus (3):
net: ethernet: oa_tc6: Handle the OA TC6 SPI protected mode
net: ethernet: oa_tc6: Export standard defined registers
net: ethernet: oa_tc6: Add the OA_TC6_ prefix to standard registers
Colin Ian King (1):
OPP: of: Fix potential multiplication overflow when calculating freq
Cong Nguyen (2):
hwmon: (gpio-fan) take fan_data->lock in gpio_fan_shutdown()
hwmon: (applesmc) fix key backlight workqueue leak on register failure
Daeho Jeong (1):
f2fs: accurately adjust free_sections during free_segment_range
Daehyeon Ko (1):
exit: hold a reference to thread_pid across proc_flush_pid
Dan Carpenter (1):
drm/virtio: Fix a NULL vs ERR_PTR() bug in virtio_gpu_user_framebuffer_create()
Dapeng Mi (2):
perf/x86/intel: Correct pt_regs->flags update for PEBS path perf/x86/intel: Prevent drain_pebs() reentry
Darrick J. Wong (43):
xfs: use the rtgroup extent count to find rtrefcount gaps
xfs: truncate quota file correctly when repairing quota file
xfs: strengthen the "is cow staging" helpers in scrub
xfs: snapshot scrub stats when rendering them
xfs: snapshot old AGFL before rewriting it
xfs: signal inode btree xref error if get_rec returns an error
xfs: reset parent pointer args before each dir tree unlink repair
xfs: report nonexistent parents as a filesystem corruption
xfs: report healthy filesystem events in scrub stats
xfs: preserve owner on in-memory btree creation
xfs: make the rtsummary repair fix the file size too
xfs: log the tempip after we convert it to extents format
xfs: lock the healthmon when inserting unmount event
xfs: fix xfs_rtrmapbt_mem_cursor for non-rmap filesystems
xfs: fix unit conversions in per_binval computation
xfs: fix under-reservation of blocks when repairing sf directories
xfs: fix the rtrmap and rtrefcount _maxlevels_ondisk functions
xfs: fix short ifork reaping computation in xreap_bmapi_binval
xfs: fix rtrmap cross-referencing elision logic
xfs: fix rtrefcount btree block counting in scrub
xfs: fix replaying dirent removals into the temporary directory
xfs: fix parent rec lookup initialization in xrep_metapath_unlink
xfs: fix name string recording in slowpath pptr tracepoints
xfs: fix media verification ioctl for internal rt volumes
xfs: fix bnobt repair space reservation disposal failure
xfs: fix backwards skipping logic in xrep_quota_block
xfs: fix backwards mergeability logic in refcount scrubber
xfs: don't stash removename operations with unknown ftype
xfs: don't spin forever on zero-length dirents when salvaging them
xfs: don't modify file attributes or poke fsnotify for dry runs
xfs: don't leak new_bp if xfs_btree_bload_drop_buf fails
xfs: don't leak dqacct if rhashtable insertion fails
xfs: destroy seen inode bitmap when we fail to add a dirpath
xfs: cross-reference the rtgroup superblock extent, not block
xfs: count escaped corruption errors in scrub stats
xfs: compute dquot checksum after resetting dd_lsn in repair
xfs: check healthmon outbuffer space correctly
xfs: bump lost_prev_errors if we lose even the healthmon lost event
xfs: bail out on bitmap errors in xrep_agfl_fill
xfs: always set xfs_healthmon::first_event when inserting at front of list
xfs: advance the findparent inode scan cursor while holding ILOCK
xfs: actually recover intended file sizes in xfs_xmi_item_recover_intent
xfs: actually check internal-rtdev fields in the superblock
David Arcari (1):
watchdog: fix hrtimer start when pretimeout is zero
David Carlier (2):
ring-buffer: Check resize_disabled before publishing the new subbuf order
ieee802154: hwsim: serialize pib updates to fix double-free
David Howells (12):
netfs: Fix unbuffered/DIO write partial transfer error return
netfs: Fix error vs transferred passed to ->ki_complete()
netfs: Fix i_size update for partial transfer
netfs: Fix subreq ref leak
netfs: Fix readahead synchronisation issues by loading all folios upfront
netfs: Mark folios with COPY_TO_CACHE whilst issuing subreqs
netfs: Fix read progress reporting
cachefiles: Fix potential UAF/KASAN warning
block: Fix start and length check added to iov_iter_extract_bvecs()
afs: Fix missing kunmap in afs_dir_search_bucket()
afs: Fix double-unmap of directory block
afs: Fix incorrect free in candidate cleanup in afs_lookup_server()
David Laight (1):
tipc: Dont send random pad bytes in RESET/ACTIVATE messages
Dawid Osuchowski (1):
accel/ivpu: Limit firmware log name prints to field size
Dennis Tighe (3):
ntfs: do not mark the volume clean in sync_fs when errors were recorded
ntfs: bound $AttrDef table walk to the loaded table size
ntfs: reject invalid sectors_per_cluster in the boot sector
Diego Oliva (2):
smb: client: reject short READ responses in CIFSSMBRead()
smb: client: reject out-of-bounds DataOffset in CIFSSMBRead()
Dinh Nguyen (1):
EDAC/altera: Use parent device for devres in altr_portb_setup()
Dmitry Torokhov (1):
platform/x86: x86-android-tablets: hold device reference for secondary fwnode teardown
Dong Chenchen (1):
net: iptunnel: fix stale transport header during tunnel decapsulation
Donggeun Yoo (14):
regulator: pf1550: fix which regulator is notified
net: phy: dp83867: handle the active-high LED polarity mode
tracing: Fix memory corruption from the histogram stacktrace modifier
tracing: Set the trace clock before registering the histogram trigger
tracing: Fix memory corruption from a "STACKTRACE" histogram key
tracing: Free histogram the var ref when its initialization fails
tracing: Free histogram var refs regardless of how often they are referenced
tracing: Free histogram the field rejected for a bad modifier
tracing: Let histogram values keep the percent and graph modifiers
tracing: Keep the entry count when the histogram stats allocation fails
tracing: Take the reference before publishing the named histogram trigger
tracing: Undo the registration when enabling the histogram trigger fails
function_graph: Use the saved entry's size when reprinting it
net: phy: dp83td510: handle the active-high LED polarity mode
Eduard Zingerman (13):
bpf: check_cond_jmp_op(): properly infer if register is null
bpf: don't downgrade half-dead scalar zero spills to STACK_ZERO
bpf: backtrack_insn(): Handle ld_{abs,ind} subprog exit edge
bpf: backtracking shouldn't clear outer frame R1-R5 for callbacks
bpf: reject BPF_PSEUDO_FUNC reference to the main program
bpf: zero extend the result of an arena 32-bit cmpxchg
bpf: don't rewrite bpf_fastcall patterns entered by a jump
bpf: Don't infer non-NULL from a pointer with an unbounded offset
bpf: Don't resurrect a scalar id dropped by collect_linked_regs()
bpf: Don't predict JMP32 pointer vs zero comparisons
bpf: Mark the zero register precise for a register-form NULL check
bpf: mark a NULL call argument precise
bpf: propagate mark_chain_precision() errors out of loop_flag_is_zero()
Edward Adam Davis (2):
netfs: break unbuffered write when netfs_alloc_subrequest() fails
ALSA: caiaq: Decoupling ep1_in_urb in caiaq dev
Eelco Chaudron (1):
openvswitch: fix wrong flag value in get_ipv6_ext_hdrs()
Eric Biggers (2):
crypto: x86/aria - add missing vzeroupper in AVX2 code
crypto: x86/aria - add missing vzeroupper in AVX-512 code
Eric Dumazet (16):
net: icmp: avoid invalid transport header access in icmp_send tracepoint
tcp: use GFP_ATOMIC in tcp_send_active_reset()
igmp: convert struct ip_sf_list to RCU
ipv6: mcast: fix RCU list diversion in ip6_mc_del1_src()
ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source()
ipv6: mcast: fix delay calculation in igmp6_join_group()
ipv6: mcast: use rcu_assign_pointer() for __rcu list updates
ipv6: mcast: use jiffies_delta_to_clock_t() in igmp6_mc_seq_show()
ip6_gre: check tunnel info before xmit in ip6gre_tunnel_xmit
ipv6: sr: restore network header before routing and forwarding
net: bonding: annotate lockless writes with WRITE_ONCE()
bonding: alb: fix uninitialized transport header access in alb_determine_nd() locking/lockdep: Invalidate stale class_cache entries for zapped classes
bonding: do not clear curr_active_slave prematurely when releasing all slaves
bonding: use skb_cow_head() in bond_do_alb_xmit() and rlb_arp_xmit()
vxlan: initialize _md in vxlan_xmit_one()
Eric Sandeen (1):
xfs: fix reclaimed page accounting in xfs_buf_free
Esben Haabendal (1):
drm/bridge: ti-sn65dsi83: Fix error handling in sn65dsi83_reset_work()
Ethan Nelson-Moore (1):
ata: pata_legacy: remove documentation for removed module parameters
FAN YE (1):
btrfs: zstd: fix lost wakeup when waiting for a workspace
Faicker Mo (1):
net: net_failover: Fix the deadlock in net_failover_slave_name_change()
Fan Wu (3):
ieee802154: cc2520: fix FIFOP work use-after-free
hwmon: (gpio-fan) Fix use-after-free in alarm work
smb: client: fix cifsFileInfo reference leak in deferred close
Fangyu Yu (3):
iommu/riscv: Add command queue lock iommu/riscv: Serialize command queue publishing iommu/riscv: Avoid waiting on failed command enqueue
Fangzhi Zuo (1):
drm/amd/display: Exit IPS before connector detection on resume
Filipe Manana (1):
btrfs: fix unnecessary transaction commit fallback from btrfs_log_all_parents()
Florian Westphal (2):
netfilter: nfnetlink_log: cope with concurrent instance destruction
netfilter: ip6_tables: set F_PROTO when proto value is nonzero
Fourie Zhang (1):
net: mpls: clear inner_protocol when the last label is popped
Gabriel Krisman Bertazi (2):
io_uring/net: let io_recv_buf_select return the length of the buffer region io_uring/net: don't overconsume buffers when using MSG_TRUNC
Gang Yan (1):
selftests: mptcp: fix an UAF in mptcp_connect.c
Gao Xiang (1):
erofs: disable LZ4 rolling decompression for now
Gary Guo (7):
rust: pin-init: use irrefutable pattern for stack_pin_init
wifi: ath9k_htc: don't store usb_device_id
media: as102: do not rely on id table address comparison
usb: serial: spcp8x5: don't store usb_device_id
net: usb: pegasus: don't rely on id table pointer arithmetic
usb: xusbatm: don't rely on id table pointer arithmetic
usb: usbtmc: don't store usb_device_id
Geert Uytterhoeven (1):
hwmon: (ltc4282) Make sure clk_init_data is fully initialized
Gerd Rausch (1):
net/rds: tcp: don't force RDS_CONN_RESETTING over a concurrent shutdown
Gongwei Li (1):
Bluetooth: hci_mrvl: Fix wrong return value check of wait_on_bit_timeout()
Greg Kroah-Hartman (1):
Linux 7.2.7
Greg Marsden (1):
net/rds: fix tcp stream corruption with large pages
Griffin Kroah-Hartman (1):
misc: amd-sbi: Add null check for devm_kasprintf()
Guanghui Yang (2):
btrfs: detach failed sprout device from transaction update list
btrfs: restore active device pointers after failed sprout
Guenter Roeck (4):
Documentation/hwmon: Document hwmon_notify_event()
hwmon: Fix potential UAF in pec_store
hwmon: (sht4x) Add missing locks
hwmon: (sht4x) Fix return value from heater_enable_store()
Guopeng Zhang (2):
selftests/cgroup: Drop invalid boot isolation comparison cgroup/cpuset: Preserve boot-isolated CPUs on partition release
HW He (1):
net: gro: Fix nesting of TCP GSO SKBs in skb_gro_receive_list()
Hans de Goede (1):
platform/x86: x86-android-tablets: fix gpio_secondary_fwnode_init() not working
Haotian Zhang (1):
media: v4l2-h264: Fix memcmp() size in B1 reference list comparison
Harald Freudenberger (8):
s390/crypto: Fix skcipher_walk return code handling in aes_s390 s390/crypto: Fix use of mutex in atomic context
s390/crypto: Fix missing scrub of temp buffers with AES ctr and gcm algorithm s390/crypto: Fix missing cra_flags in paes_s390
s390/crypto: Fix handling of EBUSY in PHMAC when req is pushed to crypto engine s390/crypto: Fix missing scrub of temp buffers with PAES algorithm s390/crypto: Fix wrong return code to engine in asynch callbacks s390/crypto: Map EBUSY to EIO when key conversion fails repeatedly
Harry Wentland (1):
dm/amdgpu: fix malformed link_settings debugfs output
Harry Yoo (Meta) (1):
mm/slab: take n->list_lock in __slab_try_return_freelist() to avoid race
Heikki Krogerus (2):
i2c: designware: Global register definitions drm/xe/i2c: Fix the interrupt handling
Heiko Carstens (2):
s390/time: Use jiffies instead of jiffies_64 s390/pai: Reduce excessive debug feature size
Hemanth Selam (2):
selftests/cgroup: set the test plan after the setup checks iommu/amd: Fix ineffective error check in nested domain allocation
Henry Martin (3):
sctp: fix soft lockup from unpadded ASCONF-ACK parameter iteration tracing/probes: Fix use-after-free on field name/type of events with multiple probes tracing/user_events: Don't destroy fields when event removal fails
Hongfu Li (1):
selftests/cgroup: Fix cg_run_in_subcgroups ignoring arg parameter
Hui Su (5):
bpf: Fix BPF_F_CPU validation for sparse CPU IDs
bpf: Fix percpu map update indexing with sparse CPU IDs
staging: fbtft: make dirty_lock IRQ-safe
sched: Account cgroup CPU time to the execution context sched/core: Call wq_worker_tick() for the execution context
Huiwen He (7):
smb/client: validate new EOF for insert range smb/client: validate new EOF for zero range smb/client: mark file sparse before emulating insert range smb/client: fix data corruption in emulated insert range smb/client: fix integer truncation in collapse range smb/client: fix stale page cache in insert/collapse range smb/client: invalidate fscache for fallocate range operations
Hungyu Lin (1):
media: qcom: iris: fix runtime PM reference leaks
HyeongJun An (3):
ALSA: dummy: Report a change when one capture switch channel moves selftests/alsa: Fix the step check for INTEGER controls
ALSA: hda: Report a change when only the channel status bytes move
Håkon Bugge (1):
net/rds: acquire the fastpath locks in rds_conn_shutdown()
Ibrahim Hashimov (1):
mac802154: fix use-after-free of sdata via queued RX frames
Ido Schimmel (2):
nexthop: Initialize extack in remove_nh_grp_entry()
tunnels: Drop stale dst when building an ICMP error for PMTUD
Igor Paunovic (2):
drm/rockchip: dw_dp: Select DRM_BRIDGE_CONNECTOR drm/rockchip: rk3066_hdmi: Add missing Kconfig selects
Ilya Maximets (1):
netfilter: report NLM_F_DUMP_FILTERED when all is filtered out
Ivan Hu (1):
Bluetooth: btmtk: Declare MT7920 (MT7961 1a) Bluetooth firmware
Ivy Lopez (1):
scsi: mpt3sas: Avoid out-of-bounds cpumask_of_node() call in _base_assign_reply_queues()
Jacob Keller (1):
ice: add missing xa_destroy for sched_node_ids
Jad Keskes (1):
EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation
Jakub Kicinski (5):
net: dsa: bcm_sf2: bound the CFP rule dump by the caller's buffer size
eth: nfp: bound the ntuple rule dump by the caller's buffer size
eth: nfp: drop the replaced rule from the list when reprogramming fails
net: dsa: mv88e6xxx: bound the policy rule dump by the caller's buffer size
eth: ice: don't dereference pointers from TP_printk()
Jamal Hadi Salim (10):
net/sched: cls_u32: fix duplicate handle when node ID pool is exhausted
net: cap tx_queue_len at S16_MAX to prevent oversized ring allocations
net: reject oversized tx_queue_len at netlink parse time net/sched: fq_pie: clamp quantum in change path
net/sched: sfq: clamp quantum in change path
net/sched: hhf: clamp quantum in change and init paths net/sched: dualpi2: clamp psched_mtu at all call sites net/sched: pie: clamp psched_mtu in pie_drop_early net/sched: drr: clamp quantum in change class
net/sched: ets: clamp quantum in parse and fallback paths
James C. Owens (1):
btrfs: scrub: report the failing sector's address, not the stripe base
James Hilliard (1):
watchdog: sunxi_wdt: preserve boot-enabled watchdog
James Nugraha (1):
net: amd-xgbe: discard rx packets with bad FCS
Jan Havran (Advantech Czech) (1):
net: dsa: lantiq_gswip: fix GSWIP_MDIO_PHY_FCONTX_EN value
Jann Horn (1):
exec: do_close_on_exec() before taking exec_update_lock
Jared Kangas (4):
hwmon: (ina2xx) Acquire hwmon_lock in shunt_resistor_show()
hwmon: (ina2xx) Parameterize ina2xx_data in ina226_alert_read()
hwmon: (ina2xx) Replace masks with enum in alert functions
hwmon: (ina2xx) Decouple in0 and curr1 alarms
Jasjeet Rangi (1):
x86/MCE/AMD: Fix inverted interrupt enablement during storm handling
Jason Andryuk (2):
x86/amd_node: Avoid divide by zero on virtualized systems x86/amd_node: Fix potential NULL pointer dereference
Jason Winter (1):
net: usb: cx82310_eth: drop URB after 0xffff reboot sentinel to prevent partial_data heap overflow
Javier Carrasco (1):
hwmon: (chipcap2) fix channels in humidity alarm notifications
Javier Tia (2):
xfs: initialise error in xfs_defer_finish_one()
xfs: initialise args->total for parent pointer updates
Jeffin Philip (1):
fs: autofs: fix memory leak in autofs_fill_super()
Jens Axboe (1):
io_uring/rw: end write accounting from ->ki_complete
Jia Jia (4):
virtio_console: do not free control-out buffers on remove vhost/vdpa: reject VRING_NUM larger than device max
vduse: validate virtqueue alignment
vhost: invalidate vring access on IOTLB transitions
Jiacheng Xu (1):
workqueue: reject watchdog thresholds that overflow jiffies
Jiajia Liu (2):
Bluetooth: btusb: mediatek: Fix leaked runtime PM reference in reset
Bluetooth: btusb: Fix leaked runtime PM reference in btusb_reset
Jiayuan Chen (5):
bpf: Fix REG INVARIANTS VIOLATION on speculative pointer arithmetic
bpf: Reject key-less BTF for hash maps
bpf: Fix NULL-ptr-deref when showing a void BTF type
bpf: Fix NULL-ptr-deref in btf_var_show() selftests/bpf: Fix flaky bpf_nf test when random NAT port is 0
Jingbo Xu (1):
erofs: add sysfs feature entry for xattr prefixes
Joas Antonio dos Santos (1):
netfilter: nf_conntrack_sip: fix OOB read in sip_skip_whitespace()
Joe Damato (7):
bnxt_en: Only restore LRO if the device supports TPA
bnxt_en: Don't free the live ring's TPA state on queue restart failure
bnxt_en: Handle buffer allocation failure in bnxt_rx_ring_reset()
bnxt_en: Propagate RX ring init failures in bnxt_init_nic()
bnxt_en: Propagate TPA buffer allocation failures in bnxt_queue_mem_alloc()
bnxt_en: Bound SW TPA IDs to prevent crashes
bnxt_en: Prevent queue stop with deferred completions
Johan Hovold (1):
net: hso: fix TIOCMIWAIT race
Johannes Thumshirn (1):
btrfs: zoned: finish active block group cleanup if call_zone_finish() fails
John Hubbard (1):
rust: allow clippy::as_underscore in the generated bindings
John Ogness (1):
printk/nbcon: Change nbcon_irq_work to IRQ_WORK_LAZY
Josh Poimboeuf (1):
objtool/klp: Fix checksums for constant pool references
Joshua Hay (1):
idpf: account for VLAN header when parsing RSC packet header
Justin Chen (2):
net: bcmasp: clear txcb->last before writing each descriptor
net: bcmasp: fix tx_spb_ring_full() checking same slot cnt times
Jérémy Jean (1):
ftrace: fork: Initialize function graph state before copy_exec_state()
Kalpan Jani (1):
mptcp: pm: kernel: drop pending ADD_ADDR when removing ID0
Kanchan Joshi (2):
nvme: set ns->head in nvme_alloc_ns_head
nvme: fix racy access to FDP placement id array
Karl Mehltretter (8):
iommu/amd: Do not reallocate GA log buffers on resume
virtio: fix use-after-free in unregister_virtio_device()
virtio_input: stop callbacks before unregistering input device drm/adp: Drop the select of the nonexistent CONFIG_DRM_KMS_DMA_HELPER drm/logicvc: Drop the select of the nonexistent CONFIG_DRM_KMS_DMA_HELPER
tracing: Fix ring_buffer_read_page_size() kernel-doc
netfs: Fix uninitialized return value in netfs_unbuffered_write()
smb: client: pin DFS superblock in iterator callback
Kazuki Hanai (1):
ALSA: us122l: Prevent write upgrades for read mappings
Keith Busch (1):
block: save page offset gaps in cloned bio
Kevin Wang (1):
drm/amd/pm: fix gpu metrics energy accumulator for smu 13.0.0/13.0.7
Kiran K (3):
Bluetooth: btintel_pcie: Clear automask on spurious interrupts
Bluetooth: btintel_pcie: validate packet_len before skb_put_data
Bluetooth: btintel_pcie: fix tx_handle bounds off-by-one
Kiran Kumar K (1):
octeontx2-af: fix CN20K default MCAM rule removal on port cleanup
Krystian Kaniewski (1):
Bluetooth: hci_sysfs: Fix NULL pointer dereference in device_del()
Kumar Kartikeya Dwivedi (14):
bpf: Mark signal tracepoint siginfo arguments as scalar
bpf: Reject tail calls directly from callback frames
bpf: Reject resilient lock operations in rbtree callbacks
bpf: Mark sched_process_wait argument as nullable
bpf: Mark syscall helpers as sleepable
bpf: Track verifier instruction stats for each subprogram
bpf: Check ancestor frames for rbtree callbacks
bpf: Mark bpf_btf_find_by_name_kind() as sleepable
bpf: Mark faultable stack helpers as sleepable
bpf: Reject legacy packet loads from callbacks
bpf: Require MEM_PERCPU for percpu kptr stores
bpf: Mark NULL kptr stores precise
bpf: Preserve inner map identity in callback frames
bpf: Reject non-scalar bpf_loop iteration counts
Kuniyuki Iwashima (5):
af_packet: Don't cast tpacket_hdr.tp_len to int in tpacket_parse_header().
net: Remove conflicting altnames for dying netns in __dev_change_net_namespace().
af_unix: Update last skb marker in manage_oob().
af_unix: Return immediately when manage_oob() returns NULL for 0-length buffer. net/sched: cls_api: Don't replay RTM_GETCHAIN in tc_ctl_chain().
Kyle Zeng (2):
ipvs: fix reversed sequence option serialization
ipvs: reject invalid states in connection template sync records
Lama Kayal (1):
net/mlx5: E-Switch, prevent mc_list repopulation during vport disable
Laxman Acharya Padhya (4):
wifi: mt76: mt7921: validate CLC firmware records
wifi: mt76: mt7921: skip unknown CLC firmware records
Bluetooth: btintel: validate version TLV value lengths
Bluetooth: btintel: bound firmware ID by TLV length
Leo Yan (1):
perf/core: Skip empty AUX records with only format flags
Leon Hwang (1):
ftrace: Use rcu_assign_pointer() for tmp_ops filter hash
Leonardo Costa (1):
drm/bridge: tc358768: Enforce input bus flags via atomic_check
Li Youhong (1):
net: sun4i-emac: fix missing of_node_put() for phy_node
Liang Luo (1):
sched_ext: Fix nonexistent field in sched-ext.rst example
Lin Jiapeng (1):
xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN
Linfeng Sun (3):
vdpa_sim_blk: reject out-of-range sector starts
vdpa_sim_net: check TX pull result before RX copy
vduse: return compat ioctl results directly
Linmao Li (2):
hwmon: (corsair-cpro) Create debugfs entries after hwmon registration
hwmon: (corsair-cpro) Remove debugfs entries when probe fails
Linus Walleij (21):
ASoC: ab8500: Reset the audio block before configuring it
ASoC: ab8500: Repair the DAPM capture graph
ASoC: ab8500: Correct digital interface format setup
ASoC: ab8500: Validate and program TDM slots correctly
ASoC: ab8500: Remove the nonfunctional sidetone apply control
ASoC: ab8500: Skip missing DMIC GPIOs on AB8505
ASoC: ux500: Fix MSP stream lifecycle handling
ASoC: ux500: Propagate MSP setup errors
ASoC: ux500: Correct MSP frame and bit clock setup
ASoC: ux500: Validate MSP DAI configuration
mfd: db8500-prcmu: Fold dbx500 header into db8500
ASoC: ux500: Deassert the MSP reset during probe
ASoC: ux500: Request the MSP MMIO resource
ASoC: ux500: Remove obsolete PRCMU QoS calls
ASoC: ux500: Allow repeated MSP prepare calls
ASoC: ux500: Program the MSP FIFO watermarks
net: ethernet: cortina: Fix budget accounting
net: ethernet: cortina: Finish RX updates before NAPI completion
net: ethernet: cortina: Count dropped frames as NAPI work
net: ethernet: cortina: Count RX drops once per frame
net: ethernet: cortina: Count RX descriptors for freeq refill
Lizhi Hou (2):
accel/amdxdna: Remove __counted_by from struct amdxdna_cmd_chain accel/amdxdna: Disable device buffer exporting
Long Li (2):
net: mana: Clear RDMA teardown and suspend state in mana_rdma_probe()
net: mana: restore the XDP program pointer when pre-allocation fails
Lorenzo Bianconi (5):
net: stmmac: fix dma mapping leak in stmmac_tso_xmit()
net: airoha: enable RX_DONE interrupt for RX queue 31
net: stmmac: reconfigure RX packet parser table in stmmac_hw_setup() after reset
net: stmmac: initialize ptp_lock at probe time
net: stmmac: fix TX descriptor availability check for TSO traffic
Lorenzo Stoakes (ARM) (5):
scripts/mksysmap: drop the MODULE_INFO() symbols from kallsyms scripts/mksysmap: fix escape of '$' in the __pi_ pattern x86/mm/pat: Acquire init_mm write lock on collapse to avoid UAF x86/mm/pat: Acquire init_mm read lock on attribute changes to avoid UAF x86/mm/pat: Allocate split page tables as kernel page tables
Lu Yao (1):
drm/xe/oa: Remove sysfs entry on idr_alloc failure in xe_oa_add_config_ioctl()
Luiz Augusto von Dentz (1):
Bluetooth: btusb: Fix UAF of btusb_data by rx_work
MD Danish Anwar (1):
net: hsr: enable promiscuous mode on interlink port with fwd offload
Magdalena Schulfer (2):
accel/ivpu: Validate full buffer range in ivpu_to_cpu_addr accel/ivpu: Validate firmware log buffer metadata
Mahmoud Nagy Adam (1):
selftests: ublk: install test_common.sh and trace/ scripts
Manuel Fombuena (1):
leds: st1202: Validate pattern input before stopping the sequence
Marek Vasut (1):
net: ks8851: Fix receiver error in 100BASE-TX mode following software power-down
Mario Limonciello (1):
x86/itmt: Don't make ITMT enablement depend on debugfs
Masami Hiramatsu (Google) (3):
tracing: Fix to avoid creating trace instances with duplicate names tools/bootconfig: Fix integer overflow and truncation in size checks
bootconfig: Fix integer overflow in initrd size check
Matthieu Baerts (NGI0) (7):
mptcp: options: handle MPC data + csum reqd + no csum
mptcp: subflow: no need to copy thmac during ulp_clone
mptcp: syncookies: remember the request backup flag
mptcp: options: fix uninit-value in mptcp_write_data_fin
selftests: mptcp: lib: dump nstat for the right test
selftests: mptcp: lib: get counters for the right test
mptcp: pm: reset retrans_time when ADD_ADDR entry is reused
Maurizio Lombardi (1):
scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands
Mehmet Koseoglu (1):
rust: samples: add missing newlines in rust_print_main
Michael Bommarito (8):
media: hevc: add bounded tile-count helpers
media: verisilicon: hantro: bound G2 HEVC tile loop to the buffer capacity
media: rkvdec: bound HEVC tile loops and PPS id to the array capacity
media: mediatek: vcodec: bound AV1 tile-start copy to the array capacity
media: verisilicon: rockchip: guard VPU981 AV1 divisor and tile buffer
media: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity
media: v4l2-ctrls: validate HEVC tile counts
media: v4l2-ctrls: validate AV1 tile counts
Miguel Ojeda (2):
rust: allow unknown_lints in generated bindings for Rust < 1.88 drm/panic: clean new clippy::needless_range_loop lint for Rust 1.100.0
Mike Rapoport (Microsoft) (1):
x86/mm/pat: Don't gate cpa_lock on debug_pagealloc_enabled()
Mikhail Zaslonko (1):
s390/debug: Fix NULL pointer dereference in debug_set_level()
Miklos Szeredi (1):
ovl: return EINVAL instead of EIO in case of mismatched user_ns
Milan P. Gandhi (2):
scsi: mpi3mr: Fix NULL pointer dereference in mpi3mr_sas_port_add()
scsi: mpi3mr: Fix target device refcount leak in mpi3mr_sas_port_add()
Mitul Golani (1):
drm/i915/dp: Gate UHBR SST SDP splitting on sink capability
Mohamed Khalfella (3):
nvme: remove stale namespaces by NSID range during scan
nvme: print namespace IDs as unsigned 32bit value
nvmet: print namespace IDs as unsigned 32bit value
Moritz Tanner (1):
fs: don't return -EINVAL for successful nested thaw
Mukesh Kumar Chaurasiya (IBM) (1):
powerpc/entry: Fix irq_soft_mask corruption on replayed interrupt exit
Myeonghun Pak (1):
idpf: disable DIM work before freeing q_vectors
Nagamani PV (1):
s390/qeth: allow bridgeport queries despite OS_MISMATCH
Naman Gulati (1):
ipv6: null-check fib6_node before accessing in __ip6_del_rt_siblings()
Namjae Jeon (5):
ksmbd: safely drain sessions during logoff
ksmbd: propagate DACL parsing errors
ksmbd: rate limit unmapped SID errors
ksmbd: fix listener task lifetime on netdev events
ksmbd: fix sparc build with atomic work state
Nathan Chancellor (1):
scripts/sorttable: Mark long_size as __maybe_unused
Nicolai Buchwitz (3):
net: macb: exclude software FCS from TX byte statistics
net: macb: destroy the phylink instance on the probe error path
net: macb: put the "mdio" child node reference on success
Nikhil Gurudasani (2):
erofs: preserve LZMA decoders on resize failure
hwmon: (mcp9982) Propagate one-shot polling errors
Nikhil P. Rao (3):
ionic: use netif_txq_maybe_stop() in ionic_tx()
pds_core: fix cmd_regs access racing BAR unmap on reset
pds_core: don't release PCI regions for VFs on reset
Niklas Schnelle (1):
iommu/s390: Fix NULL dereference in iova_to_phys() with ZPCI_TABLE_TYPE_RFX
Nikolay Aleksandrov (1):
net: bridge: mcast: properly convert mglist to rcu
Nilay Shroff (1):
nvme: add context annotations for nvme_subsystem::lock
Nilesh Javali (13):
scsi: qla2xxx: Fix queue teardown NULL dma_free and bitmap locking
scsi: qla2xxx: Fix use-after-free of qpair work on queue teardown
scsi: qla2xxx: Bound VP index against VP_CTRL IOCB bitmap size
scsi: qla2xxx: Use ring-slot helpers in __qla2x00_alloc_iocbs
scsi: qla2xxx: Use memset_io() to clear QLAFX00 request ring slot
scsi: qla2xxx: Null out freed pointers in qla2x00_mem_alloc() error path
scsi: qla2xxx: Fix 64G link speed reporting in get_data_rate
scsi: qla2xxx: Skip vport under deletion in report ID acquisition
scsi: qla2xxx: Fix soft lockup polling continuation IOCB signature
scsi: qla2xxx: Clamp max_npiv_vports to VP_CTRL bitmap capacity
scsi: qla2xxx: Validate BSG request_len before reading vendor_cmd[]
scsi: qla2xxx: Unlink NVMe unsol ctx before freeing on LS reject error
scsi: qla2xxx: Serialize NVMe unsol ctx list with a per-fcport lock
Ning Ding (2):
bpf: Keep refcount_acquire nullable for borrowed RCU kptrs
bpf: Reject untrusted allocated-object pointers
Norbert Szetei (3):
nstree: check listing permission before taking a namespace reference
net: openvswitch: fix use-after-free of the flow table mask array
landlock: Fix use-after-free of the source's parent directory
Nuoqi Gui (1):
bpf: Cancel special fields when recycling rhtab elements
Paolo Abeni (7):
mptcp: remove unneeded READ_ONCE() annotation
mptcp: do not reschedule the RTX timer for fallback sockets
mptcp: prevent race between disconnect() and rtx
mptcp: move the stale logic out of retrans scheduler
mptcp: avoid unneeded actions on subflow reset
mptcp: close race between scheduler and state change
mptcp: fix bad accounting in __mptcp_subflow_push_pending()
Pauli Virtanen (3):
Bluetooth: L2CAP: fix chan mode for LE_CONN_REQ + EXT_FLOWCTL pchan
Bluetooth: L2CAP: fix out-of-bounds write in l2cap_ecred_connect
Bluetooth: L2CAP: clear FLAG_DEFER_SETUP only for same PID/PSM
Paulo Alcantara (8):
smb: client: honor forceuid/forcegid when mapping SIDs to uid/gid
smb: client: fix WSL reparse point uid/gid override
smb: client: fix uid/gid override in getattr with posix extensions
smb: client: fix one-byte OOB read in smb2_parse_native_symlink()
smb: client: fix file type corruption in cifs_reparse_point_to_fattr()
smb: client: fix file type corruption in posix_reparse_to_fattr()
smb: client: fix file type corruption in wsl_to_fattr()
smb: client: avoid using uninitialized SIDs in cifs_posix_to_fattr()
Pedro Falcato (1):
x86/alternatives: Exclude text poking against change_page_attr()
Pengpeng Hou (1):
hwmon: (aspeed-pwm-tacho) Propagate reset deassert errors
Peter Zijlstra (1):
x86/mm: Fix and document DEBUG_PAGEALLOC
Prike Liang (1):
drm/amdgpu: skip gfx switch_power_profile during GPU reset
Qing Luo (1):
mptcp: pm: userspace: fix address ID overflow
Qingfang Deng (3):
ppp: ppp_async: simplify tty disc_data access
ppp: ppp_synctty: simplify tty disc_data access
ppp_synctty: ensure a writeable skb header
Qingyu Zhang (1):
ALSA: ump: do not touch legacy_rmidi before it exists
Qiuxu Zhuo (4):
EDAC/igen6: Fix interleave boundary condition EDAC/igen6: Fix channel selection hash EDAC/igen6: Fix channel address decode for non-hash mode EDAC/igen6: Fix Raptor Lake-P logged error address
Qu Wenruo (3):
btrfs: fix the possible bioc_list memory leak during error
btrfs: return proper negative error code for update_raid_extent_item()
btrfs: do not force reloc root creation during qgroup_account_snapshot()
Radhey Kalra (1):
platform/x86: hp-wmi: Introduce board-specific feature data
Randy Dunlap (1):
dma-buf: fix some kernel-doc warnings
Ratheesh Kannoth (2):
octeontx2-pf: reset HTB scheduler topology before freeing queues
octeontx2-af: fix PF/CGX debugfs PCI bus lookup
Richard Fitzgerald (3):
ASoC: cs35l56: Request IRQ in cs35l56_common_probe()
ASoC: cs35l56: Fix probe deadlock waiting for SoundWire enumeration
ASoC: cs35l56: Fix race between kexec and snd_soc_register_component()
Ritesh Harjani (IBM) (2):
powerpc: Don't drop _TIF_RESTOREALL on syscall restart
powerpc: Do not restore KUAP in arch_exit_to_user_mode_prepare()
Rob Herring (Arm) (5):
accel: ethosu: Fix ethosu_job_open() return value
accel: ethosu: Drop IRQF_SHARED flag
accel: ethosu: Ensure cmd stream ends with a stop op
accel: ethosu: Ensure SRAM size is 0 on mapping failure
accel: ethosu: Ensure SRAM region size matches job
Roman Prucha (1):
ALSA: ctxfi: Fix CA20K2 S/PDIF passthrough
Rong Zhang (2):
Bluetooth: Properly disable remote wakeup for MT7922/MT7925 on Ryzen platform
Bluetooth: btrtl: Don't leak return code when parsing firmware format v2
Runyu Xiao (3):
ASoC: sti: initialize IRQ lock before requesting IRQ
cpufreq: initialize policy rwsem before sysfs publication
net: macb: initialize PTP state before registering clock
Sahil Chandna (1):
net: mana: Reserve extra CQ slot for the fence completion CQE
Sajal Gupta (1):
drm/gud: validate GUD_ROTATION_0 is present in supported rotations
Samuel Holland (1):
Revert "riscv: Reset pmm when PR_TAGGED_ADDR_ENABLE is not set"
Sang-Heon Jeon (1):
media: remove conditional return with no effect
Sascha Bischoff (1):
irqchip/gic-v5: Preserve ICC_CR0_EL1 state
Satyajit Roy (3):
drm/amd/display: Rebuild InfoFrames on output color space changes drm/amd/display: Propagate HDMI RGB quantization selectability drm/amd/display: Honor Broadcast RGB for BT.2020 RGB output
Sebastian Andrzej Siewior (1):
ring-buffer: Acquire the lock with irqsave in rb_wake_up_waiters()
Seiji Nishikawa (1):
sched/rt,dl: Skip migrate-disabled tasks when picking a push candidate
Selvamani Rajagopal (4):
net: ethernet: oa_tc6: Protect skb pointer used by two different kernel instances
net: ethernet: oa_tc6: Improve the error recovery
net: ethernet: oa_tc6: Disable tx queues on fatal error
net: ethernet: oa_tc6: Fix for the wrong data type
Sergey Zagursky (1):
media: ipu-bridge: do not use the CVS device lookup for IVSC
Seungwon Bae (1):
vxlan: reject dynamic fdb entries that reference a nexthop id
Shahar Shitrit (3):
net/mlx5e: Fix missing FEC mode mapping for RS_544_514_INTERLEAVED_QUAD net/mlx5e: Fix setting RS FEC after remapping
net/mlx5e: Fix reporting support for all RS FEC variants
Shivaprasad G Bhat (2):
powerpc/eeh: Fix recursive locking on devices without EEH sensitive driver
powerpc: pci-ioda: Fix the stale irq chip reference
Shixiong Ou (1):
drm/sched: Create a fake device for KUnit tests
Shuangpeng Bai (1):
btrfs: fix transaction use-after-free in raid stripe insertion
Shubhang Kaushik (Ampere) (1):
sched/core: Skip rq->avg_idle update without a valid idle_stamp
Slawomir Stepien (1):
drm/cirrus-qemu: Validate BAR0 size during probe
Soheil Hassas Yeganeh (1):
x86/cfi: Fix FineIBT hash offset in cfi_get_func_hash()
Steven Rostedt (3):
ring-buffer: Add checking nr_subbufs to persistent ring buffer validation
tracing: Fix comment in tracing_buffers_splice_read()
tracing: Take trace_array reference when opening a tracer options file
Stian Halseth (1):
sunvdc: unmap LDC cookies when the descriptor send fails
Sumanth Korikkar (1):
s390/diag324: Preserve -EBUSY return code
Sunil Goutham (1):
octeontx2-af: Fix limiting SRIOV VF count logic
Sunil Khatri (1):
drm/drm_exec: fix up contended obj when num_objects is 0
Taimuraz Kaitmazov (3):
accel/amdxdna: reject a command chain that carries no commands accel/amdxdna: put the chained BO when its mapping fails accel/amdxdna: refuse to flush an imported BO
Takashi Iwai (1):
ALSA: caiaq: Fix potential double-free at error path
Taylor Bates (1):
mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context
Tejun Heo (1):
sched_ext: Fix spurious aborts in scx_bpf_dsq_move() on ownership change races
Tetsuo Handa (1):
printk: Don't WARN on kthread_run failure.
Thibault Ferrante (1):
selftests/powerpc/tm: Fix tcheck() reading uninitialised CR value
Thomas Gleixner (1):
tick/broadcast: Plug clockevents replacement race
Thomas Hellström (1):
drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches
Thomas Richter (4):
perf/core: Allow list_del during perf_event_overflow() s390/pai: Use PAI PMU index as parameter replacing event s390/pai: Move locking to event init and delete s390/pai: Support CPU hotplug for PMU PAI
Thomas Weißschuh (1):
tracing: Restore :mod: trailer after parsing in ftrace_set_clr_event()
Thorsten Blum (4):
powerpc/kexec_file: Use inclusive range checks in add_usable_mem() powerpc/kexec_file: Use inclusive range checks for excluded memory powerpc/ps3: Fix repository.c build failure
drm/i915: Fix memory leak in query_perf_config_list()
Théo Lebrun (1):
net: macb: unify device pointer naming convention
Tianchu Chen (1):
ASoC: sprd: validate compress buffer sizes against fixed allocations
Tomeu Vizoso (1):
accel: ethosu: Don't read the U65 rounding mode as a storage mode
Tristan Madani (2):
ALSA: usbusx2y: fix in04_last array size mismatch with in04_buf
ALSA: usbusx2y: validate URB actual_length in interrupt callback
Tung Nguyen (1):
tipc: fix NULL deref in tipc_named_node_up() on empty publication list
Tzung-Bi Shih (7):
watchdog: msc313e: Fix NULL pointer dereference in PM callbacks
watchdog: msc313e: Avoid division by zero
watchdog: msc313e: Fix clock leak and spurious timer in settimeout()
watchdog: msc313e: Enable clock before accessing hardware registers
watchdog: msc313e: Fix spurious reset on suspend
watchdog: msc313e: Fix undefined behavior
watchdog: msc313e: Sync timeout value if WDT was running at boot
Varun Gupta (1):
drm/xe: Guard page-fault worker with runtime PM check
Vasant Hegde (1):
iommu/amd: Fix premature break in init_iommu_one() again
Vasileios Almpanis (2):
configfs: pin the symlink target's dirent instead of chasing ->ci_dentry
configfs: unhash the dentry before dropping the item in rmdir
Vasily Gorbik (4):
s390/ipl: Fix NULL deref in kdump without re-IPL parm block s390/ipl: Fix NULL deref in dump_reipl without re-IPL parm block s390/boot: Fix physical memory search range s390/boot: Avoid IPL parameter append past command line
Vernon Yang (1):
x86/mm: Fix user-space data loss with MADV_FREE and THP
Victor Nogueira (6):
net/sched: act_api: budget all shared attributes in notify skbs net/sched: act_api: size the RTM_GETACTION reply from the actions net/sched: act_api: fix skb sizing and action leak on reoffload delete net/sched: cls_route: free emptied bucket on filter move net/sched: cls_route: Reject handle aliasing
net/sched: cls_route: Fix in-place replace
Ville Syrjälä (2):
drm/i915/cdclk: Fix dg2_power_well_count() return type drm/i915/cdclk: Avoid spurious cdclk sanitization on PTL+
Vincent Donnefort (5):
ring-buffer: Remove ring_buffer_per_cpu::mapped
tracing: Fix subbuf resize races with trace_pipe_raw readers
ring-buffer: Cap static ring buffer nr_pages tracing/remotes: Account for ring buffer page header in size calculation tracing/remotes: Catch nr_page_va overflow in ring_buffer_desc sizing
Vincent Guittot (2):
sched/eevdf: Fix augmented max_slice sched/eevdf: Fix rb augmented with multi fields
Vineeth Karumanchi (1):
net: macb: fix NULL pointer dereference on unbind with fixed-link
Vishnu Razdan (1):
hwmon: (pmbus) Clear generic status alarms with CLEAR_FAULTS
Viswajith Murali (1):
octeontx2-af: mcs: Clear stale X2P calibration state before calibration
Vladislav Karmanov (1):
net: phy: mediatek-ge: disable EEE on the MT7530 PHY
Vlatko Kosturjak (1):
ppp_async: drop the errored frame instead of resetting its headroom
Wang Yan (1):
perf powerpc-vpadtl: Fix raw_size of DTL samples
Wanwu Li (2):
sched_ext: Fix timer pinning and return value in scx_central
sched_ext: Fix vtime delta loss in scx_flatcg cgroup migration
Weiming Shi (3):
net/sched: defer qdisc freeing after failed creation
net: dsa: tag_brcm: legacy FCS: request needed tailroom
fbdev: vfb: defer cleanup until the last reference
Wentao Guan (2):
iommu/arm-smmu-v3: Disable implementations during devm teardown
ntfs: treat any nonzero dio zero-range return as an error
Xin Long (1):
sctp: fix a TOCTOU race in SCTP_CMD_TIMER_START
XingWang Xiang (2):
net: mctp: i3c: serialize probe with bus removal
genetlink: pin family module during policy dump
Xiong Weimin (4):
virtio_input: reset device if input_register_device() fails
virtio_mmio: disable IRQ wake before free_irq
vdpa: ifcvf: Put device on unsupported feature error
vdpa: solidrun: Free IRQs after request failure
Xixin Liu (6):
nvme-rdma: fix -EIO cleanup order in queue_rq
nvmet-rdma: fix queue leak when connect backlog is exceeded
perf: RISC-V: check cpu_hw_evt before dereference in overflow IRQ
nvme-tcp: defer TLS inline send to io_work
perf: RISC-V: store available counter mask as bitmap
perf: RISC-V: use BIT_ULL for u64 overflow masks
Xu Rao (2):
ALSA: hda: restore MFG widget enumeration after core split
Bluetooth: btqcomsmd: destroy RPMsg endpoints before freeing hci_dev
Xuanqiang Luo (2):
raw: annotate disconnect-side IPv4 match writers
net/sched: act_api: release all action references on NEWACTION failureYael Chemla (1):
net/mlx5: E-Switch: fix use-after-free in mlx5_eswitch_termtbl_put
Yafang Shao (1):
klp-build: Fix wrong index in funcs cleanup error path
Yang Xiuwei (1):
ublk: clear force_abort in ublk_queue_reset_io_flags()
Yazen Ghannam (2):
RAS/AMD/ATL, EDAC/amd64: Only load ATL when needed x86/amd_node: Fix PCI device reference counting in amd_smn_init()
Yilin Zhang (2):
ALSA: pcm: Serialize PCM mmap with buffer reallocation to fix page UAF
inet: frags: invalidate queues before flushing them
Yogesh Mohan Marimuthu (1):
drm/amdgpu/userq: fix struct drm_amdgpu_info_device padding for 32bit compile
Yorick Rommers (1):
ASoC: amd: acp-da7219-max98357a: don't bind on Raven/Picasso boards
Younes Akhouayri (1):
rust: num: seal Integer
Youssef Samir (1):
accel/qaic: Address potential out-of-bounds read in resp_worker()
Yu Zhang (2):
vhost-vdpa: don't install the eventfd_ctx_fdget() error in config_ctx
vhost-vdpa: protect config_ctx from being freed under the config callback
Yuan Chen (1):
bpf: Preserve special fields in recycled rhtab elements
Yudi Yang (1):
drm/rockchip: analogix_dp: fix unchecked bound endpoint name length
Zhiling Zou (3):
net: bridge: use option bits for CFM/MRP frame handlers
ieee802154: 6lowpan: fix NULL dereference in lowpan_newlink
ipv6: flowlabel: cap duplicate leases per socket
Zhongqiu Han (1):
cpufreq: zero-initialize policy cpumask before sysfs publication
Zihan Xi (3):
ipv6: fix fib6 walker UAF on seq stop
ipmr: account multicast table and route memory
ipv4: fib: bound automatic table ID allocation
bui duc phuc (1):
ASoC: codecs: ab8500: Use guard() for mutex locks
hanzhijian (1):
hwmon: (yogafan) fix non-kernel-doc comment
hpp.iscas (3):
ASoC: bcm: bcm63xx: Publish the OF module aliases
ASoC: Intel: SST: Publish the PCI module aliases
ASoC: mt6351: Publish the OF module alias
leixiang (1):
KVM: PPC: Book3S HV: Set irqfd->producer only on success
sangram kumar yerra (2):
scsi: ufs: ufs-pci: Add support for Intel UFS 4.0 HS-Gear5
scsi: ufs: ufs-pci: Add MCQ support for Intel UFS 4.0 controllers
wangdicheng (2):
ASoC: amd: renoir: fix disable_pdm_interrupts() to clear mask bits
ASoC: amd: yc: fix memory leak in acp6x_pdm_dma_close()
Ștefan Ghețu (1):
ASoC: fsl_micfil: balance mclk enable/disable
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-fs-erofs +1 -1
@@ -5,7 +5,7 @@ Description: Shows all enabled kernel features. Supported features: compr_cfgs, big_pcluster, chunked_file, device_table, compr_head2, sb_chksum, ztailpacking, dedupe, fragments, - 48bit, metabox. + xattr_prefixes, 48bit, metabox. What: /sys/fs/erofs/<disk>/sync_decompress Date: November 2021
Documentation/admin-guide/kernel-parameters.txt +0 -37
@@ -4922,18 +4922,6 @@ Kernel parameters Set to non-zero if a chip is present that snoops speed changes. Disabled by default. - pata_legacy.ht6560a= [HW,LIBATA] - Format: <int> - Set to 1, 2, or 3 for HT 6560A on the primary channel, - the secondary channel, or both channels respectively. - Disabled by default. - - pata_legacy.ht6560b= [HW,LIBATA] - Format: <int> - Set to 1, 2, or 3 for HT 6560B on the primary channel, - the secondary channel, or both channels respectively. - Disabled by default. - pata_legacy.iordy_mask= [HW,LIBATA] Format: <int> IORDY enable mask. Set individual bits to allow IORDY
@@ -4946,18 +4934,6 @@ Kernel parameters with the sequence. By default IORDY is allowed across all channels. - pata_legacy.opti82c46x= [HW,LIBATA] - Format: <int> - Set to 1, 2, or 3 for Opti 82c611A on the primary - channel, the secondary channel, or both channels - respectively. Disabled by default. - - pata_legacy.opti82c611a= [HW,LIBATA] - Format: <int> - Set to 1, 2, or 3 for Opti 82c465MV on the primary - channel, the secondary channel, or both channels - respectively. Disabled by default. - pata_legacy.pio_mask= [HW,LIBATA] Format: <int> PIO mode mask for autospeed devices. Set individual
@@ -4981,19 +4957,6 @@ Kernel parameters the first port in the list above (0x1f0), and so on. By default all supported ports are probed. - pata_legacy.qdi= [HW,LIBATA] - Format: <int> - Set to non-zero to probe QDI controllers. By default - set to 1 if CONFIG_PATA_QDI_MODULE, 0 otherwise. - - pata_legacy.winbond= [HW,LIBATA] - Format: <int> - Set to non-zero to probe Winbond controllers. Use - the standard I/O port (0x130) if 1, otherwise the - value given is the I/O port to use (typically 0x1b0). - By default set to 1 if CONFIG_PATA_WINBOND_VLB_MODULE, - 0 otherwise. - pata_platform.pio_mask= [HW,LIBATA] Format: <int> Supported PIO mode mask. Set individual bits to allow
Documentation/hwmon/gpd-fan.rst +1 -1
@@ -67,7 +67,7 @@ pwm1_enable at full speed. Write "1" to set to manual, write "2" to let the EC control decide fan speed. Read this attribute to see current status. - NB:In consideration of the safety of the device, when setting to manual mode, + NB: In consideration of the safety of the device, when setting to manual mode, the pwm speed will be set to the maximum value (255) by default. You can set a different value by writing pwm1 later.
Documentation/hwmon/hwmon-kernel-api.rst +15 -0
@@ -42,6 +42,9 @@ register/unregister functions:: char *devm_hwmon_sanitize_name(struct device *dev, const char *name); + int hwmon_notify_event(struct device *dev, enum hwmon_sensor_types type, + u32 attr, int channel); + void hwmon_lock(struct device *dev); void hwmon_unlock(struct device *dev);
@@ -90,6 +93,18 @@ implemented in the driver, or debugfs functions, hwmon_lock() and hwmon_unlock() can be used to ensure that calls to those functions are serialized. Those functions also support guard() and scoped_guard() variants. +Drivers can call hwmon_notify_event() to notify userspace and the thermal +subsystem when a hardware monitoring event (such as an alarm or a fault +condition) occurs or clears. The parameters are the hwmon device, the sensor +type, the attribute identifier associated with the event (such as +hwmon_temp_max_alarm or hwmon_fan_fault), and the sensor channel number. +hwmon_notify_event() generates a sysfs event (calling sysfs_notify()) and a +udev event with the attribute name passed in the NAME environment property +(e.g., "NAME=temp1_max_alarm"). If the event is for a temperature sensor and +the sensor is attached to a thermal zone, it also notifies the thermal +subsystem to update the thermal zone. hwmon_notify_event() returns 0 on +success or a negative error code on failure. + Using devm_hwmon_device_register_with_info() --------------------------------------------
Documentation/netlink/specs/rt-link.yaml +2 -0
@@ -898,6 +898,8 @@ attribute-sets: - name: txqlen type: u32 + checks: + max: 32767 - name: map type: binary
Documentation/scheduler/sched-ext.rst +1 -1
@@ -229,7 +229,7 @@ optional. The following modified excerpt is from void BPF_STRUCT_OPS(simple_exit, struct scx_exit_info *ei) { - exit_type = ei->type; + exit_type = ei->kind; } SEC(".struct_ops")
MAINTAINERS +1 -0
@@ -26241,6 +26241,7 @@ R: Andy Shevchenko <[email protected]> L: [email protected] S: Supported F: drivers/i2c/busses/i2c-designware-* +F: include/linux/designware_i2c.h SYNOPSYS DESIGNWARE I2C DRIVER - AMDISP M: Nirujogi Pratap <[email protected]>
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 7 PATCHLEVEL = 2 -SUBLEVEL = 6 +SUBLEVEL = 7 EXTRAVERSION = NAME = Baby Opossum Posse
arch/arm/mach-ux500/cpu-db8500.c +3 -3
@@ -12,7 +12,7 @@#include <linux/irq.h> #include <linux/irqchip.h> #include <linux/irqchip/arm-gic.h> -#include <linux/mfd/dbx500-prcmu.h> +#include <linux/mfd/db8500-prcmu.h> #include <linux/platform_data/arm-ux500-pm.h> #include <linux/platform_device.h> #include <linux/io.h>
@@ -81,7 +81,7 @@ static void __init ux500_init_irq(void)struct resource r;irqchip_init (); -prcmu_early_init (); +db8500_prcmu_early_init (); np =of_find_compatible_node (NULL ,NULL ,"stericsson,db8500-prcmu" );of_address_to_resource (np,0 , &r);of_node_put (np);
@@ -101,7 +101,7 @@ static void ux500_restart(enum reboot_mode mode, const char *cmd)local_irq_disable ();local_fiq_disable (); -prcmu_system_reset (0 ); +db8500_prcmu_system_reset (0 ); }static const struct of_device_id u8500_local_bus_nodes[] = {
arch/arm64/kernel/machine_kexec.c +2 -1
@@ -129,7 +129,8 @@ int machine_kexec_post_load(struct kimage *kimage) }/* Create a copy of the linear map */ - rc =trans_pgd_create_copy (&info, &trans_pgd,PAGE_OFFSET ,PAGE_END ); + rc =trans_pgd_create_copy (&info, &trans_pgd, +_PAGE_OFFSET (vabits_actual),PAGE_END );if (rc)return rc; kimage->arch.ttbr1 =__pa (trans_pgd);
arch/arm64/tools/sysreg +3 -1
@@ -3736,7 +3736,9 @@ Sysreg ICC_CR0_EL1 3 1 12 0 1 Res0 63:39 Field 38 PID Field 37:32 IPPT -Res0 31:1 +Res0 31:3 +Field 2 LINK_IDLE +Field 1 LINK Field 0 EN EndSysreg
arch/powerpc/include/asm/entry-common.h +9 -5
@@ -222,8 +222,6 @@ static inline void arch_interrupt_enter_prepare(struct pt_regs *regs)if (user_mode (regs)) {kuap_lock (); -account_cpu_user_entry (); -account_stolen_time (); }else {kuap_save_and_lock (regs);/*
@@ -270,7 +268,7 @@ static inline void arch_interrupt_exit_prepare(struct pt_regs *regs) }/* irqentry_exit expects to be called with interrupts disabled */ -local_irq_disable (); +hard_irq_disable (); }static inline void arch_interrupt_async_enter_prepare (struct pt_regs *regs)
@@ -515,8 +513,14 @@ static inline void arch_exit_to_user_mode_prepare(struct pt_regs *regs,#ifdef CONFIG_PPC_TRANSACTIONAL_MEM local_paca->tm_scratch = regs->msr;#endif -/* Restore user access locks last */ -kuap_user_restore (regs); +/* +* Do not restore KUAP here. Generic entry might treat this as the last +* arch step before userspace but PowerPC still has kernel work after +* irqentry_exit()/syscall_exit_to_user_mode() i.e. in +* interrupt_exit_user_prepare() / syscall_exit_prepare() may enable +* IRQs and retry. Those functions restore KUAP immediately before rfi, +* which is where it should belong. +*/ }#define arch_exit_to_user_mode_prepare arch_exit_to_user_mode_prepare
arch/powerpc/kernel/eeh_driver.c +0 -2
@@ -533,9 +533,7 @@ static void eeh_rmv_device(struct eeh_dev *edev, void *userdata)if (rmv_data)list_add (&edev->rmv_entry, &rmv_data->removed_vf_list); }else { -pci_lock_rescan_remove ();pci_stop_and_remove_bus_device (dev); -pci_unlock_rescan_remove (); } }
arch/powerpc/kernel/interrupt.c +1 -1
@@ -175,7 +175,7 @@ notrace unsigned long syscall_exit_restart(unsigned long r3, struct pt_regs *regcurrent_thread_info ()->exit_flags &= ~_TIF_RESTOREALL; regs->exit_result |= ret; - return ret; + return regs->exit_result; }#endif
arch/powerpc/kexec/file_load_64.c +2 -2
@@ -57,7 +57,7 @@ int arch_check_excluded_range(struct kimage *image, unsigned long start, emem = image->arch.exclude_ranges;for (i =0 ; i < emem->nr_ranges; i++) -if (start < emem->ranges[i].end && end > emem->ranges[i].start) +if (start <= emem->ranges[i].end && end >= emem->ranges[i].start)return 1 ;return 0 ;
@@ -113,7 +113,7 @@ static int add_usable_mem(struct umem_info *um_info, u64 base, u64 end) loc_end = um_info->ranges[i].end;if (loc_base >= base && loc_end <= end) add = true; -else if (base < loc_end && end > loc_base) { +else if (base <= loc_end && end >= loc_base) {if (loc_base < base) loc_base = base;if (loc_end > end)
arch/powerpc/kvm/book3s_hv.c +2 -2
@@ -6124,12 +6124,12 @@ static int kvmppc_irq_bypass_add_producer_hv(struct irq_bypass_consumer *cons,struct kvm_kernel_irqfd *irqfd = container_of(cons, struct kvm_kernel_irqfd, consumer); - irqfd->producer = prod; - ret =kvmppc_set_passthru_irq (irqfd->kvm, prod->irq, irqfd->gsi);if (ret)pr_info ("kvmppc_set_passthru_irq (irq %d, gsi %d) fails: %d\n" , prod->irq, irqfd->gsi, ret); +else + irqfd->producer = prod;return ret; }
arch/powerpc/platforms/powernv/pci-ioda.c +2 -4
@@ -1623,15 +1623,13 @@ int64_t pnv_opal_pci_msi_eoi(struct irq_data *d)return opal_pci_msi_eoi (phb->opal_id, d->parent_data->hwirq); } -static struct irq_chip pnv_pci_msi_irq_chip; -/* * Returns true iff chip is something that we could call * pnv_opal_pci_msi_eoi for. */ bool is_pnv_opal_msi (struct irq_chip *chip) { -return chip == &pnv_pci_msi_irq_chip; +return chip && chip->name &&str_has_prefix (chip->name,"PNV-" ); }EXPORT_SYMBOL_GPL (is_pnv_opal_msi);
@@ -1728,7 +1726,7 @@ static const struct msi_parent_ops pnv_msi_parent_ops = { .chip_flags = MSI_CHIP_FLAG_SET_EOI, .bus_select_token = DOMAIN_BUS_NEXUS, .bus_select_mask = MATCH_PCI_MSI, - .prefix = "PNV-", + .prefix = "PNV-", /* Note: is_pnv_opal_msi() uses this */ .init_dev_msi_info = pnv_init_dev_msi_info, };
arch/powerpc/platforms/ps3/repository.c +4 -1
@@ -6,6 +6,8 @@* Copyright 2006 Sony Corp. */ +#include <linux/minmax.h> +#include <asm/lv1call.h> #include "platform.h"
@@ -74,8 +76,9 @@ static void _dump_node(unsigned int lpar_id, u64 n1, u64 n2, u64 n3, u64 n4,static u64 make_first_field (const char *text,u64 index) {u64 n =0 ; +size_t len =min (strlen (text),sizeof (n)); -memcpy ((char *)&n, text,strnlen (text,sizeof (n))); +memcpy (&n, text, len);return PS3_VENDOR_ID_NONE + (n >>32 ) + index; }
arch/riscv/kernel/process.c +1 -3
@@ -349,10 +349,8 @@ long set_tagged_addr_ctrl(struct task_struct *task, unsigned long arg)if (arg &PR_TAGGED_ADDR_ENABLE && (tagged_addr_disabled || !pmlen))return -EINVAL ; -if (!(arg &PR_TAGGED_ADDR_ENABLE )) { +if (!(arg &PR_TAGGED_ADDR_ENABLE )) pmlen =PMLEN_0 ; - pmm =ENVCFG_PMM_PMLEN_0 ; - }if (mmap_write_lock_killable (mm))return -EINTR ;
arch/riscv/kernel/sys_hwprobe.c +2 -3
@@ -295,6 +295,8 @@ static u64 hwprobe_vec_misaligned(const struct cpumask *cpus)static void hwprobe_one_pair (struct riscv_hwprobe *pair,const struct cpumask *cpus) { + pair->value =0 ; +switch (pair->key) {case RISCV_HWPROBE_KEY_MVENDORID :case RISCV_HWPROBE_KEY_MARCHID :
@@ -329,17 +331,14 @@ static void hwprobe_one_pair(struct riscv_hwprobe *pair,break ;case RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE : - pair->value =0 ;if (hwprobe_ext0_has (cpus,RISCV_HWPROBE_EXT_ZICBOZ )) pair->value = riscv_cboz_block_size;break ;case RISCV_HWPROBE_KEY_ZICBOM_BLOCK_SIZE : - pair->value =0 ;if (hwprobe_ext0_has (cpus,RISCV_HWPROBE_EXT_ZICBOM )) pair->value = riscv_cbom_block_size;break ;case RISCV_HWPROBE_KEY_ZICBOP_BLOCK_SIZE : - pair->value =0 ;if (hwprobe_ext0_has (cpus,RISCV_HWPROBE_EXT_ZICBOP )) pair->value = riscv_cbop_block_size;break ;
arch/s390/boot/ipl_parm.c +12 -14
@@ -23,6 +23,7 @@ struct parmarea parmarea __section(".parmarea") = { };char __bootdata (early_command_line )[COMMAND_LINE_SIZE ]; +static char command_line_buf[COMMAND_LINE_SIZE ];unsigned int __bootdata_preserved (zlib_dfltcc_support ) =ZLIB_DFLTCC_FULL ;struct ipl_parameter_block __bootdata_preserved (ipl_block );
@@ -135,31 +136,29 @@ static size_t ipl_block_get_ascii_scpdata(char *dest, size_t size,static void append_ipl_block_parm (void ) { -char *parm, *delim; -size_t len, rc =0 ; +size_t len, extra =0 ; +char *delim; len =strlen (early_command_line); - - delim = early_command_line + len;/* '\0' character position */ - parm = early_command_line + len +1 ;/* append right after '\0' */ + delim = early_command_line + len;/* '\0' character position */ switch (ipl_block.pb0_hdr.pbt) {case IPL_PBT_CCW : - rc =ipl_block_get_ascii_vmparm ( - parm,COMMAND_LINE_SIZE - len -1 , &ipl_block); + extra =ipl_block_get_ascii_vmparm (command_line_buf,sizeof (command_line_buf), &ipl_block);break ;case IPL_PBT_FCP :case IPL_PBT_NVME :case IPL_PBT_ECKD : - rc =ipl_block_get_ascii_scpdata ( - parm,COMMAND_LINE_SIZE - len -1 , &ipl_block); + extra =ipl_block_get_ascii_scpdata (command_line_buf,sizeof (command_line_buf), &ipl_block);break ; } -if (rc) { -if (*parm =='=' ) -memmove (early_command_line, parm +1 , rc); -else +if (extra) { +if (command_line_buf[0 ] =='=' ) { +memmove (early_command_line, command_line_buf +1 , extra); + }else if (len <COMMAND_LINE_SIZE -2 ) { *delim =' ' ;/* replace '\0' with space */ +sized_strscpy (delim +1 , command_line_buf,COMMAND_LINE_SIZE - len -1 ); + } } }
@@ -245,7 +244,6 @@ static void modify_fac_list(char *str)check_cleared_facilities (); } -static char command_line_buf[COMMAND_LINE_SIZE ];void parse_boot_command_line (void ) {char *param, *val;
arch/s390/boot/physmem_info.c +1 -1
@@ -141,7 +141,7 @@ static int tprot(unsigned long addr)static unsigned long search_mem_end (void ) { -unsigned long range =1 << (MAX_PHYSMEM_BITS -20 );/* in 1MB blocks */ +unsigned long range =1UL << (MAX_PHYSMEM_BITS -20 );/* in 1MB blocks */ unsigned long offset =0 ;unsigned long pivot;
arch/s390/crypto/aes_s390.c +55 -32
162 lines not on this page · raw message
arch/s390/crypto/paes_s390.c +14 -5
@@ -220,6 +220,10 @@ static inline int convert_key(const u8 *key, unsigned int keylen, xflags); } +/* But finally map -EBUSY to -EIO to indicate an IO failure */ +if (rc == -EBUSY ) + rc = -EIO ; + out:pr_debug ("rc=%d\n" , rc);return rc;
@@ -568,7 +572,7 @@ static int ecb_paes_do_one_request(struct crypto_engine *engine, void *areq)atomic_dec (&ctx->via_engine_ctr);crypto_finalize_skcipher_request (engine, req, rc);local_bh_enable (); -return rc; +return 0 ; }static struct skcipher_engine_alg ecb_paes_alg = {
@@ -576,6 +580,7 @@ static struct skcipher_engine_alg ecb_paes_alg = { .base.cra_name = "ecb(paes)", .base.cra_driver_name = "ecb-paes-s390", .base.cra_priority = 401, /* combo: aes + ecb + 1 */ + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NO_FALLBACK, .base.cra_blocksize = AES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct s390_paes_ctx), .base.cra_module = THIS_MODULE,
@@ -834,7 +839,7 @@ static int cbc_paes_do_one_request(struct crypto_engine *engine, void *areq)atomic_dec (&ctx->via_engine_ctr);crypto_finalize_skcipher_request (engine, req, rc);local_bh_enable (); -return rc; +return 0 ; }static struct skcipher_engine_alg cbc_paes_alg = {
@@ -842,6 +847,7 @@ static struct skcipher_engine_alg cbc_paes_alg = { .base.cra_name = "cbc(paes)", .base.cra_driver_name = "cbc-paes-s390", .base.cra_priority = 402, /* cbc-paes-s390 + 1 */ + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NO_FALLBACK, .base.cra_blocksize = AES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct s390_paes_ctx), .base.cra_module = THIS_MODULE,
@@ -1034,6 +1040,7 @@ static int ctr_paes_do_crypt(struct s390_paes_ctx *ctx, } out: +memzero_explicit (buf,sizeof (buf));pr_debug ("rc=%d\n" , rc);return rc; }
@@ -1142,7 +1149,7 @@ static int ctr_paes_do_one_request(struct crypto_engine *engine, void *areq)atomic_dec (&ctx->via_engine_ctr);crypto_finalize_skcipher_request (engine, req, rc);local_bh_enable (); -return rc; +return 0 ; }static struct skcipher_engine_alg ctr_paes_alg = {
@@ -1150,6 +1157,7 @@ static struct skcipher_engine_alg ctr_paes_alg = { .base.cra_name = "ctr(paes)", .base.cra_driver_name = "ctr-paes-s390", .base.cra_priority = 402, /* ecb-paes-s390 + 1 */ + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NO_FALLBACK, .base.cra_blocksize = 1, .base.cra_ctxsize = sizeof(struct s390_paes_ctx), .base.cra_module = THIS_MODULE,
@@ -1364,7 +1372,7 @@ static inline int __xts_2keys_prep_param(struct s390_pxts_ctx *ctx,memcpy (param->init, pcc_param.xts,16 ); } -memzero_explicit (pcc_param.key,sizeof (pcc_param.key)); +memzero_explicit (&pcc_param,sizeof (pcc_param));return rc; }
@@ -1585,7 +1593,7 @@ static int xts_paes_do_one_request(struct crypto_engine *engine, void *areq)atomic_dec (&ctx->via_engine_ctr);crypto_finalize_skcipher_request (engine, req, rc);local_bh_enable (); -return rc; +return 0 ; }static struct skcipher_engine_alg xts_paes_alg = {
@@ -1593,6 +1601,7 @@ static struct skcipher_engine_alg xts_paes_alg = { .base.cra_name = "xts(paes)", .base.cra_driver_name = "xts-paes-s390", .base.cra_priority = 402, /* ecb-paes-s390 + 1 */ + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NO_FALLBACK, .base.cra_blocksize = AES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct s390_pxts_ctx), .base.cra_module = THIS_MODULE,
arch/s390/crypto/phmac_s390.c +26 -10
@@ -62,8 +62,10 @@ static inline int hwh_prepare(struct ahash_request *req,*/ static inline int hwh_advance (struct hash_walk_helper *hwh,int n) { -if (n <0 ) +if (n <0 ) { + hwh->walkbytes = n;return crypto_hash_walk_done (&hwh->walk, n); + } hwh->walkbytes -= n; hwh->walkaddr += n;
@@ -339,6 +341,10 @@ static inline int convert_key(const u8 *key, unsigned int keylen, xflags); } +/* But finally map -EBUSY to -EIO to indicate an IO failure */ +if (rc == -EBUSY ) + rc = -EIO ; + out:pr_debug ("rc=%d\n" , rc);return rc;
@@ -606,6 +612,7 @@ static int phmac_update(struct ahash_request *req)struct phmac_tfm_ctx *tfm_ctx =crypto_ahash_ctx (tfm);struct kmac_sha2_ctx *kmac_ctx = &req_ctx->kmac_ctx;struct hash_walk_helper *hwh = &req_ctx->hwh; +bool cleanup = true;int rc;/* prep the walk in the request context */
@@ -629,12 +636,15 @@ static int phmac_update(struct ahash_request *req) req_ctx->async_op =OP_UPDATE ;atomic_inc (&tfm_ctx->via_engine_ctr); rc =crypto_transfer_hash_request_to_engine (phmac_crypto_engine, req); -if (rc != -EINPROGRESS ) +if (rc == -EINPROGRESS || rc == -EBUSY ) + cleanup = false; +else atomic_dec (&tfm_ctx->via_engine_ctr); } -if (rc != -EINPROGRESS ) { -hwh_advance (hwh, rc); +if (cleanup) { +if (hwh->walkbytes >0 ) +hwh_advance (hwh, rc);memzero_explicit (kmac_ctx,sizeof (*kmac_ctx)); }
@@ -649,6 +659,7 @@ static int phmac_final(struct ahash_request *req)struct crypto_ahash *tfm =crypto_ahash_reqtfm (req);struct phmac_tfm_ctx *tfm_ctx =crypto_ahash_ctx (tfm);struct kmac_sha2_ctx *kmac_ctx = &req_ctx->kmac_ctx; +bool cleanup = true;int rc =0 ;/* Try synchronous operation if no active engine usage */
@@ -667,12 +678,14 @@ static int phmac_final(struct ahash_request *req) req_ctx->async_op =OP_FINAL ;atomic_inc (&tfm_ctx->via_engine_ctr); rc =crypto_transfer_hash_request_to_engine (phmac_crypto_engine, req); -if (rc != -EINPROGRESS ) +if (rc == -EINPROGRESS || rc == -EBUSY ) + cleanup = false; +else atomic_dec (&tfm_ctx->via_engine_ctr); } out: -if (rc != -EINPROGRESS ) +if (cleanup)memzero_explicit (kmac_ctx,sizeof (*kmac_ctx));pr_debug ("rc=%d\n" , rc);return rc;
@@ -685,6 +698,7 @@ static int phmac_finup(struct ahash_request *req)struct phmac_tfm_ctx *tfm_ctx =crypto_ahash_ctx (tfm);struct kmac_sha2_ctx *kmac_ctx = &req_ctx->kmac_ctx;struct hash_walk_helper *hwh = &req_ctx->hwh; +bool cleanup = true;int rc;/* prep the walk in the request context */
@@ -716,15 +730,17 @@ static int phmac_finup(struct ahash_request *req)/* req->async_op has been set to either OP_FINUP or OP_FINAL */ atomic_inc (&tfm_ctx->via_engine_ctr); rc =crypto_transfer_hash_request_to_engine (phmac_crypto_engine, req); -if (rc != -EINPROGRESS ) +if (rc == -EINPROGRESS || rc == -EBUSY ) + cleanup = false; +else atomic_dec (&tfm_ctx->via_engine_ctr); } -if (rc != -EINPROGRESS ) +if (cleanup && hwh->walkbytes >0 )hwh_advance (hwh, rc); out: -if (rc != -EINPROGRESS ) +if (cleanup)memzero_explicit (kmac_ctx,sizeof (*kmac_ctx));pr_debug ("rc=%d\n" , rc);return rc;
@@ -933,7 +949,7 @@ static int phmac_do_one_request(struct crypto_engine *engine, void *areq)atomic_dec (&tfm_ctx->via_engine_ctr);crypto_finalize_hash_request (engine, req, rc);local_bh_enable (); -return rc; +return 0 ; }#define S390_ASYNC_PHMAC_ALG (x) \
arch/s390/include/asm/pai.h +0 -1
@@ -76,7 +76,6 @@ static __always_inline void pai_kernel_exit(struct pt_regs *regs) }#define PAI_SAVE_AREA (x) ((x)->hw.event_base) -#define PAI_CPU_MASK (x) ((x)->hw.addr_filters)#define PAI_PMU_IDX (x) ((x)->hw.last_tag)#define PAI_SWLIST (x) (&(x)->hw.tp_list)
arch/s390/kernel/debug.c +3 -3
@@ -1074,9 +1074,6 @@ static void _debug_set_level(debug_info_t *id, int new_level) {unsigned long flags; -if (!id) -return ; -if (new_level ==DEBUG_OFF_LEVEL ) {pr_info ("%s: switched off\n" , id->name); }else if ((new_level >DEBUG_MAX_LEVEL ) || (new_level <0 )) {
@@ -1101,6 +1098,9 @@ static void _debug_set_level(debug_info_t *id, int new_level)*/ void debug_set_level (debug_info_t *id,int new_level) { +if (!id) +return ; +/* Level specified via kernel parameter takes precedence */ debug_get_param (id->name, &new_level,NULL );
arch/s390/kernel/diag/diag324.c +1 -2
@@ -182,8 +182,7 @@ long diag324_pibbuf(unsigned long arg) goto out; rc =copy_to_user ((void __user *)address, data->pib, data->pib->len); rc |=put_user (data->sequence, &udata->sequence); -if (rc) - rc = -EFAULT ; + rc = rc ? -EFAULT : data->rc; out:mutex_unlock (&pibmutex);return rc;
arch/s390/kernel/ipl.c +9 -3
@@ -1157,6 +1157,8 @@ static struct attribute_group reipl_nss_attr_group = {void set_os_info_reipl_block (void ) { +if (!reipl_block_actual) +return ;os_info_entry_add_data (OS_INFO_REIPL_BLOCK , reipl_block_actual, reipl_block_actual->hdr.len); }
@@ -1927,7 +1929,8 @@ static struct shutdown_action __refdata dump_action = {static void dump_reipl_run (struct shutdown_trigger *trigger) {struct lowcore *abs_lc; -unsigned int csum; +unsigned long ipib =0 ; +unsigned int csum =0 ;/* * Set REIPL_CLEAR flag in os_info flags entry indicating
@@ -1943,9 +1946,12 @@ static void dump_reipl_run(struct shutdown_trigger *trigger) reipl_type == IPL_TYPE_UNKNOWN) os_info_flags |=OS_INFO_FLAG_REIPL_CLEAR ;os_info_entry_add_data (OS_INFO_FLAGS_ENTRY , &os_info_flags,sizeof (os_info_flags)); - csum = (__force unsigned int )cksm (reipl_block_actual, reipl_block_actual->hdr.len,0 ); +if (reipl_block_actual) { + ipib =__pa (reipl_block_actual); + csum = (__force unsigned int )cksm (reipl_block_actual, reipl_block_actual->hdr.len,0 ); + } abs_lc =get_abs_lowcore (); - abs_lc->ipib =__pa (reipl_block_actual); + abs_lc->ipib = ipib; abs_lc->ipib_checksum = csum;put_abs_lowcore (abs_lc);dump_run (trigger);
arch/s390/kernel/perf_pai.c +137 -61
307 lines not on this page · raw message
arch/s390/kernel/vtime.c +3 -3
@@ -32,7 +32,7 @@ static atomic64_t virt_timer_elapsed;DEFINE_PER_CPU (u64, mt_cycles[8 ]); static DEFINE_PER_CPU(u64, mt_scaling_mult) = { 1 }; static DEFINE_PER_CPU(u64, mt_scaling_div) = { 1 }; -static DEFINE_PER_CPU(u64, mt_scaling_jiffies); +static DEFINE_PER_CPU(unsigned long, mt_scaling_jiffies);static inline void set_vtimer (u64 expires) {
@@ -81,7 +81,7 @@ static void update_mt_scaling(void)memcpy (cycles_old, cycles_new,sizeof (u64) * (smp_cpu_mtid +1 )); } -__this_cpu_write (mt_scaling_jiffies, jiffies_64); +__this_cpu_write (mt_scaling_jiffies, jiffies); }static inline u64 update_tsk_timer (unsigned long *tsk_vtime,u64 new)
@@ -144,7 +144,7 @@ static int do_account_vtime(struct task_struct *tsk) lc->system_timer += timer;/* Update MT utilization calculation */ -if (smp_cpu_mtid &&time_after64 (jiffies_64,__this_cpu_read (mt_scaling_jiffies))) +if (smp_cpu_mtid &&time_after (jiffies,__this_cpu_read (mt_scaling_jiffies)))update_mt_scaling ();/* Calculate cputime delta */
arch/x86/crypto/aria-aesni-avx2-asm_64.S +6 -0
@@ -982,6 +982,7 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_encrypt_32way) %ymm8, %ymm9, %ymm10, %ymm11, %ymm12, %ymm13, %ymm14, %ymm15, %rax); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_aesni_avx2_encrypt_32way)
@@ -1007,6 +1008,7 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_decrypt_32way) %ymm8, %ymm9, %ymm10, %ymm11, %ymm12, %ymm13, %ymm14, %ymm15, %rax); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_aesni_avx2_decrypt_32way)
@@ -1209,6 +1211,7 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_ctr_crypt_32way) %ymm8, %ymm9, %ymm10, %ymm11, %ymm12, %ymm13, %ymm14, %ymm15, %r10); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_aesni_avx2_ctr_crypt_32way)
@@ -1359,6 +1362,7 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_gfni_encrypt_32way) %ymm8, %ymm9, %ymm10, %ymm11, %ymm12, %ymm13, %ymm14, %ymm15, %rax); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_aesni_avx2_gfni_encrypt_32way)
@@ -1384,6 +1388,7 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_gfni_decrypt_32way) %ymm8, %ymm9, %ymm10, %ymm11, %ymm12, %ymm13, %ymm14, %ymm15, %rax); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_aesni_avx2_gfni_decrypt_32way)
@@ -1428,6 +1433,7 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_gfni_ctr_crypt_32way) %ymm8, %ymm9, %ymm10, %ymm11, %ymm12, %ymm13, %ymm14, %ymm15, %r10); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_aesni_avx2_gfni_ctr_crypt_32way)
arch/x86/crypto/aria-gfni-avx512-asm_64.S +3 -0
@@ -800,6 +800,7 @@ SYM_TYPED_FUNC_START(aria_gfni_avx512_encrypt_64way) %zmm9, %zmm8, %zmm11, %zmm10, %zmm12, %zmm13, %zmm14, %zmm15, %rax); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_gfni_avx512_encrypt_64way)
@@ -825,6 +826,7 @@ SYM_TYPED_FUNC_START(aria_gfni_avx512_decrypt_64way) %zmm9, %zmm8, %zmm11, %zmm10, %zmm12, %zmm13, %zmm14, %zmm15, %rax); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_gfni_avx512_decrypt_64way)
@@ -966,6 +968,7 @@ SYM_TYPED_FUNC_START(aria_gfni_avx512_ctr_crypt_64way) %zmm9, %zmm8, %zmm11, %zmm10, %zmm12, %zmm13, %zmm14, %zmm15, %r10); + vzeroupper; FRAME_END RET; SYM_FUNC_END(aria_gfni_avx512_ctr_crypt_64way)
arch/x86/events/intel/core.c +24 -9
@@ -3125,6 +3125,27 @@ static void intel_pmu_del_event(struct perf_event *event)this_cpu_ptr (&cpu_hw_events)->n_late_setup--; } +int __intel_pmu_quiesce (void ) +{ +struct cpu_hw_events *cpuc =this_cpu_ptr (&cpu_hw_events); +int pmu_enabled = cpuc->enabled; + + cpuc->enabled =0 ; +if (pmu_enabled) +intel_pmu_disable_all (); + +return pmu_enabled; +} + +void __intel_pmu_resume (int pmu_enabled) +{ +struct cpu_hw_events *cpuc =this_cpu_ptr (&cpu_hw_events); + + cpuc->enabled = pmu_enabled; +if (pmu_enabled) +intel_pmu_enable_all (0 ); +} +static int icl_set_topdown_event_period (struct perf_event *event) {struct hw_perf_event *hwc = &event->hw;
@@ -3316,16 +3337,13 @@ static void intel_pmu_read_event(struct perf_event *event)if (event->hw.flags & (PERF_X86_EVENT_AUTO_RELOAD |PERF_X86_EVENT_TOPDOWN ) ||is_pebs_counter_event_group (event)) {struct cpu_hw_events *cpuc =this_cpu_ptr (&cpu_hw_events); -bool pmu_enabled = cpuc->enabled; +int pmu_enabled;/* Only need to call update_topdown_event() once for group read. */ if (is_metric_event (event) && (cpuc->txn_flags &PERF_PMU_TXN_READ ))return ; - cpuc->enabled =0 ; -if (pmu_enabled) -intel_pmu_disable_all (); - + pmu_enabled =__intel_pmu_quiesce ();/* * If the PEBS counters snapshotting is enabled, * the topdown event is available in PEBS records.
@@ -3334,10 +3352,7 @@ static void intel_pmu_read_event(struct perf_event *event)static_call (intel_pmu_update_topdown_event)(event,NULL ); elseintel_pmu_drain_pebs_buffer (); - - cpuc->enabled = pmu_enabled; -if (pmu_enabled) -intel_pmu_enable_all (0 ); +__intel_pmu_resume (pmu_enabled);return ; }
arch/x86/events/intel/ds.c +16 -2
@@ -1242,8 +1242,11 @@ int intel_pmu_drain_bts_buffer(void)void intel_pmu_drain_pebs_buffer (void ) { +struct cpu_hw_events *cpuc =this_cpu_ptr (&cpu_hw_events);struct perf_sample_data data; +WARN_ON_ONCE (cpuc->enabled); +static_call (x86_pmu_drain_pebs)(NULL , &data); }
@@ -1877,8 +1880,11 @@ static void intel_pmu_pebs_via_pt_enable(struct perf_event *event)static inline void intel_pmu_drain_large_pebs (struct cpu_hw_events *cpuc) {if (cpuc->n_pebs == cpuc->n_large_pebs && - cpuc->n_pebs != cpuc->n_pebs_via_pt) + cpuc->n_pebs != cpuc->n_pebs_via_pt) { +int enabled =__intel_pmu_quiesce ();intel_pmu_drain_pebs_buffer (); +__intel_pmu_resume (enabled); + } }static void __intel_pmu_pebs_enable (struct perf_event *event)
@@ -2445,7 +2451,7 @@ static inline void __setup_pebs_basic_group(struct perf_event *event, {/* The ip in basic is EventingIP */ set_linear_ip (regs, ip); - regs->flags =PERF_EFLAGS_EXACT ; + regs->flags |=PERF_EFLAGS_EXACT ;setup_pebs_time (event, data, tsc);if (sample_type &PERF_SAMPLE_WEIGHT_STRUCT )
@@ -2457,9 +2463,17 @@ static inline void __setup_pebs_gpr_group(struct perf_event *event, struct pebs_gprs *gprs, u64 sample_type) { +/* +* Update flags with PEBS data. PERF_EFLAGS_EXACT must be set +* in previous basic group handling. +*/ + regs->flags = gprs->flags |PERF_EFLAGS_EXACT ; +if (event->attr.precise_ip <2 ) {set_linear_ip (regs, gprs->ip); regs->flags &= ~PERF_EFLAGS_EXACT ; + }else if (regs->flags &X86_VM_MASK ) { + regs->flags ^= (PERF_EFLAGS_VM |X86_VM_MASK ); }if (sample_type & (PERF_SAMPLE_REGS_INTR |PERF_SAMPLE_REGS_USER ))
arch/x86/events/perf_event.h +3 -0
@@ -1644,6 +1644,9 @@ static __always_inline void __intel_pmu_lbr_disable(void)wrmsrq (MSR_IA32_DEBUGCTLMSR , debugctl); } +extern int __intel_pmu_quiesce (void ); +extern void __intel_pmu_resume (int pmu_enabled); +int intel_pmu_save_and_restart (struct perf_event *event); struct event_constraint *
arch/x86/include/asm/pgtable.h +1 -1
@@ -806,7 +806,7 @@ static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)pmdval_t val =pmd_val (pmd), oldval = val;pmd_t pmd_result; - val &= (_HPAGE_CHG_MASK & ~_PAGE_DIRTY); + val &= _HPAGE_CHG_MASK; val |=check_pgprot (newprot) & ~_HPAGE_CHG_MASK; val =flip_protnone_guard (oldval, val,PHYSICAL_PMD_PAGE_MASK );
arch/x86/kernel/alternative.c +74 -37
149 lines not on this page · raw message
arch/x86/kernel/amd_node.c +15 -10
@@ -38,7 +38,6 @@ static struct pci_dev **amd_roots;/* Protect the PCI config register pairs used for SMN. */ static DEFINE_MUTEX (smn_mutex); -static bool smn_exclusive;#define SMN_INDEX_OFFSET 0x60#define SMN_DATA_OFFSET 0x64
@@ -91,11 +90,16 @@ static int __amd_smn_rw(u8 i_off, u8 d_off, u16 node, u32 address, u32 *value, bif (node >=amd_num_nodes ())return err; - root = amd_roots[node]; -if (!root) +/* +* Uninitialized amd_roots indicates pci_request_config_region_exclusive() +* didn't run or failed and thus the kernel cannot rely on having +* exclusive access to SMN registers so prevent that. +*/ +if (!amd_roots)return err; -if (!smn_exclusive) + root = amd_roots[node]; +if (!root)return err;guard (mutex)(&smn_mutex);
@@ -247,7 +251,7 @@ __setup("amd_smn_debugfs_enable", amd_smn_enable_dfs);static int __init amd_smn_init (void ) {u16 count, num_roots, roots_per_node, node, num_nodes; -struct pci_dev *root; + struct pci_dev *root __free(pci_dev_put) = NULL;if (!cpu_feature_enabled (X86_FEATURE_ZEN ))return 0 ;
@@ -258,7 +262,6 @@ static int __init amd_smn_init(void)return 0 ; num_roots =0 ; - root =NULL ;while ((root =get_next_root (root))) {pci_dbg (root,"Reserving PCI config space\n" );
@@ -287,17 +290,21 @@ static int __init amd_smn_init(void)return -ENOMEM ; roots_per_node = num_roots / num_nodes; +if (!roots_per_node) { +if (!cpu_feature_enabled (X86_FEATURE_HYPERVISOR )) +pr_warn (FW_BUG "Error detecting roots per node.\n" ); + roots_per_node =1 ; + } count =0 ; node =0 ; - root =NULL ;while (node < num_nodes && (root =get_next_root (root))) {/* Use one root for each node and skip the rest. */ if (count++ % roots_per_node)continue ;pci_dbg (root,"is root for AMD node %u\n" , node); - amd_roots[node++] = root; + amd_roots[node++] =pci_dev_get (root); }if (enable_dfs) {
@@ -308,8 +315,6 @@ static int __init amd_smn_init(void)debugfs_create_file ("value" ,0600 , debugfs_dir,NULL , &smn_value_fops); } - smn_exclusive = true; -return 0 ; }
arch/x86/kernel/cpu/mce/amd.c +1 -1
@@ -864,7 +864,7 @@ static void amd_deferred_error_interrupt(void)void mce_amd_handle_storm (unsigned int bank,bool on) { -threshold_restart_bank (bank, on); +threshold_restart_bank (bank, !on); }static void amd_reset_thr_limit (unsigned int bank)
arch/x86/kernel/itmt.c +2 -6
@@ -110,18 +110,14 @@ int sched_set_itmt_support(void) arch_debugfs_dir, &sysctl_sched_itmt_enabled, &dfs_sched_itmt_fops); -if (IS_ERR_OR_NULL (dfs_sched_itmt)) { +if (IS_ERR (dfs_sched_itmt)) dfs_sched_itmt =NULL ; -return -ENOMEM ; - } dfs_sched_core_prio =debugfs_create_file ("sched_core_priority" ,0644 , arch_debugfs_dir,NULL , &sched_core_priority_fops); -if (IS_ERR_OR_NULL (dfs_sched_core_prio)) { +if (IS_ERR (dfs_sched_core_prio)) dfs_sched_core_prio =NULL ; -return -ENOMEM ; - } sched_itmt_capable = true;
arch/x86/mm/pat/set_memory.c +104 -44
276 lines not on this page · raw message
block/bio.c +9 -0
@@ -859,6 +859,7 @@ static int __bio_clone(struct bio *bio, struct bio *bio_src, gfp_t gfp) bio->bi_ioprio = bio_src->bi_ioprio; bio->bi_write_hint = bio_src->bi_write_hint; bio->bi_write_stream = bio_src->bi_write_stream; + bio->bi_bvec_gap_bit = bio_src->bi_bvec_gap_bit; bio->bi_iter = bio_src->bi_iter;if (bio->bi_bdev) {
@@ -1913,6 +1914,14 @@ struct bio *bio_split(struct bio *bio, int sectors,bio_advance (bio, split->bi_iter.bi_size); +/* +* The gap bit is set when splitting to limits and only applies to the +* front bio that was split off. The remaining bio will calcualte its +* gap value when it is subsequently split to limits, so it is safe to +* re-initialize the value back to 0. +*/ + bio->bi_bvec_gap_bit =0 ; +if (bio_flagged (bio,BIO_TRACE_COMPLETION ))bio_set_flag (split,BIO_TRACE_COMPLETION );
drivers/accel/amdxdna/aie2_message.c +1 -1
@@ -994,7 +994,7 @@ int aie2_cmdlist_multi_execbuf(struct amdxdna_hwctx *hwctx, } ccnt = payload->command_count; -if (payload_len <struct_size (payload, data, ccnt)) { +if (!ccnt || payload_len <struct_size (payload, data, ccnt)) {XDNA_DBG (xdna,"Invalid command count %d" , ccnt);return -EINVAL ; }
drivers/accel/amdxdna/amdxdna_ctx.c +3 -1
@@ -183,8 +183,10 @@ int amdxdna_cmd_set_error(struct amdxdna_gem_obj *abo,if (!abo)return -EINVAL ; cmd =amdxdna_gem_vmap (abo); -if (!cmd) +if (!cmd) { +amdxdna_gem_put_obj (abo);return -ENOMEM ; + } }memset (cmd->data,0xff , abo->mem.size -sizeof (*cmd));
drivers/accel/amdxdna/amdxdna_ctx.h +1 -1
@@ -55,7 +55,7 @@ struct amdxdna_cmd_chain {u32 submit_index;u32 error_index;u32 reserved[3 ]; - u64 data[] __counted_by(command_count); +u64 data[]; };/*
drivers/accel/amdxdna/amdxdna_gem.c +10 -3
@@ -758,9 +758,15 @@ static int amdxdna_gem_dev_obj_vmap(struct drm_gem_object *obj, struct iosys_mapreturn 0 ; } +static struct dma_buf *amdxdna_gem_dev_obj_export (struct drm_gem_object *gobj,int flags) +{ +return ERR_PTR (-EOPNOTSUPP ); +} +static const struct drm_gem_object_funcs amdxdna_gem_dev_obj_funcs = { .free = amdxdna_gem_dev_obj_free, .vmap = amdxdna_gem_dev_obj_vmap, + .export = amdxdna_gem_dev_obj_export, };static const struct drm_gem_object_funcs amdxdna_gem_shmem_funcs = {
@@ -1240,6 +1246,9 @@ static int amdxdna_flush_bo(struct amdxdna_gem_obj *abo, u64 offset, u64 size) {u64 end; +if (is_import_bo (abo)) +return -EOPNOTSUPP ; +if (offset >= abo->mem.size)return -EINVAL ;
@@ -1250,9 +1259,7 @@ static int amdxdna_flush_bo(struct amdxdna_gem_obj *abo, u64 offset, u64 size)if (!size)return 0 ; -if (is_import_bo (abo)) -drm_clflush_sg (abo->base.sgt); -else if (amdxdna_gem_vmap (abo)) +if (amdxdna_gem_vmap (abo))drm_clflush_virt_range (amdxdna_gem_vmap (abo) + offset, size);else if (abo->base.pages)drm_clflush_pages (abo->base.pages, abo->mem.size >>PAGE_SHIFT );
drivers/accel/ethosu/ethosu_device.h +1 -0
@@ -68,6 +68,7 @@ struct gen_pool;#define PROT_ACTIVE_CSL BIT(1)enum ethosu_cmds { +NPU_OP_STOP =0x0 ,NPU_OP_CONV =0x2 ,NPU_OP_DEPTHWISE =0x3 ,NPU_OP_POOL =0x5 ,
drivers/accel/ethosu/ethosu_drv.c +1 -2
@@ -274,8 +274,6 @@ static int ethosu_device_suspend(struct device *dev)static int ethosu_sram_init (struct ethosu_device *ethosudev) { - ethosudev->npu_info.sram_size =0 ; - ethosudev->srampool =of_gen_pool_get (ethosudev->base.dev->of_node,"sram" ,0 );if (!ethosudev->srampool)return 0 ;
@@ -286,6 +284,7 @@ static int ethosu_sram_init(struct ethosu_device *ethosudev) ethosudev->npu_info.sram_size, ðosudev->sramphys);if (!ethosudev->sram) { + ethosudev->npu_info.sram_size =0 ;dev_err (ethosudev->base.dev,"failed to allocate from SRAM pool\n" );return -ENOMEM ; }
drivers/accel/ethosu/ethosu_gem.c +10 -1
@@ -204,7 +204,7 @@ static u64 feat_matrix_length(struct ethosu_device *edev,struct feat_matrix *fm, u32 x, u32 y, u32 c, bool ofm) { - u32 element_size, storage = fm->precision >> 14; + u32 element_size, storage = ethosu_is_u65(edev) ? 0 : fm->precision >> 14;int tile =0 ;u64 addr;
@@ -390,6 +390,7 @@ static int ethosu_gem_cmdstream_copy_and_validate(struct drm_device *ddev, struct ethosu_validated_cmdstream_info __free(kfree) *info = kzalloc_obj(*info);struct ethosu_device *edev =to_ethosu_device (ddev);u32 *bocmds = bo->base.vaddr; +bool ends_with_stop = false;struct cmd_state st;int i, ret;
@@ -426,6 +427,11 @@ static int ethosu_gem_cmdstream_copy_and_validate(struct drm_device *ddev, }switch (cmd) { +case NPU_OP_STOP : +if (i != size /4 -1 ) +return -EINVAL ; + ends_with_stop = true; +break ;case NPU_OP_DMA_START : srclen =dma_length (info, &st.dma, &st.dma.src); dstlen =dma_length (info, &st.dma, &st.dma.dst);
@@ -688,6 +694,9 @@ static int ethosu_gem_cmdstream_copy_and_validate(struct drm_device *ddev, } } +if (!ends_with_stop) +return -EINVAL ; +for (i =0 ; i <NPU_BASEP_REGION_MAX ; i++) {if (!info->region_size[i])continue ;
drivers/accel/ethosu/ethosu_job.c +7 -9
@@ -325,7 +325,7 @@ int ethosu_job_init(struct ethosu_device *edev) ret =devm_request_threaded_irq (dev, edev->irq, ethosu_job_irq_handler, ethosu_job_irq_handler_thread, -IRQF_SHARED ,KBUILD_MODNAME , +0 ,KBUILD_MODNAME , edev);if (ret) {dev_err (dev,"failed to request irq\n" );
@@ -356,12 +356,10 @@ int ethosu_job_open(struct ethosu_file_priv *ethosu_priv) {struct ethosu_device *dev = ethosu_priv->edev;struct drm_gpu_scheduler *sched = &dev->sched; -int ret; - ret =drm_sched_entity_init (ðosu_priv->sched_entity, -DRM_SCHED_PRIORITY_NORMAL , - &sched,1 ,NULL ); -return WARN_ON (ret); +return drm_sched_entity_init (ðosu_priv->sched_entity, +DRM_SCHED_PRIORITY_NORMAL , + &sched,1 ,NULL ); }void ethosu_job_close (struct ethosu_file_priv *ethosu_priv)
@@ -427,13 +425,13 @@ static int ethosu_ioctl_submit_job(struct drm_device *dev, struct drm_file *fileif (!cmd_info->region_size[i])continue ;if (i ==ETHOSU_SRAM_REGION ) { -if (cmd_info->region_size[i] <= edev->npu_info.sram_size) +if (cmd_info->region_size[i] <= ejob->sram_size)continue ;dev_err (dev->dev, -"cmd stream region %d size greater than SRAM size (%llu > %u)\n" , +"cmd stream region %d size greater than job SRAM size (%llu > %u)\n" , i, cmd_info->region_size[i], - edev->npu_info.sram_size); + ejob->sram_size); ret = -EINVAL ; goto out_cleanup_job; }
drivers/accel/ivpu/ivpu_fw_log.c +52 -35
167 lines not on this page · raw message
drivers/accel/ivpu/ivpu_gem.h +11 -3
@@ -87,15 +87,23 @@ static inline bool ivpu_bo_is_resident(struct ivpu_bo *bo)return !!bo->base.pages; } -static inline void *ivpu_to_cpu_addr (struct ivpu_bo *bo,u32 vpu_addr) +static inline void *ivpu_to_cpu_addr (struct ivpu_bo *bo,u64 vpu_addr,u64 size) { +u64 bo_size =ivpu_bo_size (bo); +u64 offset; +if (vpu_addr < bo->vpu_addr)return NULL ; -if (vpu_addr >= (bo->vpu_addr +ivpu_bo_size (bo))) +if (size > bo_size) +return NULL ; + + offset = vpu_addr - bo->vpu_addr; + +if (offset > bo_size - size)return NULL ; -return ivpu_bo_vaddr (bo) + (vpu_addr - bo->vpu_addr); +return ivpu_bo_vaddr (bo) + offset; }static inline u32 cpu_to_vpu_addr (struct ivpu_bo *bo,void *cpu_addr)
drivers/accel/ivpu/ivpu_ipc.c +4 -3
@@ -79,7 +79,7 @@ ivpu_ipc_tx_prepare(struct ivpu_device *vdev, struct ivpu_ipc_consumer *cons,return -ENOMEM ; } - tx_buf =ivpu_to_cpu_addr (ipc->mem_tx, tx_buf_vpu_addr); + tx_buf =ivpu_to_cpu_addr (ipc->mem_tx, tx_buf_vpu_addr,sizeof (*tx_buf));if (drm_WARN_ON (&vdev->drm, !tx_buf)) {gen_pool_free (ipc->mm_tx, tx_buf_vpu_addr,sizeof (*tx_buf));return -EIO ;
@@ -420,7 +420,7 @@ void ivpu_ipc_irq_handler(struct ivpu_device *vdev)return ; } - ipc_hdr =ivpu_to_cpu_addr (ipc->mem_rx, vpu_addr); + ipc_hdr =ivpu_to_cpu_addr (ipc->mem_rx, vpu_addr,sizeof (*ipc_hdr));if (!ipc_hdr) {ivpu_warn_ratelimited (vdev,"IPC msg 0x%x out of range\n" , vpu_addr);continue ;
@@ -429,7 +429,8 @@ void ivpu_ipc_irq_handler(struct ivpu_device *vdev) jsm_msg =NULL ;if (ipc_hdr->channel !=IVPU_IPC_CHAN_BOOT_MSG ) { - jsm_msg =ivpu_to_cpu_addr (ipc->mem_rx, ipc_hdr->data_addr); + jsm_msg =ivpu_to_cpu_addr (ipc->mem_rx, ipc_hdr->data_addr, +sizeof (*jsm_msg));if (!jsm_msg) {ivpu_warn_ratelimited (vdev,"JSM msg 0x%x out of range\n" , ipc_hdr->data_addr);
drivers/accel/qaic/qaic_control.c +24 -22
81 lines not on this page · raw message
drivers/block/sunvdc.c +17 -0
@@ -525,6 +525,23 @@ static int __send_request(struct request *req) err =__vdc_tx_trigger (port);if (err <0 ) { printk(KERN_ERR PFX "vdc_tx_trigger() failure, err=%d\n", err); +/* +* If the port was reset (-ENOTCONN), the dring and the +* LDC channel including all of its mappings are already +* torn down and reallocated - there is nothing to undo +* and @desc must not be touched. +* +* For any other failure the descriptor was never handed +* to the peer: unmap the cookies and free the descriptor +* again, so that a later retry of the request does not +* leak LDC map table entries. +*/ +if (err != -ENOTCONN ) { +ldc_unmap (port->vio.lp, desc->cookies, + desc->ncookies); + desc->hdr.state =VIO_DESC_FREE ; + rqe->req =NULL ; + } }else { port->req_id++; dr->prod =vio_dring_next (dr, dr->prod);
drivers/block/ublk_drv.c +1 -0
@@ -3040,6 +3040,7 @@ static void ublk_queue_reset_io_flags(struct ublk_queue *ubq) ubq->canceling = false;spin_unlock (&ubq->cancel_lock); ubq->fail_io = false; + ubq->force_abort = false; }/* device can only be started after all IOs are ready */
drivers/bluetooth/btintel.c +37 -2
@@ -570,12 +570,44 @@ int btintel_version_info_tlv(struct hci_dev *hdev, }EXPORT_SYMBOL_GPL (btintel_version_info_tlv); +static u8 btintel_version_tlv_min_len (u8 type) +{ +switch (type) { +case INTEL_TLV_CNVI_TOP : +case INTEL_TLV_CNVR_TOP : +case INTEL_TLV_CNVI_BT : +case INTEL_TLV_CNVR_BT : +case INTEL_TLV_BUILD_NUM : +case INTEL_TLV_GIT_SHA1 : +return sizeof (u32); +case INTEL_TLV_DEV_REV_ID : +case INTEL_TLV_TIME_STAMP : +return sizeof (u16); +case INTEL_TLV_IMAGE_TYPE : +case INTEL_TLV_BUILD_TYPE : +case INTEL_TLV_SECURE_BOOT : +case INTEL_TLV_OTP_LOCK : +case INTEL_TLV_API_LOCK : +case INTEL_TLV_DEBUG_LOCK : +case INTEL_TLV_LIMITED_CCE : +case INTEL_TLV_SBE_TYPE : +return sizeof (u8); +case INTEL_TLV_MIN_FW : +return 3 ; +case INTEL_TLV_OTP_BDADDR : +return sizeof (bdaddr_t); +default : +return 0 ; + } +} +int btintel_parse_version_tlv (struct hci_dev *hdev,struct intel_version_tlv *version,struct sk_buff *skb) {/* Consume Command Complete Status field */ -skb_pull (skb,1 ); +if (!skb_pull (skb,1 )) +return -EINVAL ;/* Event parameters contain multiple TLVs. Read each of them * and only keep the required data. Also, it use existing legacy
@@ -595,6 +627,9 @@ int btintel_parse_version_tlv(struct hci_dev *hdev,if (skb->len < tlv->len +sizeof (*tlv))return -EINVAL ; +if (tlv->len <btintel_version_tlv_min_len (tlv->type)) +return -EINVAL ; +switch (tlv->type) {case INTEL_TLV_CNVI_TOP : version->cnvi_top =get_unaligned_le32 (tlv->val);
@@ -666,7 +701,7 @@ int btintel_parse_version_tlv(struct hci_dev *hdev,break ;case INTEL_TLV_FW_ID :snprintf (version->fw_id,sizeof (version->fw_id), -"%s" , tlv->val); +"%.*s" , tlv->len, tlv->val);break ;default :/* Ignore rest of information */
drivers/bluetooth/btintel_pcie.c +7 -2
@@ -1099,7 +1099,7 @@ static void btintel_pcie_msix_tx_handle(struct btintel_pcie_data *data) urbd0 = &txq->urbd0s[cr_tia]; -if (urbd0->tfd_index > txq->count) +if (urbd0->tfd_index >= txq->count)return ; cr_tia = (cr_tia +1 ) % txq->count;
@@ -1537,7 +1537,9 @@ static int btintel_pcie_submit_rx_work(struct btintel_pcie_data *data, u8 status rfh_hdr = buf; len = rfh_hdr->packet_len; -if (len <=0 ) { +if (len ==0 || len >BTINTEL_PCIE_BUFFER_SIZE -sizeof (*rfh_hdr)) { +bt_dev_err (data->hdev,"Invalid packet_len %d (max %zu)" , len, +BTINTEL_PCIE_BUFFER_SIZE -sizeof (*rfh_hdr)); ret = -EINVAL ; goto resubmit; }
@@ -1634,6 +1636,9 @@ static irqreturn_t btintel_pcie_irq_msix_handler(int irq, void *dev_id)if (unlikely (!(intr_fh | intr_hw))) {/* Ignore interrupt, inta == 0 */ +bt_warn_ratelimited ("Bluetooth: btintel_pcie: Received spurious interrupt\n" ); +btintel_pcie_wr_reg32 (data,BTINTEL_PCIE_CSR_MSIX_AUTOMASK_ST , +BIT (entry->entry));return IRQ_NONE ; }
drivers/bluetooth/btmtk.c +1 -10
@@ -1374,16 +1374,6 @@ int btmtk_usb_setup(struct hci_dev *hdev)break ;case 0x7922 :case 0x7925 : -/* -* A remote wakeup could cause the device completely unresponsive, and -* recovering from such a state needs a power cycle. -* -* Since the remote wakeup capability is super broken, just disable it -* to get rid of the troubles. The device can still be autosuspended -* when the bluetooth interface is closed. -*/ -device_set_wakeup_capable (&btmtk_data->udev->dev, false); - fallthrough;case 0x7961 :case 0x7902 :case 0x6639 :
@@ -1587,5 +1577,6 @@ MODULE_FIRMWARE(FIRMWARE_MT7663);MODULE_FIRMWARE (FIRMWARE_MT7668 );MODULE_FIRMWARE (FIRMWARE_MT7922 );MODULE_FIRMWARE (FIRMWARE_MT7961 ); +MODULE_FIRMWARE (FIRMWARE_MT7920 );MODULE_FIRMWARE (FIRMWARE_MT7925 );MODULE_FIRMWARE (FIRMWARE_MT7927 );
drivers/bluetooth/btmtk.h +1 -0
@@ -7,6 +7,7 @@#define FIRMWARE_MT7922 "mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin"#define FIRMWARE_MT7902 "mediatek/BT_RAM_CODE_MT7902_1_1_hdr.bin"#define FIRMWARE_MT7961 "mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin" +#define FIRMWARE_MT7920 "mediatek/BT_RAM_CODE_MT7961_1a_2_hdr.bin"#define FIRMWARE_MT7925 "mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin"#define FIRMWARE_MT7927 "mediatek/mt7927/BT_RAM_CODE_MT6639_2_1_hdr.bin"
drivers/bluetooth/btqcomsmd.c +5 -1
@@ -188,7 +188,10 @@ static int btqcomsmd_probe(struct platform_device *pdev)return 0 ; hci_free_dev: +rpmsg_destroy_ept (btq->cmd_channel); +rpmsg_destroy_ept (btq->acl_channel);hci_free_dev (hdev); +return ret; destroy_cmd_channel:rpmsg_destroy_ept (btq->cmd_channel); destroy_acl_channel:
@@ -202,10 +205,11 @@ static void btqcomsmd_remove(struct platform_device *pdev)struct btqcomsmd *btq =platform_get_drvdata (pdev);hci_unregister_dev (btq->hdev); -hci_free_dev (btq->hdev);rpmsg_destroy_ept (btq->cmd_channel);rpmsg_destroy_ept (btq->acl_channel); + +hci_free_dev (btq->hdev); }static const struct of_device_id btqcomsmd_of_match[] = {
drivers/bluetooth/btrtl.c +2 -3
@@ -591,7 +591,7 @@ static int rtlbt_parse_firmware_v2(struct hci_dev *hdev,* headers. */ if (!key_id) -break ; +continue ; rc =btrtl_parse_section (hdev, btrtl_dev, opcode, ptr, section_len);break ;
@@ -600,8 +600,7 @@ static int rtlbt_parse_firmware_v2(struct hci_dev *hdev, ptr, section_len);break ;default : - rc =0 ; -break ; +continue ; }if (rc <0 ) { rtl_dev_err(hdev, "RTL: Parse section (%u) err %d",
drivers/bluetooth/btusb.c +95 -10
193 lines not on this page · raw message
drivers/bluetooth/hci_mrvl.c +1 -2
@@ -307,9 +307,8 @@ static int mrvl_load_firmware(struct hci_dev *hdev, const char *name) err =wait_on_bit_timeout (&mrvl->flags,STATE_FW_REQ_PENDING ,TASK_INTERRUPTIBLE ,msecs_to_jiffies (2000 )); -if (err ==1 ) { +if (err == -EINTR ) {bt_dev_err (hdev,"Firmware load interrupted" ); - err = -EINTR ;break ; }else if (err) {bt_dev_err (hdev,"Firmware request timeout" );
drivers/char/virtio_console.c +18 -3
@@ -1891,13 +1891,28 @@ static const struct file_operations portdev_fops = {static void remove_vqs (struct ports_device *portdev) {struct virtqueue *vq; +bool multiport =use_multiport (portdev);virtio_device_for_each_vq (portdev->vdev, vq) {struct port_buffer *buf; +unsigned int len; -flush_bufs (vq, true); -while ((buf =virtqueue_detach_unused_buf (vq))) -free_buf (buf, true); +/* +* c_ovq cookies are &portdev->cpkt, not port_buffer. +* Detach them but do not free_buf(). +*/ +if (multiport && vq == portdev->c_ovq) { +spin_lock (&portdev->c_ovq_lock); +while (virtqueue_get_buf (vq, &len)) + ; +while (virtqueue_detach_unused_buf (vq)) + ; +spin_unlock (&portdev->c_ovq_lock); + }else { +flush_bufs (vq, true); +while ((buf =virtqueue_detach_unused_buf (vq))) +free_buf (buf, true); + }cond_resched (); } portdev->vdev->config->del_vqs (portdev->vdev);
drivers/clk/ux500/clk-prcmu.c +10 -10
@@ -7,7 +7,7 @@*/ #include <linux/clk-provider.h> -#include <linux/mfd/dbx500-prcmu.h> +#include <linux/mfd/db8500-prcmu.h> #include <linux/slab.h> #include <linux/io.h> #include <linux/err.h>
@@ -35,13 +35,13 @@ static int clk_prcmu_prepare(struct clk_hw *hw) {struct clk_prcmu *clk =to_clk_prcmu (hw); -return prcmu_request_clock (clk->cg_sel, true); +return db8500_prcmu_request_clock (clk->cg_sel, true); }static void clk_prcmu_unprepare (struct clk_hw *hw) {struct clk_prcmu *clk =to_clk_prcmu (hw); -if (prcmu_request_clock (clk->cg_sel, false)) +if (db8500_prcmu_request_clock (clk->cg_sel, false))pr_err ("clk_prcmu: %s failed to disable %s.\n" , __func__,clk_hw_get_name (hw)); }
@@ -86,7 +86,7 @@ static int clk_prcmu_opp_prepare(struct clk_hw *hw) clk->opp_requested =1 ; } - err =prcmu_request_clock (clk->cg_sel, true); + err =db8500_prcmu_request_clock (clk->cg_sel, true);if (err) {prcmu_qos_remove_requirement (PRCMU_QOS_APE_OPP , (char *)clk_hw_get_name (hw));
@@ -101,7 +101,7 @@ static void clk_prcmu_opp_unprepare(struct clk_hw *hw) {struct clk_prcmu *clk =to_clk_prcmu (hw); -if (prcmu_request_clock (clk->cg_sel, false)) { +if (db8500_prcmu_request_clock (clk->cg_sel, false)) {pr_err ("clk_prcmu: %s failed to disable %s.\n" , __func__,clk_hw_get_name (hw));return ;
@@ -120,7 +120,7 @@ static int clk_prcmu_opp_volt_prepare(struct clk_hw *hw)struct clk_prcmu *clk =to_clk_prcmu (hw);if (!clk->opp_requested) { - err =prcmu_request_ape_opp_100_voltage (true); + err =db8500_prcmu_request_ape_opp_100_voltage (true);if (err) {pr_err ("clk_prcmu: %s fail req APE OPP VOLT for %s.\n" , __func__,clk_hw_get_name (hw));
@@ -129,9 +129,9 @@ static int clk_prcmu_opp_volt_prepare(struct clk_hw *hw) clk->opp_requested =1 ; } - err =prcmu_request_clock (clk->cg_sel, true); + err =db8500_prcmu_request_clock (clk->cg_sel, true);if (err) { -prcmu_request_ape_opp_100_voltage (false); +db8500_prcmu_request_ape_opp_100_voltage (false); clk->opp_requested =0 ;return err; }
@@ -143,14 +143,14 @@ static void clk_prcmu_opp_volt_unprepare(struct clk_hw *hw) {struct clk_prcmu *clk =to_clk_prcmu (hw); -if (prcmu_request_clock (clk->cg_sel, false)) { +if (db8500_prcmu_request_clock (clk->cg_sel, false)) {pr_err ("clk_prcmu: %s failed to disable %s.\n" , __func__,clk_hw_get_name (hw));return ; }if (clk->opp_requested) { -prcmu_request_ape_opp_100_voltage (false); +db8500_prcmu_request_ape_opp_100_voltage (false); clk->opp_requested =0 ; } }
drivers/clk/ux500/u8500_of_clk.c +1 -1
@@ -9,7 +9,7 @@#include <linux/of.h> #include <linux/of_address.h> #include <linux/clk-provider.h> -#include <linux/mfd/dbx500-prcmu.h> +#include <linux/mfd/db8500-prcmu.h> #include "clk.h" #include "prcc.h"
drivers/cpufreq/cpufreq.c +3 -3
@@ -1249,7 +1249,7 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu)if (!policy)return NULL ; -if (!alloc_cpumask_var (&policy->cpus,GFP_KERNEL )) +if (!zalloc_cpumask_var (&policy->cpus,GFP_KERNEL )) goto err_free_policy;if (!zalloc_cpumask_var (&policy->related_cpus,GFP_KERNEL ))
@@ -1258,6 +1258,8 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu)if (!zalloc_cpumask_var (&policy->real_cpus,GFP_KERNEL )) goto err_free_rcpumask; +init_rwsem (&policy->rwsem); +init_completion (&policy->kobj_unregister); ret =kobject_init_and_add (&policy->kobj, &ktype_cpufreq, cpufreq_global_kobject,"policy%u" , cpu);
@@ -1272,8 +1274,6 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu) goto err_free_real_cpus; } -init_rwsem (&policy->rwsem); -freq_constraints_init (&policy->constraints); policy->nb_min.notifier_call = cpufreq_notifier_min;
drivers/cpuidle/cpuidle-ux500.c +3 -3
@@ -11,7 +11,7 @@#include <linux/spinlock.h> #include <linux/atomic.h> #include <linux/smp.h> -#include <linux/mfd/dbx500-prcmu.h> +#include <linux/mfd/db8500-prcmu.h> #include <linux/platform_data/arm-ux500-pm.h> #include <linux/platform_device.h>
@@ -66,7 +66,7 @@ static inline int ux500_enter_idle(struct cpuidle_device *dev,/* Go to the retention state, the prcmu will wait for the * cpu to go WFI and this is what happens after exiting this * 'master' critical section */ -if (prcmu_set_power_state (PRCMU_AP_IDLE , true, true)) +if (db8500_prcmu_set_power_state (PRCMU_AP_IDLE , true, true)) goto out;/* When we switch to retention, the prcmu is in charge
@@ -109,7 +109,7 @@ static struct cpuidle_driver ux500_idle_driver = {static int dbx500_cpuidle_probe (struct platform_device *pdev) {/* Configure wake up reasons */ -prcmu_enable_wakeups (PRCMU_WAKEUP (ARM ) |PRCMU_WAKEUP (RTC ) | +db8500_prcmu_enable_wakeups (PRCMU_WAKEUP (ARM ) |PRCMU_WAKEUP (RTC ) |PRCMU_WAKEUP (ABB ));return cpuidle_register (&ux500_idle_driver,NULL );
drivers/dibs/dibs_main.c +8 -2
@@ -251,13 +251,19 @@ static int __init dibs_init(void) rc =class_register (&dibs_class);if (rc) -return rc; + goto err; rc =dibs_loopback_init ();if (rc) -pr_err ("%s fails with %d\n" , __func__, rc); + goto err_unregister;return rc; + +err_unregister: +class_unregister (&dibs_class); +err: +pr_err ("%s fails with %d\n" , __func__, rc); +return rc; } static void __exit dibs_exit(void)
drivers/edac/altera_edac.c +5 -5
@@ -1533,7 +1533,7 @@ static int altr_portb_setup(struct altr_edac_device_dev *device) altdev = dci->pvt_info; *altdev = *device; -if (!devres_open_group (&altdev->ddev, altr_portb_setup,GFP_KERNEL )) +if (!devres_open_group (device->edac->dev, altr_portb_setup,GFP_KERNEL ))return -ENOMEM ;/* Update PortB specific values */
@@ -1562,7 +1562,7 @@ static int altr_portb_setup(struct altr_edac_device_dev *device) rc = -ENODEV ; goto err_release_group_1; } - rc =devm_request_irq (&altdev->ddev, altdev->sb_irq, + rc =devm_request_irq (device->edac->dev, altdev->sb_irq, prv->ecc_irq_handler,IRQF_TRIGGER_HIGH , ecc_name, altdev);if (rc) {
@@ -1585,7 +1585,7 @@ static int altr_portb_setup(struct altr_edac_device_dev *device) rc = -ENODEV ; goto err_release_group_1; } - rc =devm_request_irq (&altdev->ddev, altdev->db_irq, + rc =devm_request_irq (device->edac->dev, altdev->db_irq, prv->ecc_irq_handler,IRQF_TRIGGER_HIGH , ecc_name, altdev);if (rc) {
@@ -1605,13 +1605,13 @@ static int altr_portb_setup(struct altr_edac_device_dev *device)list_add (&altdev->next, &altdev->edac->a10_ecc_devices); -devres_remove_group (&altdev->ddev, altr_portb_setup); +devres_remove_group (device->edac->dev, altr_portb_setup);return 0 ; err_release_group_1:edac_device_free_ctl_info (dci); -devres_release_group (&altdev->ddev, altr_portb_setup); +devres_release_group (device->edac->dev, altr_portb_setup);edac_printk (KERN_ERR ,EDAC_DEVICE ,"%s:Error setting up EDAC device: %d\n" , ecc_name, rc);return rc;
drivers/edac/amd64_edac.c +2 -0
@@ -4173,6 +4173,8 @@ static int __init amd64_edac_init(void) goto err_pci; } +request_module_nowait ("amd_atl" ); +/* register stuff with EDAC MCE */ if (boot_cpu_data.x86 >=0x17 ) {amd_register_ecc_decoder (decode_umc_error);
drivers/edac/edac_device_sysfs.c +9 -2
@@ -88,14 +88,21 @@ static ssize_t edac_device_ctl_poll_msec_store(struct edac_device_ctl_info *ctl_info, const char *data, size_t count) { -unsigned long value; +unsigned int value; +int ret;/* get the value and enforce that it is non-zero, must be at least * one millisecond for the delay period, between scans * Then cancel last outstanding delay for the work request * and set a new one. */ - value =simple_strtoul (data,NULL ,0 ); + ret =kstrtouint (data,0 , &value); +if (ret <0 ) +return ret; + +if (value <1 ) +return -EINVAL ; +edac_device_reset_delay_period (ctl_info, value);return count;
drivers/edac/igen6_edac.c +23 -43
32 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +14 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +11 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +8 -12
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/drm_pagemap.c +124 -6
130 lines not on this page · raw message
drivers/gpu/drm/i915/display/intel_cdclk.c +6 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_display_types.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_dp.c +38 -6
44 lines not on this page · raw message
drivers/gpu/drm/i915/display/intel_dp_mst.c +0 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/scheduler/tests/mock_scheduler.c +11 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/virtio/virtgpu_display.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/virtio/virtgpu_object.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/xe/instructions/xe_gpu_commands.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/xe/xe_amc.c new file +197 -0
197 lines not on this page · raw message
drivers/gpu/drm/xe/xe_i2c.c +48 -80
128 lines not on this page · raw message
drivers/gpu/drm/xe/xe_pagefault_types.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/hwmon/asus_rog_ryujin.c +77 -28
105 lines not on this page · raw message
drivers/hwmon/ina2xx.c +136 -27
163 lines not on this page · raw message
drivers/i2c/busses/i2c-designware-common.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-designware-core.h +2 -83
85 lines not on this page · raw message
drivers/i2c/busses/i2c-designware-master.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-designware-slave.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/iommu/riscv/iommu.c +70 -47
117 lines not on this page · raw message
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_av1_req_lat_if.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/microchip/microchip-sama7g5-isc.c +1 -6
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/iris/iris_resources.c +6 -9
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/pm_helpers.c +1 -6
Lines of this file are not shown. View the raw message.
drivers/media/platform/renesas/rcar-csi2.c +1 -5
Lines of this file are not shown. View the raw message.
drivers/media/platform/rockchip/rkvdec/rkvdec-hevc-common.c +10 -4
Lines of this file are not shown. View the raw message.
drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-hevc.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/samsung/s3c-camif/camif-core.c +1 -6
Lines of this file are not shown. View the raw message.
drivers/media/platform/verisilicon/hantro_g2_hevc_dec.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c +48 -9
57 lines not on this page · raw message
drivers/media/usb/as102/as102_usb_drv.c +30 -43
73 lines not on this page · raw message
drivers/media/usb/dvb-usb-v2/mxl111sf.c +2 -10
Lines of this file are not shown. View the raw message.
drivers/media/v4l2-core/v4l2-ctrls-core.c +32 -0
Lines of this file are not shown. View the raw message.
drivers/net/dsa/mt7530.c +59 -9
68 lines not on this page · raw message
drivers/net/ethernet/airoha/airoha_eth.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/allwinner/sun4i-emac.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/pds_core/main.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/xgbe/xgbe-dev.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt.c +75 -24
99 lines not on this page · raw message
drivers/net/ethernet/broadcom/bnxt/bnxt.h +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c +12 -9
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.h +2 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cadence/macb_main.c +347 -330
677 lines not on this page · raw message
drivers/net/ethernet/cadence/macb_pci.c +23 -23
46 lines not on this page · raw message
drivers/net/ethernet/cadence/macb_ptp.c +10 -13
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cortina/gemini.c +47 -30
77 lines not on this page · raw message
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_common.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_sched.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_trace.h +42 -22
64 lines not on this page · raw message
drivers/net/ethernet/intel/ice/ice_type.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/idpf/idpf_txrx.c +30 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/mcs.c +10 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu.c +19 -14
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/qos.c +55 -5
60 lines not on this page · raw message
drivers/net/ethernet/mediatek/mtk_eth_soc.c +15 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mediatek/mtk_eth_soc.h +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/port.c +9 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/port.h +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +7 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +1 -51
52 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlx5/core/en_rep.h +0 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +20 -31
51 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c +37 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +11 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c +33 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/micrel/ks8851_common.c +1 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microsoft/mana/mana_bpf.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microsoft/mana/mana_en.c +22 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +15 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/oa_tc6.c +282 -152
434 lines not on this page · raw message
drivers/net/ethernet/pensando/ionic/ionic_txrx.c +10 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +68 -25
93 lines not on this page · raw message
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/net/ieee802154/mac802154_hwsim.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/net/ppp/ppp_async.c +9 -80
89 lines not on this page · raw message
drivers/net/ppp/ppp_synctty.c +10 -87
97 lines not on this page · raw message
drivers/net/usb/pegasus.c +22 -32
54 lines not on this page · raw message
drivers/net/wireless/ath/ath9k/hif_usb.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/hif_usb.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +29 -4
Lines of this file are not shown. View the raw message.
drivers/nvme/host/core.c +38 -39
77 lines not on this page · raw message
drivers/perf/riscv_pmu_sbi.c +68 -30
98 lines not on this page · raw message
drivers/platform/x86/hp/hp-wmi.c +81 -48
129 lines not on this page · raw message
drivers/platform/x86/x86-android-tablets/core.c +10 -2
Lines of this file are not shown. View the raw message.
drivers/regulator/pf1550-regulator.c +40 -42
82 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_bsg.c +47 -2
49 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_mid.c +35 -14
49 lines not on this page · raw message
drivers/ufs/host/ufshcd-pci.c +59 -0
59 lines not on this page · raw message
drivers/vhost/vdpa.c +66 -22
88 lines not on this page · raw message
drivers/vhost/vhost.c +56 -1
57 lines not on this page · raw message
drivers/watchdog/msc313e_wdt.c +60 -14
74 lines not on this page · raw message
drivers/watchdog/sunxi_wdt.c +44 -1
45 lines not on this page · raw message
drivers/watchdog/watchdog_hrtimer_pretimeout.c +1 -0
Lines of this file are not shown. View the raw message.
fs/erofs/decompressor.c +12 -43
55 lines not on this page · raw message
fs/f2fs/gc.c +42 -10
52 lines not on this page · raw message
fs/netfs/buffered_read.c +123 -41
164 lines not on this page · raw message
fs/netfs/read_collect.c +90 -38
128 lines not on this page · raw message
fs/netfs/rolling_buffer.c +52 -29
81 lines not on this page · raw message
fs/smb/client/cifsacl.c +66 -29
95 lines not on this page · raw message
fs/smb/client/smb2ops.c +154 -34
188 lines not on this page · raw message
fs/smb/server/smb2pdu.c +42 -5
47 lines not on this page · raw message
fs/smb/server/smbacl.c +40 -27
67 lines not on this page · raw message
fs/xfs/scrub/findparent.c +36 -18
54 lines not on this page · raw message
fs/xfs/scrub/rtrefcount.c +66 -16
82 lines not on this page · raw message
fs/xfs/scrub/stats.c +39 -22
61 lines not on this page · raw message
include/linux/designware_i2c.h new file +107 -0
107 lines not on this page · raw message
include/linux/mfd/db8500-prcmu.h +250 -2
252 lines not on this page · raw message
include/linux/mfd/dbx500-prcmu.h deleted +0 -575
575 lines not on this page · raw message
include/linux/oa_tc6.h +50 -0
50 lines not on this page · raw message
include/media/v4l2-hevc.h new file +41 -0
41 lines not on this page · raw message
io_uring/net.c +39 -12
51 lines not on this page · raw message
kernel/bpf/backtrack.c +36 -26
62 lines not on this page · raw message
kernel/bpf/verifier.c +218 -45
263 lines not on this page · raw message
kernel/locking/lockdep.c +42 -8
50 lines not on this page · raw message
kernel/trace/ring_buffer.c +149 -77
226 lines not on this page · raw message
kernel/trace/trace.c +94 -56
150 lines not on this page · raw message
kernel/trace/trace_events_hist.c +45 -41
86 lines not on this page · raw message
kernel/trace/trace_probe.c +47 -1
48 lines not on this page · raw message
net/ipv4/igmp.c +131 -79
210 lines not on this page · raw message
net/ipv6/mcast.c +88 -60
148 lines not on this page · raw message
net/mac802154/rx.c +98 -22
120 lines not on this page · raw message
net/mptcp/pm.c +29 -16
45 lines not on this page · raw message
net/mptcp/protocol.c +29 -14
43 lines not on this page · raw message
net/rds/connection.c +71 -18
89 lines not on this page · raw message
net/rds/tcp.c +74 -27
101 lines not on this page · raw message
net/sched/act_api.c +28 -18
46 lines not on this page · raw message
net/sched/cls_route.c +39 -37
76 lines not on this page · raw message
sound/soc/codecs/ab8500-codec.c +273 -411
684 lines not on this page · raw message
sound/soc/codecs/cs35l56.c +111 -13
124 lines not on this page · raw message
sound/soc/intel/avs/topology.c +28 -21
49 lines not on this page · raw message
sound/soc/ux500/ux500_msp_dai.c +79 -110
189 lines not on this page · raw message
sound/soc/ux500/ux500_msp_i2s.c +181 -83
264 lines not on this page · raw message
tools/testing/selftests/alsa/mixer-test.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/test_bpf_nf.c +4 -4
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/verifier_subprog_precision.c +6 -6
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_core.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_cpu.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_cpuset.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_cpuset_prs.sh +0 -6
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_freezer.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_kill.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_kmem.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_memcontrol.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_pids.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_zswap.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/fib_nexthops.sh +28 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_connect.c +3 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_lib.sh +15 -11
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/test_vxlan_mdb.sh +6 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/powerpc/tm/tm.h +6 -2
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.