Linux 7.0.11
Greg Kroah-Hartman
maintainerI'm announcing the release of the 7.0.11 kernel.
All users of the 7.0 kernel series must upgrade.
The updated 7.0.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-7.0.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-driver-uniwill-laptop | 27 + Documentation/admin-guide/laptops/uniwill-laptop.rst | 22 Documentation/admin-guide/pm/intel_pstate.rst | 11 Documentation/arch/riscv/zicfilp.rst | 2 Documentation/crypto/krb5.rst | 17 Makefile | 2 arch/alpha/include/asm/Kbuild | 1 arch/arc/include/asm/Kbuild | 1 arch/arm/boot/dts/renesas/r7s72100-genmai.dts | 3 arch/arm/boot/dts/renesas/r7s72100-rskrza1.dts | 2 arch/arm/include/asm/Kbuild | 1 arch/arm/mach-versatile/integrator_cp.c | 13 arch/arm64/boot/dts/renesas/r8a78000.dtsi | 8 arch/arm64/include/asm/insn.h | 2 arch/arm64/include/asm/page.h | 2 arch/arm64/include/asm/ring_buffer.h | 10 arch/arm64/kvm/arm.c | 4 arch/arm64/kvm/vgic/vgic-its.c | 4 arch/arm64/mm/fault.c | 11 arch/csky/include/asm/Kbuild | 1 arch/hexagon/include/asm/Kbuild | 1 arch/loongarch/include/asm/Kbuild | 1 arch/loongarch/kernel/kprobes.c | 14 arch/loongarch/mm/init.c | 4 arch/m68k/include/asm/Kbuild | 1 arch/microblaze/include/asm/Kbuild | 1 arch/mips/include/asm/Kbuild | 1 arch/nios2/include/asm/Kbuild | 1 arch/openrisc/include/asm/Kbuild | 1 arch/parisc/include/asm/Kbuild | 1 arch/powerpc/Kconfig.debug | 3 arch/powerpc/include/asm/Kbuild | 1 arch/powerpc/kernel/time.c | 6 arch/powerpc/perf/hv-gpci.c | 24 arch/powerpc/platforms/82xx/km82xx.c | 4 arch/riscv/errata/mips/errata.c | 2 arch/riscv/include/asm/Kbuild | 1 arch/riscv/kernel/compat_signal.c | 2 arch/riscv/kernel/ptrace.c | 4 arch/riscv/kvm/vcpu_pmu.c | 12 arch/riscv/mm/init.c | 25 arch/s390/include/asm/Kbuild | 1 arch/s390/kernel/perf_pai.c | 31 - arch/sh/include/asm/Kbuild | 1 arch/sparc/include/asm/Kbuild | 1 arch/um/include/asm/Kbuild | 1 arch/x86/include/asm/Kbuild | 1 arch/x86/kernel/cpu/cpuid-deps.c | 1 arch/x86/kernel/cpu/mce/core.c | 33 - arch/x86/kvm/svm/avic.c | 12 arch/x86/xen/setup.c | 2 arch/xtensa/include/asm/Kbuild | 1 block/bio-integrity.c | 19 block/blk-cgroup.c | 2 block/blk-mq-debugfs.c | 1 block/blk-mq.c | 53 + block/blk-sysfs.c | 35 + block/blk-zoned.c | 250 +++++++-- crypto/krb5/krb5_api.c | 54 +- drivers/accel/qaic/qaic_data.c | 23 drivers/acpi/ac.c | 6 drivers/acpi/acpi_pad.c | 6 drivers/acpi/acpi_tad.c | 6 drivers/acpi/battery.c | 10 drivers/acpi/button.c | 9 drivers/acpi/ec.c | 6 drivers/acpi/hed.c | 6 drivers/acpi/nfit/core.c | 6 drivers/acpi/pfr_telemetry.c | 6 drivers/acpi/pfr_update.c | 6 drivers/acpi/sbs.c | 6 drivers/acpi/sbshc.c | 6 drivers/acpi/thermal.c | 2 drivers/acpi/tiny-power-button.c | 6 drivers/ata/libata-core.c | 9 drivers/ata/libata-eh.c | 8 drivers/ata/libata-pmp.c | 18 drivers/ata/libata-scsi.c | 100 ++- drivers/ata/sata_sil24.c | 6 drivers/base/memory.c | 8 drivers/block/rbd.c | 20 drivers/block/ublk_drv.c | 3 drivers/bluetooth/btintel_pcie.c | 20 drivers/bluetooth/btintel_pcie.h | 3 drivers/bluetooth/btmtk.c | 2 drivers/bluetooth/hci_ldisc.c | 48 + drivers/bluetooth/hci_qca.c | 33 - drivers/cpufreq/intel_pstate.c | 2 drivers/firmware/arm_ffa/bus.c | 4 drivers/firmware/arm_ffa/driver.c | 131 +++- drivers/firmware/efi/efi.c | 28 - drivers/fwctl/pds/main.c | 3 drivers/gpio/Kconfig | 1 drivers/gpio/gpio-aggregator.c | 47 + drivers/gpio/gpiolib-cdev.c | 13 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 9 drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | 7 drivers/gpu/drm/amd/amdgpu/vce_v1_0.c | 31 - drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 9 drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c | 9 drivers/gpu/drm/amd/display/dc/core/dc.c | 6 drivers/gpu/drm/bridge/chipone-icn6211.c | 4 drivers/gpu/drm/bridge/ite-it66121.c | 5 drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 16 drivers/gpu/drm/drm_drv.c | 2 drivers/gpu/drm/drm_gem.c | 36 - drivers/gpu/drm/i915/display/intel_dp.c | 2 drivers/gpu/drm/i915/display/intel_plane.c | 2 drivers/gpu/drm/mediatek/mtk_cec.c | 2 drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c | 2 drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c | 2 drivers/gpu/drm/mediatek/mtk_hdmi_v2.c | 2 drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 48 + drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 2 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 13 drivers/gpu/drm/msm/adreno/adreno_gpu.h | 1 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapali.h | 2 drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 12 drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c | 3 drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c | 24 drivers/gpu/drm/msm/dsi/dsi_host.c | 1 drivers/gpu/drm/msm/msm_drv.c | 11 drivers/gpu/drm/msm/msm_drv.h | 7 drivers/gpu/drm/msm/msm_gem.c | 33 - drivers/gpu/drm/msm/msm_gem_shrinker.c | 44 - drivers/gpu/drm/msm/msm_gem_submit.c | 6 drivers/gpu/drm/msm/msm_gem_vma.c | 12 drivers/gpu/drm/msm/msm_iommu.c | 5 drivers/gpu/drm/msm/msm_ringbuffer.c | 6 drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 4 drivers/gpu/drm/v3d/v3d_sched.c | 16 drivers/gpu/drm/v3d/v3d_submit.c | 22 drivers/gpu/drm/virtio/virtgpu_drv.h | 1 drivers/gpu/drm/virtio/virtgpu_gem.c | 17 drivers/gpu/drm/virtio/virtgpu_plane.c | 10 drivers/gpu/drm/xe/regs/xe_gt_regs.h | 3 drivers/gpu/drm/xe/xe_gsc.c | 5 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.c | 6 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.h | 2 drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 24 drivers/gpu/drm/xe/xe_gt_sriov_vf.h | 6 drivers/gpu/drm/xe/xe_guc_submit.c | 16 drivers/gpu/drm/xe/xe_oa.c | 6 drivers/gpu/drm/xe/xe_tuning.c | 5 drivers/gpu/drm/xe/xe_wa.c | 28 - drivers/hid/hid-quirks.c | 2 drivers/hid/hid-uclogic-core.c | 4 drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c | 4 drivers/hwmon/lm90.c | 26 drivers/hwmon/pmbus/adm1266.c | 32 - drivers/i2c/busses/i2c-tegra.c | 4 drivers/infiniband/hw/mana/main.c | 1 drivers/infiniband/sw/siw/siw_qp_rx.c | 15 drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 2 drivers/iommu/amd/debugfs.c | 43 - drivers/iommu/generic_pt/iommu_pt.h | 176 +++--- drivers/iommu/generic_pt/kunit_generic_pt.h | 12 drivers/iommu/generic_pt/pt_iter.h | 22 drivers/iommu/iommu.c | 118 ++-- drivers/irqchip/irq-ath79-cpu.c | 7 drivers/net/dsa/mt7530.c | 47 + drivers/net/ethernet/airoha/airoha_eth.c | 10 drivers/net/ethernet/amd/pds_core/debugfs.c | 7 drivers/net/ethernet/amd/pds_core/dev.c | 11 drivers/net/ethernet/amd/pds_core/devlink.c | 6 drivers/net/ethernet/atheros/ag71xx.c | 3 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 9 drivers/net/ethernet/cirrus/cs89x0.c | 2 drivers/net/ethernet/cortina/gemini.c | 21 drivers/net/ethernet/freescale/enetc/enetc_pf.c | 4 drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 4 drivers/net/ethernet/intel/ice/ice_dpll.c | 5 drivers/net/ethernet/intel/ice/ice_dpll.h | 32 - drivers/net/ethernet/intel/ice/ice_main.c | 10 drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 33 - drivers/net/ethernet/intel/ice/virt/queues.c | 2 drivers/net/ethernet/intel/idpf/idpf_ptp.c | 4 drivers/net/ethernet/intel/igc/igc_tsn.c | 9 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 1 drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 7 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c | 2 drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c | 2 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c | 2 drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 3 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c | 6 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 7 drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 2 drivers/net/ethernet/mellanox/mlx5/core/esw/ipsec_fs.c | 3 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 21 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 1 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 5 drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 8 drivers/net/ethernet/microsoft/mana/hw_channel.c | 29 - drivers/net/ethernet/qlogic/qed/qed_cxt.c | 2 drivers/net/ethernet/stmicro/stmmac/dwmac-eic7700.c | 126 +++- drivers/net/ethernet/ti/icssm/icssm_prueth.c | 1 drivers/net/ifb.c | 11 drivers/net/ovpn/io.c | 12 drivers/net/ovpn/main.c | 12 drivers/net/ovpn/netlink.c | 8 drivers/net/ovpn/peer.c | 23 drivers/net/ovpn/peer.h | 1 drivers/net/ovpn/stats.h | 16 drivers/net/ovpn/tcp.c | 19 drivers/net/ovpn/udp.c | 2 drivers/net/phy/dp83tc811.c | 1 drivers/net/phy/phy-c45.c | 8 drivers/net/phy/phy_device.c | 6 drivers/net/pse-pd/pse_core.c | 2 drivers/net/tap.c | 2 drivers/net/wireless/ath/ath10k/wmi.c | 15 drivers/net/wireless/ath/ath11k/dp_rx.c | 3 drivers/net/wireless/ath/ath11k/hal.c | 14 drivers/net/wireless/ath/ath11k/hal_rx.c | 5 drivers/net/wireless/ath/ath11k/testmode.c | 1 drivers/net/wireless/ath/ath11k/wmi.c | 19 drivers/net/wireless/ath/ath12k/mac.c | 8 drivers/net/wireless/intel/iwlwifi/mld/link.c | 13 drivers/net/wireless/intel/iwlwifi/mld/tx.c | 15 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 27 - drivers/net/wireless/intel/iwlwifi/mvm/utils.c | 14 drivers/net/wireless/microchip/wilc1000/wlan.c | 2 drivers/net/wwan/iosm/iosm_ipc_imem.c | 2 drivers/nvme/host/ioctl.c | 5 drivers/nvme/host/pci.c | 40 + drivers/phy/apple/atc.c | 27 - drivers/phy/marvell/phy-mvebu-a3700-utmi.c | 5 drivers/phy/qualcomm/phy-qcom-edp.c | 88 +-- drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 1 drivers/phy/qualcomm/phy-qcom-qmp-usbc.c | 2 drivers/phy/samsung/phy-exynos5-usbdrd.c | 7 drivers/phy/spacemit/phy-k1-usb2.c | 1 drivers/phy/tegra/xusb-tegra186.c | 33 - drivers/phy/tegra/xusb.h | 1 drivers/pinctrl/mediatek/pinctrl-moore.c | 18 drivers/pinctrl/meson/pinctrl-amlogic-a4.c | 6 drivers/pinctrl/qcom/pinctrl-ipq4019.c | 2 drivers/pinctrl/qcom/pinctrl-msm.h | 5 drivers/pinctrl/qcom/pinctrl-qcs615.c | 6 drivers/pinctrl/qcom/pinctrl-sm8150.c | 8 drivers/pinctrl/renesas/pinctrl-rzg2l.c | 23 drivers/platform/surface/surface_aggregator_registry.c | 2 drivers/platform/x86/adv_swbutton.c | 6 drivers/platform/x86/asus-armoury.c | 16 drivers/platform/x86/hp/hp_accel.c | 3 drivers/platform/x86/intel/hid.c | 6 drivers/platform/x86/intel/int1092/intel_sar.c | 7 drivers/platform/x86/intel/vbtn.c | 6 drivers/platform/x86/uniwill/uniwill-acpi.c | 47 + drivers/regulator/tps65219-regulator.c | 135 +++-- drivers/s390/cio/chsc.c | 4 drivers/s390/cio/chsc_sch.c | 20 drivers/s390/cio/scm.c | 2 drivers/scsi/isci/host.c | 3 drivers/scsi/sd.c | 3 drivers/spi/spi-amd.c | 2 drivers/spi/spi-ep93xx.c | 2 drivers/spi/spi-mtk-snfi.c | 2 drivers/spi/spi-qup.c | 3 drivers/spi/spi-sprd.c | 3 drivers/spi/spi-ti-qspi.c | 1 drivers/vfio/pci/vfio_pci_dmabuf.c | 6 drivers/virt/coco/sev-guest/sev-guest.c | 10 fs/9p/v9fs_vfs.h | 13 fs/9p/vfs_inode.c | 6 fs/9p/vfs_inode_dotl.c | 12 fs/afs/Makefile | 1 fs/afs/dir.c | 79 +- fs/afs/file.c | 24 fs/afs/fsclient.c | 4 fs/afs/inode.c | 127 ---- fs/afs/internal.h | 45 + fs/afs/symlink.c | 278 ++++++++++ fs/afs/validation.c | 14 fs/afs/write.c | 2 fs/afs/yfsclient.c | 4 fs/btrfs/fs.h | 1 fs/btrfs/qgroup.c | 81 +-- fs/cachefiles/namei.c | 2 fs/erofs/xattr.c | 10 fs/erofs/zdata.c | 15 fs/inode.c | 8 fs/jfs/namei.c | 2 fs/mnt_idmapping.c | 2 fs/netfs/buffered_read.c | 73 +- fs/netfs/buffered_write.c | 174 ++++-- fs/netfs/direct_read.c | 42 - fs/netfs/direct_write.c | 6 fs/netfs/internal.h | 3 fs/netfs/iterator.c | 26 fs/netfs/misc.c | 41 + fs/netfs/read_collect.c | 19 fs/netfs/read_retry.c | 17 fs/netfs/read_single.c | 23 fs/netfs/write_collect.c | 15 fs/netfs/write_issue.c | 49 + fs/netfs/write_retry.c | 6 fs/nfsd/nfs4state.c | 7 fs/nsfs.c | 2 fs/orangefs/namei.c | 2 fs/smb/client/cifs_spnego.c | 16 fs/smb/client/cifsfs.c | 42 + fs/smb/client/cifssmb.c | 3 fs/smb/client/file.c | 13 fs/smb/client/fs_context.c | 161 ++++-- fs/smb/client/inode.c | 14 fs/smb/client/netlink.c | 6 fs/smb/client/readdir.c | 3 fs/smb/client/smb2ops.c | 46 + fs/smb/client/smb2pdu.c | 3 fs/smb/client/smb2transport.c | 2 fs/smb/server/oplock.c | 6 fs/smb/server/smb2pdu.c | 15 fs/smb/server/smbacl.c | 78 ++ fs/smb/server/vfs_cache.c | 120 +++- fs/sysfs/group.c | 2 fs/zonefs/super.c | 6 include/asm-generic/kprobes.h | 2 include/asm-generic/ring_buffer.h | 13 include/crypto/krb5.h | 9 include/drm/drm_device.h | 7 include/drm/drm_gem.h | 20 include/linux/blkdev.h | 10 include/linux/cgroup.h | 1 include/linux/fprobe.h | 5 include/linux/fwnode.h | 1 include/linux/generic_pt/iommu.h | 69 ++ include/linux/gfp_types.h | 10 include/linux/highmem.h | 7 include/linux/iommu.h | 1 include/linux/libata.h | 7 include/linux/list.h | 37 + include/linux/netfilter/x_tables.h | 4 include/linux/netfilter_arp/arp_tables.h | 1 include/linux/netfilter_ipv4/ip_tables.h | 1 include/linux/netfilter_ipv6/ip6_tables.h | 1 include/linux/netfs.h | 295 ++++++++++- include/linux/soc/airoha/airoha_offload.h | 6 include/net/bluetooth/bluetooth.h | 1 include/net/net_shaper.h | 1 include/net/netfilter/nf_conntrack_expect.h | 5 include/net/netfilter/nf_queue.h | 1 include/net/tcp.h | 7 include/trace/events/btrfs.h | 4 include/trace/events/damon.h | 2 include/trace/events/netfs.h | 8 include/trace/events/rxrpc.h | 1 io_uring/io_uring.c | 9 io_uring/net.c | 26 io_uring/nop.c | 4 io_uring/waitid.c | 1 kernel/cgroup/rstat.c | 37 - kernel/dma/debug.c | 9 kernel/dma/mapping.c | 4 kernel/irq_work.c | 7 kernel/liveupdate/kexec_handover.c | 2 kernel/rcu/srcutree.c | 12 kernel/sched/ext.c | 5 kernel/trace/bpf_trace.c | 3 kernel/trace/fprobe.c | 23 kernel/trace/ring_buffer.c | 30 - kernel/trace/trace_events_hist.c | 6 kernel/trace/tracing_map.c | 17 lib/kunit/Kconfig | 5 lib/tests/test_kprobes.c | 29 - mm/damon/sysfs-schemes.c | 1 mm/memcontrol.c | 6 mm/memfd_luo.c | 1 mm/memory.c | 24 mm/memory_hotplug.c | 2 mm/migrate_device.c | 2 mm/page_alloc.c | 8 mm/slab_common.c | 2 mm/slub.c | 1 net/batman-adv/bat_iv_ogm.c | 82 ++- net/batman-adv/bat_v_ogm.c | 59 +- net/batman-adv/bridge_loop_avoidance.c | 109 ++-- net/batman-adv/distributed-arp-table.c | 3 net/batman-adv/fragmentation.c | 58 +- net/batman-adv/gateway_client.c | 4 net/batman-adv/mesh-interface.c | 1 net/batman-adv/originator.c | 4 net/batman-adv/tp_meter.c | 117 ++-- net/batman-adv/translation-table.c | 55 +- net/batman-adv/tvlv.c | 28 - net/batman-adv/tvlv.h | 2 net/batman-adv/types.h | 59 +- net/bluetooth/af_bluetooth.c | 97 ++- net/bluetooth/bnep/core.c | 2 net/bluetooth/hci_sync.c | 6 net/bluetooth/iso.c | 14 net/bluetooth/l2cap_core.c | 2 net/bluetooth/l2cap_sock.c | 51 + net/bluetooth/mgmt.c | 6 net/bluetooth/rfcomm/sock.c | 9 net/bluetooth/sco.c | 9 net/bridge/br_multicast.c | 22 net/bridge/netfilter/ebtable_broute.c | 14 net/bridge/netfilter/ebtable_filter.c | 14 net/bridge/netfilter/ebtable_nat.c | 12 net/bridge/netfilter/ebtables.c | 71 +- net/core/dev.c | 21 net/core/devmem.c | 11 net/core/gro.c | 3 net/core/skmsg.c | 9 net/ethtool/bitset.c | 8 net/ethtool/phy.c | 36 + net/hsr/hsr_framereg.c | 4 net/ipv4/inet_connection_sock.c | 2 net/ipv4/netfilter/arp_tables.c | 53 - net/ipv4/netfilter/arptable_filter.c | 27 - net/ipv4/netfilter/ip_tables.c | 59 -- net/ipv4/netfilter/iptable_filter.c | 27 - net/ipv4/netfilter/iptable_mangle.c | 29 - net/ipv4/netfilter/iptable_nat.c | 6 net/ipv4/netfilter/iptable_raw.c | 26 net/ipv4/netfilter/iptable_security.c | 27 - net/ipv4/raw.c | 2 net/ipv4/tcp.c | 3 net/ipv4/tcp_ao.c | 3 net/ipv4/tcp_input.c | 15 net/ipv4/tcp_ipv4.c | 3 net/ipv4/udp_offload.c | 22 net/ipv6/exthdrs.c | 21 net/ipv6/netfilter/ip6_tables.c | 56 -- net/ipv6/netfilter/ip6t_hbh.c | 4 net/ipv6/netfilter/ip6table_filter.c | 26 net/ipv6/netfilter/ip6table_mangle.c | 27 - net/ipv6/netfilter/ip6table_nat.c | 6 net/ipv6/netfilter/ip6table_raw.c | 24 net/ipv6/netfilter/ip6table_security.c | 27 - net/ipv6/tcp_ipv6.c | 3 net/l2tp/l2tp_core.c | 2 net/mac80211/mlme.c | 5 net/mac80211/parse.c | 105 ++- net/mac80211/rx.c | 6 net/mptcp/pm.c | 56 +- net/mptcp/protocol.c | 25 net/netfilter/ipset/ip_set_hash_ipmark.c | 6 net/netfilter/ipset/ip_set_hash_ipport.c | 5 net/netfilter/ipset/ip_set_hash_ipportip.c | 5 net/netfilter/ipset/ip_set_hash_ipportnet.c | 5 net/netfilter/nf_conntrack_broadcast.c | 1 net/netfilter/nf_conntrack_core.c | 7 net/netfilter/nf_conntrack_expect.c | 1 net/netfilter/nf_conntrack_h323_main.c | 12 net/netfilter/nf_conntrack_helper.c | 5 net/netfilter/nf_conntrack_netlink.c | 18 net/netfilter/nf_conntrack_sip.c | 2 net/netfilter/nf_queue.c | 4 net/netfilter/nfnetlink_queue.c | 2 net/netfilter/nft_inner.c | 3 net/netfilter/x_tables.c | 177 +++++- net/phonet/pep.c | 19 net/rxrpc/ar-internal.h | 7 net/rxrpc/call_event.c | 22 net/rxrpc/call_object.c | 2 net/rxrpc/insecure.c | 3 net/rxrpc/recvmsg.c | 68 ++ net/rxrpc/rxgk.c | 64 +- net/rxrpc/rxgk_common.h | 82 +++ net/rxrpc/rxkad.c | 86 +-- net/shaper/shaper.c | 220 +++++--- net/smc/af_smc.c | 3 net/smc/smc_tracepoint.h | 2 net/tls/tls_sw.c | 46 + net/unix/af_unix.c | 11 net/vmw_vsock/virtio_transport_common.c | 103 +-- net/vmw_vsock/vmci_transport.c | 2 net/wireless/scan.c | 3 scripts/gcc-plugins/gcc-common.h | 4 scripts/gdb/linux/mm.py | 6 scripts/package/PKGBUILD | 2 security/keys/keyring.c | 1 security/lsm_syscalls.c | 9 sound/core/pcm_lib.c | 3 sound/core/seq/seq_ump_client.c | 22 sound/hda/codecs/ca0132.c | 44 + sound/hda/codecs/realtek/alc269.c | 12 sound/hda/codecs/side-codecs/cs35l41_hda.c | 4 sound/hda/codecs/side-codecs/cs35l56_hda.c | 1 sound/pci/asihpi/hpicmn.c | 6 sound/soc/amd/acp/acp-sdw-legacy-mach.c | 2 sound/soc/codecs/cs-amp-lib.c | 15 sound/soc/codecs/cs35l56-sdw.c | 3 sound/soc/codecs/fs210x.c | 2 sound/soc/codecs/pcm512x.c | 6 sound/soc/sdw_utils/soc_sdw_bridge_cs35l56.c | 6 sound/soc/sdw_utils/soc_sdw_cs42l43.c | 20 sound/soc/sdw_utils/soc_sdw_utils.c | 34 - sound/soc/soc-utils.c | 1 sound/soc/sof/amd/acp.c | 2 sound/usb/misc/ua101.c | 5 sound/usb/mixer_scarlett2.c | 9 tools/testing/selftests/mm/hmm-tests.c | 50 + tools/testing/selftests/mm/run_vmtests.sh | 2 tools/testing/selftests/net/lib/xdp_native.bpf.c | 55 +- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 6 tools/testing/selftests/net/mptcp/mptcp_lib.sh | 10 tools/testing/selftests/ublk/kublk.c | 11 501 files changed, 6371 insertions(+), 2927 deletions(-)
Abdun Nihaal (1):
net: wwan: iosm: fix potential memory leaks in ipc_imem_init()
Abdurrahman Hussain (10):
hwmon: (pmbus/adm1266) widen blackbox-info buffer to I2C_SMBUS_BLOCK_MAX
hwmon: (pmbus/adm1266) seed timestamp from the real-time clock
hwmon: (pmbus/adm1266) reject implausible blackbox record_count
hwmon: (pmbus/adm1266) include PEC byte in pmbus_block_xfer read buffer
hwmon: (pmbus/adm1266) bounce blackbox records through a protocol-sized buffer
hwmon: (pmbus/adm1266) cap PDIO scan in get_multiple at ADM1266_PDIO_NR
hwmon: (pmbus/adm1266) don't clobber GPIO bits before PDIO read in get_multiple
hwmon: (pmbus/adm1266) register the gpio_chip after pmbus_do_probe()
hwmon: (pmbus/adm1266) register the nvmem device after pmbus_do_probe()
hwmon: (pmbus/adm1266) reject short block-read responses in the GPIO accessors
Aboorva Devarajan (1):
powerpc/hv-gpci: fix preempt count leak in sysfs show paths
Aditya Garg (1):
net: mana: validate rx_req_idx to prevent out-of-bounds array access
Ahmed Yaseen (1):
platform/x86: asus-armoury: fix mini-LED mode get/set on MODE2 devices
Akhil P Oommen (1):
drm/msm/a6xx: Add soft fuse detection support
Alan Liu (1):
drm/amdgpu/vpe: Force collaborate sync after TRAP
Alexander A. Klimov (2):
ASoC: codecs: fs210x: fix possible buffer overflow io_uring/nop: pass all errors to userspace
Alexander Koskovich (1):
drm/msm: Fix GMEM_BASE for A650
Alexander Sverdlin (1):
regulator: tps65219: fix irq_data.rdev not being assigned
Alexandru Hossu (1):
wifi: mac80211: bounds-check link_id in ieee80211_ml_epcs
Alice Mikityanska (1):
udp: gso: Fix handling checksum in __udp_gso_segment
Alistair Popple (1):
mm/memory: fix spurious warning when unmapping device-private/exclusive pages
Ally Heev (1):
powerpc: 82xx: fix uninitialized pointers with free attribute
Andreas Haarmann-Thiemann (1):
net: ethernet: cortina: Drop half-assembled SKB
Ankit Nautiyal (1):
drm/i915/dp: Fix readback for target_rr in Adaptive Sync SDP
Antonio Quartulli (1):
ovpn: fix race between deleting interface and adding new peer
Ard Biesheuvel (1):
efi: Allocate runtime workqueue before ACPI init
Armin Wolf (4):
platform/x86: uniwill-laptop: Properly initialize charging threshold platform/x86: uniwill-laptop: Accept charging threshold of 0 platform/x86: uniwill-laptop: Fix behavior of "force" module param platform/x86: uniwill-laptop: Do not enable the charging limit even when forced
Asim Viladi Oglu Manizada (1):
smb: client: reject userspace cifs.spnego descriptions
Baochen Qiang (1):
wifi: ath12k: fix EHT TX MCS limitation due to wrong 20 MHz-only parsing
Bart Van Assche (1):
ice: fix locking in ice_dcb_rebuild()
Bartosz Golaszewski (7):
device property: set fwnode->secondary to NULL in fwnode_init()
pinctrl: mediatek: moore: implement gpio_chip::get_direction()
gpio: cdev: check if uAPI v2 config attributes are correctly zeroed
gpio: aggregator: fix a potential use-after-free
gpio: aggregator: stop using dev-sync-probe
gpio: aggregator: remove the software node when deactivating the aggregator
gpio: aggregator: lock device when calling device_is_bound()
Biju Das (1):
pinctrl: renesas: rzg2l: Fix incorrect PUPD register offset for high pins during suspend/resume
Boris Brezillon (1):
drm/gem: Make the GEM LRU lock part of drm_device
Boris Burkov (2):
btrfs: check for subvolume before deleting squota qgroup
btrfs: fix squota accounting during enable generation
Borislav Petkov (AMD) (1):
x86/mce: Restore MCA polling interval halving
Carlos López (1):
virt: sev-guest: Explicitly leak pages in unknown state
Casey Chen (1):
block: recompute nr_integrity_segments in blk_insert_cloned_request
Chaitanya Kumar Borah (1):
drm/i915/display: Copy color pipeline from plane in the primary joiner pipe
Chen Ni (1):
drm/msm/a6xx: Check kzalloc return in a8xx_hfi_send_perf_table
ChenXiaoSong (1):
smb/server: promote S_DEL_ON_CLS to S_DEL_PENDING when close
Chenguang Zhao (1):
ethtool: fix ethnl_bitmap32_not_zero() bit interval semantics
Chia-Lin Kao (AceLan) (1):
nvme-pci: fix use-after-free in nvme_free_host_mem()
Christian Marangi (1):
net: airoha: Fix NPU RX DMA descriptor bits
Chuck Lever (2):
NFSD: Fix infinite loop in layout state revocation
tls: Preserve sk_err across recvmsg() when data has been copied
Cole Leavitt (1):
wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled
Cunlong Li (1):
cgroup: rstat: relax NMI guard after switch to try_cmpxchg
Cássio Gabriel (4):
ALSA: ua101: Reject too-short USB descriptors
ALSA: scarlett2: Allow flash writes ending at segment boundary
ASoC: sdw_utils: Check speaker component string allocation
ASoC: amd: acp-sdw-legacy: check CPU DAI name before logging
DaeMyung Kang (2):
ksmbd: close durable scavenger races against m_fp_list lookups
cifs: client: stage smb3_reconfigure() updates and restore ctx on failure
Damien Le Moal (4):
block: rename struct gendisk zone_wplugs_lock field
block: allow submitting all zone writes from a single context
block: fix handling of dead zone write plugs
block: avoid use-after-free in disk_free_zone_resources()
Dan Carpenter (1):
HID: intel-thc-hid: Intel-quickspi: Fix some error codes
Daniel Golle (2):
net: dsa: mt7530: fix FDB entries not aging out with short timeout
net: dsa: mt7530: preserve VLAN tags on trapped link-local frames
Daniel J Blueman (1):
drm/msm: Fix shrinker deadlock
David Carlier (9):
Bluetooth: ISO: drop ISO_END frames received without prior ISO_START
net: devmem: reject dma-buf bind with non-page-aligned size or SG length
net: ethtool: phy: avoid NULL deref when PHY driver is unbound mm/memfd_luo: report error when restoring a folio fails mid-loop
block: don't overwrite bip_vcnt in bio_integrity_copy_user()
ovpn: tcp - use cached peer pointer in ovpn_tcp_close()
ovpn: respect peer refcount in CMD_NEW_PEER error path
phy: apple: atc: Fix typec switch/mux leak on unbind
tracing: Avoid NULL return from hist_field_name() on truncation
David Gow (2):
kunit: config: Enable KUNIT_DEBUGFS by default
kunit: config: KUNIT_DEBUGFS should depend on DEBUG_FS
David Hildenbrand (Arm) (2):
mm: fix __vm_normal_page() to handle missing support for pmd_special()/pud_special() mm/page_alloc: fix initialization of tags of the huge zero folio with init_on_free
David Howells (24):
netfs: Fix cancellation of a DIO and single read subrequests
netfs: Fix missing locking around retry adding new subreqs
netfs: Fix missing barriers when accessing stream->subrequests locklessly
netfs: Fix netfs_read_to_pagecache() to pause on subreq failure
netfs: Fix potential for tearing in ->remote_i_size and ->zero_point
netfs: Fix zeropoint update where i_size > remote_i_size
netfs: Fix overrun check in netfs_extract_user_iter()
netfs: Fix netfs_invalidate_folio() to clear dirty bit if all changes gone
netfs: Defer the emission of trace_netfs_folio()
netfs: Fix streaming write being overwritten
netfs: Fix potential deadlock in write-through mode
netfs: Fix read-gaps to remove netfs_folio from filled folio
netfs: Fix write streaming disablement if fd open O_RDWR
netfs: Fix early put of sink folio in netfs_read_gaps()
netfs: Fix leak of request in netfs_write_begin() error handling
netfs: Fix potential UAF in netfs_unlock_abandoned_read_pages()
netfs: Fix partial invalidation of streaming-write folio
netfs: Fix folio->private handling in netfs_perform_write()
netfs: Fix netfs_read_folio() to wait on writeback
netfs, afs: Fix write skipping in dir/link writepages
afs: Fix the locking used by afs_get_link()
cifs: Fix undefined variables
crypto/krb5, rxrpc: Fix lack of pre-decrypt/pre-verify length checks
rxrpc: Fix DATA decrypt vs splice() by copying data to buffer in recvmsg
Dawei Feng (3):
qed: fix double free in qed_cxt_tables_alloc()
octeontx2-pf: fix double free in rvu_rep_rsrc_init()
octeontx2-pf: avoid double free of pool->stack on AQ init failure
Deepanshu Kartikey (1):
drm/virtio: use uninterruptible resv lock for plane updates
Dmitry Baryshkov (4):
drm/msm/dsi: don't dump registers past the mapped region drm/msm/dpu: don't mix devm and drmm functions drm/msm/adreno: fix userspace-triggered crash on a2xx-a4xx drm/msm/snapshot: fix dumping of the unaligned regions
Dragos Tatulea (2):
net: napi: Avoid gro timer misfiring at end of busypoll net/mlx5e: xsk: Fix unlocked writing to ICOSQ
Eder Zulian (1):
iommu/amd: Remove latent out-of-bounds access in IOMMU debugfs
Emil Tantilov (1):
idpf: fix read_dev_clk_lock spinlock init in idpf_ptp_init()
Eric Dumazet (1):
tcp: fix stale per-CPU tcp_tw_isn leak enabling ISN prediction
Eric Naim (1):
ALSA: hda/realtek: Use ALC287_FIXUP_TXNW2781_I2C for ASUS Strix Gxx5
Erni Sri Satya Vennela (1):
net: mana: Fix TOCTOU double-fetch of hwc_msg_id from DMA buffer
Ethan Nelson-Moore (1):
net: ethernet: cs89x0: remove stale CONFIG_MACH_MX31ADS reference
Evangelos Petrongonas (1):
kho: skip KHO for crash kernel
Felix Gu (3):
phy: spacemit: Remove incorrect clk_disable() in spacemit_usb2phy_init() drm/msm/adreno: Fix a reference leak in a6xx_gpu_init()
spi: mtk-snfi: Fix resource leak in mtk_snand_read_page_cache()
Ferry Meng (1):
ksmbd: fix SID memory leak in set_posix_acl_entries_dacl() on overflow
Filipe Manana (1):
btrfs: tracepoints: fix sleep while in atomic context in btrfs_sync_file()
Florian Westphal (10):
netfilter: x_tables: allow initial table replace without emitting audit log message
netfilter: x_tables: allocate hook ops while under mutex
netfilter: x_tables: unregister the templates first
netfilter: x_tables: add and use xt_unregister_table_pre_exit
netfilter: x_tables: add and use xtables_unregister_table_exit
netfilter: ebtables: move to two-stage removal scheme
netfilter: ebtables: close dangling table module init race
netfilter: x_tables: close dangling table module init race
netfilter: bridge: eb_tables: close module init race
netfilter: nft_inner: release local_lock before re-enabling softirqs
Gabor Juhos (1):
phy: marvell: mvebu-a3700-utmi: fix incorrect USB2_PHY_CTRL register access
Gal Pressman (1):
udp: Fix UDP length on last GSO_PARTIAL segment
Gao Xiang (1):
erofs: fix managed cache race for unaligned extents
Geert Uytterhoeven (1):
arm64: dts: renesas: r8a78000: Fix SCIF brg_int clocks
Greg Kroah-Hartman (2):
sysfs: don't remove existing directory on update failure Linux 7.0.11
Grzegorz Nitka (3):
ice: restore PTP Rx timestamp config after ethtool set-channels
ice: ptp: serialize E825 PHY timer start with PTP lock
ice: ptp: use primary NAC semaphore on E825
Guanghui Feng (1):
iommu/amd: Fix illegal cap/mmio access in IOMMU debugfs
Guangshuo Li (1):
RDMA/rtrs: Fix use-after-free in path file creation cleanup
Guenter Roeck (3):
ARM: integrator: Fix early initialization
hwmon: (lm90) Stop work before releasing hwmon device
hwmon: (lm90) Add lock protection to lm90_alert
Guo Ren (Alibaba DAMO Academy) (1):
riscv: mm: Fixup no5lvl failure when vaddr is invalid
Gustavo Sousa (2):
drm/xe: Define and use MCR version of COMMON_SLICE_CHICKEN1 drm/xe: Define and use MCR version of COMMON_SLICE_CHICKEN4
Haoze Xie (1):
netfilter: nf_queue: hold bridge skb->dev while queued
Harry Wentland (3):
drm/amd/display: Fix integer overflow in bios_get_image()
drm/amd/display: Validate GPIO pin LUT table size before iterating drm/amd/display: Validate payload length and link_index in dc_process_dmub_aux_transfer_async
Heechan Kang (2):
io_uring/waitid: clear waitid info before copying it to userspace
fwctl: pds: Validate RPC input size before parsing
Henrique Carvalho (1):
smb: client: protect tc_count increment in smb2_find_smb_sess_tcon_unlocked()
Hongling Zeng (2):
fs: Fix return in jfs_mkdir and orangefs_mkdir
cachefiles: Fix error return when vfs_mkdir() fails
Huacai Chen (1):
LoongArch: Remove unused code to avoid build warning
Ido Schimmel (1):
bridge: mcast: Fix a possible use-after-free when removing a bridge port
Illia Ostapyshyn (1):
scripts/gdb: mm: cast untyped symbols in x86_page_ops
Ilya Dryomov (1):
rbd: eliminate a race in lock_dwork draining on unmap
Ivan Vecera (2):
ice: dpll: fix rclk pin state get for E810
ice: dpll: fix misplaced header macros
Jacob Keller (1):
ice: fix locking around wait_event_interruptible_locked_irq
Jakub Kicinski (11):
net: shaper: flip the polarity of the valid flag
net: shaper: fix trivial ordering issue in net_shaper_commit()
net: shaper: reject duplicate leaves in GROUP request
net: shaper: set ret to -ENOMEM when genlmsg_new() fails in group_doit
net: shaper: fix undersized reply skb allocation in GROUP command
net: shaper: enforce singleton NETDEV scope with id 0
net: shaper: reject QUEUE scope handle with missing id
net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring
net: tls: prevent chain-after-chain in plain text SG
net: shaper: annotate the data races
net: shaper: rework the VALID marking (again)
Jann Horn (2):
Bluetooth: bnep: Fix UAF read of dev->name
af_unix: Fix UAF read of tail->len in unix_stream_data_wait()Jason Gunthorpe (7):
iommupt: Directly call iommupt's unmap_range()
iommupt: Avoid rewalking during map
iommu: Fix loss of errno on map failure for classic ops
iommu: Fix up map/unmap debugging for iommupt domains
iommu: Handle unmap error when iommu_debug is enabled
iommupt: Check for missing PAGE_SIZE in the pgsize_bitmap
iommupt: Fix the end_index calculation in __map_range_leaf()
Jens Axboe (1):
io_uring/net: punt IORING_OP_BIND async if it needs file create
Jeongjun Park (1):
ASoC: codecs: pcm512x: fix null-ptr dereference in pcm512x_overclock_xxx_put()
Jeremy Erazo (1):
smb: client: use data_len for SMB2 READ encrypted folioq copy
Jeremy Laratro (2):
ksmbd: fix null pointer dereference in compare_guid_key()
ksmbd: fix null pointer dereference in proc_show_files()
Jeroen Massar (1):
net/mlx5: Do not restore destination-less TC rules
Jia Zhu (1):
erofs: fix metabuf leak in inode xattr initialization
Jiajia Liu (1):
Bluetooth: btmtk: fix urb->setup_packet leak in error paths
Jianpeng Chang (2):
kprobes: skip non-symbol addresses in kprobe_add_ksym_blacklist()
dma-mapping: move dma_map_resource() sanity check into debug code
Jiayuan Chen (1):
irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT
Jiexun Wang (1):
Bluetooth: serialize accept_q access
Johan Hovold (4):
spi: qup: fix error pointer deref after DMA setup failure
spi: ep93xx: fix error pointer deref after DMA setup failure
spi: sprd: fix error pointer deref after DMA setup failure
spi: ti-qspi: fix use-after-free after DMA setup failure
Johannes Berg (3):
wifi: iwlwifi: mvm: fix driver-set TX rates on old devices
wifi: mac80211: fix MLE defragmentation
wifi: mac80211: fix multi-link element inheritance
Johannes Thumshirn (1):
zonefs: handle integer overflow in zonefs_fname_to_fno
John Walker (1):
wifi: cfg80211: advance loop vars in cfg80211_merge_profile()
Jonas Jelonek (1):
net: pse-pd: fix sign on -ENOENT check in of_load_pse_pis()
Jose Ignacio Tornos Martinez (1):
ice: fix VF queue configuration with low MTU values
Juergen Gross (1):
x86/xen: Fix xen_e820_swap_entry_with_ram()
Julian Braha (1):
powerpc: fix dead default for GUEST_STATE_BUFFER_TEST
Julien Chauveau (1):
drm/bridge: it66121: acquire reset GPIO in probe
Junyi Liu (2):
ksmbd: validate SID in parent security descriptor during ACL inheritance
ksmbd: fix durable reconnect error path file lifetime
Junyoung Jang (1):
fs/statmount: fix slab out-of-bounds write in statmount_mnt_idmap
Justin Iurman (2):
ipv6: ioam: refresh hdr pointer before ioam6_event()
ipv6: ioam: add NULL check for idev in ipv6_hop_ioam()
Kang Yang (1):
wifi: ath10k: skip WMI and beacon transmission when device is wedged
Kees Cook (1):
gcc-plugins: Always define CONST_CAST_GIMPLE and CONST_CAST_TREE
Keith Busch (4):
nvme: fix bio leak on mapping failure
nvme-pci: fix dma_vecs leak on p2p memory
nvme-pci: fix dma mapping leak on data setup error
blk-mq: pop cached request if it is usable
Kiran K (1):
Bluetooth: btintel_pcie: Fix incorrect MAC access programming
Kohei Enju (2):
igc: fix potential skb leak in igc_fpe_xmit_smd_frame()
igc: set tx buffer type for SMD frames
Krishnamoorthi M (1):
spi: amd: Set correct bus number in ACPI probe path
Kuniyuki Iwashima (2):
tcp: Fix imbalanced icsk_accept_queue count.
tcp: Fix out-of-bounds access for twsk in tcp_ao_established_key().
Kyle Farnung (1):
wifi: ath11k: clear shared SRNG pointer state on restart
Lad Prabhakar (1):
pinctrl: renesas: rzg2l: Fix SMT register cache handling
Li Xiasong (1):
mptcp: pm: fix ADD_ADDR timer infinite retry on option space insufficient
Linus Torvalds (1):
security/keys: fix missed RCU read section on lookup
Linus Walleij (2):
net: ethernet: cortina: Make RX SKB per-port
net: ethernet: cortina: Carry over frag counter
Lorenzo Bianconi (1):
net: airoha: Disable GDM2 forwarding before configuring GDM2 loopback
Louis-Alexis Eyraud (4):
drm/mediatek: mtk_hdmi_ddc_v2: Fix non-static global variable drm/mediatek: mtk_hdmi_v2: Fix non-static global variable drm/mediatek: mtk_cec: Fix non-static global variable drm/mediatek: mtk_hdmi_ddc: Fix non-static global variable
Luiz Augusto von Dentz (1):
Bluetooth: hci_sync: Fix not setting mask for HCI_EVT_LE_ALL_REMOTE_FEATURES_COMPLETE
Luiz Capitulino (1):
selftests/mm: run_vmtests.sh: fix destructive tests invocation
Lukas Bulwahn (1):
HID: quirks: really enable the intended work around for appledisplay
Luxiao Xu (1):
batman-adv: fix tp_meter counter underflow during shutdown
Mac Chiang (2):
ASoC: sdw_utils: Add quirk to ignore RT712 CODEC_MIC
ASoC: sdw_utils: Add quirk to ignore RT721 CODEC_MIC
Maciej Strozek (2):
ASoC: intel: sof_sdw: Prepare for configuration without a jack
ASoC: sdw_utils: cs42l43: allow spk component names to be combined
Mahadevan P (1):
drm/msm/dpu: Fix Kaanapali CWB register configuration
Marcin Szycik (2):
ice: fix setting promisc mode while adding VID filter
ice: fix setting RSS VSI hash for E830
Marek Vasut (2):
ARM: dts: renesas: genmai: Drop superfluous cells
ARM: dts: renesas: rskrza1: Drop superfluous cells
Mario Limonciello (1):
ASoC: SOF: amd: Fix error code handling in psp_send_cmd()
Martin Kaiser (1):
test_kprobes: clear kprobes between test runs
Masami Hiramatsu (Google) (3):
ring-buffer: Flush and stop persistent ring buffer on panic
tracing: Do not call map->ops->elt_free() if elt_alloc() fails
fprobe: Fix unregister_fprobe() to wait for RCU grace period
Matt DeVillier (1):
ALSA: hda/ca0132: Disable auto-detect on manual output select
Matt Evans (1):
vfio/pci: Check BAR resources before exporting a DMABUF
Matt Fleming (1):
net/mlx5e: Fix use-after-free in mlx5e_tx_reporter_timeout_recover
Matt Roper (3):
drm/xe: Consolidate workaround entries for Wa_14019988906 drm/xe: Consolidate workaround entries for Wa_18033852989 drm/xe/tuning: Apply windower hardware filtering setting on Xe3 and Xe3p
Matthew Leach (1):
wifi: ath11k: fix peer resolution on rx path when peer_id=0
Matthieu Baerts (NGI0) (1):
selftests: mptcp: drop nanoseconds width specifier
Maulik Shah (2):
pinctrl: qcom: Fix GPIO to PDC wake irq map for qcs615
pinctrl: qcom: Fix wakeirq map by removing disconnected irqs for sm8150
Maíra Canal (2):
drm/v3d: Fix use-after-free of CPU job query arrays on error path drm/v3d: Release indirect CSD GEM reference on CPU job free
Michael Bommarito (14):
smb: client: require net admin for CIFS SWN netlink
Bluetooth: L2CAP: ecred_reconfigure: send packed pdu, not stack pointer
Bluetooth: MGMT: validate Add Extended Advertising Data length
net: hsr: defer node table free until after RCU readers
net: ifb: report ethtool stats over num_tx_queues
l2tp: use list_del_rcu in l2tp_session_unhash
ipv4: raw: reject IP_HDRINCL packets with ihl < 5
ixgbevf: fix use-after-free in VEPA multicast source pruning
wifi: mac80211: consume only present negotiated TTLM maps
KVM: arm64: vgic-its: Reject restored DTE with out-of-range num_eventid_bits
KVM: arm64: vgic: Free private_irqs when init fails after allocation
scsi: isci: Fix use-after-free in device removal path
RDMA/siw: Reject MPA FPDU length underflow before signed receive math
io_uring: propagate array_index_nospec opcode into req->opcode
Michael Neuling (2):
riscv: errata: Fix bitwise vs logical AND in MIPS errata patching
riscv: Fix register corruption from uninitialized cregs on error
Michal Wajdeczko (1):
drm/xe/vf: Fix signature of print functions
Mike Christie (1):
scsi: sd: Fix return code handling in sd_spinup_disk()
Mikko Perttunen (1):
drm/msm: Fix iommu_map_sgtable() return value check and avoid WARN
Ming Lei (2):
ublk: reject max_sectors smaller than PAGE_SECTORS in parameter validation
selftests: ublk: cap nthreads to kernel's actual nr_hw_queues
Mingyu Wang (1):
Bluetooth: hci_uart: fix UAFs and race conditions in close and init paths
Minh Nguyen (1):
vsock/vmci: fix UAF when peer resets connection during handshake
Miri Korenblit (1):
wifi: iwlwifi: mld: don't dereference a pointer before NULL checking it
Mohanram Meenakshisundaram (1):
drm/xe/pf: Fix CFI failure in debugfs access
Mohsin Bashir (1):
net: shaper: Reject reparenting of existing nodes
Muchun Song (2):
drivers/base/memory: fix memory block reference leak in poison accounting mm/memory_hotplug: fix memory block reference leak on remove
Myeonghun Pak (1):
net: lan966x: avoid unregistering netdev on register failure
Nan Li (1):
netfilter: ipset: stop hash:* range iteration at end
Nathan Chancellor (1):
drm/msm: Restore second parameter name in purge() and evict()
Neil Armstrong (1):
drm/msm/dpu: fix UV scanlines calculation for YUV UBWC formats
Nerijus Bendžiūnas (1):
net: phy: skip EEE advertisement write when autoneg is disabled
Nicolai Buchwitz (3):
net: bcmgenet: keep RBUF EEE/PM disabled
net: phy: honor eee_disabled_modes in phy_support_eee()
net: phy: honor eee_disabled_modes in phy_advertise_eee_all()
Nicolas Escande (2):
wifi: ath11k: fix error path leaks in some WMI WOW calls
wifi: ath11k: fix error path leak in ath11k_tm_cmd_wmi_ftm()
Nikhil P. Rao (3):
pds_core: fix error handling in pdsc_devcmd_wait
pds_core: fix debugfs_lookup dentry leak and error handling
pds_core: ensure null-termination for firmware version strings
Niklas Cassel (4):
ata: libata-scsi: improve readability of ata_scsi_qc_issue()
ata: libata-scsi: do not use the deferred QC feature for ATA_DEFER_PORT
ata: libata-scsi: do not use the deferred QC feature on PMPs with CBS
ata: libata-scsi: do not needlessly defer commands when using PMP with FBS
Nimrod Oren (1):
selftests: net: Fix checksums in xdp_native
Niranjana Vishwanathapura (1):
drm/xe/multi_queue: Fix secondary queue error case
Nitin Rawat (1):
phy: qcom-qmp-ufs: Fix kaanapali PHY PLL lock failure after SM8650 G4 fix
Oliver White (1):
platform/surface: aggregator_registry: omit battery & AC nodes on Surface Laptop 7
Or Har-Toov (1):
net/mlx5: Skip disabled vports when setting max TX speed
Osama Abdelkader (4):
riscv: kvm: return SBI_ERR_FAILURE for pmu_snapshot_set_shmem() when OOM
riscv: kvm: return SBI_ERR_FAILURE for pmu_event_info() when OOM drm/bridge: chipone-icn6211: use devm_drm_bridge_add in i2c probe drm/bridge: megachips: remove bridge when irq request fails
Pablo Neira Ayuso (1):
netfilter: nf_conntrack_expect: restore helper propagation via expectation
Pankaj Raghav (1):
fs: fix forced iversion increment on lazytime timestamp updates
Paolo Abeni (1):
mptcp: reset rcv wnd on disconnect
Paul E. McKenney (1):
srcu: Don't queue workqueue handlers to never-online CPUs
Peter Oberparleiter (1):
s390/cio: Restore GFP_DMA for CHSC allocation
Prathamesh Deshpande (1):
net/mlx5e: Fix eswitch mode block underflow on IPsec acquire SA
Qing Ming (1):
cgroup/rstat: validate cpu before css_rstat_cpu() access
Qing Wang (1):
mm/slub: hold cpus_read_lock around flush_rcu_sheaves_on_cache()
Quan Sun (1):
net: ethtool: fix NULL pointer dereference in phy_reply_size
Rafael J. Wysocki (8):
ACPI: battery: Fix system wakeup on critical battery status
ACPI: driver: Check ACPI_COMPANION() against NULL during probe
cpufreq: intel_pstate: Use correct scaling factor on Raptor Lake-E platform/x86: adv_swbutton: Check ACPI_HANDLE() against NULL platform/x86: hp_accel: Check ACPI_COMPANION() against NULL platform/x86: intel-hid: Check ACPI_HANDLE() against NULL platform/x86: intel_sar: Check ACPI_HANDLE() against NULL platform/x86: intel-vbtn: Check ACPI_HANDLE() against NULL
Ralf Lici (1):
ovpn: disable BHs when updating device stats
Randy Dunlap (1):
riscv: Docs: fix unmatched quote warning
Ratheesh Kannoth (1):
octeontx2-af: npc: Fix allmulticast skip logic for LBK and SDP VFs
Ricardo Neri (1):
Documentation: intel_pstate: Fix description of asymmetric packing with SMT
Richard Fitzgerald (3):
ASoC: cs35l56: Fix flushing of IRQ work in cs35l56_sdw_remove()
ASoC: cs-amp-lib: Fix wrong sizeof() in _cs_amp_set_efi_calibration_data()
ASoC: cs-amp-lib: Fix missing dput() after debugfs_lookup()
Rob Clark (1):
drm/msm/a6xx: Restore sysprof_active
Robertus Diawan Chris (2):
ALSA: scarlett2: Add missing error check when initialise Autogain Status
ASoC: soc-utils: Add missing va_end in snd_soc_ret()
Rosen Penev (2):
irqchip/ath79-cpu: Remove unused function
net: ag71xx: check error for platform_get_irq
Ruide Cao (1):
batman-adv: fix fragment reassembly length accounting
Ruijie Li (1):
batman-adv: clear current gateway during teardown
Sabrina Dubroca (1):
net: gro: don't merge zcopy skbs
Safa Karakuş (1):
Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del()
Sam Daly (1):
octeontx2-af: CGX: add bounds check to cgx_speed_mbps index
Samuele Mariotti (1):
sched_ext: Fix missing warning in scx_set_task_state() default case
Saurav Sachidanand (1):
i2c: tegra: fix pm_runtime leak on mutex_lock failure
Sayali Patil (1):
powerpc/time: Remove redundant preempt_disable|enable() calls from arch_irq_work_raise()
SeongJae Park (2):
mm/damon/sysfs-schemes: call missing mem_cgroup_iter_break() mm/damon: fix damos_stat tracepoint format for sz_applied
Shardul Bankar (1):
mptcp: do not drop partial packets
Sheroz Juraev (1):
wifi: iwlwifi: mld: stop TX during firmware restart
Shiraz Saleem (1):
RDMA/mana_ib: Report max_msg_sz in mana_ib_query_port
Shitalkumar Gandhi (2):
net: ti: icssm-prueth: fix eth_ports_node leak in probe
wifi: wilc1000: fix dma_buffer leak on bus acquire failure
Shuai Zhang (1):
Bluetooth: hci_qca: Convert timeout from jiffies to ms
Shuhao Fu (2):
ALSA: hda: cs35l56: Put ACPI device after setting companion
ALSA: hda: cs35l41: Put ACPI device on missing physical node
Shuicheng Lin (2):
drm/xe/gsc: Fix double-free of managed BO in error path drm/xe/oa: Fix exec_queue leak on width check in stream open
Stefano Garzarella (2):
vsock/virtio: reset connection on receiving queue overflow vsock/virtio: fix zerocopy completion for multi-skb sends
Stephen Smalley (1):
lsm: hold cred_guard_mutex for lsm_set_self_attr()
Steven Rostedt (1):
ring-buffer: Fix reporting of missed events in iterator
Sudeep Holla (10):
firmware: arm_ffa: Check for NULL FF-A ID table while driver registration
firmware: arm_ffa: Skip free_pages on RX buffer alloc failure
firmware: arm_ffa: Fix per-vcpu self notifications handling in workqueue
firmware: arm_ffa: Unregister bus notifier on teardown for FF-A v1.0
firmware: arm_ffa: Bound PARTITION_INFO_GET_REGS copies
firmware: arm_ffa: Keep framework RX release under lock
firmware: arm_ffa: Validate framework notification message layout
firmware: arm_ffa: Align RxTx buffer size before mapping
firmware: arm_ffa: Snapshot notifier callbacks under lock
firmware: arm_ffa: Fix sched-recv callback partition lookup
Sungwoo Kim (1):
block: bio-integrity: Fix null-ptr-deref in bio_integrity_map_user()
Sunny Patel (1):
mm/migrate_device: fix spinlock leak in migrate_vma_insert_huge_pmd_page
Sven Eckelmann (21):
batman-adv: v: stop OGMv2 on disabled interface
batman-adv: tvlv: abort OGM send on tvlv append failure
batman-adv: tvlv: reject oversized TVLV packets
batman-adv: iv: recover OGM scheduling after forward packet error
batman-adv: mcast: fix use-after-free in orig_node RCU release
batman-adv: dat: handle forward allocation error
batman-adv: frag: disallow unicast fragment in fragment
batman-adv: bla: fix report_work leak on backbone_gw purge
batman-adv: bla: avoid double decrement of bla.num_requests
batman-adv: bla: avoid NULL-ptr deref for claim via dropped interface
batman-adv: tp_meter: avoid use of uninit sender vars
batman-adv: tp_meter: directly shut down timer on cleanup
batman-adv: tp_meter: fix tp_vars reference leak in receiver shutdown
batman-adv: tp_meter: fix race condition in send error reporting
batman-adv: tp_meter: avoid role confusion in tp_list
batman-adv: tt: fix TOCTOU race for reported vlans
batman-adv: tt: reject oversized local TVLV buffers
batman-adv: tt: avoid empty VLAN responses
batman-adv: tt: fix negative last_changeset_len
batman-adv: tt: fix negative tt_buff_len
batman-adv: tt: prevent TVLV entry number overflow
Sven Schuchmann (1):
net: phy: DP83TC811: add reading of abilities
Takashi Iwai (3):
ALSA: pcm: Don't setup bogus iov_iter for silencing
ALSA: asihpi: Fix potential OOB array access at reading cache
HID: uclogic: Fix regression of input name assignment
Tejun Heo (1):
sched_ext: Avoid UAF in scx_root_enable_workfn() init failure path
Thomas Richter (2):
s390/pai: Disable duplicate read of kernel PAI counter value s390/pai: Fix missing PAI counter increments under heavy load
Tiezhu Yang (2):
LoongArch: kprobes: Use larch_insn_text_copy() to patch instructions
LoongArch: kprobes: Fix handling of fatal unrecoverable recursions
Til Kaiser (1):
pinctrl: qcom: ipq4019: mark gpio as a GPIO pin function
Timur Kristóf (3):
drm/amdgpu: Align amdgpu_gtt_mgr entries to TLB size on Tahiti (v2) drm/amdgpu/vce1: Check that the GPU address is < 128 MiB drm/amdgpu/vce1: Fix VCE 1 firmware size and offsets
Tina Zhang (1):
KVM: SVM: Disable AVIC IPI virtualization on Hygon Family 18h (erratum #1235)
Tom Lendacky (1):
x86/mm: Disable broadcast TLB flush when PCID is disabled
Utkal Singh (1):
erofs: harden h_shared_count in erofs_init_inode_xattrs()
Viacheslav Dubeyko (1):
netfs: fix VM_BUG_ON_FOLIO() issue in netfs_write_begin() call
Viktor Jägersküpper (1):
kbuild: pacman-pkg: make "rc" releases adhere to pacman versioning scheme
Vladimir Murzin (1):
arm64: probes: Handle probes on hinted conditional branch instructions
Wayne Chang (1):
phy: tegra: xusb: Fix per-pad high-speed termination calibration
Wei Fang (1):
net: enetc: fix missing error code when pf->vf_state allocation fails
Weiming Shi (1):
tap: fix stack info leak in tap_ioctl() SIOCGIFHWADDR
Werner Sembach (1):
Documentation: laptops: Update documentation for uniwill laptops
Xiang Mei (2):
net/smc: avoid NULL deref of conn->lnk in smc_msg_event tracepoint net/smc: reject CHID-0 ACCEPT that matches an empty ism_dev slot
Xiangxu Yin (1):
phy: qcom: qmp-usbc: Fix out-of-bounds array access in dp swing config
Xianwei Zhao (1):
pinctrl: meson: amlogic-a4: fix deadlock issue
Xingwang Xiang (1):
bpf, skmsg: fix verdict sk_data_ready racing with ktls rx
Yizhou Zhao (1):
netfilter: nft_inner: Fix IPv6 inner_thoff desync
Yongxing Mou (3):
phy: qcom: edp: Unify generic DP/eDP swing and pre-emphasis tables
phy: qcom: edp: Add eDP/DP mode switch support
phy: qcom: edp: Fix AUX_CFG8 programming for DP mode
Zack McKevitt (1):
accel/qaic: Add overflow check to remap_pfn_range during mmap
Zhang Cen (1):
ALSA: seq: Serialize UMP output teardown with event_input
Zhao Li (1):
wifi: mac80211: capture fast-RX rate before mesh reuses skb->cb
Zhengchuan Liang (1):
netfilter: ip6t_hbh: reject oversized option lists
Zhi Li (4):
net: stmmac: eswin: fix HSP CSR init ordering after clock enable
net: stmmac: eswin: clear TXD and RXD delay registers during initialization
net: stmmac: eswin: correct RGMII delay granularity to 20 ps
net: stmmac: eswin: validate RGMII delay values
Zhihao Cheng (2):
cifs: Fix busy dentry used after unmounting
nsfs: fix wrong error code returned for pidns ioctls
Zijing Yin (1):
phonet/pep: disable BH around forwarded sk_receive_skb()
Łukasz Lebiedziński (1):
phy: exynos5-usbdrd: fix USB 2.0 HS PHY tuning values for Exynos7870
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-driver-uniwill-laptop +27 -0
@@ -51,3 +51,30 @@ Description: Reading this file returns the current status of the breathing animation functionality. + +What: /sys/bus/platform/devices/INOU0000:XX/ctgp_offset +Date: January 2026 +KernelVersion: 7.0 +Contact: Werner Sembach <[email protected]> +Description: + Allows userspace applications to set the configurable TGP offset on top of the base + TGP. Base TGP and max TGP and therefore the max cTGP offset are device specific. + Note that setting the maximum cTGP leaves no window open for Dynamic Boost as + Dynamic Boost also can not go over max TGP. Setting the cTGP to maximum is + effectively disabling Dynamic Boost and telling the device to always prioritize the + GPU over the CPU. + + Reading this file returns the current configurable TGP offset. + +What: /sys/bus/platform/devices/INOU0000:XX/usb_c_power_priority +Date: February 2026 +KernelVersion: 7.1 +Contact: Werner Sembach <[email protected]> +Description: + Allows userspace applications to choose the USB-C power distribution profile between + one that offers a bigger share of the power to the battery and one that offers more + of it to the CPU. Writing "charging"/"performance" into this file selects the + respective profile. + + Reading this file returns the profile names with the currently active one in + brackets.
Documentation/admin-guide/laptops/uniwill-laptop.rst +22 -0
@@ -43,6 +43,11 @@ Support for changing the platform performance mode is currently not implemented. Battery Charging Control ------------------------ +.. warning:: Some devices do not properly implement the charging threshold interface. Forcing + the driver to enable access to said interface on such devices might damage the + battery [1]_. Because of this the driver will not enable said feature even when + using the ``force`` module parameter. + The ``uniwill-laptop`` driver supports controlling the battery charge limit. This happens over the standard ``charge_control_end_threshold`` power supply sysfs attribute. All values between 1 and 100 percent are supported.
@@ -50,6 +55,10 @@ between 1 and 100 percent are supported. Additionally the driver signals the presence of battery charging issues through the standard ``health`` power supply sysfs attribute. +It also lets you set whether a USB-C power source should prioritise charging the battery or +delivering immediate power to the cpu. See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for +details. + Lightbar --------
@@ -58,3 +67,16 @@ LED class device. The default name of this LED class device is ``uniwill:multico See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details on how to control the various animation modes of the lightbar. + +Configurable TGP +---------------- + +The ``uniwill-laptop`` driver allows to set the configurable TGP for devices with NVIDIA GPUs that +allow it. + +See Documentation/ABI/testing/sysfs-driver-uniwill-laptop for details. + +References +========== + +.. [1] https://www.reddit.com/r/XMG_gg/comments/ld9yyf/battery_limit_hidden_function_discovered_on/
Documentation/admin-guide/pm/intel_pstate.rst +6 -5
@@ -355,11 +355,12 @@ HyperThreading (HT) in the context of Intel processors, is enabled on at least one core, ``intel_pstate`` assigns performance-based priorities to CPUs. Namely, the priority of a given CPU reflects its highest HWP performance level which causes the CPU scheduler to generally prefer more performant CPUs, so the less -performant CPUs are used when the other ones are fully loaded. However, SMT -siblings (that is, logical CPUs sharing one physical core) are treated in a -special way such that if one of them is in use, the effective priority of the -other ones is lowered below the priorities of the CPUs located in the other -physical cores. +performant CPUs are used when the other ones are fully loaded. SMT siblings +(that is, logical CPUs sharing one physical core) are given the same priority. +The scheduler can pull tasks from lower-priority cores and place them on any +sibling. Since the scheduler spreads tasks among physical cores, tasks will be +placed on the SMT siblings of physical cores only after all physical cores are +busy. This approach maximizes performance in the majority of cases, but unfortunately it also leads to excessive energy usage in some important scenarios, like video
Documentation/arch/riscv/zicfilp.rst +1 -1
@@ -78,7 +78,7 @@ the program. Per-task indirect branch tracking state can be monitored and controlled via the :c:macro:`PR_GET_CFI` and :c:macro:`PR_SET_CFI` -``prctl()` arguments (respectively), by supplying +``prctl()`` arguments (respectively), by supplying :c:macro:`PR_CFI_BRANCH_LANDING_PADS` as the second argument. These are architecture-agnostic, and will return -EINVAL if the underlying functionality is not supported.
Documentation/crypto/krb5.rst +13 -4
@@ -158,13 +158,22 @@ returned. When a message has been received, the location and size of the data with the message can be determined by calling:: - void crypto_krb5_where_is_the_data(const struct krb5_enctype *krb5, - enum krb5_crypto_mode mode, - size_t *_offset, size_t *_len); + int crypto_krb5_where_is_the_data(const struct krb5_enctype *krb5, + enum krb5_crypto_mode mode, + size_t *_offset, size_t *_len); The caller provides the offset and length of the message to the function, which then alters those values to indicate the region containing the data (plus any -padding). It is up to the caller to determine how much padding there is. +padding). It is up to the caller to determine how much padding there is. The +function returns an error if the length is too small or if the mode is +unsupported. An additional function:: + + int crypto_krb5_check_data_len(const struct krb5_enctype *krb5, + enum krb5_crypto_mode mode, + size_t len, size_t min_content); + +is provided to just do a basic check that the decrypted/verified message would +have a sufficient minimum payload. Preparation Functions ---------------------
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 7 PATCHLEVEL = 0 -SUBLEVEL = 10 +SUBLEVEL = 11 EXTRAVERSION = NAME = Baby Opossum Posse
arch/alpha/include/asm/Kbuild +1 -0
@@ -5,4 +5,5 @@ generic-y += agp.h generic-y += asm-offsets.h generic-y += kvm_para.h generic-y += mcs_spinlock.h +generic-y += ring_buffer.h generic-y += text-patching.h
arch/arc/include/asm/Kbuild +1 -0
@@ -5,5 +5,6 @@ generic-y += extable.h generic-y += kvm_para.h generic-y += mcs_spinlock.h generic-y += parport.h +generic-y += ring_buffer.h generic-y += user.h generic-y += text-patching.h
arch/arm/boot/dts/renesas/r7s72100-genmai.dts +0 -3
@@ -34,9 +34,6 @@ flash@18000000 { clocks = <&mstp9_clks R7S72100_CLK_SPIBSC0>; power-domains = <&cpg_clocks>; - #address-cells = <1>; - #size-cells = <1>; - partitions { compatible = "fixed-partitions"; #address-cells = <1>;
arch/arm/boot/dts/renesas/r7s72100-rskrza1.dts +0 -2
@@ -36,8 +36,6 @@ flash@18000000 { power-domains = <&cpg_clocks>; bank-width = <4>; device-width = <1>; - #address-cells = <1>; - #size-cells = <1>; partitions { compatible = "fixed-partitions";
arch/arm/include/asm/Kbuild +1 -0
@@ -3,6 +3,7 @@ generic-y += early_ioremap.h generic-y += extable.h generic-y += flat.h generic-y += parport.h +generic-y += ring_buffer.h generated-y += mach-types.h generated-y += unistd-nr.h
arch/arm/mach-versatile/integrator_cp.c +4 -9
@@ -86,14 +86,6 @@ static u64 notrace intcp_read_sched_clock(void)return val; } -static void __init intcp_init_early (void ) -{ - cm_map =syscon_regmap_lookup_by_compatible ("arm,core-module-integrator" ); -if (IS_ERR (cm_map)) -return ; -sched_clock_register (intcp_read_sched_clock,32 ,24000000 ); -} -static void __init intcp_init_irq_of (void ) {cm_init ();
@@ -119,6 +111,10 @@ static void __init intcp_init_of(void) {struct device_node *cpcon; + cm_map =syscon_regmap_lookup_by_compatible ("arm,core-module-integrator" ); +if (!IS_ERR (cm_map)) +sched_clock_register (intcp_read_sched_clock,32 ,24000000 ); + cpcon =of_find_matching_node (NULL , intcp_syscon_match);if (!cpcon)return ;
@@ -138,7 +134,6 @@ static const char * intcp_dt_board_compat[] = {DT_MACHINE_START (INTEGRATOR_CP_DT ,"ARM Integrator/CP (Device Tree)" ) .reserve = integrator_reserve, .map_io = intcp_map_io, - .init_early = intcp_init_early, .init_irq = intcp_init_irq_of, .init_machine = intcp_init_of, .dt_compat = intcp_dt_board_compat,
arch/arm64/boot/dts/renesas/r8a78000.dtsi +4 -4
@@ -699,7 +699,7 @@ scif0: serial@c0700000 { "renesas,rcar-gen5-scif", "renesas,scif"; reg = <0 0xc0700000 0 0x40>; interrupts = <GIC_ESPI 10 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>; + clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd4>, <&scif_clk>; clock-names = "fck", "brg_int", "scif_clk"; status = "disabled"; };
@@ -709,7 +709,7 @@ scif1: serial@c0704000 { "renesas,rcar-gen5-scif", "renesas,scif"; reg = <0 0xc0704000 0 0x40>; interrupts = <GIC_ESPI 11 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>; + clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd4>, <&scif_clk>; clock-names = "fck", "brg_int", "scif_clk"; status = "disabled"; };
@@ -719,7 +719,7 @@ scif3: serial@c0708000 { "renesas,rcar-gen5-scif", "renesas,scif"; reg = <0 0xc0708000 0 0x40>; interrupts = <GIC_ESPI 12 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>; + clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd4>, <&scif_clk>; clock-names = "fck", "brg_int", "scif_clk"; status = "disabled"; };
@@ -729,7 +729,7 @@ scif4: serial@c070c000 { "renesas,rcar-gen5-scif", "renesas,scif"; reg = <0 0xc070c000 0 0x40>; interrupts = <GIC_ESPI 13 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd16>, <&scif_clk>; + clocks = <&dummy_clk_sgasyncd16>, <&dummy_clk_sgasyncd4>, <&scif_clk>; clock-names = "fck", "brg_int", "scif_clk"; status = "disabled"; };
arch/arm64/include/asm/insn.h +1 -1
@@ -409,7 +409,7 @@ __AARCH64_INSN_FUNCS(cbz, 0x7F000000, 0x34000000) __AARCH64_INSN_FUNCS(cbnz, 0x7F000000, 0x35000000) __AARCH64_INSN_FUNCS(tbz, 0x7F000000, 0x36000000) __AARCH64_INSN_FUNCS(tbnz, 0x7F000000, 0x37000000) -__AARCH64_INSN_FUNCS(bcond, 0xFF000010, 0x54000000) +__AARCH64_INSN_FUNCS(bcond, 0xFF000000, 0x54000000) __AARCH64_INSN_FUNCS(svc, 0xFFE0001F, 0xD4000001) __AARCH64_INSN_FUNCS(hvc, 0xFFE0001F, 0xD4000002)__AARCH64_INSN_FUNCS (smc,0xFFE0001F ,0xD4000003 )
arch/arm64/include/asm/page.h +1 -1
@@ -33,7 +33,7 @@ struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma, unsigned long vaddr);#define vma_alloc_zeroed_movable_folio vma_alloc_zeroed_movable_folio -bool tag_clear_highpages (struct page *to,int numpages); +bool tag_clear_highpages (struct page *to,int numpages,bool clear_pages);#define __HAVE_ARCH_TAG_CLEAR_HIGHPAGES#define copy_user_page (to, from, vaddr, pg) copy_page(to, from)
arch/arm64/include/asm/ring_buffer.h new file +10 -0
@@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef _ASM_ARM64_RING_BUFFER_H +#define _ASM_ARM64_RING_BUFFER_H + +#include <asm/cacheflush.h> + +/* Flush D-cache on persistent ring buffer */ +#define arch_ring_buffer_flush_range (start, end) dcache_clean_pop(start, end) + +#endif /* _ASM_ARM64_RING_BUFFER_H */
arch/arm64/kvm/arm.c +3 -1
@@ -540,8 +540,10 @@ int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)kvm_destroy_mpidr_data (vcpu->kvm); err =kvm_vgic_vcpu_init (vcpu); -if (err) +if (err) { +kvm_vgic_vcpu_destroy (vcpu);return err; + } err =kvm_share_hyp (vcpu, vcpu +1 );if (err)
arch/arm64/kvm/vgic/vgic-its.c +4 -0
@@ -2307,6 +2307,10 @@ static int vgic_its_restore_dte(struct vgic_its *its, u32 id,/* dte entry is valid */ offset = (entry &KVM_ITS_DTE_NEXT_MASK ) >>KVM_ITS_DTE_NEXT_SHIFT ; +/* Mimic the MAPD behaviour and reject invalid EID bits. */ +if (num_eventid_bits >VITS_TYPER_IDBITS ) +return -EINVAL ; +if (!vgic_its_check_id (its, baser, id,NULL ))return -EINVAL ;
arch/arm64/mm/fault.c +7 -4
@@ -971,7 +971,7 @@ struct folio *vma_alloc_zeroed_movable_folio(struct vm_area_struct *vma,return vma_alloc_folio (flags,0 , vma, vaddr); } -bool tag_clear_highpages (struct page *page,int numpages) +bool tag_clear_highpages (struct page *page,int numpages,bool clear_pages) {/* * Check if MTE is supported and fall back to clear_highpage().
@@ -979,13 +979,16 @@ bool tag_clear_highpages(struct page *page, int numpages)* post_alloc_hook() will invoke tag_clear_highpages(). */ if (!system_supports_mte ()) -return false; +return clear_pages;/* Newly allocated pages, shouldn't have been tagged yet */ for (int i =0 ; i < numpages; i++, page++) {WARN_ON_ONCE (!try_page_mte_tagging (page)); -mte_zero_clear_page_tags (page_address (page)); +if (clear_pages) +mte_zero_clear_page_tags (page_address (page)); +else +mte_clear_page_tags (page_address (page));set_page_mte_tagged (page); } -return true; +return false; }
arch/csky/include/asm/Kbuild +1 -0
@@ -9,6 +9,7 @@ generic-y += qrwlock.h generic-y += qrwlock_types.h generic-y += qspinlock.h generic-y += parport.h +generic-y += ring_buffer.h generic-y += user.h generic-y += vmlinux.lds.h generic-y += text-patching.h
arch/hexagon/include/asm/Kbuild +1 -0
@@ -5,4 +5,5 @@ generic-y += extable.h generic-y += iomap.h generic-y += kvm_para.h generic-y += mcs_spinlock.h +generic-y += ring_buffer.h generic-y += text-patching.h
arch/loongarch/include/asm/Kbuild +1 -0
@@ -10,5 +10,6 @@ generic-y += qrwlock.h generic-y += user.h generic-y += ioctl.h generic-y += mmzone.h +generic-y += ring_buffer.h generic-y += statfs.h generic-y += text-patching.h
arch/loongarch/kernel/kprobes.c +8 -6
@@ -60,16 +60,18 @@ NOKPROBE_SYMBOL(arch_prepare_kprobe);/* Install breakpoint in text */ void arch_arm_kprobe (struct kprobe *p) { - *p->addr =KPROBE_BP_INSN ; -flush_insn_slot (p); +u32 insn =KPROBE_BP_INSN ; + +larch_insn_text_copy (p->addr, &insn,LOONGARCH_INSN_SIZE ); }NOKPROBE_SYMBOL (arch_arm_kprobe);/* Remove breakpoint from text */ void arch_disarm_kprobe (struct kprobe *p) { - *p->addr = p->opcode; -flush_insn_slot (p); +u32 insn = p->opcode; + +larch_insn_text_copy (p->addr, &insn,LOONGARCH_INSN_SIZE ); }NOKPROBE_SYMBOL (arch_disarm_kprobe);
@@ -184,16 +186,16 @@ static bool reenter_kprobe(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb) {switch (kcb->kprobe_status) { -case KPROBE_HIT_SS :case KPROBE_HIT_SSDONE :case KPROBE_HIT_ACTIVE :kprobes_inc_nmissed_count (p);setup_singlestep (p, regs, kcb,1 );break ; +case KPROBE_HIT_SS :case KPROBE_REENTER :pr_warn ("Failed to recover from reentered kprobes.\n" );dump_kprobe (p); -WARN_ON_ONCE (1 ); +BUG ();break ;default :WARN_ON (1 );
arch/loongarch/mm/init.c +0 -4
@@ -93,11 +93,7 @@ void arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap) {unsigned long start_pfn = start >>PAGE_SHIFT ;unsigned long nr_pages = size >>PAGE_SHIFT ; -struct page *page =pfn_to_page (start_pfn); -/* With altmap the first mapped page is offset from @start */ -if (altmap) - page +=vmem_altmap_offset (altmap);__remove_pages (start_pfn, nr_pages, altmap); }#endif
arch/m68k/include/asm/Kbuild +1 -0
@@ -3,5 +3,6 @@ generated-y += syscall_table.h generic-y += extable.h generic-y += kvm_para.h generic-y += mcs_spinlock.h +generic-y += ring_buffer.h generic-y += spinlock.h generic-y += text-patching.h
arch/microblaze/include/asm/Kbuild +1 -0
@@ -5,6 +5,7 @@ generic-y += extable.h generic-y += kvm_para.h generic-y += mcs_spinlock.h generic-y += parport.h +generic-y += ring_buffer.h generic-y += syscalls.h generic-y += tlb.h generic-y += user.h
arch/mips/include/asm/Kbuild +1 -0
@@ -12,5 +12,6 @@ generic-y += mcs_spinlock.h generic-y += parport.h generic-y += qrwlock.h generic-y += qspinlock.h +generic-y += ring_buffer.h generic-y += user.h generic-y += text-patching.h
arch/nios2/include/asm/Kbuild +1 -0
@@ -5,6 +5,7 @@ generic-y += cmpxchg.h generic-y += extable.h generic-y += kvm_para.h generic-y += mcs_spinlock.h +generic-y += ring_buffer.h generic-y += spinlock.h generic-y += user.h generic-y += text-patching.h
arch/openrisc/include/asm/Kbuild +1 -0
@@ -8,4 +8,5 @@ generic-y += spinlock_types.h generic-y += spinlock.h generic-y += qrwlock_types.h generic-y += qrwlock.h +generic-y += ring_buffer.h generic-y += user.h
arch/parisc/include/asm/Kbuild +1 -0
@@ -4,4 +4,5 @@ generated-y += syscall_table_64.h generic-y += agp.h generic-y += kvm_para.h generic-y += mcs_spinlock.h +generic-y += ring_buffer.h generic-y += user.h
arch/powerpc/Kconfig.debug +1 -2
@@ -83,11 +83,10 @@ config MSI_BITMAP_SELFTEST depends on DEBUG_KERNEL config GUEST_STATE_BUFFER_TEST - def_tristate n + def_tristate KUNIT_ALL_TESTS prompt "Enable Guest State Buffer unit tests" depends on KUNIT depends on KVM_BOOK3S_HV_POSSIBLE - default KUNIT_ALL_TESTS help The Guest State Buffer is a data format specified in the PAPR. It is by hcalls to communicate the state of L2 guests between
arch/powerpc/include/asm/Kbuild +1 -0
@@ -5,4 +5,5 @@ generated-y += syscall_table_spu.h generic-y += agp.h generic-y += mcs_spinlock.h generic-y += qrwlock.h +generic-y += ring_buffer.h generic-y += early_ioremap.h
arch/powerpc/kernel/time.c +4 -2
@@ -458,6 +458,10 @@ DEFINE_PER_CPU(u8, irq_work_pending);#endif /* 32 vs 64 bit */ +/* +* Must be called with preemption disabled since it updates +* per-CPU irq_work state and programs the local CPU decrementer. +*/ void arch_irq_work_raise (void ) {/*
@@ -471,10 +475,8 @@ void arch_irq_work_raise(void)* which could get tangled up if we're messing with the same state * here. */ -preempt_disable ();set_irq_work_pending_flag ();set_dec (1 ); -preempt_enable (); }static void set_dec_or_work (u64 val)
arch/powerpc/perf/hv-gpci.c +16 -8
@@ -210,7 +210,7 @@ static ssize_t processor_bus_topology_show(struct device *dev, struct device_att 0, 0, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out;
@@ -244,12 +244,14 @@ static ssize_t processor_bus_topology_show(struct device *dev, struct device_att starting_index, 0, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out; } +out_success: +put_cpu_var (hv_gpci_reqb);return n; out:
@@ -278,7 +280,7 @@ static ssize_t processor_config_show(struct device *dev, struct device_attribute 0, 0, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out;
@@ -312,12 +314,14 @@ static ssize_t processor_config_show(struct device *dev, struct device_attribute starting_index, 0, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out; } +out_success: +put_cpu_var (hv_gpci_reqb);return n; out:
@@ -346,7 +350,7 @@ static ssize_t affinity_domain_via_virtual_processor_show(struct device *dev, 0, 0, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out;
@@ -382,12 +386,14 @@ static ssize_t affinity_domain_via_virtual_processor_show(struct device *dev, starting_index, secondary_index, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out; } +out_success: +put_cpu_var (hv_gpci_reqb);return n; out:
@@ -416,7 +422,7 @@ static ssize_t affinity_domain_via_domain_show(struct device *dev, struct device 0, 0, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out;
@@ -448,12 +454,14 @@ static ssize_t affinity_domain_via_domain_show(struct device *dev, struct device starting_index, 0, buf, &n, arg);if (!ret) -return n; + goto out_success;if (ret !=H_PARAMETER ) goto out; } +out_success: +put_cpu_var (hv_gpci_reqb);return n; out:
arch/powerpc/platforms/82xx/km82xx.c +2 -2
@@ -27,8 +27,8 @@static void __init km82xx_pic_init (void ) { - struct device_node *np __free(device_node); - np =of_find_compatible_node (NULL ,NULL ,"fsl,pq2-pic" ); + struct device_node *np __free(device_node) = of_find_compatible_node(NULL, +NULL ,"fsl,pq2-pic" );if (!np) {pr_err ("PIC init: can not find cpm-pic node\n" );
arch/riscv/errata/mips/errata.c +1 -1
@@ -57,7 +57,7 @@ void mips_errata_patch_func(struct alt_entry *begin, struct alt_entry *end, } tmp = (1U << alt->patch_id); -if (cpu_req_errata && tmp) { +if (cpu_req_errata & tmp) {mutex_lock (&text_mutex);patch_text_nosync (ALT_OLD_PTR (alt),ALT_ALT_PTR (alt), alt->alt_len);
arch/riscv/include/asm/Kbuild +1 -0
@@ -14,5 +14,6 @@ generic-y += ticket_spinlock.h generic-y += qrwlock.h generic-y += qrwlock_types.h generic-y += qspinlock.h +generic-y += ring_buffer.h generic-y += user.h generic-y += vmlinux.lds.h
arch/riscv/kernel/compat_signal.c +2 -0
@@ -107,6 +107,8 @@ static long compat_restore_sigcontext(struct pt_regs *regs,/* sc_regs is structured the same as the start of pt_regs */ err =__copy_from_user (&cregs, &sc->sc_regs,sizeof (sc->sc_regs)); +if (unlikely (err)) +return err;cregs_to_regs (&cregs, regs);
arch/riscv/kernel/ptrace.c +2 -2
@@ -577,8 +577,8 @@ static int compat_riscv_gpr_set(struct task_struct *target,struct compat_user_regs_struct cregs; ret =user_regset_copyin (&pos, &count, &kbuf, &ubuf, &cregs,0 ,-1 ); - -cregs_to_regs (&cregs,task_pt_regs (target)); +if (!ret) +cregs_to_regs (&cregs,task_pt_regs (target));return ret; }
arch/riscv/kvm/vcpu_pmu.c +8 -4
@@ -435,8 +435,10 @@ int kvm_riscv_vcpu_pmu_snapshot_set_shmem(struct kvm_vcpu *vcpu, unsigned long s } kvpmu->sdata =kzalloc (snapshot_area_size,GFP_ATOMIC ); -if (!kvpmu->sdata) -return -ENOMEM ; +if (!kvpmu->sdata) { + sbiret =SBI_ERR_FAILURE ; + goto out; + }/* No need to check writable slot explicitly as kvm_vcpu_write_guest does it internally */ if (kvm_vcpu_write_guest (vcpu, saddr, kvpmu->sdata, snapshot_area_size)) {
@@ -480,8 +482,10 @@ int kvm_riscv_vcpu_pmu_event_info(struct kvm_vcpu *vcpu, unsigned long saddr_low } einfo =kzalloc (shmem_size,GFP_KERNEL ); -if (!einfo) -return -ENOMEM ; +if (!einfo) { + ret =SBI_ERR_FAILURE ; + goto out; + } ret =kvm_vcpu_read_guest (vcpu, shmem, einfo, shmem_size);if (ret) {
arch/riscv/mm/init.c +25 -0
@@ -846,6 +846,27 @@ static void __init set_mmap_rnd_bits_max(void) mmap_rnd_bits_max =MMAP_VA_BITS -PAGE_SHIFT -3 ; } +static bool __init is_vaddr_valid (unsigned long va) +{ +unsigned long up =0 ; + +switch (satp_mode) { +case SATP_MODE_39 : + up =1UL <<38 ; +break ; +case SATP_MODE_48 : + up =1UL <<47 ; +break ; +case SATP_MODE_57 : + up =1UL <<56 ; +break ; +default : +return false; + } + +return (va < up) || (va >= (ULONG_MAX - up +1 )); +} +/* * There is a simple way to determine if 4-level is supported by the * underlying hardware: establish 1:1 mapping in 4-level page table mode
@@ -887,6 +908,9 @@ static __init void set_satp_mode(uintptr_t dtb_pa) set_satp_mode_pmd +PMD_SIZE , PMD_SIZE, PAGE_KERNEL_EXEC); retry: +if (!is_vaddr_valid (set_satp_mode_pmd)) + goto out; + create_pgd_mapping(early_pg_dir, set_satp_mode_pmd, pgtable_l5_enabled ?
@@ -909,6 +933,7 @@ static __init void set_satp_mode(uintptr_t dtb_pa)disable_pgtable_l4 (); } +out:memset (early_pg_dir,0 ,PAGE_SIZE );memset (early_p4d,0 ,PAGE_SIZE );memset (early_pud,0 ,PAGE_SIZE );
arch/s390/include/asm/Kbuild +1 -0
@@ -7,3 +7,4 @@ generated-y += unistd_nr.h generic-y += asm-offsets.h generic-y += mcs_spinlock.h generic-y += mmzone.h +generic-y += ring_buffer.h
arch/s390/kernel/perf_pai.c +21 -10
@@ -186,6 +186,13 @@ static u64 pai_getctr(unsigned long *page, int nr, unsigned long offset)return page[nr]; } +static void pai_setctr (unsigned long *page,int nr,unsigned long offset,u64 v) +{ +if (offset) + nr += offset /sizeof (*page); + page[nr] = v; +} +/* Read the counter values. Return value from location in CMP. For base * event xxx_ALL sum up all events. Returns counter value. */
@@ -551,6 +558,8 @@ static void paicrypt_del(struct perf_event *event, int flags)/* Create raw data and save it in buffer. Calculate the delta for each * counter between this invocation and the last invocation. * Returns number of bytes copied. +* After reading from PAI counter page, save the read value to the old +* page to calculate PAI counter deltas. * Saves only entries with positive counter difference of the form * 2 bytes: Number of counter * 8 bytes: Value of counter
@@ -562,16 +571,22 @@ static size_t pai_copy(struct pai_userdata *userdata, unsigned long *page,int i, outidx =0 ;for (i =1 ; i <= pp->num_avail; i++) { -u64 val =0 , val_old =0 ; +u64 val =0 , val_old =0 , val_k =0 , val_old_k =0 ;if (!exclude_kernel) { - val +=pai_getctr (page, i, pp->kernel_offset); - val_old +=pai_getctr (page_old, i, pp->kernel_offset); + val_k =pai_getctr (page, i, pp->kernel_offset); + val_old_k =pai_getctr (page_old, i, pp->kernel_offset); +if (val_k != val_old_k) +pai_setctr (page_old, i, pp->kernel_offset, val_k); }if (!exclude_user) { - val +=pai_getctr (page, i,0 ); - val_old +=pai_getctr (page_old, i,0 ); + val =pai_getctr (page, i,0 ); + val_old =pai_getctr (page_old, i,0 ); +if (val != val_old) +pai_setctr (page_old, i,0 , val); } + val += val_k; + val_old += val_old_k;if (val >= val_old) val -= val_old;else
@@ -602,8 +617,6 @@ static size_t pai_copy(struct pai_userdata *userdata, unsigned long *page,static int pai_push_sample (size_t rawsize,struct pai_map *cpump,struct perf_event *event) { -int idx =PAI_PMU_IDX (event); -struct pai_pmu *pp = &pai_pmu[idx];struct perf_sample_data data;struct perf_raw_record raw;struct pt_regs regs;
@@ -634,8 +647,6 @@ static int pai_push_sample(size_t rawsize, struct pai_map *cpump, overflow =perf_event_overflow (event, &data, ®s);perf_event_update_userpage (event); -/* Save crypto counter lowcore page after reading event data. */ -memcpy ((void *)PAI_SAVE_AREA (event), cpump->area, pp->area_size);return overflow; }
@@ -651,7 +662,7 @@ static void pai_have_sample(struct perf_event *event, struct pai_map *cpump) rawsize =pai_copy (cpump->save, cpump->area, pp, (unsigned long *)PAI_SAVE_AREA (event), event->attr.exclude_user, - event->attr.exclude_kernel); + !pp->kernel_offset ? true : event->attr.exclude_kernel);if (rawsize)/* No incremented counters */ pai_push_sample (rawsize, cpump, event); }
arch/sh/include/asm/Kbuild +1 -0
@@ -3,4 +3,5 @@ generated-y += syscall_table.h generic-y += kvm_para.h generic-y += mcs_spinlock.h generic-y += parport.h +generic-y += ring_buffer.h generic-y += text-patching.h
arch/sparc/include/asm/Kbuild +1 -0
@@ -4,4 +4,5 @@ generated-y += syscall_table_64.h generic-y += agp.h generic-y += kvm_para.h generic-y += mcs_spinlock.h +generic-y += ring_buffer.h generic-y += text-patching.h
arch/um/include/asm/Kbuild +1 -0
@@ -17,6 +17,7 @@ generic-y += module.lds.h generic-y += parport.h generic-y += percpu.h generic-y += preempt.h +generic-y += ring_buffer.h generic-y += runtime-const.h generic-y += softirq_stack.h generic-y += switch_to.h
arch/x86/include/asm/Kbuild +1 -0
@@ -14,3 +14,4 @@ generic-y += early_ioremap.h generic-y += fprobe.h generic-y += mcs_spinlock.h generic-y += mmzone.h +generic-y += ring_buffer.h
arch/x86/kernel/cpu/cpuid-deps.c +1 -0
@@ -92,6 +92,7 @@ static const struct cpuid_dep cpuid_deps[] = { { X86_FEATURE_FRED, X86_FEATURE_LKGS }, { X86_FEATURE_SPEC_CTRL_SSBD, X86_FEATURE_SPEC_CTRL }, { X86_FEATURE_LASS, X86_FEATURE_SMAP }, + { X86_FEATURE_INVLPGB, X86_FEATURE_PCID }, {} };
arch/x86/kernel/cpu/mce/core.c +5 -28
@@ -90,7 +90,6 @@ struct mca_config mca_cfg __read_mostly = { }; static DEFINE_PER_CPU(struct mce_hw_err, hw_errs_seen); -static unsigned long mce_need_notify;/* * MCA banks polled by the period polling timer for corrected events.
@@ -152,8 +151,10 @@ EXPORT_PER_CPU_SYMBOL_GPL(injectm);void mce_log (struct mce_hw_err *err) { -if (mce_gen_pool_add (err)) +if (mce_gen_pool_add (err)) { +pr_info (HW_ERR "Machine check events logged\n" );irq_work_queue (&mce_irq_work); + } }EXPORT_SYMBOL_GPL (mce_log);
@@ -585,28 +586,6 @@ bool mce_is_correctable(struct mce *m) }EXPORT_SYMBOL_GPL (mce_is_correctable); -/* -* Notify the user(s) about new machine check events. -* Can be called from interrupt context, but not from machine check/NMI -* context. -*/ -static bool mce_notify_irq (void ) -{ -/* Not more than two messages every minute */ - static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2); - -if (test_and_clear_bit (0 , &mce_need_notify)) { -mce_work_trigger (); - -if (__ratelimit (&ratelimit)) -pr_info (HW_ERR "Machine check events logged\n" ); - -return true; - } - -return false; -} -static int mce_early_notifier (struct notifier_block *nb,unsigned long val,void *data) {
@@ -618,9 +597,7 @@ static int mce_early_notifier(struct notifier_block *nb, unsigned long val,/* Emit the trace record: */ trace_mce_record (err); -set_bit (0 , &mce_need_notify); - -mce_notify_irq (); +mce_work_trigger ();return NOTIFY_DONE ; }
@@ -1804,7 +1781,7 @@ static void mce_timer_fn(struct timer_list *t)* Alert userspace if needed. If we logged an MCE, reduce the polling * interval, otherwise increase the polling interval. */ -if (mce_notify_irq ()) +if (!mce_gen_pool_empty ()) iv =max (iv /2 , (unsigned long )HZ /100 );else iv =min (iv *2 ,round_jiffies_relative (check_interval *HZ ));
arch/x86/kvm/svm/avic.c +7 -5
@@ -1289,12 +1289,14 @@ bool __init avic_hardware_setup(void) }/* -* Disable IPI virtualization for AMD Family 17h CPUs (Zen1 and Zen2) -* due to erratum 1235, which results in missed VM-Exits on the sender -* and thus missed wake events for blocking vCPUs due to the CPU -* failing to see a software update to clear IsRunning. +* Disable IPI virtualization for AMD Family 17h (Zen1 and Zen2) and +* Hygon Family 18h (derived from AMD Zen1) CPUs due to erratum 1235, +* which results in missed VM-Exits on the sender and thus missed wake +* events for blocking vCPUs due to the CPU failing to see a software +* update to clear IsRunning. */ - enable_ipiv = enable_ipiv && boot_cpu_data.x86 !=0x17 ; +if (boot_cpu_data.x86 ==0x17 || boot_cpu_data.x86 ==0x18 ) + enable_ipiv = false;amd_iommu_register_ga_log_notifier (&avic_ga_log_notifier);
arch/x86/xen/setup.c +1 -1
@@ -655,7 +655,7 @@ static void __init xen_e820_swap_entry_with_ram(struct e820_entry *swap_entry)/* Fill new entry (keep size and page offset). */ entry->type = swap_entry->type; entry->addr = entry_end - swap_size + - swap_addr - swap_entry->addr; + swap_entry->addr - swap_addr; entry->size = swap_entry->size;/* Convert old entry to RAM, align to pages. */
arch/xtensa/include/asm/Kbuild +1 -0
@@ -6,5 +6,6 @@ generic-y += mcs_spinlock.h generic-y += parport.h generic-y += qrwlock.h generic-y += qspinlock.h +generic-y += ring_buffer.h generic-y += user.h generic-y += text-patching.h
block/bio-integrity.c +18 -1
@@ -244,7 +244,6 @@ static int bio_integrity_copy_user(struct bio *bio, struct bio_vec *bvec, } bip->bip_flags |=BIP_COPY_USER ; - bip->bip_vcnt = nr_vecs;return 0 ; free_bip:bio_integrity_free (bio);
@@ -339,6 +338,24 @@ int bio_integrity_map_user(struct bio *bio, struct iov_iter *iter)if (unlikely (ret <0 )) goto free_bvec; +/* +* Handle partial pinning. This can happen when pin_user_pages_fast() +* returns fewer pages than requested. +*/ +if (user_backed_iter (iter) &&unlikely (ret != bytes)) { +if (ret >0 ) { +int npinned =DIV_ROUND_UP (offset + ret,PAGE_SIZE ); +int i; + +for (i =0 ; i < npinned; i++) +unpin_user_page (pages[i]); + } +if (pages != stack_pages) +kvfree (pages); + ret = -EFAULT ; + goto free_bvec; + } + nr_bvecs =bvec_from_pages (bvec, pages, nr_vecs, bytes, offset, &is_p2p);if (pages != stack_pages)
block/blk-cgroup.c +1 -1
@@ -2241,7 +2241,7 @@ void blk_cgroup_bio_start(struct bio *bio) }u64_stats_update_end_irqrestore (&bis->sync, flags); -css_rstat_updated (&blkcg->css, cpu); +__css_rstat_updated (&blkcg->css, cpu);put_cpu (); }
block/blk-mq-debugfs.c +1 -0
@@ -97,6 +97,7 @@ static const char *const blk_queue_flag_name[] = {QUEUE_FLAG_NAME (NO_ELV_SWITCH ),QUEUE_FLAG_NAME (QOS_ENABLED ),QUEUE_FLAG_NAME (BIO_ISSUE_TIME ), + QUEUE_FLAG_NAME(ZONED_QD1_WRITES), };#undef QUEUE_FLAG_NAME
block/blk-mq.c +28 -25
94 lines not on this page · raw message
block/blk-sysfs.c +34 -1
@@ -390,6 +390,36 @@ static ssize_t queue_nr_zones_show(struct gendisk *disk, char *page)return queue_var_show (disk_nr_zones (disk), page); } +static ssize_t queue_zoned_qd1_writes_show (struct gendisk *disk,char *page) +{ +return queue_var_show (!!blk_queue_zoned_qd1_writes (disk->queue), + page); +} + +static ssize_t queue_zoned_qd1_writes_store (struct gendisk *disk, +const char *page,size_t count) +{ +struct request_queue *q = disk->queue; +unsigned long qd1_writes; +unsigned int memflags; +ssize_t ret; + + ret =queue_var_store (&qd1_writes, page, count); +if (ret <0 ) +return ret; + + memflags =blk_mq_freeze_queue (q); +blk_mq_quiesce_queue (q); +if (qd1_writes) +blk_queue_flag_set (QUEUE_FLAG_ZONED_QD1_WRITES , q); +else +blk_queue_flag_clear (QUEUE_FLAG_ZONED_QD1_WRITES , q); +blk_mq_unquiesce_queue (q); +blk_mq_unfreeze_queue (q, memflags); + +return count; +} +static ssize_t queue_iostats_passthrough_show (struct gendisk *disk,char *page) {return queue_var_show (!!blk_queue_passthrough_stat (disk->queue), page);
@@ -617,6 +647,7 @@ QUEUE_LIM_RO_ENTRY(queue_max_zone_append_sectors, "zone_append_max_bytes");QUEUE_LIM_RO_ENTRY (queue_zone_write_granularity,"zone_write_granularity" );QUEUE_LIM_RO_ENTRY (queue_zoned,"zoned" ); +QUEUE_RW_ENTRY (queue_zoned_qd1_writes,"zoned_qd1_writes" );QUEUE_RO_ENTRY (queue_nr_zones,"nr_zones" );QUEUE_LIM_RO_ENTRY (queue_max_open_zones,"max_open_zones" );QUEUE_LIM_RO_ENTRY (queue_max_active_zones,"max_active_zones" );
@@ -754,6 +785,7 @@ static struct attribute *queue_attrs[] = { &queue_nomerges_entry.attr, &queue_poll_entry.attr, &queue_poll_delay_entry.attr, + &queue_zoned_qd1_writes_entry.attr, NULL, };
@@ -786,7 +818,8 @@ static umode_t queue_attr_visible(struct kobject *kobj, struct attribute *attr,struct request_queue *q = disk->queue;if ((attr == &queue_max_open_zones_entry.attr || - attr == &queue_max_active_zones_entry.attr) && + attr == &queue_max_active_zones_entry.attr || + attr == &queue_zoned_qd1_writes_entry.attr) && !blk_queue_is_zoned (q))return 0 ;
block/blk-zoned.c +210 -40
442 lines not on this page · raw message
crypto/krb5/krb5_api.c +48 -6
75 lines not on this page · raw message
drivers/accel/qaic/qaic_data.c +21 -2
@@ -606,8 +606,11 @@ static const struct vm_operations_struct drm_vm_ops = {static int qaic_gem_object_mmap (struct drm_gem_object *obj,struct vm_area_struct *vma) {struct qaic_bo *bo =to_qaic_bo (obj); +unsigned long remap_start;unsigned long offset =0 ; +unsigned long remap_end;struct scatterlist *sg; +unsigned long length;int ret =0 ;if (drm_gem_is_imported (obj))
@@ -615,11 +618,27 @@ static int qaic_gem_object_mmap(struct drm_gem_object *obj, struct vm_area_strucfor (sg = bo->sgt->sgl; sg; sg =sg_next (sg)) {if (sg_page (sg)) { +/* if sg is too large for the VMA, so truncate it to fit */ +if (check_add_overflow (vma->vm_start, offset, &remap_start)) +return -EINVAL ; +if (check_add_overflow (remap_start, sg->length, &remap_end)) +return -EINVAL ; + +if (remap_end > vma->vm_end) { +if (check_sub_overflow (vma->vm_end, remap_start, &length)) +return -EINVAL ; + }else { + length = sg->length; + } + +if (length ==0 ) + goto out; + ret =remap_pfn_range (vma, vma->vm_start + offset,page_to_pfn (sg_page (sg)), - sg->length, vma->vm_page_prot); + length, vma->vm_page_prot);if (ret) goto out; - offset += sg->length; + offset += length; } }
drivers/acpi/ac.c +5 -1
@@ -203,11 +203,15 @@ static const struct dmi_system_id ac_dmi_table[] __initconst = {static int acpi_ac_probe (struct platform_device *pdev) { -struct acpi_device *adev =ACPI_COMPANION (&pdev->dev);struct power_supply_config psy_cfg = {}; +struct acpi_device *adev;struct acpi_ac *ac;int result; + adev =ACPI_COMPANION (&pdev->dev); +if (!adev) +return -ENODEV ; + ac = kzalloc_obj(struct acpi_ac);if (!ac)return -ENOMEM ;
drivers/acpi/acpi_pad.c +5 -1
@@ -426,9 +426,13 @@ static void acpi_pad_notify(acpi_handle handle, u32 event,static int acpi_pad_probe (struct platform_device *pdev) { -struct acpi_device *adev =ACPI_COMPANION (&pdev->dev); +struct acpi_device *adev;acpi_status status; + adev =ACPI_COMPANION (&pdev->dev); +if (!adev) +return -ENODEV ; +strscpy (acpi_device_name (adev),ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME );strscpy (acpi_device_class (adev),ACPI_PROCESSOR_AGGREGATOR_CLASS );
drivers/acpi/acpi_tad.c +5 -1
@@ -593,12 +593,16 @@ static void acpi_tad_remove(struct platform_device *pdev)static int acpi_tad_probe (struct platform_device *pdev) {struct device *dev = &pdev->dev; -acpi_handle handle =ACPI_HANDLE (dev);struct acpi_tad_driver_data *dd; +acpi_handle handle;acpi_status status;unsigned long long caps;int ret; + handle =ACPI_HANDLE (dev); +if (!handle) +return -ENODEV ; + ret =acpi_install_cmos_rtc_space_handler (handle);if (ret <0 ) {dev_info (dev,"Unable to install space handler\n" );
drivers/acpi/battery.c +8 -2
@@ -96,6 +96,7 @@ struct acpi_battery {struct power_supply *bat;struct power_supply_desc bat_desc;struct acpi_device *device; +struct device *phys_dev;struct notifier_block pm_nb;struct list_head list;unsigned long update_time;
@@ -1035,7 +1036,7 @@ static int acpi_battery_update(struct acpi_battery *battery, bool resume)if ((battery->state &ACPI_BATTERY_STATE_CRITICAL ) || (test_bit (ACPI_BATTERY_ALARM_PRESENT , &battery->flags) && (battery->capacity_now <= battery->alarm))) -acpi_pm_wakeup_event (&battery->device->dev); +acpi_pm_wakeup_event (battery->phys_dev);return result; }
@@ -1215,10 +1216,14 @@ static void sysfs_battery_cleanup(struct acpi_battery *battery)static int acpi_battery_probe (struct platform_device *pdev) { -struct acpi_device *device =ACPI_COMPANION (&pdev->dev);struct acpi_battery *battery; +struct acpi_device *device;int result; + device =ACPI_COMPANION (&pdev->dev); +if (!device) +return -ENODEV ; +if (device->dep_unmet)return -EPROBE_DEFER ;
@@ -1228,6 +1233,7 @@ static int acpi_battery_probe(struct platform_device *pdev)platform_set_drvdata (pdev, battery); + battery->phys_dev = &pdev->dev; battery->device = device;strscpy (acpi_device_name (device),ACPI_BATTERY_DEVICE_NAME );strscpy (acpi_device_class (device),ACPI_BATTERY_CLASS );
drivers/acpi/button.c +7 -2
@@ -531,15 +531,20 @@ static int acpi_lid_input_open(struct input_dev *input)static int acpi_button_probe (struct platform_device *pdev) { -struct acpi_device *device =ACPI_COMPANION (&pdev->dev);acpi_notify_handler handler; +struct acpi_device *device;struct acpi_button *button;struct input_dev *input; -const char *hid =acpi_device_hid (device);acpi_status status;char *name, *class; +const char *hid;int error =0 ; + device =ACPI_COMPANION (&pdev->dev); +if (!device) +return -ENODEV ; + + hid =acpi_device_hid (device);if (!strcmp (hid,ACPI_BUTTON_HID_LID ) && lid_init_state ==ACPI_BUTTON_LID_INIT_DISABLED )return -ENODEV ;
drivers/acpi/ec.c +5 -1
@@ -1679,10 +1679,14 @@ static int acpi_ec_setup(struct acpi_ec *ec, struct acpi_device *device, bool castatic int acpi_ec_probe (struct platform_device *pdev) { -struct acpi_device *device =ACPI_COMPANION (&pdev->dev); +struct acpi_device *device;struct acpi_ec *ec;int ret; + device =ACPI_COMPANION (&pdev->dev); +if (!device) +return -ENODEV ; +strscpy (acpi_device_name (device),ACPI_EC_DEVICE_NAME );strscpy (acpi_device_class (device),ACPI_EC_CLASS );
drivers/acpi/hed.c +5 -1
@@ -50,9 +50,13 @@ static void acpi_hed_notify(acpi_handle handle, u32 event, void *data)static int acpi_hed_probe (struct platform_device *pdev) { -struct acpi_device *device =ACPI_COMPANION (&pdev->dev); +struct acpi_device *device;int err; + device =ACPI_COMPANION (&pdev->dev); +if (!device) +return -ENODEV ; +/* Only one hardware error device */ if (hed_handle)return -EINVAL ;
drivers/acpi/nfit/core.c +5 -1
@@ -3341,12 +3341,16 @@ static int acpi_nfit_probe(struct platform_device *pdev)struct acpi_buffer buf = {ACPI_ALLOCATE_BUFFER ,NULL };struct acpi_nfit_desc *acpi_desc;struct device *dev = &pdev->dev; -struct acpi_device *adev =ACPI_COMPANION (dev);struct acpi_table_header *tbl; +struct acpi_device *adev;acpi_status status =AE_OK ;acpi_size sz;int rc =0 ; + adev =ACPI_COMPANION (&pdev->dev); +if (!adev) +return -ENODEV ; + rc =acpi_dev_install_notify_handler (adev,ACPI_DEVICE_NOTIFY , acpi_nfit_notify, dev);if (rc)
drivers/acpi/pfr_telemetry.c +5 -1
@@ -360,10 +360,14 @@ static void pfrt_log_put_idx(void *data)static int acpi_pfrt_log_probe (struct platform_device *pdev) { -acpi_handle handle =ACPI_HANDLE (&pdev->dev);struct pfrt_log_device *pfrt_log_dev; +acpi_handle handle;int ret; + handle =ACPI_HANDLE (&pdev->dev); +if (!handle) +return -ENODEV ; +if (!acpi_has_method (handle,"_DSM" )) {dev_dbg (&pdev->dev,"Missing _DSM\n" );return -ENODEV ;
drivers/acpi/pfr_update.c +5 -1
@@ -538,10 +538,14 @@ static void pfru_put_idx(void *data)static int acpi_pfru_probe (struct platform_device *pdev) { -acpi_handle handle =ACPI_HANDLE (&pdev->dev);struct pfru_device *pfru_dev; +acpi_handle handle;int ret; + handle =ACPI_HANDLE (&pdev->dev); +if (!handle) +return -ENODEV ; +if (!acpi_has_method (handle,"_DSM" )) {dev_dbg (&pdev->dev,"Missing _DSM\n" );return -ENODEV ;
drivers/acpi/sbs.c +5 -1
@@ -631,11 +631,15 @@ static void acpi_sbs_callback(void *context)static int acpi_sbs_probe (struct platform_device *pdev) { -struct acpi_device *device =ACPI_COMPANION (&pdev->dev); +struct acpi_device *device;struct acpi_sbs *sbs;int result =0 ;int id; + device =ACPI_COMPANION (&pdev->dev); +if (!device) +return -ENODEV ; + sbs = kzalloc_obj(struct acpi_sbs);if (!sbs) { result = -ENOMEM ;
drivers/acpi/sbshc.c +5 -1
@@ -240,11 +240,15 @@ static int smbus_alarm(void *context)static int acpi_smbus_hc_probe (struct platform_device *pdev) { -struct acpi_device *device =ACPI_COMPANION (&pdev->dev); +struct acpi_device *device;int status;unsigned long long val;struct acpi_smb_hc *hc; + device =ACPI_COMPANION (&pdev->dev); +if (!device) +return -ENODEV ; + status =acpi_evaluate_integer (device->handle,"_EC" ,NULL , &val);if (ACPI_FAILURE (status)) {pr_err ("error obtaining _EC.\n" );
drivers/acpi/thermal.c +1 -1
@@ -790,7 +790,7 @@ static int acpi_thermal_probe(struct platform_device *pdev)int i;if (!device) -return -EINVAL ; +return -ENODEV ; tz = kzalloc_obj(struct acpi_thermal);if (!tz)
drivers/acpi/tiny-power-button.c +5 -1
@@ -38,9 +38,13 @@ static u32 acpi_tiny_power_button_event(void *not_used)static int acpi_tiny_power_button_probe (struct platform_device *pdev) { -struct acpi_device *device =ACPI_COMPANION (&pdev->dev); +struct acpi_device *device;acpi_status status; + device =ACPI_COMPANION (&pdev->dev); +if (!device) +return -ENODEV ; +if (device->device_type ==ACPI_BUS_TYPE_POWER_BUTTON ) { status = acpi_install_fixed_event_handler(ACPI_EVENT_POWER_BUTTON, acpi_tiny_power_button_event,
drivers/ata/libata-core.c +6 -3
@@ -5579,6 +5579,7 @@ void ata_link_init(struct ata_port *ap, struct ata_link *link, int pmp) link->pmp = pmp; link->active_tag =ATA_TAG_POISON ; link->hw_sata_spd_limit =UINT_MAX ; +INIT_WORK (&link->deferred_qc_work, ata_scsi_deferred_qc_work);/* can't use iterator, ap isn't initialized yet */ for (i =0 ; i <ATA_MAX_DEVICES ; i++) {
@@ -5661,7 +5662,6 @@ struct ata_port *ata_port_alloc(struct ata_host *host)mutex_init (&ap->scsi_scan_mutex);INIT_DELAYED_WORK (&ap->hotplug_task, ata_scsi_hotplug);INIT_DELAYED_WORK (&ap->scsi_rescan_task, ata_scsi_dev_rescan); -INIT_WORK (&ap->deferred_qc_work, ata_scsi_deferred_qc_work);INIT_LIST_HEAD (&ap->eh_done_q);init_waitqueue_head (&ap->eh_wait_q);init_completion (&ap->park_req_pending);
@@ -6286,12 +6286,15 @@ static void ata_port_detach(struct ata_port *ap)/* It better be dead now and not have any remaining deferred qc. */ WARN_ON (!(ap->pflags &ATA_PFLAG_UNLOADED )); -WARN_ON (ap->deferred_qc); -cancel_work_sync (&ap->deferred_qc_work);cancel_delayed_work_sync (&ap->hotplug_task);cancel_delayed_work_sync (&ap->scsi_rescan_task); +ata_for_each_link (link, ap,PMP_FIRST ) { +WARN_ON (link->deferred_qc); +cancel_work_sync (&link->deferred_qc_work); + } +/* Delete port multiplier link transport devices */ if (ap->pmp_link) {int i;
drivers/ata/libata-eh.c +4 -4
@@ -643,11 +643,11 @@ void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap,if (qc->scsicmd != scmd)continue ;if ((qc->flags &ATA_QCFLAG_ACTIVE ) || - qc == ap->deferred_qc) + qc == qc->dev->link->deferred_qc)break ; } -if (i <ATA_MAX_QUEUE && qc == ap->deferred_qc) { +if (i <ATA_MAX_QUEUE && qc == qc->dev->link->deferred_qc) {/* * This is a deferred command that timed out while * waiting for the command queue to drain. Since the qc
@@ -658,8 +658,8 @@ void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap,* deferred qc work from issuing this qc. */ WARN_ON_ONCE (qc->flags &ATA_QCFLAG_ACTIVE ); - ap->deferred_qc =NULL ; -cancel_work (&ap->deferred_qc_work); + qc->dev->link->deferred_qc =NULL ; +cancel_work (&qc->dev->link->deferred_qc_work);set_host_byte (scmd,DID_TIME_OUT );scsi_eh_finish_cmd (scmd, &ap->eh_done_q); }else if (i <ATA_MAX_QUEUE ) {
drivers/ata/libata-pmp.c +16 -2
@@ -110,13 +110,24 @@ int sata_pmp_qc_defer_cmd_switch(struct ata_queued_cmd *qc) {struct ata_link *link = qc->dev->link;struct ata_port *ap = link->ap; +int ret;if (ap->excl_link ==NULL || ap->excl_link == link) {if (ap->nr_active_links ==0 ||ata_link_active (link)) { qc->flags |=ATA_QCFLAG_CLEAR_EXCL ; -return ata_std_qc_defer (qc); + ret =ata_std_qc_defer (qc); +if (ret ==ATA_DEFER_LINK ) +return ATA_DEFER_LINK_EXCL ; +return ret; } +/* +* Note: ap->excl_link contains the link that is next in line, +* i.e. implicit round robin. If there is only one link +* dispatching, ap->excl_link will be left unclaimed, allowing +* other links to set ap->excl_link, ensuring that the currently +* active link cannot queue any more. +*/ ap->excl_link = link; }
@@ -571,8 +582,11 @@ static void sata_pmp_detach(struct ata_device *dev)if (ap->ops->pmp_detach) ap->ops->pmp_detach (ap); -ata_for_each_link (tlink, ap,EDGE ) +ata_for_each_link (tlink, ap,EDGE ) { +WARN_ON (tlink->deferred_qc); +cancel_work_sync (&tlink->deferred_qc_work);ata_eh_detach_dev (tlink->device); + }spin_lock_irqsave (ap->lock, flags); ap->nr_pmp_links =0 ;
drivers/ata/libata-scsi.c +57 -43
175 lines not on this page · raw message
drivers/ata/sata_sil24.c +5 -1
@@ -789,6 +789,7 @@ static int sil24_qc_defer(struct ata_queued_cmd *qc)struct ata_link *link = qc->dev->link;struct ata_port *ap = link->ap;u8 prot = qc->tf.protocol; +int ret;/* * There is a bug in the chip:
@@ -826,7 +827,10 @@ static int sil24_qc_defer(struct ata_queued_cmd *qc) qc->flags |=ATA_QCFLAG_CLEAR_EXCL ; } -return ata_std_qc_defer (qc); + ret =ata_std_qc_defer (qc); +if (ret ==ATA_DEFER_LINK ) +return ATA_DEFER_LINK_EXCL ; +return ret; }static enum ata_completion_errors sil24_qc_prep (struct ata_queued_cmd *qc)
drivers/base/memory.c +6 -2
@@ -1230,8 +1230,10 @@ void memblk_nr_poison_inc(unsigned long pfn)const unsigned long block_id =pfn_to_block_id (pfn);struct memory_block *mem =find_memory_block_by_id (block_id); -if (mem) +if (mem) {atomic_long_inc (&mem->nr_hwpoison); +put_device (&mem->dev); + } }void memblk_nr_poison_sub (unsigned long pfn,long i)
@@ -1239,8 +1241,10 @@ void memblk_nr_poison_sub(unsigned long pfn, long i)const unsigned long block_id =pfn_to_block_id (pfn);struct memory_block *mem =find_memory_block_by_id (block_id); -if (mem) +if (mem) {atomic_long_sub (i, &mem->nr_hwpoison); +put_device (&mem->dev); + } }static unsigned long memblk_nr_poison (struct memory_block *mem)
drivers/block/rbd.c +8 -12
@@ -4565,24 +4565,12 @@ static int rbd_register_watch(struct rbd_device *rbd_dev)return ret; } -static void cancel_tasks_sync (struct rbd_device *rbd_dev) -{ -dout ("%s rbd_dev %p\n" , __func__, rbd_dev); - -cancel_work_sync (&rbd_dev->acquired_lock_work); -cancel_work_sync (&rbd_dev->released_lock_work); -cancel_delayed_work_sync (&rbd_dev->lock_dwork); -cancel_work_sync (&rbd_dev->unlock_work); -} -/* * header_rwsem must not be held to avoid a deadlock with * rbd_dev_refresh() when flushing notifies. */ static void rbd_unregister_watch (struct rbd_device *rbd_dev) { -cancel_tasks_sync (rbd_dev); -mutex_lock (&rbd_dev->watch_mutex);if (rbd_dev->watch_state ==RBD_WATCH_STATE_REGISTERED )__rbd_unregister_watch (rbd_dev);
@@ -6548,10 +6536,18 @@ static int rbd_add_parse_args(const char *buf,static void rbd_dev_image_unlock (struct rbd_device *rbd_dev) { +dout ("%s rbd_dev %p\n" , __func__, rbd_dev); + +disable_delayed_work_sync (&rbd_dev->lock_dwork); +disable_work_sync (&rbd_dev->unlock_work); +down_write (&rbd_dev->lock_rwsem);if (__rbd_is_lock_owner (rbd_dev))__rbd_release_lock (rbd_dev);up_write (&rbd_dev->lock_rwsem); + +flush_work (&rbd_dev->acquired_lock_work); +flush_work (&rbd_dev->released_lock_work); }/*
drivers/block/ublk_drv.c +3 -0
@@ -868,6 +868,9 @@ static int ublk_validate_params(const struct ublk_device *ub)if (p->max_sectors > (ub->dev_info.max_io_buf_bytes >>9 ))return -EINVAL ; +if (p->max_sectors <PAGE_SECTORS ) +return -EINVAL ; +if (ublk_dev_is_zoned (ub) && !p->chunk_sectors)return -EINVAL ; }else
drivers/bluetooth/btintel_pcie.c +6 -14
@@ -568,12 +568,10 @@ static int btintel_pcie_get_mac_access(struct btintel_pcie_data *data) reg =btintel_pcie_rd_reg32 (data,BTINTEL_PCIE_CSR_FUNC_CTRL_REG ); - reg |=BTINTEL_PCIE_CSR_FUNC_CTRL_STOP_MAC_ACCESS_DIS ; - reg |=BTINTEL_PCIE_CSR_FUNC_CTRL_XTAL_CLK_REQ ; -if ((reg &BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_STS ) ==0 ) +if (!(reg &BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_REQ )) { reg |=BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_REQ ; - -btintel_pcie_wr_reg32 (data,BTINTEL_PCIE_CSR_FUNC_CTRL_REG , reg); +btintel_pcie_wr_reg32 (data,BTINTEL_PCIE_CSR_FUNC_CTRL_REG , reg); + } do { reg = btintel_pcie_rd_reg32(data, BTINTEL_PCIE_CSR_FUNC_CTRL_REG);
@@ -593,16 +591,10 @@ static void btintel_pcie_release_mac_access(struct btintel_pcie_data *data) reg =btintel_pcie_rd_reg32 (data,BTINTEL_PCIE_CSR_FUNC_CTRL_REG ); -if (reg &BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_REQ ) +if (reg &BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_REQ ) { reg &= ~BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_REQ ; - -if (reg &BTINTEL_PCIE_CSR_FUNC_CTRL_STOP_MAC_ACCESS_DIS ) - reg &= ~BTINTEL_PCIE_CSR_FUNC_CTRL_STOP_MAC_ACCESS_DIS ; - -if (reg &BTINTEL_PCIE_CSR_FUNC_CTRL_XTAL_CLK_REQ ) - reg &= ~BTINTEL_PCIE_CSR_FUNC_CTRL_XTAL_CLK_REQ ; - -btintel_pcie_wr_reg32 (data,BTINTEL_PCIE_CSR_FUNC_CTRL_REG , reg); +btintel_pcie_wr_reg32 (data,BTINTEL_PCIE_CSR_FUNC_CTRL_REG , reg); + } } static void *btintel_pcie_copy_tlv(void *dest, enum btintel_pcie_tlv_type type,
drivers/bluetooth/btintel_pcie.h +0 -3
@@ -34,9 +34,6 @@#define BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_STS (BIT(20))#define BTINTEL_PCIE_CSR_FUNC_CTRL_MAC_ACCESS_REQ (BIT(21)) -/* Stop MAC Access disconnection request */ -#define BTINTEL_PCIE_CSR_FUNC_CTRL_STOP_MAC_ACCESS_DIS (BIT(22)) -#define BTINTEL_PCIE_CSR_FUNC_CTRL_XTAL_CLK_REQ (BIT(23))#define BTINTEL_PCIE_CSR_FUNC_CTRL_BUS_MASTER_STS (BIT(28))#define BTINTEL_PCIE_CSR_FUNC_CTRL_BUS_MASTER_DISCON (BIT(29))
drivers/bluetooth/btmtk.c +2 -0
@@ -496,6 +496,7 @@ static void btmtk_usb_wmt_recv(struct urb *urb)return ; }else if (urb->status == -ENOENT ) {/* Avoid suspend failed when usb_kill_urb */ +kfree (urb->setup_packet);return ; }
@@ -569,6 +570,7 @@ static int btmtk_usb_submit_wmt_recv_urb(struct hci_dev *hdev)if (err != -EPERM && err != -ENODEV )bt_dev_err (hdev,"urb %p submission failed (%d)" , urb, -err); +kfree (dr);usb_unanchor_urb (urb); }
drivers/bluetooth/hci_ldisc.c +40 -8
102 lines not on this page · raw message
drivers/bluetooth/hci_qca.c +16 -17
@@ -48,13 +48,12 @@#define HCI_MAX_IBS_SIZE 10#define IBS_WAKE_RETRANS_TIMEOUT_MS 100 -#define IBS_BTSOC_TX_IDLE_TIMEOUT_MS 200 +#define IBS_BTSOC_TX_IDLE_TIMEOUT msecs_to_jiffies(200)#define IBS_HOST_TX_IDLE_TIMEOUT_MS 2000 -#define CMD_TRANS_TIMEOUT_MS 100 -#define MEMDUMP_TIMEOUT_MS 8000 -#define IBS_DISABLE_SSR_TIMEOUT_MS \ - (MEMDUMP_TIMEOUT_MS + FW_DOWNLOAD_TIMEOUT_MS) -#define FW_DOWNLOAD_TIMEOUT_MS 3000 +#define CMD_TRANS_TIMEOUT msecs_to_jiffies(100) +#define MEMDUMP_TIMEOUT msecs_to_jiffies(8000) +#define FW_DOWNLOAD_TIMEOUT msecs_to_jiffies(3000) +#define IBS_DISABLE_SSR_TIMEOUT (MEMDUMP_TIMEOUT + FW_DOWNLOAD_TIMEOUT)/* susclk rate */ #define SUSCLK_RATE_32KHZ 32768
@@ -1093,7 +1092,7 @@ static void qca_controller_memdump(struct work_struct *work)queue_delayed_work (qca->workqueue, &qca->ctrl_memdump_timeout, -msecs_to_jiffies (MEMDUMP_TIMEOUT_MS )); +MEMDUMP_TIMEOUT );skb_pull (skb,sizeof (qca_memdump->ram_dump_size)); qca_memdump->current_seq_no =0 ; qca_memdump->received_dump =0 ;
@@ -1366,7 +1365,7 @@ static int qca_set_baudrate(struct hci_dev *hdev, uint8_t baudrate)if (hu->serdev)serdev_device_wait_until_sent (hu->serdev, -msecs_to_jiffies (CMD_TRANS_TIMEOUT_MS )); +CMD_TRANS_TIMEOUT );/* Give the controller time to process the request */ switch (qca_soc_type (hu)) {
@@ -1398,8 +1397,8 @@ static inline void host_set_baudrate(struct hci_uart *hu, unsigned int speed)static int qca_send_power_pulse (struct hci_uart *hu,bool on) { +int timeout =CMD_TRANS_TIMEOUT ;int ret; -int timeout =msecs_to_jiffies (CMD_TRANS_TIMEOUT_MS );u8 cmd = on ?QCA_WCN3990_POWERON_PULSE :QCA_WCN3990_POWEROFF_PULSE ;/* These power pulses are single byte command which are sent
@@ -1604,7 +1603,7 @@ static void qca_wait_for_dump_collection(struct hci_dev *hdev)struct qca_data *qca = hu->priv;wait_on_bit_timeout (&qca->flags,QCA_MEMDUMP_COLLECTION , -TASK_UNINTERRUPTIBLE ,MEMDUMP_TIMEOUT_MS ); +TASK_UNINTERRUPTIBLE ,MEMDUMP_TIMEOUT );clear_bit (QCA_MEMDUMP_COLLECTION , &qca->flags); }
@@ -2577,7 +2576,7 @@ static void qca_serdev_remove(struct serdev_device *serdev)static void qca_serdev_shutdown (struct serdev_device *serdev) {int ret; -int timeout =msecs_to_jiffies (CMD_TRANS_TIMEOUT_MS ); +int timeout =CMD_TRANS_TIMEOUT ;struct qca_serdev *qcadev =serdev_device_get_drvdata (serdev);struct hci_uart *hu = &qcadev->serdev_hu;struct hci_dev *hdev = hu->hdev;
@@ -2634,7 +2633,7 @@ static int __maybe_unused qca_suspend(struct device *dev)bool tx_pending = false;int ret =0 ;u8 cmd; -u32 wait_timeout =0 ; +unsigned long wait_timeout =0 ;set_bit (QCA_SUSPENDING , &qca->flags);
@@ -2655,15 +2654,15 @@ static int __maybe_unused qca_suspend(struct device *dev)if (test_bit (QCA_IBS_DISABLED , &qca->flags) ||test_bit (QCA_SSR_TRIGGERED , &qca->flags)) { wait_timeout =test_bit (QCA_SSR_TRIGGERED , &qca->flags) ? -IBS_DISABLE_SSR_TIMEOUT_MS : -FW_DOWNLOAD_TIMEOUT_MS ; +IBS_DISABLE_SSR_TIMEOUT : +FW_DOWNLOAD_TIMEOUT ;/* QCA_IBS_DISABLED flag is set to true, During FW download * and during memory dump collection. It is reset to false, * After FW download complete. */ wait_on_bit_timeout (&qca->flags,QCA_IBS_DISABLED , -TASK_UNINTERRUPTIBLE ,msecs_to_jiffies (wait_timeout)); +TASK_UNINTERRUPTIBLE , wait_timeout);if (test_bit (QCA_IBS_DISABLED , &qca->flags)) {bt_dev_err (hu->hdev,"SSR or FW download time out" );
@@ -2715,7 +2714,7 @@ static int __maybe_unused qca_suspend(struct device *dev)if (tx_pending) {serdev_device_wait_until_sent (hu->serdev, -msecs_to_jiffies (CMD_TRANS_TIMEOUT_MS )); +CMD_TRANS_TIMEOUT );serial_clock_vote (HCI_IBS_TX_VOTE_CLOCK_OFF , hu); }
@@ -2724,7 +2723,7 @@ static int __maybe_unused qca_suspend(struct device *dev)*/ ret =wait_event_interruptible_timeout (qca->suspend_wait_q, qca->rx_ibs_state ==HCI_IBS_RX_ASLEEP , -msecs_to_jiffies (IBS_BTSOC_TX_IDLE_TIMEOUT_MS )); +IBS_BTSOC_TX_IDLE_TIMEOUT );if (ret ==0 ) { ret = -ETIMEDOUT ; goto error;
drivers/cpufreq/intel_pstate.c +1 -1
@@ -2279,7 +2279,7 @@ static int hwp_get_cpu_scaling(int cpu)* Return the hybrid scaling factor for P-cores and use the * default core scaling for E-cores. */ -if (hybrid_get_cpu_type (cpu) ==INTEL_CPU_TYPE_CORE ) +if (hybrid_get_cpu_type (cpu) !=INTEL_CPU_TYPE_ATOM )return hybrid_scaling_factor;return core_get_scaling ();
drivers/firmware/arm_ffa/bus.c +3 -1
@@ -26,6 +26,8 @@ static int ffa_device_match(struct device *dev, const struct device_driver *drv) id_table =to_ffa_driver (drv)->id_table; ffa_dev =to_ffa_dev (dev); +if (!id_table) +return 0 ;while (!uuid_is_null (&id_table->uuid)) {/*
@@ -123,7 +125,7 @@ int ffa_driver_register(struct ffa_driver *driver, struct module *owner, {int ret; -if (!driver->probe) +if (!driver->probe || !driver->id_table)return -EINVAL ; driver->driver.bus = &ffa_bus_type;
drivers/firmware/arm_ffa/driver.c +93 -38
267 lines not on this page · raw message
drivers/firmware/efi/efi.c +16 -12
@@ -402,21 +402,11 @@ static void __init efi_debugfs_init(void)static inline void efi_debugfs_init (void ) {}#endif -/* -* We register the efi subsystem with the firmware subsystem and the -* efivars subsystem with the efi subsystem, if the system was booted with -* EFI. -*/ -static int __init efisubsys_init (void ) +static int __init efipostcore_init (void ) { -int error; -if (!efi_enabled (EFI_RUNTIME_SERVICES )) efi.runtime_supported_mask =0 ; -if (!efi_enabled (EFI_BOOT )) -return 0 ; -if (efi.runtime_supported_mask) {/* * Since we process only one efi_runtime_service() at a time, an
@@ -428,9 +418,23 @@ static int __init efisubsys_init(void)pr_err ("Creating efi_rts_wq failed, EFI runtime services disabled.\n" );clear_bit (EFI_RUNTIME_SERVICES , &efi.flags); efi.runtime_supported_mask =0 ; -return 0 ; } } +return 0 ; +} +postcore_initcall (efipostcore_init); + +/* +* We register the efi subsystem with the firmware subsystem and the +* efivars subsystem with the efi subsystem, if the system was booted with +* EFI. +*/ +static int __init efisubsys_init (void ) +{ +int error; + +if (!efi_enabled (EFI_BOOT )) +return 0 ;if (efi_rt_services_supported (EFI_RT_SUPPORTED_TIME_SERVICES ))platform_device_register_simple ("rtc-efi" ,0 ,NULL ,0 );
drivers/fwctl/pds/main.c +3 -0
@@ -362,6 +362,9 @@ static void *pdsfc_fw_rpc(struct fwctl_uctx *uctx, enum fwctl_rpc_scope scope,void *out =NULL ;int err; +if (in_len <sizeof (*rpc)) +return ERR_PTR (-EINVAL ); + err =pdsfc_validate_rpc (pdsfc, rpc, scope);if (err)return ERR_PTR (err);
drivers/gpio/Kconfig +0 -1
@@ -1986,7 +1986,6 @@ menu "Virtual GPIO drivers" config GPIO_AGGREGATOR tristate "GPIO Aggregator" select CONFIGFS_FS - select DEV_SYNC_PROBE help Say yes here to enable the GPIO Aggregator, which provides a way to aggregate existing GPIO lines into a new virtual GPIO chip.
drivers/gpio/gpio-aggregator.c +29 -18
122 lines not on this page · raw message
drivers/gpio/gpiolib-cdev.c +13 -0
@@ -1184,6 +1184,7 @@ static int gpio_v2_line_flags_validate(u64 flags)static int gpio_v2_line_config_validate (struct gpio_v2_line_config *lc,unsigned int num_lines) { +size_t unused_attrs;unsigned int i;u64 flags;int ret;
@@ -1191,9 +1192,21 @@ static int gpio_v2_line_config_validate(struct gpio_v2_line_config *lc,if (lc->num_attrs >GPIO_V2_LINE_NUM_ATTRS_MAX )return -EINVAL ; + unused_attrs =GPIO_V2_LINE_NUM_ATTRS_MAX - lc->num_attrs; +if (!mem_is_zero (lc->padding,sizeof (lc->padding)))return -EINVAL ; +for (i =0 ; i < lc->num_attrs; i++) { +if (lc->attrs[i].attr.padding !=0 ) +return -EINVAL ; + } + +if (unused_attrs) { +if (!mem_is_zero (&lc->attrs[lc->num_attrs], unused_attrs *sizeof (*lc->attrs))) +return -EINVAL ; + } +for (i =0 ; i < num_lines; i++) { flags =gpio_v2_line_config_flags (lc, i); ret =gpio_v2_line_flags_validate (flags);
drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c +8 -1
@@ -199,11 +199,18 @@ int amdgpu_gtt_mgr_alloc_entries(struct amdgpu_gtt_mgr *mgr, enum drm_mm_insert_mode mode) {struct amdgpu_device *adev =container_of (mgr,typeof (*adev), mman.gtt_mgr); +u32 alignment =0 ;int r; +/* Align to TLB L2 cache entry size to work around "V bit HW bug" */ +if (adev->asic_type ==CHIP_TAHITI ) { + alignment =32 *1024 /AMDGPU_GPU_PAGE_SIZE ; + num_pages =ALIGN (num_pages, alignment); + } +spin_lock (&mgr->lock); r =drm_mm_insert_node_in_range (&mgr->mm, mm_node, num_pages, -0 ,GART_ENTRY_WITHOUT_BO_COLOR ,0 , + alignment,GART_ENTRY_WITHOUT_BO_COLOR ,0 , adev->gmc.gart_size >>PAGE_SHIFT , mode);spin_unlock (&mgr->lock);
drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c +6 -1
@@ -562,6 +562,11 @@ static void vpe_ring_emit_fence(struct amdgpu_ring *ring, uint64_t addr,amdgpu_ring_write (ring,0 ); } +/* WA: Force sync after TRAP to avoid VPE1 fail to power off */ +if (ring->adev->vpe.collaborate_mode) { +amdgpu_ring_write (ring,VPE_CMD_HEADER (VPE_CMD_OPCODE_COLLAB_SYNC ,0 )); +amdgpu_ring_write (ring,0xabcd ); + } }static void vpe_ring_emit_pipeline_sync (struct amdgpu_ring *ring)
@@ -968,7 +973,7 @@ static const struct amdgpu_ring_funcs vpe_ring_funcs = { .emit_frame_size =5 +/* vpe_ring_init_cond_exec */ 6 +/* vpe_ring_emit_pipeline_sync */ -10 +10 +10 +/* vpe_ring_emit_fence */ +12 +12 +12 +/* vpe_ring_emit_fence */ /* vpe_ring_emit_vm_flush */ SOC15_FLUSH_GPU_TLB_NUM_WREG *3 + SOC15_FLUSH_GPU_TLB_NUM_REG_WAIT * 6,
drivers/gpu/drm/amd/amdgpu/vce_v1_0.c +23 -8
@@ -42,9 +42,10 @@#include "oss/oss_1_0_d.h" #include "oss/oss_1_0_sh_mask.h" +#define VCE_V1_0_ALIGNMENT (32 * 1024)#define VCE_V1_0_FW_SIZE (256 * 1024)#define VCE_V1_0_STACK_SIZE (64 * 1024) -#define VCE_V1_0_DATA_SIZE (7808 * (AMDGPU_MAX_VCE_HANDLES + 1)) +#define VCE_V1_0_DATA_SIZE (ALIGN(7808 * (AMDGPU_MAX_VCE_HANDLES + 1), VCE_V1_0_ALIGNMENT))
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c +9 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/bios/bios_parser_helper.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/chipone-icn6211.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +10 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_dp.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_plane.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/mediatek/mtk_hdmi_ddc_v2.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/adreno/a6xx_gpu.c +38 -10
48 lines not on this page · raw message
drivers/gpu/drm/msm/adreno/adreno_gpu.c +7 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/adreno/adreno_gpu.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_13_0_kaanapali.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c +7 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c +18 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/msm_gem_shrinker.c +18 -26
44 lines not on this page · raw message
drivers/gpu/drm/msm/registers/adreno/a6xx.xml +4 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/iommu/amd/debugfs.c +20 -23
43 lines not on this page · raw message
drivers/iommu/generic_pt/iommu_pt.h +96 -80
176 lines not on this page · raw message
drivers/iommu/generic_pt/kunit_generic_pt.h +12 -0
Lines of this file are not shown. View the raw message.
drivers/iommu/iommu.c +73 -45
118 lines not on this page · raw message
drivers/net/dsa/mt7530.c +29 -18
47 lines not on this page · raw message
drivers/net/ethernet/airoha/airoha_eth.c +6 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/pds_core/debugfs.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/pds_core/dev.c +9 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/pds_core/devlink.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/genet/bcmgenet.c +4 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/enetc/enetc_pf.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_dcb_lib.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_dpll.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_dpll.h +16 -16
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_main.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_ptp_hw.c +26 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/virt/queues.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/idpf/idpf_ptp.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/igc/igc_tsn.c +8 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/cgx.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/rep.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/esw/ipsec_fs.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +21 -0
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/lag/lag.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan966x/lan966x_main.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microsoft/mana/hw_channel.c +19 -10
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qed/qed_cxt.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac-eic7700.c +89 -37
126 lines not on this page · raw message
drivers/net/ethernet/ti/icssm/icssm_prueth.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/dp_rx.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/hal_rx.c +1 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/testmode.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mld/link.c +6 -7
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mld/tx.c +14 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c +18 -9
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/utils.c +4 -10
Lines of this file are not shown. View the raw message.
drivers/net/wireless/microchip/wilc1000/wlan.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/phy/marvell/phy-mvebu-a3700-utmi.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/phy/qualcomm/phy-qcom-edp.c +42 -46
88 lines not on this page · raw message
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/phy/samsung/phy-exynos5-usbdrd.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/pinctrl/mediatek/pinctrl-moore.c +18 -0
Lines of this file are not shown. View the raw message.
drivers/pinctrl/meson/pinctrl-amlogic-a4.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/pinctrl/renesas/pinctrl-rzg2l.c +15 -8
Lines of this file are not shown. View the raw message.
drivers/platform/surface/surface_aggregator_registry.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/platform/x86/intel/int1092/intel_sar.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/platform/x86/uniwill/uniwill-acpi.c +42 -5
47 lines not on this page · raw message
drivers/regulator/tps65219-regulator.c +95 -40
135 lines not on this page · raw message
drivers/virt/coco/sev-guest/sev-guest.c +7 -3
Lines of this file are not shown. View the raw message.
fs/afs/dir.c +44 -35
79 lines not on this page · raw message
fs/afs/inode.c +26 -101
127 lines not on this page · raw message
fs/afs/internal.h +27 -18
45 lines not on this page · raw message
fs/afs/symlink.c new file +278 -0
278 lines not on this page · raw message
fs/btrfs/qgroup.c +52 -29
81 lines not on this page · raw message
fs/netfs/buffered_read.c +39 -34
73 lines not on this page · raw message
fs/netfs/buffered_write.c +111 -63
174 lines not on this page · raw message
fs/netfs/direct_read.c +13 -29
42 lines not on this page · raw message
fs/netfs/misc.c +30 -11
41 lines not on this page · raw message
fs/netfs/write_issue.c +33 -16
49 lines not on this page · raw message
fs/smb/client/cifsfs.c +28 -14
42 lines not on this page · raw message
fs/smb/client/fs_context.c +108 -53
161 lines not on this page · raw message
fs/smb/client/smb2ops.c +28 -18
46 lines not on this page · raw message
fs/smb/server/smbacl.c +59 -19
78 lines not on this page · raw message
fs/smb/server/vfs_cache.c +89 -31
120 lines not on this page · raw message
include/asm-generic/ring_buffer.h new file +13 -0
Lines of this file are not shown. View the raw message.
include/linux/generic_pt/iommu.h +58 -11
69 lines not on this page · raw message
include/linux/netfilter_arp/arp_tables.h +0 -1
Lines of this file are not shown. View the raw message.
include/linux/netfilter_ipv4/ip_tables.h +0 -1
Lines of this file are not shown. View the raw message.
include/linux/netfilter_ipv6/ip6_tables.h +0 -1
Lines of this file are not shown. View the raw message.
include/linux/netfs.h +285 -10
295 lines not on this page · raw message
include/linux/soc/airoha/airoha_offload.h +3 -3
Lines of this file are not shown. View the raw message.
include/net/netfilter/nf_conntrack_expect.h +4 -1
Lines of this file are not shown. View the raw message.
net/batman-adv/bat_iv_ogm.c +65 -17
82 lines not on this page · raw message
net/batman-adv/bat_v_ogm.c +35 -24
59 lines not on this page · raw message
net/batman-adv/bridge_loop_avoidance.c +73 -36
109 lines not on this page · raw message
net/batman-adv/fragmentation.c +52 -6
58 lines not on this page · raw message
net/batman-adv/tp_meter.c +75 -42
117 lines not on this page · raw message
net/batman-adv/translation-table.c +45 -10
55 lines not on this page · raw message
net/batman-adv/types.h +44 -15
59 lines not on this page · raw message
net/bluetooth/af_bluetooth.c +75 -22
97 lines not on this page · raw message
net/bluetooth/l2cap_sock.c +44 -7
51 lines not on this page · raw message
net/bridge/netfilter/ebtables.c +43 -28
71 lines not on this page · raw message
net/ipv4/netfilter/arp_tables.c +8 -45
53 lines not on this page · raw message
net/ipv4/netfilter/ip_tables.c +8 -51
59 lines not on this page · raw message
net/ipv4/netfilter/iptable_security.c +14 -13
Lines of this file are not shown. View the raw message.
net/ipv6/netfilter/ip6_tables.c +8 -48
56 lines not on this page · raw message
net/ipv6/netfilter/ip6table_security.c +14 -13
Lines of this file are not shown. View the raw message.
net/mac80211/parse.c +63 -42
105 lines not on this page · raw message
net/mptcp/pm.c +46 -10
56 lines not on this page · raw message
net/netfilter/ipset/ip_set_hash_ipmark.c +5 -1
Lines of this file are not shown. View the raw message.
net/netfilter/ipset/ip_set_hash_ipport.c +4 -1
Lines of this file are not shown. View the raw message.
net/netfilter/ipset/ip_set_hash_ipportip.c +4 -1
Lines of this file are not shown. View the raw message.
net/netfilter/ipset/ip_set_hash_ipportnet.c +4 -1
Lines of this file are not shown. View the raw message.
net/netfilter/x_tables.c +147 -30
177 lines not on this page · raw message
net/rxrpc/recvmsg.c +55 -13
68 lines not on this page · raw message
net/rxrpc/rxgk.c +36 -28
64 lines not on this page · raw message
net/rxrpc/rxgk_common.h +82 -0
82 lines not on this page · raw message
net/rxrpc/rxkad.c +32 -54
86 lines not on this page · raw message
net/shaper/shaper.c +154 -66
220 lines not on this page · raw message
net/tls/tls_sw.c +32 -14
46 lines not on this page · raw message
net/vmw_vsock/virtio_transport_common.c +49 -54
103 lines not on this page · raw message
sound/hda/codecs/ca0132.c +31 -13
44 lines not on this page · raw message
sound/hda/codecs/side-codecs/cs35l41_hda.c +3 -1
Lines of this file are not shown. View the raw message.
sound/hda/codecs/side-codecs/cs35l56_hda.c +1 -0
Lines of this file are not shown. View the raw message.
sound/soc/amd/acp/acp-sdw-legacy-mach.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/sdw_utils/soc_sdw_bridge_cs35l56.c +0 -6
Lines of this file are not shown. View the raw message.
tools/testing/selftests/mm/hmm-tests.c +50 -0
50 lines not on this page · raw message
tools/testing/selftests/mm/run_vmtests.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/lib/xdp_native.bpf.c +30 -25
55 lines not on this page · raw message
tools/testing/selftests/net/mptcp/mptcp_connect.sh +3 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_lib.sh +5 -5
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.