Linux 6.6.18
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.6.18 kernel.
All users of the 6.6 kernel series must upgrade.
The updated 6.6.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.6.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/ABI/testing/sysfs-class-net-statistics | 48 Documentation/arch/arm64/silicon-errata.rst | 7 Documentation/arch/ia64/features.rst | 2 Documentation/networking/devlink/devlink-port.rst | 2 Documentation/sphinx/kernel_feat.py | 2 Makefile | 2 arch/Kconfig | 1 arch/arc/include/asm/jump_label.h | 4 arch/arm/include/asm/jump_label.h | 4 arch/arm64/include/asm/alternative-macros.h | 4 arch/arm64/include/asm/cputype.h | 4 arch/arm64/include/asm/jump_label.h | 4 arch/arm64/kernel/cpu_errata.c | 3 arch/arm64/kernel/fpsimd.c | 2 arch/arm64/kernel/signal.c | 4 arch/arm64/kvm/pkvm.c | 27 arch/csky/include/asm/jump_label.h | 4 arch/loongarch/include/asm/jump_label.h | 4 arch/loongarch/mm/kasan_init.c | 3 arch/mips/include/asm/checksum.h | 3 arch/mips/include/asm/jump_label.h | 4 arch/mips/include/asm/ptrace.h | 2 arch/mips/kernel/ptrace.c | 7 arch/parisc/Kconfig | 1 arch/parisc/include/asm/assembly.h | 1 arch/parisc/include/asm/extable.h | 64 arch/parisc/include/asm/jump_label.h | 4 arch/parisc/include/asm/special_insns.h | 6 arch/parisc/include/asm/uaccess.h | 48 arch/parisc/kernel/cache.c | 6 arch/parisc/kernel/drivers.c | 3 arch/parisc/kernel/unaligned.c | 44 arch/parisc/mm/fault.c | 11 arch/powerpc/include/asm/jump_label.h | 4 arch/powerpc/include/asm/reg.h | 2 arch/powerpc/include/asm/thread_info.h | 2 arch/powerpc/include/asm/uaccess.h | 12 arch/powerpc/kernel/cpu_setup_6xx.S | 20 arch/powerpc/kernel/cpu_specs_e500mc.h | 3 arch/powerpc/kernel/interrupt_64.S | 4 arch/powerpc/kernel/irq_64.c | 2 arch/powerpc/mm/kasan/init_32.c | 1 arch/powerpc/platforms/pseries/lpar.c | 8 arch/riscv/include/asm/hwcap.h | 4 arch/riscv/include/asm/jump_label.h | 4 arch/s390/include/asm/jump_label.h | 4 arch/sparc/include/asm/jump_label.h | 4 arch/um/Makefile | 4 arch/um/include/asm/cpufeature.h | 2 arch/x86/Kconfig.cpu | 2 arch/x86/boot/Makefile | 2 arch/x86/boot/compressed/vmlinux.lds.S | 6 arch/x86/boot/header.S | 211 - arch/x86/boot/setup.ld | 14 arch/x86/boot/tools/build.c | 273 -- arch/x86/include/asm/barrier.h | 18 arch/x86/include/asm/cpufeature.h | 2 arch/x86/include/asm/cpufeatures.h | 2 arch/x86/include/asm/jump_label.h | 6 arch/x86/include/asm/processor.h | 18 arch/x86/include/asm/rmwcc.h | 2 arch/x86/include/asm/special_insns.h | 2 arch/x86/include/asm/uaccess.h | 10 arch/x86/kernel/cpu/amd.c | 3 arch/x86/kernel/cpu/common.c | 7 arch/x86/kernel/cpu/hygon.c | 3 arch/x86/kernel/fpu/signal.c | 13 arch/x86/kvm/svm/svm_ops.h | 6 arch/x86/kvm/vmx/pmu_intel.c | 2 arch/x86/kvm/vmx/vmx.c | 4 arch/x86/kvm/vmx/vmx_ops.h | 6 arch/x86/kvm/x86.c | 3 arch/x86/mm/ident_map.c | 23 arch/xtensa/include/asm/jump_label.h | 4 block/blk-mq.c | 9 block/blk-wbt.c | 4 crypto/algif_hash.c | 5 drivers/android/binder.c | 10 drivers/base/core.c | 15 drivers/base/power/domain.c | 2 drivers/connector/cn_proc.c | 5 drivers/crypto/ccp/sev-dev.c | 10 drivers/firewire/core-device.c | 7 drivers/firmware/efi/libstub/Makefile | 7 drivers/firmware/efi/libstub/x86-stub.c | 46 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 9 drivers/gpu/drm/amd/amdgpu/cik_ih.c | 6 drivers/gpu/drm/amd/amdgpu/cz_ih.c | 5 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 2 drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 5 drivers/gpu/drm/amd/amdgpu/ih_v6_0.c | 6 drivers/gpu/drm/amd/amdgpu/ih_v6_1.c | 7 drivers/gpu/drm/amd/amdgpu/navi10_ih.c | 6 drivers/gpu/drm/amd/amdgpu/si_ih.c | 6 drivers/gpu/drm/amd/amdgpu/soc21.c | 4 drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 6 drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 6 drivers/gpu/drm/amd/amdgpu/vega20_ih.c | 6 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 14 drivers/gpu/drm/amd/display/dc/dml/Makefile | 6 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c | 5 drivers/gpu/drm/drm_prime.c | 2 drivers/gpu/drm/msm/msm_gem_prime.c | 4 drivers/gpu/drm/msm/msm_gpu.c | 11 drivers/gpu/drm/msm/msm_iommu.c | 32 drivers/gpu/drm/msm/msm_ringbuffer.c | 7 drivers/gpu/drm/nouveau/nouveau_fence.c | 24 drivers/gpu/drm/nouveau/nouveau_fence.h | 1 drivers/gpu/drm/nouveau/nouveau_svm.c | 2 drivers/gpu/drm/virtio/virtgpu_drv.c | 1 drivers/hid/bpf/hid_bpf_dispatch.c | 83 drivers/hid/bpf/hid_bpf_dispatch.h | 4 drivers/hid/bpf/hid_bpf_jmp_table.c | 40 drivers/hid/i2c-hid/i2c-hid-of.c | 1 drivers/hid/wacom_sys.c | 63 drivers/hid/wacom_wac.c | 9 drivers/i2c/busses/Makefile | 6 drivers/i2c/busses/i2c-i801.c | 4 drivers/i2c/busses/i2c-pasemi-core.c | 6 drivers/i2c/busses/i2c-qcom-geni.c | 14 drivers/iio/accel/Kconfig | 2 drivers/iio/adc/ad4130.c | 12 drivers/iio/imu/bno055/Kconfig | 1 drivers/iio/industrialio-core.c | 5 drivers/iio/light/hid-sensor-als.c | 1 drivers/iio/magnetometer/rm3100-core.c | 10 drivers/iio/pressure/bmp280-spi.c | 1 drivers/interconnect/qcom/sc8180x.c | 1 drivers/interconnect/qcom/sm8550.c | 1 drivers/irqchip/irq-brcmstb-l2.c | 5 drivers/irqchip/irq-gic-v3-its.c | 62 drivers/irqchip/irq-loongson-eiointc.c | 2 drivers/md/dm-core.h | 2 drivers/md/dm-crypt.c | 38 drivers/md/dm-ioctl.c | 3 drivers/md/dm-table.c | 9 drivers/md/dm-verity-target.c | 26 drivers/md/dm-verity.h | 1 drivers/md/md.c | 7 drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c | 2 drivers/media/rc/bpf-lirc.c | 6 drivers/media/rc/ir_toy.c | 2 drivers/media/rc/lirc_dev.c | 5 drivers/media/rc/rc-core-priv.h | 2 drivers/misc/fastrpc.c | 2 drivers/mmc/core/slot-gpio.c | 6 drivers/mmc/host/sdhci-pci-o2micro.c | 30 drivers/net/bonding/bond_main.c | 5 drivers/net/can/dev/netlink.c | 2 drivers/net/dsa/mv88e6xxx/chip.c | 2 drivers/net/ethernet/intel/i40e/i40e_main.c | 2 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 38 drivers/net/ethernet/microchip/lan966x/lan966x_lag.c | 9 drivers/net/ethernet/netronome/nfp/flower/conntrack.c | 46 drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c | 2 drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 1 drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c | 6 drivers/net/ethernet/stmicro/stmmac/common.h | 56 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 15 drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c | 15 drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c | 15 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c | 15 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 129 - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 136 - drivers/net/ethernet/ti/cpsw.c | 2 drivers/net/ethernet/ti/cpsw_new.c | 3 drivers/net/hyperv/netvsc.c | 5 drivers/net/hyperv/netvsc_drv.c | 82 drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 15 drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 1 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 3 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 4 drivers/net/xen-netback/netback.c | 84 drivers/of/property.c | 65 drivers/of/unittest.c | 12 drivers/pci/pci.c | 37 drivers/perf/cxl_pmu.c | 2 drivers/pmdomain/mediatek/mtk-pm-domains.c | 15 drivers/pmdomain/renesas/r8a77980-sysc.c | 3 drivers/s390/net/qeth_l3_main.c | 9 drivers/scsi/fcoe/fcoe_ctlr.c | 20 drivers/scsi/storvsc_drv.c | 12 drivers/spi/spi-imx.c | 9 drivers/spi/spi-ppc4xx.c | 5 drivers/staging/iio/impedance-analyzer/ad5933.c | 2 drivers/thunderbolt/tb_regs.h | 2 drivers/thunderbolt/usb4.c | 2 drivers/tty/serial/max310x.c | 53 drivers/tty/serial/mxs-auart.c | 5 drivers/usb/chipidea/ci.h | 2 drivers/usb/chipidea/core.c | 44 drivers/usb/common/ulpi.c | 2 drivers/usb/core/hub.c | 46 drivers/usb/dwc3/gadget.c | 6 drivers/usb/gadget/function/f_mass_storage.c | 20 drivers/usb/typec/tcpm/tcpm.c | 3 drivers/usb/typec/ucsi/ucsi.c | 2 drivers/usb/typec/ucsi/ucsi_acpi.c | 17 fs/btrfs/block-group.c | 49 fs/btrfs/block-group.h | 7 fs/btrfs/delalloc-space.c | 29 fs/btrfs/disk-io.c | 13 fs/btrfs/inode.c | 26 fs/btrfs/ioctl.c | 5 fs/btrfs/qgroup.c | 14 fs/btrfs/send.c | 2 fs/ceph/caps.c | 3 fs/ext4/mballoc.c | 39 fs/ext4/move_extent.c | 6 fs/hugetlbfs/inode.c | 19 fs/namespace.c | 11 fs/nfsd/nfs4state.c | 11 fs/nilfs2/file.c | 8 fs/nilfs2/recovery.c | 7 fs/nilfs2/segment.c | 8 fs/proc/array.c | 10 fs/smb/client/connect.c | 14 fs/smb/client/fs_context.c | 11 fs/smb/client/namespace.c | 16 fs/smb/client/smb2ops.c | 2 fs/smb/server/smb2pdu.c | 8 fs/tracefs/event_inode.c | 1250 ++++------ fs/tracefs/inode.c | 276 +- fs/tracefs/internal.h | 60 fs/zonefs/file.c | 42 fs/zonefs/super.c | 66 include/asm-generic/vmlinux.lds.h | 6 include/linux/backing-dev-defs.h | 7 include/linux/compiler-gcc.h | 20 include/linux/compiler_types.h | 11 include/linux/iio/adc/ad_sigma_delta.h | 4 include/linux/iio/common/st_sensors.h | 4 include/linux/iio/imu/adis.h | 3 include/linux/init.h | 3 include/linux/lsm_hook_defs.h | 4 include/linux/netfilter/ipset/ip_set.h | 4 include/linux/ptrace.h | 4 include/linux/serial_core.h | 32 include/linux/trace_events.h | 2 include/linux/tracefs.h | 73 include/net/tls.h | 5 include/sound/tas2781.h | 1 init/Kconfig | 9 io_uring/net.c | 5 kernel/sched/membarrier.c | 6 kernel/trace/ftrace.c | 10 kernel/trace/ring_buffer.c | 2 kernel/trace/trace.c | 85 kernel/trace/trace.h | 4 kernel/trace/trace_btf.c | 4 kernel/trace/trace_events.c | 311 +- kernel/trace/trace_events_synth.c | 3 kernel/trace/trace_events_trigger.c | 6 kernel/trace/trace_osnoise.c | 6 kernel/trace/trace_probe.c | 32 kernel/trace/trace_probe.h | 3 kernel/workqueue.c | 8 lib/kobject.c | 24 mm/backing-dev.c | 2 mm/memory.c | 4 mm/page-writeback.c | 4 mm/userfaultfd.c | 15 net/can/j1939/j1939-priv.h | 3 net/can/j1939/main.c | 2 net/can/j1939/socket.c | 46 net/handshake/handshake-test.c | 5 net/hsr/hsr_device.c | 4 net/mac80211/tx.c | 5 net/mptcp/pm_userspace.c | 13 net/mptcp/protocol.c | 25 net/mptcp/protocol.h | 7 net/mptcp/subflow.c | 4 net/netfilter/ipset/ip_set_bitmap_gen.h | 14 net/netfilter/ipset/ip_set_core.c | 39 net/netfilter/ipset/ip_set_hash_gen.h | 19 net/netfilter/ipset/ip_set_list_set.c | 13 net/netfilter/nft_set_pipapo_avx2.c | 2 net/nfc/nci/core.c | 4 net/openvswitch/flow_netlink.c | 49 net/tls/tls_sw.c | 217 - net/wireless/core.c | 1 samples/bpf/asm_goto_workaround.h | 8 scripts/link-vmlinux.sh | 9 scripts/mksysmap | 13 scripts/mod/modpost.c | 18 scripts/mod/sumversion.c | 7 security/security.c | 45 sound/pci/hda/Kconfig | 4 sound/pci/hda/patch_conexant.c | 18 sound/pci/hda/patch_cs8409.c | 1 sound/pci/hda/patch_realtek.c | 20 sound/pci/hda/tas2781_hda_i2c.c | 2 sound/soc/amd/yc/acp6x-mach.c | 14 sound/soc/codecs/rt5645.c | 1 sound/soc/codecs/tas2781-comlib.c | 3 sound/soc/codecs/tas2781-i2c.c | 2 sound/soc/codecs/wcd938x.c | 2 sound/soc/sof/ipc3-topology.c | 55 sound/soc/sof/ipc3.c | 2 tools/arch/x86/include/asm/rmwcc.h | 2 tools/include/linux/compiler_types.h | 4 tools/testing/selftests/kvm/dirty_log_test.c | 50 tools/testing/selftests/kvm/x86_64/amx_test.c | 4 tools/testing/selftests/kvm/x86_64/hyperv_features.c | 9 tools/testing/selftests/landlock/fs_test.c | 11 tools/testing/selftests/mm/charge_reserved_hugetlb.sh | 2 tools/testing/selftests/mm/ksm_tests.c | 2 tools/testing/selftests/mm/map_hugetlb.c | 7 tools/testing/selftests/mm/va_high_addr_switch.sh | 6 tools/testing/selftests/mm/write_hugetlb_memory.sh | 2 tools/testing/selftests/net/forwarding/bridge_locked_port.sh | 4 tools/testing/selftests/net/forwarding/bridge_mdb.sh | 192 - tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh | 8 tools/testing/selftests/net/mptcp/config | 3 tools/testing/selftests/net/mptcp/mptcp_join.sh | 10 tools/testing/selftests/net/mptcp/mptcp_lib.sh | 11 tools/testing/selftests/net/mptcp/settings | 2 tools/testing/selftests/net/mptcp/userspace_pm.sh | 31 tools/testing/selftests/net/test_bridge_backup_port.sh | 394 +-- tools/tracing/rtla/Makefile | 7 tools/tracing/rtla/src/osnoise_hist.c | 9 tools/tracing/rtla/src/osnoise_top.c | 6 tools/tracing/rtla/src/timerlat_hist.c | 9 tools/tracing/rtla/src/timerlat_top.c | 6 tools/tracing/rtla/src/utils.c | 14 tools/tracing/rtla/src/utils.h | 2 tools/verification/rv/Makefile | 7 tools/verification/rv/src/in_kernel.c | 2 329 files changed, 4047 insertions(+), 3126 deletions(-)
Aaron Conole (1):
net: openvswitch: limit the number of recursions from action sets
Aleksander Mazur (1):
x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6
Alex Williamson (1):
PCI: Fix active state requirement in PME polling
Alexander Stein (1):
mmc: slot-gpio: Allow non-sleeping GPIO ro
Alexandra Winter (1):
s390/qeth: Fix potential loss of L3-IP@ in case of network issues
Alexey Khoroshilov (1):
ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()
Andrei Vagin (1):
x86/fpu: Stop relying on userspace for info to fault in xsave buffer
Andrew Lunn (1):
net: dsa: mv88e6xxx: Fix failed probe due to unsupported C45 reads
Andy Chi (1):
ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power
Ard Biesheuvel (16):
x86/efi: Drop EFI stub .bss from .data section
x86/efi: Disregard setup header of loaded image
x86/efi: Drop alignment flags from PE section headers x86/boot: Remove the 'bugger off' message
x86/boot: Omit compression buffer from PE/COFF image memory footprint x86/boot: Drop redundant code setting the root device x86/boot: Drop references to startup_64
x86/boot: Grab kernel_info offset from zoffset header directly x86/boot: Set EFI handover offset directly in header asm x86/boot: Define setup size in linker script
x86/boot: Derive file size from _edata symbol
x86/boot: Construct PE/COFF .text section from assembler x86/boot: Drop PE/COFF .reloc section
x86/boot: Split off PE/COFF .data section
x86/boot: Increase section and file alignment to 4k/512 x86/efistub: Use 1:1 file:memory mapping for PE/COFF .compat section
Arnd Bergmann (3):
nouveau/svm: fix kvcalloc() argument order
i2c: pasemi: split driver into two separate modules
kallsyms: ignore ARMv4 thunks along with others
Audra Mitchell (1):
selftests/mm: Update va_high_addr_switch.sh to check CPU for la57 flag
Baokun Li (2):
ext4: fix double-free of blocks due to wrong extents moved_len
ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
Beau Belgrave (1):
eventfs: Fix events beyond NAME_MAX blocking tasks
Benjamin Tissoires (2):
HID: bpf: remove double fdget()
HID: bpf: actually free hdev memory after attaching a HID-BPF program
Bibo Mao (1):
irqchip/loongson-eiointc: Use correct struct type in eiointc_domain_alloc()
Boris Burkov (2):
btrfs: forbid creating subvol qgroups
btrfs: forbid deleting live subvol qgroup
Borislav Petkov (AMD) (1):
x86/barrier: Do not serialize MSR accesses on AMD
Breno Leitao (1):
net: sysfs: Fix /sys/class/net/<iface> path for statistics
Carlos Llamas (1):
binder: signal epoll threads of self-work
Carlos Song (1):
spi: imx: fix the burst length at DMA mode and CPU mode
Christian A. Ehrhardt (3):
of: unittest: Fix compile in the non-dynamic case
usb: ucsi: Add missing ppm_lock
usb: ucsi_acpi: Fix command completion handling
Christian Brauner (1):
fs: relax mount_setattr() permission checks
Chuck Lever (1):
net/handshake: Fix handshake_req_destroy_test1
Cosmin Tanislav (2):
iio: adc: ad4130: zero-initialize clock init data
iio: adc: ad4130: only set GPIO_CTRL if pin is unused
Curtis Malainey (1):
ASoC: SOF: IPC3: fix message bounds on ipc ops
Damien Le Moal (2):
zonefs: Improve error handling
block: fix partial zone append completion handling in req_bio_endio()
Dan Carpenter (4):
wifi: iwlwifi: Fix some error codes
wifi: iwlwifi: uninitialized variable in iwl_acpi_get_ppag_table()
cifs: fix underflow in parse_server_interfaces()
tracing: Fix a NULL vs IS_ERR() bug in event_subsystem_dir()
Daniel Basilio (1):
nfp: use correct macro for LengthSelect in BAR config
Daniel Bristot de Oliveira (7):
tracing/timerlat: Move hrtimer_init to timerlat_fd open() tools/rv: Fix curr_reactor uninitialized variable tools/rv: Fix Makefile compiler options for clang tools/rtla: Remove unused sched_getattr() function tools/rtla: Fix clang warning about mount_point var size tools/rtla: Fix uninitialized bucket/data->bucket_size warning tools/rtla: Fix Makefile compiler options for clang
Daniel de Villiers (1):
nfp: flower: prevent re-adding mac index for bonded port
Dave Airlie (1):
nouveau: offload fence uevents work to workqueue
David Engraf (1):
powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E
David McFarland (1):
drm/amd: Don't init MEC2 firmware when it fails to load
David Schiller (1):
staging: iio: ad5933: fix type mismatch regression
David Senoner (1):
ALSA: hda/realtek: Fix the external mic not being recognised for Acer Swift 1 SF114-32
David Sterba (1):
btrfs: send: return EOPNOTSUPP on unknown flags
Dinghao Liu (1):
iio: core: fix memleak in iio_device_register_sysfs
Doug Berger (1):
irqchip/irq-brcmstb-l2: Add write memory barrier before exit
Easwar Hariharan (1):
arm64: Subscribe Microsoft Azure Cobalt 100 to ARM Neoverse N2 errata
Edson Juliano Drosdeck (1):
ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL
Ekansh Gupta (1):
misc: fastrpc: Mark all sessions as invalid in cb_remove
Emmanuel Grumbach (1):
wifi: iwlwifi: mvm: fix a crash when we run out of stations
Eniac Zhang (1):
ALSA: hda/realtek: fix mute/micmute LED For HP mt645
Erick Archer (1):
eventfs: Use kcalloc() instead of kzalloc()
Esben Haabendal (1):
net: stmmac: do not clear TBS enable bit on link up/down
Eugen Hristev (1):
pmdomain: mediatek: fix race conditions with genpd
Fangzhi Zuo (1):
drm/amd/display: Fix MST Null Ptr for RV
Fedor Pchelkin (2):
nfc: nci: free rx_data_reassembly skb on NCI device cleanup
ksmbd: free aux buffer if ksmbd_iov_pin_rsp_read fails
Filipe Manana (4):
btrfs: add and use helper to check if block group is used
btrfs: do not delete unused block group if it may be used soon
btrfs: don't reserve space for checksums when writing to nocow files
btrfs: reject encoded write if inode has nodatasum flag set
Fred Ai (1):
mmc: sdhci-pci-o2micro: Fix a warm reboot issue that disk can't be detected by BIOS
Friedrich Vock (1):
drm/amdgpu: Reset IH OVERFLOW_CLEAR bit
Gaurav Batra (1):
powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add
Geert Uytterhoeven (1):
pmdomain: renesas: r8a77980-sysc: CR7 must be always on
Geliang Tang (2):
selftests: mptcp: add mptcp_lib_kill_wait
mptcp: check addrs list in userspace_pm_get_local_id
Gergo Koteles (1):
ASoC: tas2781: add module parameter to tascodec_init()
Greg Kroah-Hartman (2):
Revert "kobject: Remove redundant checks for whether ktype is NULL" Linux 6.6.18
Guenter Roeck (1):
MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
Hangbin Liu (1):
selftests/net: convert test_bridge_backup_port.sh to run it in unique namespace
Helge Deller (3):
parisc: Prevent hung tasks when printing inventory on serial console
parisc: BTLB: Fix crash when setting up BTLB at CPU bringup
parisc: Fix random data corruption from exception handler
Herbert Xu (1):
crypto: algif_hash - Remove bogus SGL free on zero-length error path
Hojin Nam (1):
perf: CXL: fix mismatched cpmu event opcode
Horatiu Vultur (1):
lan966x: Fix crash when adding interface under a lag
Hu Yadi (1):
selftests/landlock: Fix fs_test build with old libc
Huacai Chen (1):
LoongArch: Fix earlycon parameter if KASAN enabled
Hugo Villeneuve (4):
serial: max310x: set default value when reading clock ready bit
serial: max310x: improve crystal stable clock detection
serial: max310x: fail probe if clock crystal is unstable
serial: max310x: prevent infinite while() loop in port startupHui Zhou (2):
nfp: flower: add hardware offload check for post ct entry
nfp: flower: fix hardware offload for the transfer layer port
Ido Schimmel (6):
selftests: net: Fix bridge backup port test flakiness
selftests: forwarding: Fix layer 2 miss test flakiness
selftests: forwarding: Fix bridge MDB test flakiness
selftests: bridge_mdb: Use MDB get instead of dump
selftests: forwarding: Suppress grep warnings
selftests: forwarding: Fix bridge locked port test flakiness
Ivan Vecera (2):
i40e: Do not allow untrusted VF to remove administratively set MAC
i40e: Fix waiting for queues of all VSIs to be disabled
Jakub Kicinski (5):
net: tls: factor out tls_*crypt_async_wait()
tls: fix race between async notify and socket close
tls: fix race between tx work scheduling and socket close
net: tls: handle backlogging of crypto requests
net: tls: fix returned read length with async decrypt
James Hershaw (1):
nfp: enable NETDEV_XDP_ACT_REDIRECT feature flag
Jan Beulich (1):
xen-netback: properly sync TX responses
Jan Kara (1):
blk-wbt: Fix detection of dirty-throttled tasks
Jason Gerecke (1):
HID: wacom: Do not register input devices until after hid_hw_start
Jean Delvare (1):
i2c: i801: Fix block process call transactions
Jens Axboe (1):
io_uring/net: fix multishot accept overflow handling
Jiangfeng Xiao (1):
powerpc/kasan: Fix addr error caused by page alignment
Jiapeng Chong (1):
tracefs/eventfs: Modify mismatched function name
Jiaxun Yang (2):
ptrace: Introduce exception_ip arch hook mm/memory: Use exception ip to search exception tables
Jiri Slaby (SUSE) (2):
serial: core: introduce uart_port_tx_flags()
serial: mxs-auart: fix tx
Johan Hovold (1):
HID: i2c-hid-of: fix NULL-deref on failed power up
Johannes Berg (3):
wifi: iwlwifi: fix double-free bug
wifi: cfg80211: fix wiphy delayed work queueing
wifi: mac80211: reload info pointer in ieee80211_tx_dequeue()
John Kacur (1):
tools/rtla: Exit with EXIT_SUCCESS when help is invoked
Josef Bacik (1):
btrfs: don't drop extent_map for free space inode on write error
José Relvas (1):
ALSA: hda/realtek: Apply headset jack quirk for non-bass alc287 thinkpads
Jozsef Kadlecsik (2):
netfilter: ipset: fix performance regression in swap operation
netfilter: ipset: Missing gc cancellations fixed
Junxiao Bi (1):
md: bypass block throttle for superblock update
Kailang Yang (1):
ALSA: hda/realtek - Add speaker pin verbtable for Dell dual speaker platform
Keqi Wang (1):
connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared"
Kim Phillips (1):
crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked
Konrad Dybcio (3):
interconnect: qcom: sc8180x: Mark CO0 BCM keepalive
interconnect: qcom: sm8550: Enable sync_state
pmdomain: core: Move the unused cleanup to a _sync initcall
Krzysztof Kozlowski (1):
ASoC: codecs: wcd938x: handle deferred probe
Lee Duncan (1):
scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
Linus Torvalds (10):
work around gcc bugs with 'asm goto' with outputs update workarounds for gcc "asm goto" issue
tracefs: remove stale update_gid code
eventfs: Initialize the tracefs inode properly
tracefs: Avoid using the ei->dentry pointer unnecessarily
tracefs: dentry lookup crapectomy
eventfs: Remove unused d_parent pointer field
eventfs: Clean up dentry ops and add revalidate function
eventfs: Get rid of dentry pointers without refcounts sched/membarrier: reduce the ability to hammer on sys_membarrier
Lokesh Gidra (1):
userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb
Luka Guzenko (1):
ALSA: hda/realtek: Enable Mute LED on HP Laptop 14-fq0xxx
Lukas Bulwahn (1):
ALSA: hda/cs35l56: select intended config FW_CS_DSP
Magnus Karlsson (1):
bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY
Marc Zyngier (3):
irqchip/gic-v3-its: Handle non-coherent GICv4 redistributors irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
Mario Limonciello (3):
Revert "drm/amd: flush any delayed gfxoff on suspend entry"
iio: accel: bma400: Fix a compilation problem
ASoC: amd: yc: Add DMI quirk for Lenovo Ideapad Pro 5 16ARP8
Mark Brown (2):
usb: typec: tpcm: Fix issues with power being removed during reset arm64/signal: Don't assume that TIF_SVE means we saved SVE state
Masahiro Yamada (1):
linux/init: remove __memexit* annotations
Masami Hiramatsu (Google) (5):
tracing/trigger: Fix to return error if failed to alloc snapshot tracing/probes: Fix to show a parse error for bad type for $comm tracing/probes: Fix to set arg size and fmt after setting type from BTF tracing/probes: Fix to search structure fields correctly
ftrace: Fix DIRECT_CALLS to use SAVE_REGS by default
Matthias Schiffer (1):
powerpc/6xx: set High BAT Enable flag on G2_LE cores
Matthieu Baerts (NGI0) (5):
selftests: mptcp: add missing kconfig for NF Filter
selftests: mptcp: add missing kconfig for NF Filter in v6
selftests: mptcp: add missing kconfig for NF Mangle
selftests: mptcp: increase timeout to 30 min
selftests: mptcp: allow changing subtests prefix
Maxime Jayat (1):
can: netlink: Fix TDCO calculation using the old data bittiming
Michael Ellerman (2):
powerpc/kasan: Limit KASAN thread size increase to 32KB Revert "powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add"
Michael Kelley (1):
scsi: storvsc: Fix ring buffer size calculation
Mikulas Patocka (2):
dm-crypt, dm-verity: disable tasklets
dm: limit the number of targets and parameter size area
Mingwei Zhang (1):
KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl
Mohammad Rahimi (1):
thunderbolt: Fix setting the CNS bit in ROUTER_CS_5
Muhammad Usama Anjum (1):
selftests/mm: switch to bash from sh
Nathan Chancellor (5):
kbuild: Fix changing ELF file type for output of gen_btf for big endian
um: Fix adding '-no-pie' for clang
modpost: Add '.ltext' and '.ltext.*' to TEXT_SECTIONS drm/amd/display: Increase frame-larger-than for all display_mode_vba files
eventfs: Use ERR_CAST() in eventfs_create_events_dir()
Naveen N Rao (1):
powerpc/64: Set task pt_regs->link to the LR value on scv entry
NeilBrown (1):
nfsd: don't take fi_lock in nfsd_break_deleg_cb()
Nico Pache (1):
selftests: mm: fix map_hugetlb failure on 64K page size systems
Nikita Zhandarovich (1):
net: hsr: remove WARN_ONCE() in send_hsr_supervision_frame()
Nuno Sa (4):
iio: commom: st_sensors: ensure proper DMA alignment
iio: adc: ad_sigma_delta: ensure proper DMA alignment
iio: imu: adis: ensure proper DMA alignment
of: property: fix typo in io-channels
Oleg Nesterov (1):
fs/proc: do_task_stat: move thread_group_cputime_adjusted() outside of lock_task_sighand()
Oleksij Rempel (1):
can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)
Oliver Neukum (1):
USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
Ondrej Mosnacek (2):
lsm: fix default return value of the socket_getpeersec_*() hooks
lsm: fix the logic in security_inode_getsecctx()
Oscar Salvador (1):
fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super
Paolo Abeni (4):
mptcp: fix data re-injection from stale subflow
mptcp: drop the push_pending field
mptcp: fix rcv space initialization
mptcp: really cope with fastopen race
Parav Pandit (1):
devlink: Fix command annotation documentation
Paulo Alcantara (1):
smb: client: set correct id, uid and cruid for multiuser automounts
Petr Pavlu (1):
tracing: Fix HAVE_DYNAMIC_FTRACE_WITH_REGS ifdef
Petr Tesarik (1):
net: stmmac: protect updates of 64-bit statistics counters
Philip Yang (1):
drm/prime: Support page array >= 4GB
Prakash Sangappa (1):
mm: hugetlb pages should not be reserved by shmat() if SHM_NORESERVE
Prasad Pandit (1):
KVM: x86: make KVM_REQ_NMI request iff NMI pending for vcpu
Qu Wenruo (1):
btrfs: do not ASSERT() if the newly created subvolume already got read
Radek Krejci (1):
modpost: trim leading spaces when processing source files list
Randy Dunlap (1):
iio: imu: bno055: serdev requires REGMAP
Ranjani Sridharan (1):
ASoC: SOF: ipc3-topology: Fix pipeline tear down logic
Rishabh Dave (1):
ceph: prevent use-after-free in encode_cap_msg()
Rob Clark (3):
drm/msm/gem: Fix double resv lock aquire Revert "drm/msm/gpu: Push gpu lock down past runpm" drm/msm: Wire up tlb ops
Ryan Roberts (1):
selftests/mm: ksm_tests should only MADV_HUGEPAGE valid memory
Ryusuke Konishi (3):
nilfs2: fix data corruption in dsync block recovery for small block sizes
nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
nilfs2: fix potential bug in end_buffer_async_write
Sabrina Dubroca (2):
tls: extract context alloc/initialization out of tls_set_sw_offload
net: tls: fix use-after-free with partial reads and async decrypt
Sam Protsenko (1):
iio: pressure: bmp280: Add missing bmp085 to SPI id table
Samuel Holland (1):
scs: add CONFIG_MMU dependency for vfree_atomic()
Saravana Kannan (5):
driver core: Fix device_link_flag_is_sync_state_only()
of: property: Improve finding the consumer of a remote-endpoint property
of: property: Improve finding the supplier of a remote-endpoint property driver core: fw_devlink: Improve detection of overlapping cycles
of: property: Add in-ports/out-ports support to of_graph_get_port_parent()
Sean Anderson (1):
usb: ulpi: Fix debugfs directory leak
Sean Christopherson (2):
KVM: selftests: Delete superfluous, unused "stage" variable in AMX test
KVM: selftests: Fix a semaphore imbalance in the dirty ring logging test
Sean Young (1):
media: rc: bpf attach/detach requires write permission
Sebastian Ene (1):
KVM: arm64: Fix circular locking dependency
Sebastian Ott (1):
drm/virtio: Set segment size for virtio_gpu device
Shradha Gupta (1):
hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
Shrikanth Hegde (1):
powerpc/pseries: fix accuracy of stolen time
Shuming Fan (1):
ALSA: hda/realtek: add IDs for Dell dual spk platform
Sinthu Raja (2):
net: ethernet: ti: cpsw: enable mac_managed_pm to fix mdio
net: ethernet: ti: cpsw_new: enable mac_managed_pm to fix mdio
Souradeep Chakrabarti (1):
hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove
Srinivas Pandruvada (1):
iio: hid-sensor-als: Return 0 for HID_USAGE_SENSOR_TIME_TIMESTAMP
Steve French (1):
smb: Fix regression in writes when non-standard maximum write size negotiated
Steve Wahl (1):
x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
Steven Rostedt (Google) (49):
tracing: Fix wasted memory in saved_cmdlines logic
tracing: Inform kmemleak of saved_cmdlines allocation Revert "eventfs: Do not allow NULL parent to eventfs_start_creating()" Revert "eventfs: Check for NULL ef in eventfs_set_attr()" Revert "eventfs: Use simple_recursive_removal() to clean up dentries" Revert "eventfs: Delete eventfs_inode when the last dentry is freed" Revert "eventfs: Save ownership and mode"
Revert "eventfs: Remove "is_freed" union with rcu head"
eventfs: Remove eventfs_file and just use eventfs_inode
eventfs: Use eventfs_remove_events_dir()
eventfs: Fix failure path in eventfs_create_events_dir()
eventfs: Fix WARN_ON() in create_file_dentry()
eventfs: Fix typo in eventfs_inode union comment
eventfs: Remove extra dget() in eventfs_create_events_dir()
eventfs: Fix kerneldoc of eventfs_remove_rec()
eventfs: Remove "is_freed" union with rcu head
eventfs: Have a free_ei() that just frees the eventfs_inode
eventfs: Test for ei->is_freed when accessing ei->dentry
eventfs: Save ownership and mode
eventfs: Hold eventfs_mutex when calling callback functions
eventfs: Delete eventfs_inode when the last dentry is freed
eventfs: Remove special processing of dput() of events directory
eventfs: Use simple_recursive_removal() to clean up dentries
eventfs: Remove expectation that ei->is_freed means ei->dentry == NULL
eventfs: Do not invalidate dentry in create_file/dir_dentry()
eventfs: Use GFP_NOFS for allocation when eventfs_mutex is held
eventfs: Move taking of inode_lock into dcache_dir_open_wrapper()
eventfs: Do not allow NULL parent to eventfs_start_creating()
eventfs: Make sure that parent->d_inode is locked in creating files/dirs
eventfs: Have event files and directories default to parent uid and gid
eventfs: Fix file and directory uid and gid ownership
tracefs: Check for dentry->d_inode exists in set_gid()
eventfs: Fix bitwise fields for "is_events"
eventfs: Remove "lookup" parameter from create_dir/file_dentry()
eventfs: Stop using dcache_readdir() for getdents() tracefs/eventfs: Use root and instance inodes as default ownership
eventfs: Have eventfs_iterate() stop immediately if ei->is_freed is set
eventfs: Do ctx->pos update for all iterations in eventfs_iterate()
eventfs: Read ei->entries before ei->children in eventfs_iterate()
eventfs: Shortcut eventfs_iterate() by skipping entries already read
eventfs: Have the inodes all for files and directories all be the same
eventfs: Do not create dentries nor inodes in iterate_shared
eventfs: Save directory inodes in the eventfs_inode structure
tracefs: Zero out the tracefs_inode when allocating it
eventfs: Warn if an eventfs_inode is freed without is_freed being set
eventfs: Restructure eventfs_inode structure to be more condensed
eventfs: Remove fsnotify*() functions from lookup()
eventfs: Keep all directory links at 1
tracing: Make system_callback() function static
Takashi Sakamoto (1):
firewire: core: correct documentation of fw_csr_string() kernel API
Tatsunosuke Tobita (1):
HID: wacom: generic: Avoid reporting a serial of '0' to userspace
Techno Mooney (1):
ASoC: amd: yc: Add DMI quirk for MSI Bravo 15 C7VF
Tejun Heo (1):
Revert "workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()"
Thong (1):
drm/amdgpu/soc21: update VCN 4 max HEVC encoding resolution
Thorsten Blum (1):
tracing/synthetic: Fix trace_string() return value
Tom Chung (1):
drm/amd/display: Preserve original aspect ratio in create stream
Tomi Valkeinen (1):
media: Revert "media: rkisp1: Drop IRQF_SHARED"
Udipto Goswami (1):
usb: core: Prevent null pointer dereference in update_port_device_state
Uttkarsh Aggarwal (1):
usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend
Uwe Kleine-König (1):
spi: ppc4xx: Drop write-only variable
Vegard Nossum (2):
docs: kernel_feat.py: fix build error for missing files Documentation/arch/ia64/features.rst: fix kernel-feat directive
Viken Dadhaniya (1):
i2c: qcom-geni: Correct I2C TRE sequence
Vincent Donnefort (1):
ring-buffer: Clean ring_buffer_poll_wait() error return
Vitaly Kuznetsov (1):
KVM: selftests: Avoid infinite loop in hyperv_features when invtsc is missing
Vitaly Rodionov (1):
ALSA: hda/cs8409: Suppress vmaster control for Dolphin models
Xu Yang (1):
usb: chipidea: core: handle power lost in workqueue
Zach O'Keefe (1):
mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again
Zhikai Zhai (1):
drm/amd/display: Add align done check
Zhipeng Lu (1):
media: ir_toy: fix a memleak in irtoy_tx
Ziqi Zhao (1):
can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock
bo liu (1):
ALSA: hda/conexant: Add quirk for SWS JS201D
limingming3 (1):
tools/rtla: Replace setting prio with nice for SCHED_OTHER
yuan linyu (1):
usb: f_mass_storage: forbid async queue when shutdown happen
zhili.liu (1):
iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-class-net-statistics +24 -24
@@ -1,4 +1,4 @@ -What: /sys/class/<iface>/statistics/collisions +What: /sys/class/net/<iface>/statistics/collisions Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -6,7 +6,7 @@ Description: Indicates the number of collisions seen by this network device. This value might not be relevant with all MAC layers. -What: /sys/class/<iface>/statistics/multicast +What: /sys/class/net/<iface>/statistics/multicast Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -14,7 +14,7 @@ Description: Indicates the number of multicast packets received by this network device. -What: /sys/class/<iface>/statistics/rx_bytes +What: /sys/class/net/<iface>/statistics/rx_bytes Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -23,7 +23,7 @@ Description: See the network driver for the exact meaning of when this value is incremented. -What: /sys/class/<iface>/statistics/rx_compressed +What: /sys/class/net/<iface>/statistics/rx_compressed Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -32,7 +32,7 @@ Description: network device. This value might only be relevant for interfaces that support packet compression (e.g: PPP). -What: /sys/class/<iface>/statistics/rx_crc_errors +What: /sys/class/net/<iface>/statistics/rx_crc_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -41,7 +41,7 @@ Description: by this network device. Note that the specific meaning might depend on the MAC layer used by the interface. -What: /sys/class/<iface>/statistics/rx_dropped +What: /sys/class/net/<iface>/statistics/rx_dropped Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -51,7 +51,7 @@ Description: packet processing. See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/rx_errors +What: /sys/class/net/<iface>/statistics/rx_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -59,7 +59,7 @@ Description: Indicates the number of receive errors on this network device. See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/rx_fifo_errors +What: /sys/class/net/<iface>/statistics/rx_fifo_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -68,7 +68,7 @@ Description: network device. See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/rx_frame_errors +What: /sys/class/net/<iface>/statistics/rx_frame_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -78,7 +78,7 @@ Description: on the MAC layer protocol used. See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/rx_length_errors +What: /sys/class/net/<iface>/statistics/rx_length_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -87,7 +87,7 @@ Description: error, oversized or undersized. See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/rx_missed_errors +What: /sys/class/net/<iface>/statistics/rx_missed_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -96,7 +96,7 @@ Description: due to lack of capacity in the receive side. See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/rx_nohandler +What: /sys/class/net/<iface>/statistics/rx_nohandler Date: February 2016 KernelVersion: 4.6 Contact: [email protected]
@@ -104,7 +104,7 @@ Description: Indicates the number of received packets that were dropped on an inactive device by the network core. -What: /sys/class/<iface>/statistics/rx_over_errors +What: /sys/class/net/<iface>/statistics/rx_over_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -114,7 +114,7 @@ Description: (e.g: larger than MTU). See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/rx_packets +What: /sys/class/net/<iface>/statistics/rx_packets Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -122,7 +122,7 @@ Description: Indicates the total number of good packets received by this network device. -What: /sys/class/<iface>/statistics/tx_aborted_errors +What: /sys/class/net/<iface>/statistics/tx_aborted_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -132,7 +132,7 @@ Description: a medium collision). See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/tx_bytes +What: /sys/class/net/<iface>/statistics/tx_bytes Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -143,7 +143,7 @@ Description: transmitted packets or all packets that have been queued for transmission. -What: /sys/class/<iface>/statistics/tx_carrier_errors +What: /sys/class/net/<iface>/statistics/tx_carrier_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -152,7 +152,7 @@ Description: because of carrier errors (e.g: physical link down). See the network driver for the exact meaning of this value. -What: /sys/class/<iface>/statistics/tx_compressed +What: /sys/class/net/<iface>/statistics/tx_compressed Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -161,7 +161,7 @@ Description: this might only be relevant for devices that support compression (e.g: PPP). -What: /sys/class/<iface>/statistics/tx_dropped +What: /sys/class/net/<iface>/statistics/tx_dropped Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -170,7 +170,7 @@ Description: See the driver for the exact reasons as to why the packets were dropped. -What: /sys/class/<iface>/statistics/tx_errors +What: /sys/class/net/<iface>/statistics/tx_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -179,7 +179,7 @@ Description: a network device. See the driver for the exact reasons as to why the packets were dropped. -What: /sys/class/<iface>/statistics/tx_fifo_errors +What: /sys/class/net/<iface>/statistics/tx_fifo_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -188,7 +188,7 @@ Description: FIFO error. See the driver for the exact reasons as to why the packets were dropped. -What: /sys/class/<iface>/statistics/tx_heartbeat_errors +What: /sys/class/net/<iface>/statistics/tx_heartbeat_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -197,7 +197,7 @@ Description: reported as heartbeat errors. See the driver for the exact reasons as to why the packets were dropped. -What: /sys/class/<iface>/statistics/tx_packets +What: /sys/class/net/<iface>/statistics/tx_packets Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
@@ -206,7 +206,7 @@ Description: device. See the driver for whether this reports the number of all attempted or successful transmissions. -What: /sys/class/<iface>/statistics/tx_window_errors +What: /sys/class/net/<iface>/statistics/tx_window_errors Date: April 2005 KernelVersion: 2.6.12 Contact: [email protected]
Documentation/arch/arm64/silicon-errata.rst +7 -0
@@ -235,3 +235,10 @@ stable kernels. +----------------+-----------------+-----------------+-----------------------------+ | ASR | ASR8601 | #8601001 | N/A | +----------------+-----------------+-----------------+-----------------------------+ ++----------------+-----------------+-----------------+-----------------------------+ +| Microsoft | Azure Cobalt 100| #2139208 | ARM64_ERRATUM_2139208 | ++----------------+-----------------+-----------------+-----------------------------+ +| Microsoft | Azure Cobalt 100| #2067961 | ARM64_ERRATUM_2067961 | ++----------------+-----------------+-----------------+-----------------------------+ +| Microsoft | Azure Cobalt 100| #2253138 | ARM64_ERRATUM_2253138 | ++----------------+-----------------+-----------------+-----------------------------+
Documentation/arch/ia64/features.rst +1 -1
@@ -1,3 +1,3 @@ .. SPDX-License-Identifier: GPL-2.0 -.. kernel-feat:: $srctree/Documentation/features ia64 +.. kernel-feat:: features ia64
Documentation/networking/devlink/devlink-port.rst +1 -1
@@ -126,7 +126,7 @@ Users may also set the RoCE capability of the function using `devlink port function set roce` command. Users may also set the function as migratable using -'devlink port function set migratable' command. +`devlink port function set migratable` command. Users may also set the IPsec crypto capability of the function using `devlink port function set ipsec_crypto` command.
Documentation/sphinx/kernel_feat.py +1 -1
@@ -109,7 +109,7 @@ class KernelFeat(Directive): else: out_lines += line + "\n" - nodeList = self.nestedParse(out_lines, fname) + nodeList = self.nestedParse(out_lines, self.arguments[0]) return nodeList def nestedParse(self, lines, fname):
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 6 -SUBLEVEL = 17 +SUBLEVEL = 18 EXTRAVERSION = NAME = Hurr durr I'ma ninja sloth
arch/Kconfig +1 -0
@@ -681,6 +681,7 @@ config SHADOW_CALL_STACK bool "Shadow Call Stack" depends on ARCH_SUPPORTS_SHADOW_CALL_STACK depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER + depends on MMU help This option enables the compiler's Shadow Call Stack, which uses a shadow stack to protect function return addresses from
arch/arc/include/asm/jump_label.h +2 -2
@@ -31,7 +31,7 @@ static __always_inline bool arch_static_branch(struct static_key *key,bool branch) { - asm_volatile_goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)" \n" + asm goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)" \n""1: \n" "nop \n" ".pushsection __jump_table, \"aw\" \n"
@@ -47,7 +47,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, static __always_inline bool arch_static_branch_jump(struct static_key *key,bool branch) { - asm_volatile_goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)" \n" + asm goto(".balign "__stringify(JUMP_LABEL_NOP_SIZE)" \n""1: \n" "b %l[l_yes] \n" ".pushsection __jump_table, \"aw\" \n"
arch/arm/include/asm/jump_label.h +2 -2
@@ -11,7 +11,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { - asm_volatile_goto("1:\n\t" + asm goto("1:\n\t" WASM(nop) "\n\t"".pushsection __jump_table, \"aw\"\n\t" ".word 1b, %l[l_yes], %c0\n\t"
@@ -25,7 +25,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) { - asm_volatile_goto("1:\n\t" + asm goto("1:\n\t" WASM(b) " %l[l_yes]\n\t"".pushsection __jump_table, \"aw\"\n\t" ".word 1b, %l[l_yes], %c0\n\t"
arch/arm64/include/asm/alternative-macros.h +2 -2
@@ -229,7 +229,7 @@ alternative_has_cap_likely(const unsigned long cpucap)compiletime_assert (cpucap <ARM64_NCAPS ,"cpucap must be < ARM64_NCAPS" ); -asm_volatile_goto ( + asm goto( ALTERNATIVE_CB("b %l[l_no]", %[cpucap], alt_cb_patch_nops) : : [cpucap] "i" (cpucap)
@@ -247,7 +247,7 @@ alternative_has_cap_unlikely(const unsigned long cpucap)compiletime_assert (cpucap <ARM64_NCAPS ,"cpucap must be < ARM64_NCAPS" ); -asm_volatile_goto ( + asm goto( ALTERNATIVE("nop", "b %l[l_yes]", %[cpucap]) : : [cpucap] "i" (cpucap)
arch/arm64/include/asm/cputype.h +4 -0
@@ -61,6 +61,7 @@#define ARM_CPU_IMP_HISI 0x48#define ARM_CPU_IMP_APPLE 0x61#define ARM_CPU_IMP_AMPERE 0xC0 +#define ARM_CPU_IMP_MICROSOFT 0x6D#define ARM_CPU_PART_AEM_V8 0xD0F#define ARM_CPU_PART_FOUNDATION 0xD00
@@ -135,6 +136,8 @@#define AMPERE_CPU_PART_AMPERE1 0xAC3 +#define MICROSOFT_CPU_PART_AZURE_COBALT_100 0xD49/* Based on r0p0 of ARM Neoverse N2 */ +#define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53)#define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57)#define MIDR_CORTEX_A72 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A72)
@@ -193,6 +196,7 @@#define MIDR_APPLE_M2_BLIZZARD_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_BLIZZARD_MAX)#define MIDR_APPLE_M2_AVALANCHE_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M2_AVALANCHE_MAX)#define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1) +#define MIDR_MICROSOFT_AZURE_COBALT_100 MIDR_CPU_MODEL(ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_AZURE_COBALT_100)/* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */ #define MIDR_FUJITSU_ERRATUM_010001 MIDR_FUJITSU_A64FX
arch/arm64/include/asm/jump_label.h +2 -2
@@ -18,7 +18,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key,const bool branch) { -asm_volatile_goto ( + asm goto("1: nop \n\t" " .pushsection __jump_table, \"aw\" \n\t" " .align 3 \n\t"
@@ -35,7 +35,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key, static __always_inline bool arch_static_branch_jump(struct static_key * const key,const bool branch) { -asm_volatile_goto ( + asm goto("1: b %l[l_yes] \n\t" " .pushsection __jump_table, \"aw\" \n\t" " .align 3 \n\t"
arch/arm64/kernel/cpu_errata.c +3 -0
@@ -390,6 +390,7 @@ static const struct midr_range erratum_1463225[] = {static const struct midr_range trbe_overwrite_fill_mode_cpus[] = { #ifdef CONFIG_ARM64_ERRATUM_2139208MIDR_ALL_VERSIONS (MIDR_NEOVERSE_N2 ), +MIDR_ALL_VERSIONS (MIDR_MICROSOFT_AZURE_COBALT_100 ), #endif #ifdef CONFIG_ARM64_ERRATUM_2119858 MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
@@ -403,6 +404,7 @@ static const struct midr_range trbe_overwrite_fill_mode_cpus[] = {static const struct midr_range tsb_flush_fail_cpus[] = { #ifdef CONFIG_ARM64_ERRATUM_2067961MIDR_ALL_VERSIONS (MIDR_NEOVERSE_N2 ), +MIDR_ALL_VERSIONS (MIDR_MICROSOFT_AZURE_COBALT_100 ), #endif #ifdef CONFIG_ARM64_ERRATUM_2054223 MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
@@ -415,6 +417,7 @@ static const struct midr_range tsb_flush_fail_cpus[] = {static struct midr_range trbe_write_out_of_range_cpus[] = { #ifdef CONFIG_ARM64_ERRATUM_2253138MIDR_ALL_VERSIONS (MIDR_NEOVERSE_N2 ), +MIDR_ALL_VERSIONS (MIDR_MICROSOFT_AZURE_COBALT_100 ), #endif #ifdef CONFIG_ARM64_ERRATUM_2224489 MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
arch/arm64/kernel/fpsimd.c +1 -1
@@ -1686,7 +1686,7 @@ void fpsimd_preserve_current_state(void)void fpsimd_signal_preserve_current_state (void ) {fpsimd_preserve_current_state (); -if (test_thread_flag (TIF_SVE )) +if (current->thread.fp_type ==FP_STATE_SVE )sve_to_fpsimd (current); }
arch/arm64/kernel/signal.c +2 -2
@@ -242,7 +242,7 @@ static int preserve_sve_context(struct sve_context __user *ctx) vl =task_get_sme_vl (current); vq =sve_vq_from_vl (vl); flags |=SVE_SIG_FLAG_SM ; - }else if (test_thread_flag (TIF_SVE )) { + }else if (current->thread.fp_type ==FP_STATE_SVE ) { vq =sve_vq_from_vl (vl); }
@@ -878,7 +878,7 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user,if (system_supports_sve () ||system_supports_sme ()) {unsigned int vq =0 ; -if (add_all ||test_thread_flag (TIF_SVE ) || +if (add_all || current->thread.fp_type ==FP_STATE_SVE ||thread_sm_enabled (¤t->thread)) {int vl =max (sve_max_vl (),sme_max_vl ());
arch/arm64/kvm/pkvm.c +17 -10
@@ -101,6 +101,17 @@ void __init kvm_hyp_reserve(void) hyp_mem_base); } +static void __pkvm_destroy_hyp_vm (struct kvm *host_kvm) +{ +if (host_kvm->arch.pkvm.handle) { +WARN_ON (kvm_call_hyp_nvhe (__pkvm_teardown_vm, + host_kvm->arch.pkvm.handle)); + } + + host_kvm->arch.pkvm.handle =0 ; +free_hyp_memcache (&host_kvm->arch.pkvm.teardown_mc); +} +/* * Allocates and donates memory for hypervisor VM structs at EL2. *
@@ -181,7 +192,7 @@ static int __pkvm_create_hyp_vm(struct kvm *host_kvm)return 0 ; destroy_vm: -pkvm_destroy_hyp_vm (host_kvm); +__pkvm_destroy_hyp_vm (host_kvm);return ret; free_vm:free_pages_exact (hyp_vm, hyp_vm_sz);
@@ -194,23 +205,19 @@ int pkvm_create_hyp_vm(struct kvm *host_kvm) {int ret =0 ; -mutex_lock (&host_kvm->lock); +mutex_lock (&host_kvm->arch.config_lock);if (!host_kvm->arch.pkvm.handle) ret =__pkvm_create_hyp_vm (host_kvm); -mutex_unlock (&host_kvm->lock); +mutex_unlock (&host_kvm->arch.config_lock);return ret; }void pkvm_destroy_hyp_vm (struct kvm *host_kvm) { -if (host_kvm->arch.pkvm.handle) { -WARN_ON (kvm_call_hyp_nvhe (__pkvm_teardown_vm, - host_kvm->arch.pkvm.handle)); - } - - host_kvm->arch.pkvm.handle =0 ; -free_hyp_memcache (&host_kvm->arch.pkvm.teardown_mc); +mutex_lock (&host_kvm->arch.config_lock); +__pkvm_destroy_hyp_vm (host_kvm); +mutex_unlock (&host_kvm->arch.config_lock); }int pkvm_init_host_vm (struct kvm *host_kvm)
arch/csky/include/asm/jump_label.h +2 -2
@@ -12,7 +12,7 @@ static __always_inline bool arch_static_branch(struct static_key *key,bool branch) { -asm_volatile_goto ( + asm goto("1: nop32 \n" " .pushsection __jump_table, \"aw\" \n" " .align 2 \n"
@@ -29,7 +29,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, static __always_inline bool arch_static_branch_jump(struct static_key *key,bool branch) { -asm_volatile_goto ( + asm goto("1: bsr32 %l[label] \n" " .pushsection __jump_table, \"aw\" \n" " .align 2 \n"
arch/loongarch/include/asm/jump_label.h +2 -2
@@ -22,7 +22,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch) { -asm_volatile_goto ( + asm goto("1: nop \n\t" JUMP_TABLE_ENTRY : :"i" (&((char *)key)[branch]) : : l_yes);
@@ -35,7 +35,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key, co static __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch) { -asm_volatile_goto ( + asm goto("1: b %l[l_yes] \n\t" JUMP_TABLE_ENTRY : :"i" (&((char *)key)[branch]) : : l_yes);
arch/loongarch/mm/kasan_init.c +3 -0
@@ -44,6 +44,9 @@ void *kasan_mem_to_shadow(const void *addr)unsigned long xrange = (maddr >>XRANGE_SHIFT ) &0xffff ;unsigned long offset =0 ; +if (maddr >=FIXADDR_START ) +return (void *)(kasan_early_shadow_page); + maddr &=XRANGE_SHADOW_MASK ;switch (xrange) {case XKPRANGE_CC_SEG :
arch/mips/include/asm/checksum.h +2 -1
@@ -241,7 +241,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr, " .set pop" : "=&r" (sum), "=&r" (tmp) : "r" (saddr), "r" (daddr), - "0" (htonl(len)), "r" (htonl(proto)), "r" (sum)); + "0" (htonl(len)), "r" (htonl(proto)), "r" (sum) + : "memory");return csum_fold (sum); }
arch/mips/include/asm/jump_label.h +2 -2
@@ -36,7 +36,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\t" B_INSN " 2f\n\t" + asm goto("1:\t" B_INSN " 2f\n\t" "2:\t.insn\n\t" ".pushsection __jump_table, \"aw\"\n\t" WORD_INSN " 1b, %l[l_yes], %0\n\t"
@@ -50,7 +50,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\t" J_INSN " %l[l_yes]\n\t" + asm goto("1:\t" J_INSN " %l[l_yes]\n\t" ".pushsection __jump_table, \"aw\"\n\t" WORD_INSN " 1b, %l[l_yes], %0\n\t" ".popsection\n\t"
arch/mips/include/asm/ptrace.h +2 -0
@@ -154,6 +154,8 @@ static inline long regs_return_value(struct pt_regs *regs) }#define instruction_pointer (regs) ((regs)->cp0_epc) +extern unsigned long exception_ip (struct pt_regs *regs); +#define exception_ip (regs) exception_ip(regs)#define profile_pc (regs) instruction_pointer(regs)extern asmlinkage long syscall_trace_enter (struct pt_regs *regs,long syscall);
arch/mips/kernel/ptrace.c +7 -0
@@ -31,6 +31,7 @@#include <linux/seccomp.h> #include <linux/ftrace.h> +#include <asm/branch.h> #include <asm/byteorder.h> #include <asm/cpu.h> #include <asm/cpu-info.h>
@@ -48,6 +49,12 @@#define CREATE_TRACE_POINTS #include <trace/events/syscalls.h> +unsigned long exception_ip (struct pt_regs *regs) +{ +return exception_epc (regs); +} +EXPORT_SYMBOL (exception_ip); +/* * Called by kernel/ptrace.c when detaching.. *
arch/parisc/Kconfig +0 -1
@@ -24,7 +24,6 @@ config PARISC select RTC_DRV_GENERIC select INIT_ALL_POSSIBLE select BUG - select BUILDTIME_TABLE_SORT select HAVE_PCI select HAVE_PERF_EVENTS select HAVE_KERNEL_BZIP2
arch/parisc/include/asm/assembly.h +1 -0
@@ -576,6 +576,7 @@ .section __ex_table,"aw" ! \ .align 4 ! \ .word (fault_addr - .), (except_addr - .) ! \ + or %r0,%r0,%r0 ! \ .previous
arch/parisc/include/asm/extable.h new file +64 -0
64 lines not on this page · raw message
arch/parisc/include/asm/jump_label.h +2 -2
@@ -12,7 +12,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" "nop\n\t" ".pushsection __jump_table, \"aw\"\n\t" ".align %1\n\t"
@@ -29,7 +29,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" "b,n %l[l_yes]\n\t" ".pushsection __jump_table, \"aw\"\n\t" ".align %1\n\t"
arch/parisc/include/asm/special_insns.h +4 -2
@@ -8,7 +8,8 @@"copy %%r0,%0\n" \"8:\tlpa %%r0(%1),%0\n" \"9:\n" \ -ASM_EXCEPTIONTABLE_ENTRY (8b ,9b ) \ +ASM_EXCEPTIONTABLE_ENTRY (8b ,9b , \ +"or %%r0,%%r0,%%r0" ) \ : "=&r" (pa) \: " r" (va) \ : " memory" \
@@ -22,7 +23,8 @@"copy %%r0,%0\n" \"8:\tlpa %%r0(%%sr3,%1),%0\n" \"9:\n" \ -ASM_EXCEPTIONTABLE_ENTRY (8b ,9b ) \ +ASM_EXCEPTIONTABLE_ENTRY (8b ,9b , \ +"or %%r0,%%r0,%%r0" ) \ : "=&r" (pa) \: " r" (va) \ : " memory" \
arch/parisc/include/asm/uaccess.h +7 -41
94 lines not on this page · raw message
arch/parisc/kernel/cache.c +3 -3
@@ -58,7 +58,7 @@ int pa_serialize_tlb_flushes __ro_after_init;struct pdc_cache_info cache_info__ro_after_init ;#ifndef CONFIG_PA20 -struct pdc_btlb_info btlb_info__ro_after_init ; +struct pdc_btlb_info btlb_info;#endif DEFINE_STATIC_KEY_TRUE (parisc_has_cache);
@@ -850,7 +850,7 @@ SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes,#endif " fic,m %3(%4,%0)\n" "2: sync\n" -ASM_EXCEPTIONTABLE_ENTRY_EFAULT (1b ,2b ) +ASM_EXCEPTIONTABLE_ENTRY_EFAULT (1b ,2b ,"%1" ) : "+r" (start), "+r" (error) : "r" (end), "r" (dcache_stride), "i" (SR_USER)); }
@@ -865,7 +865,7 @@ SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes,#endif " fdc,m %3(%4,%0)\n" "2: sync\n" -ASM_EXCEPTIONTABLE_ENTRY_EFAULT (1b ,2b ) +ASM_EXCEPTIONTABLE_ENTRY_EFAULT (1b ,2b ,"%1" ) : "+r" (start), "+r" (error) : "r" (end), "r" (icache_stride), "i" (SR_USER)); }
arch/parisc/kernel/drivers.c +3 -0
@@ -1004,6 +1004,9 @@ static __init int qemu_print_iodc_data(struct device *lin_dev, void *data)pr_info ("\n" ); +/* Prevent hung task messages when printing on serial console */ +cond_resched (); +pr_info ("#define HPA_%08lx_DESCRIPTION \"%s\"\n" , hpa,parisc_hardware_description (&dev->id));
arch/parisc/kernel/unaligned.c +22 -22
92 lines not on this page · raw message
arch/parisc/mm/fault.c +8 -3
@@ -150,11 +150,16 @@ int fixup_exception(struct pt_regs *regs)* Fix up get_user() and put_user(). * ASM_EXCEPTIONTABLE_ENTRY_EFAULT() sets the least-significant * bit in the relative address of the fixup routine to indicate -* that gr[ASM_EXCEPTIONTABLE_REG] should be loaded with -* -EFAULT to report a userspace access error. +* that the register encoded in the "or %r0,%r0,register" +* opcode should be loaded with -EFAULT to report a userspace +* access error. */ if (fix->fixup &1 ) { - regs->gr[ASM_EXCEPTIONTABLE_REG ] = -EFAULT ; +int fault_error_reg = fix->err_opcode &0x1f ; +if (!WARN_ON (!fault_error_reg)) + regs->gr[fault_error_reg] = -EFAULT ; +pr_debug ("Unalignment fixup of register %d at %pS\n" , + fault_error_reg, (void *)regs->iaoq[0 ]);/* zero target register for get_user() */ if (parisc_acctyp (0 , regs->iir) ==VM_READ ) {
arch/powerpc/include/asm/jump_label.h +2 -2
@@ -17,7 +17,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" "nop # arch_static_branch\n\t" ".pushsection __jump_table, \"aw\"\n\t" ".long 1b - ., %l[l_yes] - .\n\t"
@@ -32,7 +32,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" "b %l[l_yes] # arch_static_branch_jump\n\t" ".pushsection __jump_table, \"aw\"\n\t" ".long 1b - ., %l[l_yes] - .\n\t"
arch/powerpc/include/asm/reg.h +2 -0
@@ -617,6 +617,8 @@#endif #define SPRN_HID2 0x3F8/* Hardware Implementation Register 2 */ #define SPRN_HID2_GEKKO 0x398/* Gekko HID2 Register */ +#define SPRN_HID2_G2_LE 0x3F3/* G2_LE HID2 Register */ +#define HID2_G2_LE_HBE (1<<18)/* High BAT Enable (G2_LE) */ #define SPRN_IABR 0x3F2/* Instruction Address Breakpoint Register */ #define SPRN_IABR2 0x3FA/* 83xx */ #define SPRN_IBCR 0x135/* 83xx Insn Breakpoint Control Reg */
arch/powerpc/include/asm/thread_info.h +1 -1
@@ -14,7 +14,7 @@#ifdef __KERNEL__ -#ifdef CONFIG_KASAN +#if defined(CONFIG_KASAN ) &&CONFIG_THREAD_SHIFT <15 #define MIN_THREAD_SHIFT (CONFIG_THREAD_SHIFT + 1)#else #define MIN_THREAD_SHIFT CONFIG_THREAD_SHIFT
arch/powerpc/include/asm/uaccess.h +6 -6
@@ -74,7 +74,7 @@ __pu_failed: \/* -mprefixed can generate offsets beyond range, fall back hack */ #ifdef CONFIG_PPC_KERNEL_PREFIXED #define __put_user_asm_goto (x, addr, label, op) \ - asm_volatile_goto( \ + asm goto( \ "1: " op " %0,0(%1) # put_user\n" \ EX_TABLE(1b, %l2) \ : \
@@ -83,7 +83,7 @@ __pu_failed: \ : label)#else #define __put_user_asm_goto (x, addr, label, op) \ - asm_volatile_goto( \ + asm goto( \ "1: " op "%U1%X1 %0,%1 # put_user\n" \ EX_TABLE(1b, %l2) \ : \
@@ -97,7 +97,7 @@ __pu_failed: \ __put_user_asm_goto(x, ptr, label, "std")#else /* __powerpc64__ */ #define __put_user_asm2_goto (x, addr, label) \ - asm_volatile_goto( \ + asm goto( \ "1: stw%X1 %0, %1\n" \ "2: stw%X1 %L0, %L1\n" \ EX_TABLE(1b, %l2) \
@@ -146,7 +146,7 @@ do { \/* -mprefixed can generate offsets beyond range, fall back hack */ #ifdef CONFIG_PPC_KERNEL_PREFIXED #define __get_user_asm_goto (x, addr, label, op) \ - asm_volatile_goto( \ + asm_goto_output( \ "1: "op" %0,0(%1) # get_user\n" \ EX_TABLE(1b, %l2) \ : "=r" (x) \
@@ -155,7 +155,7 @@ do { \ : label)#else #define __get_user_asm_goto (x, addr, label, op) \ - asm_volatile_goto( \ + asm_goto_output( \ "1: "op"%U1%X1 %0, %1 # get_user\n" \ EX_TABLE(1b, %l2) \ : "=r" (x) \
@@ -169,7 +169,7 @@ do { \ __get_user_asm_goto(x, addr, label, "ld")#else /* __powerpc64__ */ #define __get_user_asm2_goto (x, addr, label) \ - asm_volatile_goto( \ + asm_goto_output( \ "1: lwz%X1 %0, %1\n" \ "2: lwz%X1 %L0, %L1\n" \ EX_TABLE(1b, %l2) \
arch/powerpc/kernel/cpu_setup_6xx.S +19 -1
@@ -26,6 +26,15 @@ BEGIN_FTR_SECTION bl __init_fpu_registers END_FTR_SECTION_IFCLR(CPU_FTR_FPU_UNAVAILABLE) bl setup_common_caches + + /* + * This assumes that all cores using __setup_cpu_603 with + * MMU_FTR_USE_HIGH_BATS are G2_LE compatible + */ +BEGIN_MMU_FTR_SECTION + bl setup_g2_le_hid2 +END_MMU_FTR_SECTION_IFSET(MMU_FTR_USE_HIGH_BATS) + mtlr r5 blr _GLOBAL(__setup_cpu_604)
@@ -115,6 +124,16 @@ SYM_FUNC_START_LOCAL(setup_604_hid0) blr SYM_FUNC_END(setup_604_hid0) +/* Enable high BATs for G2_LE and derivatives like e300cX */ +SYM_FUNC_START_LOCAL(setup_g2_le_hid2) + mfspr r11,SPRN_HID2_G2_LE + oris r11,r11,HID2_G2_LE_HBE@h + mtspr SPRN_HID2_G2_LE,r11 + sync + isync + blr +SYM_FUNC_END(setup_g2_le_hid2) + /* 7400 <= rev 2.7 and 7410 rev = 1.0 suffer from some * erratas we work around here. * Moto MPC710CE.pdf describes them, those are errata
@@ -495,4 +514,3 @@ _GLOBAL(__restore_cpu_setup) mtcr r7 blr _ASM_NOKPROBE_SYMBOL(__restore_cpu_setup) -
arch/powerpc/kernel/cpu_specs_e500mc.h +2 -1
@@ -8,7 +8,8 @@#ifdef CONFIG_PPC64 #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ - PPC_FEATURE_HAS_FPU | PPC_FEATURE_64) + PPC_FEATURE_HAS_FPU | PPC_FEATURE_64 | \ + PPC_FEATURE_BOOKE)#else #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ PPC_FEATURE_BOOKE)
arch/powerpc/kernel/interrupt_64.S +2 -2
@@ -52,7 +52,8 @@ _ASM_NOKPROBE_SYMBOL(system_call_vectored_\name) mr r10,r1 ld r1,PACAKSAVE(r13) std r10,0(r1) - std r11,_NIP(r1) + std r11,_LINK(r1) + std r11,_NIP(r1) /* Saved LR is also the next instruction */ std r12,_MSR(r1) std r0,GPR0(r1) std r10,GPR1(r1)
@@ -70,7 +71,6 @@ _ASM_NOKPROBE_SYMBOL(system_call_vectored_\name) std r9,GPR13(r1) SAVE_NVGPRS(r1) std r11,_XER(r1) - std r11,_LINK(r1) std r11,_CTR(r1) li r11,\trapnr
arch/powerpc/kernel/irq_64.c +1 -1
@@ -230,7 +230,7 @@ notrace __no_kcsan void arch_local_irq_restore(unsigned long mask)* This allows interrupts to be unmasked without hard disabling, and * also without new hard interrupts coming in ahead of pending ones. */ -asm_volatile_goto ( + asm goto("1: \n" " lbz 9,%0(13) \n" " cmpwi 9,0 \n"
arch/powerpc/mm/kasan/init_32.c +1 -0
@@ -64,6 +64,7 @@ int __init __weak kasan_init_region(void *start, size_t size)if (ret)return ret; + k_start = k_start &PAGE_MASK ; block =memblock_alloc (k_end - k_start,PAGE_SIZE );if (!block)return -ENOMEM ;
arch/powerpc/platforms/pseries/lpar.c +6 -2
@@ -662,8 +662,12 @@ u64 pseries_paravirt_steal_clock(int cpu) {struct lppaca *lppaca = &lppaca_of (cpu); -return be64_to_cpu (READ_ONCE (lppaca->enqueue_dispatch_tb)) + -be64_to_cpu (READ_ONCE (lppaca->ready_enqueue_tb)); +/* +* VPA steal time counters are reported at TB frequency. Hence do a +* conversion to ns before returning +*/ +return tb_to_ns (be64_to_cpu (READ_ONCE (lppaca->enqueue_dispatch_tb)) + +be64_to_cpu (READ_ONCE (lppaca->ready_enqueue_tb))); }#endif
arch/riscv/include/asm/hwcap.h +2 -2
@@ -98,7 +98,7 @@ riscv_has_extension_likely(const unsigned long ext) "ext must be < RISCV_ISA_EXT_MAX");if (IS_ENABLED (CONFIG_RISCV_ALTERNATIVE )) { -asm_volatile_goto ( + asm goto( ALTERNATIVE("j %l[l_no]", "nop", 0, %[ext], 1) : : [ext] "i" (ext)
@@ -121,7 +121,7 @@ riscv_has_extension_unlikely(const unsigned long ext) "ext must be < RISCV_ISA_EXT_MAX");if (IS_ENABLED (CONFIG_RISCV_ALTERNATIVE )) { -asm_volatile_goto ( + asm goto( ALTERNATIVE("nop", "j %l[l_yes]", 0, %[ext], 1) : : [ext] "i" (ext)
arch/riscv/include/asm/jump_label.h +2 -2
@@ -17,7 +17,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key,const bool branch) { -asm_volatile_goto ( + asm goto(" .align 2 \n\t" " .option push \n\t" " .option norelax \n\t"
@@ -39,7 +39,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key, static __always_inline bool arch_static_branch_jump(struct static_key * const key,const bool branch) { -asm_volatile_goto ( + asm goto(" .align 2 \n\t" " .option push \n\t" " .option norelax \n\t"
arch/s390/include/asm/jump_label.h +2 -2
@@ -25,7 +25,7 @@*/ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { -asm_volatile_goto ("0: brcl 0,%l[label]\n" + asm goto("0: brcl 0,%l[label]\n" ".pushsection __jump_table,\"aw\"\n" ".balign 8\n" ".long 0b-.,%l[label]-.\n"
@@ -39,7 +39,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) { -asm_volatile_goto ("0: brcl 15,%l[label]\n" + asm goto("0: brcl 15,%l[label]\n" ".pushsection __jump_table,\"aw\"\n" ".balign 8\n" ".long 0b-.,%l[label]-.\n"
arch/sparc/include/asm/jump_label.h +2 -2
@@ -10,7 +10,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" "nop\n\t" "nop\n\t" ".pushsection __jump_table, \"aw\"\n\t"
@@ -26,7 +26,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) { -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" "b %l[l_yes]\n\t" "nop\n\t" ".pushsection __jump_table, \"aw\"\n\t"
arch/um/Makefile +3 -1
@@ -115,7 +115,9 @@ archprepare: $(Q)$(MAKE) $(build)=$(HOST_DIR)/um include/generated/user_constants.h LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static -LINK-$(CONFIG_LD_SCRIPT_DYN) += $(call cc-option, -no-pie) +ifdef CONFIG_LD_SCRIPT_DYN +LINK-$(call gcc-min-version, 60100)$(CONFIG_CC_IS_CLANG) += -no-pie +endif LINK-$(CONFIG_LD_SCRIPT_DYN_RPATH) += -Wl,-rpath,/lib CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \
arch/um/include/asm/cpufeature.h +1 -1
@@ -75,7 +75,7 @@ extern void setup_clear_cpu_cap(unsigned int bit);*/ static __always_inline bool _static_cpu_has(u16 bit) { -asm_volatile_goto ("1: jmp 6f\n" + asm goto("1: jmp 6f\n" "2:\n" ".skip -(((5f-4f) - (2b-1b)) > 0) * " "((5f-4f) - (2b-1b)),0x90\n"
arch/x86/Kconfig.cpu +1 -1
@@ -375,7 +375,7 @@ config X86_CMOV config X86_MINIMUM_CPU_FAMILY int default "64" if X86_64 - default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCRUSOE || MCORE2 || MK7 || MK8) + default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCORE2 || MK7 || MK8) default "5" if X86_32 && X86_CMPXCHG64 default "4"
arch/x86/boot/Makefile +1 -1
@@ -89,7 +89,7 @@ $(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE SETUP_OBJS = $(addprefix $(obj)/,$(setup-y)) -sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [a-zA-Z] \(startup_32\|startup_64\|efi32_stub_entry\|efi64_stub_entry\|efi_pe_entry\|efi32_pe_entry\|input_data\|kernel_info\|_end\|_ehead\|_text\|z_.*\)$$/\#define ZO_\2 0x\1/p' +sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [a-zA-Z] \(startup_32\|efi.._stub_entry\|efi\(32\)\?_pe_entry\|input_data\|kernel_info\|_end\|_ehead\|_text\|_e\?data\|z_.*\)$$/\#define ZO_\2 0x\1/p' quiet_cmd_zoffset = ZOFFSET $@ cmd_zoffset = $(NM) $< | sed -n $(sed-zoffset) > $@
arch/x86/boot/compressed/vmlinux.lds.S +4 -2
@@ -43,11 +43,13 @@ SECTIONS *(.rodata.*) _erodata = . ; } - .data : { + .data : ALIGN(0x1000) { _data = . ; *(.data) *(.data.*) - *(.bss.efistub) + + /* Add 4 bytes of extra space for a CRC-32 checksum */ + . = ALIGN(. + 4, 0x200); _edata = . ; } . = ALIGN(L1_CACHE_BYTES);
arch/x86/boot/header.S +82 -129
298 lines not on this page · raw message
arch/x86/boot/setup.ld +10 -4
@@ -10,10 +10,11 @@ ENTRY(_start) SECTIONS { . = 0; - .bstext : { *(.bstext) } - .bsdata : { *(.bsdata) } + .bstext : { + *(.bstext) + . = 495; + } =0xffffffff - . = 495; .header : { *(.header) } .entrytext : { *(.entrytext) } .inittext : { *(.inittext) }
@@ -23,6 +24,9 @@ SECTIONS .text : { *(.text .text.*) } .text32 : { *(.text32) } + .pecompat : { *(.pecompat) } + PROVIDE(pecompat_fsize = setup_size - pecompat_fstart); + . = ALIGN(16); .rodata : { *(.rodata*) }
@@ -38,8 +42,10 @@ SECTIONS .signature : { setup_sig = .; LONG(0x5a5aaa55) - } + setup_size = ALIGN(ABSOLUTE(.), 4096); + setup_sects = ABSOLUTE(setup_size / 512); + } . = ALIGN(16); .bss :
arch/x86/boot/tools/build.c +9 -264
337 lines not on this page · raw message
arch/x86/include/asm/barrier.h +0 -18
@@ -81,22 +81,4 @@ do { \#include <asm-generic/barrier.h> -/* -* Make previous memory operations globally visible before -* a WRMSR. -* -* MFENCE makes writes visible, but only affects load/store -* instructions. WRMSR is unfortunately not a load/store -* instruction and is unaffected by MFENCE. The LFENCE ensures -* that the WRMSR is not reordered. -* -* Most WRMSRs are full serializing instructions themselves and -* do not require this barrier. This is only required for the -* IA32_TSC_DEADLINE and X2APIC MSRs. -*/ -static inline void weak_wrmsr_fence (void ) -{ - asmvolatile ("mfence; lfence" : : :"memory" ); -} -#endif /* _ASM_X86_BARRIER_H */
arch/x86/include/asm/cpufeature.h +1 -1
@@ -168,7 +168,7 @@ extern void clear_cpu_cap(struct cpuinfo_x86 *c, unsigned int bit);*/ static __always_inline bool _static_cpu_has(u16 bit) { -asm_volatile_goto ( + asm goto( ALTERNATIVE_TERNARY("jmp 6f", %P[feature], "", "jmp %l[t_no]")".pushsection .altinstr_aux,\"ax\"\n" "6:\n"
arch/x86/include/asm/cpufeatures.h +1 -1
@@ -308,10 +308,10 @@#define X86_FEATURE_SMBA (11*32+21)/* "" Slow Memory Bandwidth Allocation */ #define X86_FEATURE_BMEC (11*32+22)/* "" Bandwidth Monitoring Event Configuration */ #define X86_FEATURE_USER_SHSTK (11*32+23)/* Shadow stack support for user mode applications */ -#define X86_FEATURE_SRSO (11*32+24)/* "" AMD BTB untrain RETs */ #define X86_FEATURE_SRSO_ALIAS (11*32+25)/* "" AMD BTB untrain RETs through aliasing */ #define X86_FEATURE_IBPB_ON_VMEXIT (11*32+26)/* "" Issue an IBPB only on VMEXIT */ +#define X86_FEATURE_APIC_MSRS_FENCE (11*32+27)/* "" IA32_TSC_DEADLINE and X2APIC MSRs need fencing */ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4)/* AVX VNNI instructions */
arch/x86/include/asm/jump_label.h +3 -3
@@ -24,7 +24,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { - asm_volatile_goto("1:" + asm goto("1:" "jmp %l[l_yes] # objtool NOPs this \n\t" JUMP_TABLE_ENTRY : :"i" (key),"i" (2 | branch) : : l_yes);
@@ -38,7 +38,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool bran static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch) { - asm_volatile_goto("1:" + asm goto("1:" ".byte " __stringify(BYTES_NOP5) "\n\t" JUMP_TABLE_ENTRY : : "i" (key), "i" (branch) : : l_yes);
@@ -52,7 +52,7 @@ static __always_inline bool arch_static_branch(struct static_key * const key, co static __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch) { - asm_volatile_goto("1:" + asm goto("1:" "jmp %l[l_yes]\n\t" JUMP_TABLE_ENTRY : :"i" (key),"i" (branch) : : l_yes);
arch/x86/include/asm/processor.h +18 -0
@@ -734,4 +734,22 @@ bool arch_is_platform_page(u64 paddr);extern bool gds_ucode_mitigated (void ); +/* +* Make previous memory operations globally visible before +* a WRMSR. +* +* MFENCE makes writes visible, but only affects load/store +* instructions. WRMSR is unfortunately not a load/store +* instruction and is unaffected by MFENCE. The LFENCE ensures +* that the WRMSR is not reordered. +* +* Most WRMSRs are full serializing instructions themselves and +* do not require this barrier. This is only required for the +* IA32_TSC_DEADLINE and X2APIC MSRs. +*/ +static inline void weak_wrmsr_fence (void ) +{ +alternative ("mfence; lfence" ,"" ,ALT_NOT (X86_FEATURE_APIC_MSRS_FENCE )); +} +#endif /* _ASM_X86_PROCESSOR_H */
arch/x86/include/asm/rmwcc.h +1 -1
@@ -13,7 +13,7 @@#define __GEN_RMWcc (fullop, _var, cc, clobbers, ...) \ ({ \ bool c = false; \ - asm_volatile_goto (fullop "; j" #cc " %l[cc_label]" \ + asm goto (fullop "; j" #cc " %l[cc_label]" \ : : [var] "m" (_var), ## __VA_ARGS__ \ : clobbers : cc_label); \ if (0) { \
arch/x86/include/asm/special_insns.h +1 -1
@@ -205,7 +205,7 @@ static inline void clwb(volatile void *__p)#ifdef CONFIG_X86_USER_SHADOW_STACK static inline int write_user_shstk_64 (u64 __user *addr,u64 val) { - asm_volatile_goto("1: wrussq %[val], (%[addr])\n" + asm goto("1: wrussq %[val], (%[addr])\n" _ASM_EXTABLE(1b, %l[fail]) :: [addr] "r" (addr), [val] "r" (val) :: fail);
arch/x86/include/asm/uaccess.h +5 -5
@@ -133,7 +133,7 @@ extern int __get_user_bad(void);#ifdef CONFIG_X86_32 #define __put_user_goto_u64 (x, addr, label) \ - asm_volatile_goto("\n" \ + asm goto("\n" \ "1: movl %%eax,0(%1)\n" \ "2: movl %%edx,4(%1)\n" \ _ASM_EXTABLE_UA(1b, %l2) \
@@ -295,7 +295,7 @@ do { \ } while (0)#define __get_user_asm (x, addr, itype, ltype, label) \ - asm_volatile_goto("\n" \ + asm_goto_output("\n" \ "1: mov"itype" %[umem],%[output]\n" \ _ASM_EXTABLE_UA(1b, %l2) \ : [output] ltype(x) \
@@ -375,7 +375,7 @@ do { \__typeof__ (_ptr) _old = (__typeof__ (_ptr))(_pold); \ __typeof__(*(_ptr)) __old = *_old; \ __typeof__(*(_ptr)) __new = (_new); \ -asm_volatile_goto ("\n" \ +asm_goto_output ("\n" \"1: " LOCK_PREFIX "cmpxchg" itype" %[new], %[ptr]\n" \ _ASM_EXTABLE_UA(1b, %l[label]) \ : CC_OUT(z) (success), \
@@ -394,7 +394,7 @@ do { \__typeof__ (_ptr) _old = (__typeof__ (_ptr))(_pold); \ __typeof__(*(_ptr)) __old = *_old; \ __typeof__(*(_ptr)) __new = (_new); \ - asm_volatile_goto("\n" \ + asm_goto_output("\n" \ "1: " LOCK_PREFIX "cmpxchg8b %[ptr]\n" \ _ASM_EXTABLE_UA(1b, %l[label]) \ : CC_OUT(z) (success), \
@@ -477,7 +477,7 @@ struct __large_struct { unsigned long buf[100]; };* aliasing issues. */ #define __put_user_goto (x, addr, itype, ltype, label) \ - asm_volatile_goto("\n" \ + asm goto("\n" \ "1: mov"itype" %0,%1\n" \ _ASM_EXTABLE_UA(1b, %l2) \ : : ltype(x), "m" (__m(addr)) \
arch/x86/kernel/cpu/amd.c +3 -0
@@ -1157,6 +1157,9 @@ static void init_amd(struct cpuinfo_x86 *c)if (!cpu_has (c,X86_FEATURE_HYPERVISOR ) &&cpu_has_amd_erratum (c, amd_erratum_1485))msr_set_bit (MSR_ZEN4_BP_CFG ,MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT ); + +/* AMD CPUs don't need fencing after x2APIC/TSC_DEADLINE MSR writes. */ +clear_cpu_cap (c,X86_FEATURE_APIC_MSRS_FENCE ); }#ifdef CONFIG_X86_32
arch/x86/kernel/cpu/common.c +7 -0
@@ -1858,6 +1858,13 @@ static void identify_cpu(struct cpuinfo_x86 *c) c->apicid = apic->phys_pkg_id (c->initial_apicid,0 );#endif + +/* +* Set default APIC and TSC_DEADLINE MSR fencing flag. AMD and +* Hygon will clear it in ->c_init() below. +*/ +set_cpu_cap (c,X86_FEATURE_APIC_MSRS_FENCE ); +/* * Vendor-specific initialization. In this section we * canonicalize the feature flags, meaning if there are
arch/x86/kernel/cpu/hygon.c +3 -0
@@ -348,6 +348,9 @@ static void init_hygon(struct cpuinfo_x86 *c)set_cpu_bug (c,X86_BUG_SYSRET_SS_ATTRS );check_null_seg_clears_base (c); + +/* Hygon CPUs don't need fencing after x2APIC/TSC_DEADLINE MSR writes. */ +clear_cpu_cap (c,X86_FEATURE_APIC_MSRS_FENCE ); }static void cpu_detect_tlb_hygon (struct cpuinfo_x86 *c)
arch/x86/kernel/fpu/signal.c +5 -8
@@ -274,12 +274,13 @@ static int __restore_fpregs_from_user(void __user *buf, u64 ufeatures,* Attempt to restore the FPU registers directly from user memory. * Pagefaults are handled and any errors returned are fatal. */ -static bool restore_fpregs_from_user (void __user *buf,u64 xrestore, -bool fx_only,unsigned int size) +static bool restore_fpregs_from_user (void __user *buf,u64 xrestore,bool fx_only) {struct fpu *fpu = ¤t->thread.fpu;int ret; +/* Restore enabled features only. */ + xrestore &= fpu->fpstate->user_xfeatures; retry:fpregs_lock ();/* Ensure that XFD is up to date */
@@ -309,7 +310,7 @@ static bool restore_fpregs_from_user(void __user *buf, u64 xrestore,if (ret !=X86_TRAP_PF )return false; -if (!fault_in_readable (buf, size)) +if (!fault_in_readable (buf, fpu->fpstate->user_size)) goto retry;return false; }
@@ -339,7 +340,6 @@ static bool __fpu_restore_sig(void __user *buf, void __user *buf_fx,struct user_i387_ia32_struct env;bool success, fx_only = false;union fpregs_state *fpregs; -unsigned int state_size;u64 user_xfeatures =0 ;if (use_xsave ()) {
@@ -349,17 +349,14 @@ static bool __fpu_restore_sig(void __user *buf, void __user *buf_fx,return false; fx_only = !fx_sw_user.magic1; - state_size = fx_sw_user.xstate_size; user_xfeatures = fx_sw_user.xfeatures; }else { user_xfeatures =XFEATURE_MASK_FPSSE ; - state_size = fpu->fpstate->user_size; }if (likely (!ia32_fxstate)) {/* Restore the FPU registers directly from user memory. */ -return restore_fpregs_from_user (buf_fx, user_xfeatures, fx_only, - state_size); +return restore_fpregs_from_user (buf_fx, user_xfeatures, fx_only); }/*
arch/x86/kvm/svm/svm_ops.h +3 -3
@@ -8,7 +8,7 @@ #define svm_asm(insn, clobber...) \ do { \ - asm_volatile_goto("1: " __stringify(insn) "\n\t" \ + asm goto("1: " __stringify(insn) "\n\t" \ _ASM_EXTABLE(1b, %l[fault]) \ ::: clobber : fault); \ return; \
@@ -18,7 +18,7 @@ fault: \ #define svm_asm1(insn, op1, clobber...) \ do { \ - asm_volatile_goto("1: " __stringify(insn) " %0\n\t" \ + asm goto("1: " __stringify(insn) " %0\n\t" \ _ASM_EXTABLE(1b, %l[fault]) \ :: op1 : clobber : fault); \ return; \
@@ -28,7 +28,7 @@ fault: \ #define svm_asm2(insn, op1, op2, clobber...) \ do { \ - asm_volatile_goto("1: " __stringify(insn) " %1, %0\n\t" \ + asm goto("1: " __stringify(insn) " %1, %0\n\t" \ _ASM_EXTABLE(1b, %l[fault]) \ :: op1, op2 : clobber : fault); \ return; \
arch/x86/kvm/vmx/pmu_intel.c +1 -1
@@ -71,7 +71,7 @@ static int fixed_pmc_events[] = {static void reprogram_fixed_counters (struct kvm_pmu *pmu,u64 data) {struct kvm_pmc *pmc; -u8 old_fixed_ctr_ctrl = pmu->fixed_ctr_ctrl; +u64 old_fixed_ctr_ctrl = pmu->fixed_ctr_ctrl;int i; pmu->fixed_ctr_ctrl = data;
arch/x86/kvm/vmx/vmx.c +2 -2
@@ -745,7 +745,7 @@ static int vmx_set_guest_uret_msr(struct vcpu_vmx *vmx,*/ static int kvm_cpu_vmxoff (void ) { - asm_volatile_goto("1: vmxoff\n\t" + asm goto("1: vmxoff\n\t" _ASM_EXTABLE(1b, %l[fault]) ::: "cc", "memory" : fault);
@@ -2789,7 +2789,7 @@ static int kvm_cpu_vmxon(u64 vmxon_pointer)cr4_set_bits (X86_CR4_VMXE ); - asm_volatile_goto("1: vmxon %[vmxon_pointer]\n\t" + asm goto("1: vmxon %[vmxon_pointer]\n\t" _ASM_EXTABLE(1b, %l[fault]) : : [vmxon_pointer] "m"(vmxon_pointer) : : fault);
arch/x86/kvm/vmx/vmx_ops.h +3 -3
@@ -94,7 +94,7 @@ static __always_inline unsigned long __vmcs_readl(unsigned long field)#ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT -asm_volatile_goto ("1: vmread %[field], %[output]\n\t" +asm_goto_output ("1: vmread %[field], %[output]\n\t" "jna %l[do_fail]\n\t" _ASM_EXTABLE(1b, %l[do_exception])
@@ -188,7 +188,7 @@ static __always_inline unsigned long vmcs_readl(unsigned long field) #define vmx_asm1(insn, op1, error_args...) \ do { \ - asm_volatile_goto("1: " __stringify(insn) " %0\n\t" \ + asm goto("1: " __stringify(insn) " %0\n\t" \ ".byte 0x2e\n\t"/* branch not taken hint */ \"jna %l[error]\n\t" \ _ASM_EXTABLE(1b, %l[fault]) \
@@ -205,7 +205,7 @@ fault: \ #define vmx_asm2(insn, op1, op2, error_args...) \ do { \ - asm_volatile_goto("1: " __stringify(insn) " %1, %0\n\t" \ + asm goto("1: " __stringify(insn) " %1, %0\n\t" \ ".byte 0x2e\n\t"/* branch not taken hint */ \"jna %l[error]\n\t" \ _ASM_EXTABLE(1b, %l[fault]) \
arch/x86/kvm/x86.c +2 -1
@@ -5300,7 +5300,8 @@ static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu,if (events->flags &KVM_VCPUEVENT_VALID_NMI_PENDING ) { vcpu->arch.nmi_pending =0 ;atomic_set (&vcpu->arch.nmi_queued, events->nmi.pending); -kvm_make_request (KVM_REQ_NMI , vcpu); +if (events->nmi.pending) +kvm_make_request (KVM_REQ_NMI , vcpu); }static_call (kvm_x86_set_nmi_mask)(vcpu, events->nmi.masked);
arch/x86/mm/ident_map.c +18 -5
@@ -26,18 +26,31 @@ static int ident_pud_init(struct x86_mapping_info *info, pud_t *pud_page,for (; addr < end; addr = next) {pud_t *pud = pud_page +pud_index (addr);pmd_t *pmd; +bool use_gbpage; next = (addr &PUD_MASK ) +PUD_SIZE ;if (next > end) next = end; -if (info->direct_gbpages) { -pud_t pudval; +/* if this is already a gbpage, this portion is already mapped */ +if (pud_large (*pud)) +continue ; + +/* Is using a gbpage allowed? */ + use_gbpage = info->direct_gbpages; -if (pud_present (*pud)) -continue ; +/* Don't use gbpage if it maps more than the requested region. */ +/* at the begining: */ + use_gbpage &= ((addr & ~PUD_MASK ) ==0 ); +/* ... or at the end: */ + use_gbpage &= ((next & ~PUD_MASK ) ==0 ); + +/* Never overwrite existing mappings */ + use_gbpage &= !pud_present (*pud); + +if (use_gbpage) { +pud_t pudval; - addr &=PUD_MASK ; pudval =__pud ((addr - info->offset) | info->page_flag);set_pud (pud, pudval);continue ;
arch/xtensa/include/asm/jump_label.h +2 -2
@@ -13,7 +13,7 @@ static __always_inline bool arch_static_branch(struct static_key *key,bool branch) { -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" "_nop\n\t" ".pushsection __jump_table, \"aw\"\n\t" ".word 1b, %l[l_yes], %c0\n\t"
@@ -38,7 +38,7 @@ static __always_inline bool arch_static_branch_jump(struct static_key *key,* make it reachable and wrap both into a no-transform block * to avoid any assembler interference with this. */ -asm_volatile_goto ("1:\n\t" + asm goto("1:\n\t" ".begin no-transform\n\t" "_j %l[l_yes]\n\t" "2:\n\t"
block/blk-mq.c +7 -2
@@ -767,11 +767,16 @@ static void req_bio_endio(struct request *rq, struct bio *bio,/* * Partial zone append completions cannot be supported as the * BIO fragments may end up not being written sequentially. +* For such case, force the completed nbytes to be equal to +* the BIO size so that bio_advance() sets the BIO remaining +* size to 0 and we end up calling bio_endio() before returning. */ -if (bio->bi_iter.bi_size != nbytes) +if (bio->bi_iter.bi_size != nbytes) { bio->bi_status =BLK_STS_IOERR ; -else + nbytes = bio->bi_iter.bi_size; + }else { bio->bi_iter.bi_sector = rq->__sector; + } }bio_advance (bio, nbytes);
block/blk-wbt.c +2 -2
@@ -165,9 +165,9 @@ static void wb_timestamp(struct rq_wb *rwb, unsigned long *var)*/ static bool wb_recent_wait (struct rq_wb *rwb) { -struct bdi_writeback *wb = &rwb->rqos.disk->bdi->wb; +struct backing_dev_info *bdi = rwb->rqos.disk->bdi; -return time_before (jiffies, wb->dirty_sleep +HZ ); +return time_before (jiffies, bdi->last_bdp_sleep +HZ ); } static inline struct rq_wait *get_rq_wait(struct rq_wb *rwb,
crypto/algif_hash.c +3 -2
@@ -91,13 +91,13 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg,if (!(msg->msg_flags &MSG_MORE )) { err =hash_alloc_result (sk, ctx);if (err) - goto unlock_free; + goto unlock_free_result;ahash_request_set_crypt (&ctx->req,NULL , ctx->result,0 ); err =crypto_wait_req (crypto_ahash_final (&ctx->req), &ctx->wait);if (err) - goto unlock_free; + goto unlock_free_result; } goto done_more; }
@@ -170,6 +170,7 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg, unlock_free:af_alg_free_sg (&ctx->sgl); +unlock_free_result:hash_free_result (sk, ctx); ctx->more = false; goto unlock;
drivers/android/binder.c +10 -0
@@ -478,6 +478,16 @@ binder_enqueue_thread_work_ilocked(struct binder_thread *thread, {WARN_ON (!list_empty (&thread->waiting_thread_node));binder_enqueue_work_ilocked (work, &thread->todo); + +/* (e)poll-based threads require an explicit wakeup signal when +* queuing their own work; they rely on these events to consume +* messages without I/O block. Without it, threads risk waiting +* indefinitely without handling the work. +*/ +if (thread->looper &BINDER_LOOPER_STATE_POLL && + thread->pid == current->pid && !thread->process_todo) +wake_up_interruptible_sync (&thread->wait); + thread->process_todo = true; }
drivers/base/core.c +11 -4
@@ -283,10 +283,12 @@ static bool device_is_ancestor(struct device *dev, struct device *target)return false; } +#define DL_MARKER_FLAGS (DL_FLAG_INFERRED | \ + DL_FLAG_CYCLE | \ + DL_FLAG_MANAGED)static inline bool device_link_flag_is_sync_state_only (u32 flags) { -return (flags & ~(DL_FLAG_INFERRED |DL_FLAG_CYCLE )) == - (DL_FLAG_SYNC_STATE_ONLY |DL_FLAG_MANAGED ); +return (flags & ~DL_MARKER_FLAGS ) ==DL_FLAG_SYNC_STATE_ONLY ; }/**
@@ -2057,9 +2059,14 @@ static int fw_devlink_create_devlink(struct device *con,/* * SYNC_STATE_ONLY device links don't block probing and supports cycles. -* So cycle detection isn't necessary and shouldn't be done. +* So, one might expect that cycle detection isn't necessary for them. +* However, if the device link was marked as SYNC_STATE_ONLY because +* it's part of a cycle, then we still need to do cycle detection. This +* is because the consumer and supplier might be part of multiple cycles +* and we need to detect all those cycles. */ -if (!(flags &DL_FLAG_SYNC_STATE_ONLY )) { +if (!device_link_flag_is_sync_state_only (flags) || + flags &DL_FLAG_CYCLE ) {device_links_write_lock ();if (__fw_devlink_relax_cycles (con, sup_handle)) {__fwnode_link_cycle (link);
drivers/base/power/domain.c +1 -1
@@ -1102,7 +1102,7 @@ static int __init genpd_power_off_unused(void)return 0 ; } -late_initcall (genpd_power_off_unused); +late_initcall_sync (genpd_power_off_unused);#ifdef CONFIG_PM_SLEEP
drivers/connector/cn_proc.c +2 -3
@@ -108,9 +108,8 @@ static inline void send_msg(struct cn_msg *msg) filter_data[1 ] =0 ; } -if (cn_netlink_send_mult (msg, msg->len,0 ,CN_IDX_PROC ,GFP_NOWAIT , - cn_filter, (void *)filter_data) == -ESRCH ) -atomic_set (&proc_event_num_listeners,0 ); +cn_netlink_send_mult (msg, msg->len,0 ,CN_IDX_PROC ,GFP_NOWAIT , + cn_filter, (void *)filter_data);local_unlock (&local_event.lock); }
drivers/crypto/ccp/sev-dev.c +8 -2
@@ -520,10 +520,16 @@ EXPORT_SYMBOL_GPL(sev_platform_init);static int __sev_platform_shutdown_locked (int *error) { -struct sev_device *sev = psp_master->sev_data; +struct psp_device *psp = psp_master; +struct sev_device *sev;int ret; -if (!sev || sev->state ==SEV_STATE_UNINIT ) +if (!psp || !psp->sev_data) +return 0 ; + + sev = psp->sev_data; + +if (sev->state ==SEV_STATE_UNINIT )return 0 ; ret =__sev_do_cmd_locked (SEV_CMD_SHUTDOWN ,NULL , error);
drivers/firewire/core-device.c +3 -4
@@ -100,10 +100,9 @@ static int textual_leaf_to_string(const u32 *block, char *buf, size_t size)* @buf: where to put the string * @size: size of @buf, in bytes * -* The string is taken from a minimal ASCII text descriptor leaf after -* the immediate entry with @key. The string is zero-terminated. -* An overlong string is silently truncated such that it and the -* zero byte fit into @size. +* The string is taken from a minimal ASCII text descriptor leaf just after the entry with the +* @key. The string is zero-terminated. An overlong string is silently truncated such that it +* and the zero byte fit into @size. * * Returns strlen(buf) or a negative error code. */
drivers/firmware/efi/libstub/Makefile +0 -7
@@ -108,13 +108,6 @@ lib-y := $(patsubst %.o,%.stub.o,$(lib-y)) # https://bugs.llvm.org/show_bug.cgi?id=46480 STUBCOPY_FLAGS-y += --remove-section=.note.gnu.property -# -# For x86, bootloaders like systemd-boot or grub-efi do not zero-initialize the -# .bss section, so the .bss section of the EFI stub needs to be included in the -# .data section of the compressed kernel to ensure initialization. Rename the -# .bss section here so it's easy to pick out in the linker script. -# -STUBCOPY_FLAGS-$(CONFIG_X86) += --rename-section .bss=.bss.efistub,load,alloc STUBCOPY_RELOC-$(CONFIG_X86_32) := R_386_32 STUBCOPY_RELOC-$(CONFIG_X86_64) := R_X86_64_64
drivers/firmware/efi/libstub/x86-stub.c +6 -40
70 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +0 -1
@@ -4133,7 +4133,6 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)drm_fb_helper_set_suspend_unlocked (adev_to_drm (adev)->fb_helper, true);cancel_delayed_work_sync (&adev->delayed_init_work); -flush_delayed_work (&adev->gfx.gfx_off_delay_work);amdgpu_ras_suspend (adev);
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +8 -1
@@ -702,8 +702,15 @@ void amdgpu_gfx_off_ctrl(struct amdgpu_device *adev, bool enable)if (adev->gfx.gfx_off_req_count ==0 && !adev->gfx.gfx_off_state) { -schedule_delayed_work (&adev->gfx.gfx_off_delay_work, +/* If going to s2idle, no need to wait */ +if (adev->in_s0ix) { +if (!amdgpu_dpm_set_powergating_by_smu (adev, +AMD_IP_BLOCK_TYPE_GFX , true)) + adev->gfx.gfx_off_state = true; + }else { +schedule_delayed_work (&adev->gfx.gfx_off_delay_work, delay); + } } }else {if (adev->gfx.gfx_off_req_count ==0 ) {
drivers/gpu/drm/amd/amdgpu/cik_ih.c +6 -0
@@ -204,6 +204,12 @@ static u32 cik_ih_get_wptr(struct amdgpu_device *adev, tmp =RREG32 (mmIH_RB_CNTL); tmp |=IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK ;WREG32 (mmIH_RB_CNTL, tmp); + +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp &= ~IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK ; +WREG32 (mmIH_RB_CNTL, tmp); }return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/amdgpu/cz_ih.c +5 -0
@@ -216,6 +216,11 @@ static u32 cz_ih_get_wptr(struct amdgpu_device *adev, tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32 (mmIH_RB_CNTL, tmp); +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32 (mmIH_RB_CNTL, tmp); out:return (wptr & ih->ptr_mask);
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +0 -2
@@ -4020,8 +4020,6 @@ static int gfx_v10_0_init_microcode(struct amdgpu_device *adev) err =0 ; adev->gfx.mec2_fw =NULL ; } -amdgpu_gfx_cp_init_microcode (adev,AMDGPU_UCODE_ID_CP_MEC2 ); -amdgpu_gfx_cp_init_microcode (adev,AMDGPU_UCODE_ID_CP_MEC2_JT );gfx_v10_0_check_fw_write_wait (adev); out:
drivers/gpu/drm/amd/amdgpu/iceland_ih.c +5 -0
@@ -215,6 +215,11 @@ static u32 iceland_ih_get_wptr(struct amdgpu_device *adev, tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32 (mmIH_RB_CNTL, tmp); +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32 (mmIH_RB_CNTL, tmp); out:return (wptr & ih->ptr_mask);
drivers/gpu/drm/amd/amdgpu/ih_v6_0.c +6 -0
@@ -418,6 +418,12 @@ static u32 ih_v6_0_get_wptr(struct amdgpu_device *adev, tmp =RREG32_NO_KIQ (ih_regs->ih_rb_cntl); tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); out:return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/amdgpu/ih_v6_1.c +7 -0
@@ -418,6 +418,13 @@ static u32 ih_v6_1_get_wptr(struct amdgpu_device *adev, tmp =RREG32_NO_KIQ (ih_regs->ih_rb_cntl); tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + out:return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/amdgpu/navi10_ih.c +6 -0
@@ -442,6 +442,12 @@ static u32 navi10_ih_get_wptr(struct amdgpu_device *adev, tmp =RREG32_NO_KIQ (ih_regs->ih_rb_cntl); tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); out:return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/amdgpu/si_ih.c +6 -0
@@ -119,6 +119,12 @@ static u32 si_ih_get_wptr(struct amdgpu_device *adev, tmp =RREG32 (IH_RB_CNTL ); tmp |=IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK ;WREG32 (IH_RB_CNTL , tmp); + +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp &= ~IH_RB_CNTL__WPTR_OVERFLOW_CLEAR_MASK ; +WREG32 (IH_RB_CNTL , tmp); }return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/amdgpu/soc21.c +2 -2
@@ -50,13 +50,13 @@ static const struct amd_ip_funcs soc21_common_ip_funcs;/* SOC21 */ static const struct amdgpu_video_codec_info vcn_4_0_0_video_codecs_encode_array_vcn0[] = { {codec_info_build (AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC ,4096 ,2304 ,0 )}, - {codec_info_build (AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC ,4096 ,2304 ,0 )}, + {codec_info_build (AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC ,8192 ,4352 ,0 )}, {codec_info_build (AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1 ,8192 ,4352 ,0 )}, };static const struct amdgpu_video_codec_info vcn_4_0_0_video_codecs_encode_array_vcn1[] = { {codec_info_build (AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC ,4096 ,2304 ,0 )}, - {codec_info_build (AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC ,4096 ,2304 ,0 )}, + {codec_info_build (AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC ,8192 ,4352 ,0 )}, };static const struct amdgpu_video_codecs vcn_4_0_0_video_codecs_encode_vcn0 = {
drivers/gpu/drm/amd/amdgpu/tonga_ih.c +6 -0
@@ -219,6 +219,12 @@ static u32 tonga_ih_get_wptr(struct amdgpu_device *adev, tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32 (mmIH_RB_CNTL, tmp); +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32 (mmIH_RB_CNTL, tmp); + out:return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/amdgpu/vega10_ih.c +6 -0
@@ -373,6 +373,12 @@ static u32 vega10_ih_get_wptr(struct amdgpu_device *adev, tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + out:return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/amdgpu/vega20_ih.c +6 -0
@@ -421,6 +421,12 @@ static u32 vega20_ih_get_wptr(struct amdgpu_device *adev, tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,1 );WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); +/* Unset the CLEAR_OVERFLOW bit immediately so new overflows +* can be detected. +*/ + tmp =REG_SET_FIELD (tmp,IH_RB_CNTL ,WPTR_OVERFLOW_CLEAR ,0 ); +WREG32_NO_KIQ (ih_regs->ih_rb_cntl, tmp); + out:return (wptr & ih->ptr_mask); }
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +9 -5
@@ -6072,7 +6072,9 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,if (recalculate_timing) { freesync_mode =get_highest_refresh_rate_mode (aconnector, false);drm_mode_copy (&saved_mode, &mode); + saved_mode.picture_aspect_ratio = mode.picture_aspect_ratio;drm_mode_copy (&mode, freesync_mode); + mode.picture_aspect_ratio = saved_mode.picture_aspect_ratio; }else {decide_crtc_timing_for_drm_display_mode ( &mode, preferred_mode, scale);
@@ -10358,11 +10360,13 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, goto fail; } - ret =compute_mst_dsc_configs_for_state (state, dm_state->context, vars); -if (ret) { -DRM_DEBUG_DRIVER ("compute_mst_dsc_configs_for_state() failed\n" ); - ret = -EINVAL ; - goto fail; +if (dc_resource_is_dsc_encoding_supported (dc)) { + ret =compute_mst_dsc_configs_for_state (state, dm_state->context, vars); +if (ret) { +DRM_DEBUG_DRIVER ("compute_mst_dsc_configs_for_state() failed\n" ); + ret = -EINVAL ; + goto fail; + } } ret =dm_update_mst_vcpi_slots_for_dsc (state, dm_state->context, vars);
drivers/gpu/drm/amd/display/dc/dml/Makefile +3 -3
@@ -72,11 +72,11 @@ CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_vba.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn10/dcn10_fpu.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/dcn20_fpu.o := $(dml_ccflags) -CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags) +CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags) $(frame_warn_flag) CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20.o := $(dml_ccflags) -CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags) +CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags) $(frame_warn_flag) CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20v2.o := $(dml_ccflags) -CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags) +CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags) $(frame_warn_flag) CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_rq_dlg_calc_21.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_mode_vba_30.o := $(dml_ccflags) $(frame_warn_flag) CFLAGS_$(AMDDALPATH)/dc/dml/dcn30/display_rq_dlg_calc_30.o := $(dml_ccflags)
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c +4 -1
@@ -517,6 +517,7 @@ enum link_training_result dp_check_link_loss_status( {enum link_training_result status =LINK_TRAINING_SUCCESS ;union lane_status lane_status; +union lane_align_status_updated dpcd_lane_status_updated;uint8_t dpcd_buf[6 ] = {0 };uint32_t lane;
@@ -532,10 +533,12 @@ enum link_training_result dp_check_link_loss_status(* check lanes status */ lane_status.raw =dp_get_nibble_at_index (&dpcd_buf[2 ], lane); + dpcd_lane_status_updated.raw = dpcd_buf[4 ];if (!lane_status.bits.CHANNEL_EQ_DONE_0 || !lane_status.bits.CR_DONE_0 || - !lane_status.bits.SYMBOL_LOCKED_0) { + !lane_status.bits.SYMBOL_LOCKED_0 || + !dp_is_interlane_aligned (dpcd_lane_status_updated)) {/* if one of the channel equalization, clock * recovery or symbol lock is dropped * consider it as (link has been
drivers/gpu/drm/drm_prime.c +1 -1
@@ -820,7 +820,7 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,if (max_segment ==0 ) max_segment =UINT_MAX ; err =sg_alloc_table_from_pages_segment (sg, pages, nr_pages,0 , - nr_pages <<PAGE_SHIFT , + (unsigned long )nr_pages <<PAGE_SHIFT , max_segment,GFP_KERNEL );if (err) {kfree (sg);
drivers/gpu/drm/msm/msm_gem_prime.c +2 -2
@@ -26,7 +26,7 @@ int msm_gem_prime_vmap(struct drm_gem_object *obj, struct iosys_map *map) {void *vaddr; - vaddr =msm_gem_get_vaddr (obj); + vaddr =msm_gem_get_vaddr_locked (obj);if (IS_ERR (vaddr))return PTR_ERR (vaddr);iosys_map_set_vaddr (map, vaddr);
@@ -36,7 +36,7 @@ int msm_gem_prime_vmap(struct drm_gem_object *obj, struct iosys_map *map)void msm_gem_prime_vunmap (struct drm_gem_object *obj,struct iosys_map *map) { -msm_gem_put_vaddr (obj); +msm_gem_put_vaddr_locked (obj); } struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev,
drivers/gpu/drm/msm/msm_gpu.c +5 -6
@@ -749,12 +749,14 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)struct msm_ringbuffer *ring = submit->ring;unsigned long flags; -pm_runtime_get_sync (&gpu->pdev->dev); +WARN_ON (!mutex_is_locked (&gpu->lock)); -mutex_lock (&gpu->lock); +pm_runtime_get_sync (&gpu->pdev->dev);msm_gpu_hw_init (gpu); + submit->seqno = submit->hw_fence->seqno; +update_sw_cntrs (gpu);/*
@@ -779,11 +781,8 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) gpu->funcs->submit (gpu, submit); gpu->cur_ctx_seqno = submit->queue->ctx->seqno; -hangcheck_timer_reset (gpu); - -mutex_unlock (&gpu->lock); -pm_runtime_put (&gpu->pdev->dev); +hangcheck_timer_reset (gpu); }/*
drivers/gpu/drm/msm/msm_iommu.c +29 -3
@@ -21,6 +21,8 @@ struct msm_iommu_pagetable {struct msm_mmu base;struct msm_mmu *parent;struct io_pgtable_ops *pgtbl_ops; +const struct iommu_flush_ops *tlb; +struct device *iommu_dev;unsigned long pgsize_bitmap;/* Bitmap of page sizes in use */ phys_addr_t ttbr;u32 asid;
@@ -201,11 +203,33 @@ static const struct msm_mmu_funcs pagetable_funcs = {static void msm_iommu_tlb_flush_all (void *cookie) { +struct msm_iommu_pagetable *pagetable = cookie; +struct adreno_smmu_priv *adreno_smmu; + +if (!pm_runtime_get_if_in_use (pagetable->iommu_dev)) +return ; + + adreno_smmu =dev_get_drvdata (pagetable->parent->dev); + + pagetable->tlb->tlb_flush_all ((void *)adreno_smmu->cookie); + +pm_runtime_put_autosuspend (pagetable->iommu_dev); }static void msm_iommu_tlb_flush_walk (unsigned long iova,size_t size,size_t granule,void *cookie) { +struct msm_iommu_pagetable *pagetable = cookie; +struct adreno_smmu_priv *adreno_smmu; + +if (!pm_runtime_get_if_in_use (pagetable->iommu_dev)) +return ; + + adreno_smmu =dev_get_drvdata (pagetable->parent->dev); + + pagetable->tlb->tlb_flush_walk (iova, size, granule, (void *)adreno_smmu->cookie); + +pm_runtime_put_autosuspend (pagetable->iommu_dev); } static void msm_iommu_tlb_add_page(struct iommu_iotlb_gather *gather,
@@ -213,7 +237,7 @@ static void msm_iommu_tlb_add_page(struct iommu_iotlb_gather *gather, { } -static const struct iommu_flush_ops null_tlb_ops = { +static const struct iommu_flush_ops tlb_ops = { .tlb_flush_all = msm_iommu_tlb_flush_all, .tlb_flush_walk = msm_iommu_tlb_flush_walk, .tlb_add_page = msm_iommu_tlb_add_page,
@@ -254,10 +278,10 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent)/* The incoming cfg will have the TTBR1 quirk enabled */ ttbr0_cfg.quirks &= ~IO_PGTABLE_QUIRK_ARM_TTBR1 ; - ttbr0_cfg.tlb = &null_tlb_ops; + ttbr0_cfg.tlb = &tlb_ops; pagetable->pgtbl_ops =alloc_io_pgtable_ops (ARM_64_LPAE_S1 , - &ttbr0_cfg, iommu->domain); + &ttbr0_cfg, pagetable);if (!pagetable->pgtbl_ops) {kfree (pagetable);
@@ -279,6 +303,8 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent)/* Needed later for TLB flush */ pagetable->parent = parent; + pagetable->tlb = ttbr1_cfg->tlb; + pagetable->iommu_dev = ttbr1_cfg->iommu_dev; pagetable->pgsize_bitmap = ttbr0_cfg.pgsize_bitmap; pagetable->ttbr = ttbr0_cfg.arm_lpae_s1_cfg.ttbr;
drivers/gpu/drm/msm/msm_ringbuffer.c +5 -2
@@ -21,8 +21,6 @@ static struct dma_fence *msm_job_run(struct drm_sched_job *job)msm_fence_init (submit->hw_fence, fctx); - submit->seqno = submit->hw_fence->seqno; -mutex_lock (&priv->lru.lock);for (i =0 ; i < submit->nr_bos; i++) {
@@ -34,8 +32,13 @@ static struct dma_fence *msm_job_run(struct drm_sched_job *job)mutex_unlock (&priv->lru.lock); +/* TODO move submit path over to using a per-ring lock.. */ +mutex_lock (&gpu->lock); +msm_gpu_submit (gpu, submit); +mutex_unlock (&gpu->lock); +return dma_fence_get (submit->hw_fence); }
drivers/gpu/drm/nouveau/nouveau_fence.c +18 -6
@@ -103,6 +103,7 @@ nouveau_fence_context_kill(struct nouveau_fence_chan *fctx, int error)void nouveau_fence_context_del (struct nouveau_fence_chan *fctx) { +cancel_work_sync (&fctx->uevent_work);nouveau_fence_context_kill (fctx,0 );nvif_event_dtor (&fctx->event); fctx->dead =1 ;
@@ -145,12 +146,13 @@ nouveau_fence_update(struct nouveau_channel *chan, struct nouveau_fence_chan *fcreturn drop; } -static int -nouveau_fence_wait_uevent_handler (struct nvif_event *event,void *repv,u32 repc) +static void +nouveau_fence_uevent_work (struct work_struct *work) { -struct nouveau_fence_chan *fctx =container_of (event,typeof (*fctx), event); + struct nouveau_fence_chan *fctx = container_of(work, struct nouveau_fence_chan, + uevent_work);unsigned long flags; -int ret =NVIF_EVENT_KEEP ; +int drop =0 ;spin_lock_irqsave (&fctx->lock, flags);if (!list_empty (&fctx->pending)) {
@@ -160,11 +162,20 @@ nouveau_fence_wait_uevent_handler(struct nvif_event *event, void *repv, u32 repc fence =list_entry (fctx->pending.next,typeof (*fence), head); chan =rcu_dereference_protected (fence->channel,lockdep_is_held (&fctx->lock));if (nouveau_fence_update (chan, fctx)) - ret =NVIF_EVENT_DROP ; + drop =1 ; } +if (drop) +nvif_event_block (&fctx->event); +spin_unlock_irqrestore (&fctx->lock, flags); +} -return ret; +static int +nouveau_fence_wait_uevent_handler (struct nvif_event *event,void *repv,u32 repc) +{ +struct nouveau_fence_chan *fctx =container_of (event,typeof (*fctx), event); +schedule_work (&fctx->uevent_work); +return NVIF_EVENT_KEEP ; }void
@@ -178,6 +189,7 @@ nouveau_fence_context_new(struct nouveau_channel *chan, struct nouveau_fence_cha } args;int ret; +INIT_WORK (&fctx->uevent_work, nouveau_fence_uevent_work);INIT_LIST_HEAD (&fctx->flip);INIT_LIST_HEAD (&fctx->pending);spin_lock_init (&fctx->lock);
drivers/gpu/drm/nouveau/nouveau_fence.h +1 -0
@@ -44,6 +44,7 @@ struct nouveau_fence_chan {u32 context;char name[32 ]; +struct work_struct uevent_work;struct nvif_event event;int notify_ref, dead, killed; };
drivers/gpu/drm/nouveau/nouveau_svm.c +1 -1
@@ -1011,7 +1011,7 @@ nouveau_svm_fault_buffer_ctor(struct nouveau_svm *svm, s32 oclass, int id)if (ret)return ret; - buffer->fault =kvcalloc (sizeof (*buffer->fault), buffer->entries,GFP_KERNEL ); + buffer->fault =kvcalloc (buffer->entries,sizeof (*buffer->fault),GFP_KERNEL );if (!buffer->fault)return -ENOMEM ;
drivers/gpu/drm/virtio/virtgpu_drv.c +1 -0
@@ -94,6 +94,7 @@ static int virtio_gpu_probe(struct virtio_device *vdev) goto err_free; } +dma_set_max_seg_size (dev->dev,dma_max_mapping_size (dev->dev) ?:UINT_MAX ); ret =virtio_gpu_init (vdev, dev);if (ret) goto err_free;
drivers/hid/bpf/hid_bpf_dispatch.c +61 -22
128 lines not on this page · raw message
drivers/hid/bpf/hid_bpf_dispatch.h +2 -2
@@ -12,9 +12,9 @@ struct hid_bpf_ctx_kern {int hid_bpf_preload_skel (void );void hid_bpf_free_links_and_skel (void ); -int hid_bpf_get_prog_attach_type (int prog_fd); +int hid_bpf_get_prog_attach_type (struct bpf_prog *prog);int __hid_bpf_attach_prog (struct hid_device *hdev,enum hid_bpf_prog_type prog_type,int prog_fd, -__u32 flags); +struct bpf_prog *prog,__u32 flags);void __hid_bpf_destroy_device (struct hid_device *hdev);int hid_bpf_prog_run (struct hid_device *hdev,enum hid_bpf_prog_type type,struct hid_bpf_ctx_kern *ctx_kern);
drivers/hid/bpf/hid_bpf_jmp_table.c +20 -20
@@ -196,6 +196,7 @@ static void __hid_bpf_do_release_prog(int map_fd, unsigned int idx)static void hid_bpf_release_progs (struct work_struct *work) {int i, j, n, map_fd =-1 ; +bool hdev_destroyed;if (!jmp_table.map)return ;
@@ -220,6 +221,12 @@ static void hid_bpf_release_progs(struct work_struct *work)if (entry->hdev) { hdev = entry->hdev; type = entry->type; +/* +* hdev is still valid, even if we are called after hid_destroy_device(): +* when hid_bpf_attach() gets called, it takes a ref on the dev through +* bus_find_device() +*/ + hdev_destroyed = hdev->bpf.destroyed;hid_bpf_populate_hdev (hdev, type);
@@ -232,12 +239,19 @@ static void hid_bpf_release_progs(struct work_struct *work)if (test_bit (next->idx, jmp_table.enabled))continue ;
Lines of this file are not shown. View the raw message.
drivers/hid/wacom_sys.c +43 -20
63 lines not on this page · raw message
drivers/irqchip/irq-gic-v3-its.c +40 -22
62 lines not on this page · raw message
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +33 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan966x/lan966x_lag.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/netronome/nfp/flower/conntrack.c +43 -3
46 lines not on this page · raw message
drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/netronome/nfp/nfp_net_common.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/common.h +40 -16
56 lines not on this page · raw message
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +7 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c +7 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c +7 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c +7 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +87 -42
129 lines not on this page · raw message
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +69 -67
136 lines not on this page · raw message
drivers/net/hyperv/netvsc_drv.c +62 -20
82 lines not on this page · raw message
drivers/net/wireless/intel/iwlwifi/fw/acpi.c +9 -6
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/iwl-drv.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/xen-netback/netback.c +40 -44
84 lines not on this page · raw message
drivers/of/property.c +25 -40
65 lines not on this page · raw message
drivers/pmdomain/mediatek/mtk-pm-domains.c +7 -8
Lines of this file are not shown. View the raw message.
drivers/pmdomain/renesas/r8a77980-sysc.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/staging/iio/impedance-analyzer/ad5933.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/tty/serial/max310x.c +43 -10
53 lines not on this page · raw message
drivers/usb/chipidea/core.c +24 -20
44 lines not on this page · raw message
drivers/usb/core/hub.c +32 -14
46 lines not on this page · raw message
drivers/usb/gadget/function/f_mass_storage.c +18 -2
Lines of this file are not shown. View the raw message.
fs/btrfs/block-group.c +47 -2
49 lines not on this page · raw message
fs/tracefs/event_inode.c +570 -680
1,250 lines not on this page · raw message
fs/tracefs/inode.c +125 -151
276 lines not on this page · raw message
fs/tracefs/internal.h +55 -5
60 lines not on this page · raw message
fs/zonefs/file.c +27 -15
42 lines not on this page · raw message
fs/zonefs/super.c +38 -28
66 lines not on this page · raw message
include/linux/tracefs.h +58 -15
73 lines not on this page · raw message
kernel/trace/trace.c +41 -44
85 lines not on this page · raw message
kernel/trace/trace_events.c +217 -94
311 lines not on this page · raw message
net/can/j1939/socket.c +30 -16
46 lines not on this page · raw message
net/netfilter/ipset/ip_set_bitmap_gen.h +11 -3
Lines of this file are not shown. View the raw message.
net/openvswitch/flow_netlink.c +33 -16
49 lines not on this page · raw message
net/tls/tls_sw.c +111 -106
217 lines not on this page · raw message
security/security.c +40 -5
45 lines not on this page · raw message
sound/soc/sof/ipc3-topology.c +41 -14
55 lines not on this page · raw message
tools/testing/selftests/kvm/dirty_log_test.c +27 -23
50 lines not on this page · raw message
tools/testing/selftests/kvm/x86_64/amx_test.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/kvm/x86_64/hyperv_features.c +5 -4
Lines of this file are not shown. View the raw message.
tools/testing/selftests/landlock/fs_test.c +8 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/mm/charge_reserved_hugetlb.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/mm/map_hugetlb.c +7 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/mm/va_high_addr_switch.sh +6 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/mm/write_hugetlb_memory.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/bridge_locked_port.sh +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/bridge_mdb.sh +77 -115
192 lines not on this page · raw message
tools/testing/selftests/net/forwarding/tc_flower_l2_miss.sh +6 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/config +3 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_join.sh +2 -8
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_lib.sh +10 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/settings +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/userspace_pm.sh +11 -20
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/test_bridge_backup_port.sh +205 -189
394 lines not on this page · 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.