Skip to contentSkip to conversation

Linux 6.6.26

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Apr 10, 2024 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.6.26 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/admin-guide/hw-vuln/spectre.rst                          |   48 -
 Documentation/admin-guide/kernel-parameters.txt                        |   12 
 Makefile                                                               |    2 
 arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi                           |    2 
 arch/arm64/kernel/ptrace.c                                             |    5 
 arch/arm64/kvm/hyp/pgtable.c                                           |   11 
 arch/arm64/net/bpf_jit_comp.c                                          |    4 
 arch/powerpc/mm/book3s64/pgtable.c                                     |    2 
 arch/riscv/include/asm/uaccess.h                                       |    4 
 arch/riscv/include/uapi/asm/auxvec.h                                   |    2 
 arch/riscv/kernel/patch.c                                              |    8 
 arch/riscv/kernel/process.c                                            |    3 
 arch/riscv/kvm/aia_aplic.c                                             |   37 
 arch/s390/boot/vmem.c                                                  |    2 
 arch/s390/include/asm/pgtable.h                                        |    4 
 arch/s390/kernel/entry.S                                               |    1 
 arch/s390/mm/gmap.c                                                    |    2 
 arch/s390/mm/hugetlbpage.c                                             |    4 
 arch/s390/mm/pageattr.c                                                |    2 
 arch/s390/mm/pgtable.c                                                 |    2 
 arch/s390/mm/vmem.c                                                    |    6 
 arch/s390/net/bpf_jit_comp.c                                           |   46 -
 arch/sparc/mm/init_64.c                                                |    2 
 arch/x86/Kconfig                                                       |   25 
 arch/x86/boot/compressed/Makefile                                      |    2 
 arch/x86/boot/compressed/misc.c                                        |   16 
 arch/x86/boot/compressed/sev.c                                         |    3 
 arch/x86/coco/core.c                                                   |   41 
 arch/x86/entry/common.c                                                |   10 
 arch/x86/entry/entry_64.S                                              |   61 +
 arch/x86/entry/entry_64_compat.S                                       |   16 
 arch/x86/entry/syscall_32.c                                            |   21 
 arch/x86/entry/syscall_64.c                                            |   19 
 arch/x86/entry/syscall_x32.c                                           |   10 
 arch/x86/events/amd/core.c                                             |   24 
 arch/x86/events/amd/lbr.c                                              |   16 
 arch/x86/events/intel/ds.c                                             |    8 
 arch/x86/include/asm/asm-prototypes.h                                  |    1 
 arch/x86/include/asm/boot.h                                            |    1 
 arch/x86/include/asm/coco.h                                            |    2 
 arch/x86/include/asm/cpufeature.h                                      |    8 
 arch/x86/include/asm/cpufeatures.h                                     |   21 
 arch/x86/include/asm/disabled-features.h                               |    3 
 arch/x86/include/asm/init.h                                            |    2 
 arch/x86/include/asm/mem_encrypt.h                                     |    8 
 arch/x86/include/asm/msr-index.h                                       |    9 
 arch/x86/include/asm/nospec-branch.h                                   |   88 +-
 arch/x86/include/asm/required-features.h                               |    3 
 arch/x86/include/asm/sev.h                                             |   10 
 arch/x86/include/asm/syscall.h                                         |   11 
 arch/x86/include/uapi/asm/bootparam.h                                  |    1 
 arch/x86/kernel/cpu/amd.c                                              |  129 ++-
 arch/x86/kernel/cpu/bugs.c                                             |  126 ++
 arch/x86/kernel/cpu/common.c                                           |   24 
 arch/x86/kernel/cpu/mce/core.c                                         |    4 
 arch/x86/kernel/cpu/scattered.c                                        |    2 
 arch/x86/kernel/head64.c                                               |    3 
 arch/x86/kernel/mpparse.c                                              |   10 
 arch/x86/kernel/setup.c                                                |    2 
 arch/x86/kernel/sev-shared.c                                           |   23 
 arch/x86/kernel/sev.c                                                  |   14 
 arch/x86/kernel/vmlinux.lds.S                                          |    7 
 arch/x86/kvm/mmu/mmu.c                                                 |    2 
 arch/x86/kvm/reverse_cpuid.h                                           |    5 
 arch/x86/kvm/svm/sev.c                                                 |   45 -
 arch/x86/kvm/trace.h                                                   |   10 
 arch/x86/kvm/vmx/vmenter.S                                             |    2 
 arch/x86/kvm/x86.c                                                     |    2 
 arch/x86/lib/Makefile                                                  |   13 
 arch/x86/lib/retpoline.S                                               |  165 ++-
 arch/x86/mm/fault.c                                                    |    4 
 arch/x86/mm/ident_map.c                                                |   23 
 arch/x86/mm/init_64.c                                                  |    4 
 arch/x86/mm/kasan_init_64.c                                            |    2 
 arch/x86/mm/mem_encrypt_identity.c                                     |   76 -
 arch/x86/mm/pat/memtype.c                                              |   49 -
 arch/x86/mm/pat/set_memory.c                                           |    6 
 arch/x86/mm/pgtable.c                                                  |    2 
 arch/x86/mm/pti.c                                                      |    2 
 arch/x86/net/bpf_jit_comp.c                                            |    2 
 arch/x86/power/hibernate.c                                             |    2 
 arch/x86/xen/mmu_pv.c                                                  |    4 
 drivers/acpi/acpica/dbnames.c                                          |    8 
 drivers/ata/sata_mv.c                                                  |   63 -
 drivers/ata/sata_sx4.c                                                 |    6 
 drivers/base/core.c                                                    |   26 
 drivers/base/regmap/regcache-maple.c                                   |    6 
 drivers/bluetooth/btqca.c                                              |    8 
 drivers/bluetooth/hci_qca.c                                            |   19 
 drivers/dma-buf/st-dma-fence-chain.c                                   |    6 
 drivers/firmware/efi/libstub/efi-stub-helper.c                         |    8 
 drivers/firmware/efi/libstub/efistub.h                                 |    2 
 drivers/firmware/efi/libstub/x86-stub.c                                |   14 
 drivers/gpio/gpiolib-cdev.c                                            |   58 +
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                                    |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                             |   43 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c                                |   10 
 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c            |    3 
 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c                     |   11 
 drivers/gpu/drm/amd/include/amd_shared.h                               |    1 
 drivers/gpu/drm/drm_prime.c                                            |    7 
 drivers/gpu/drm/i915/Makefile                                          |    1 
 drivers/gpu/drm/i915/display/intel_cursor.c                            |    6 
 drivers/gpu/drm/i915/display/intel_display_types.h                     |    1 
 drivers/gpu/drm/i915/display/intel_fb_pin.c                            |   10 
 drivers/gpu/drm/i915/display/skl_universal_plane.c                     |    5 
 drivers/gpu/drm/i915/gem/i915_gem_create.c                             |    4 
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c                               |   10 
 drivers/gpu/drm/i915/gt/intel_engine_cs.c                              |   21 
 drivers/gpu/drm/i915/gt/intel_engine_pm.c                              |    2 
 drivers/gpu/drm/i915/gt/intel_execlists_submission.c                   |    4 
 drivers/gpu/drm/i915/gt/intel_gt.h                                     |   31 
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c                            |   39 
 drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h                            |   13 
 drivers/gpu/drm/i915/gt/intel_gt_mcr.c                                 |    7 
 drivers/gpu/drm/i915/gt/intel_gt_regs.h                                |    6 
 drivers/gpu/drm/i915/gt/intel_lrc.c                                    |   38 
 drivers/gpu/drm/i915/gt/intel_mocs.c                                   |   23 
 drivers/gpu/drm/i915/gt/intel_rc6.c                                    |    6 
 drivers/gpu/drm/i915/gt/intel_reset.c                                  |   20 
 drivers/gpu/drm/i915/gt/intel_reset.h                                  |    2 
 drivers/gpu/drm/i915/gt/intel_rps.c                                    |    2 
 drivers/gpu/drm/i915/gt/intel_workarounds.c                            |  422 +++-------
 drivers/gpu/drm/i915/gt/uc/intel_guc.c                                 |   26 
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c                      |    6 
 drivers/gpu/drm/i915/i915_debugfs.c                                    |    2 
 drivers/gpu/drm/i915/i915_drv.h                                        |    4 
 drivers/gpu/drm/i915/i915_perf.c                                       |   11 
 drivers/gpu/drm/i915/intel_clock_gating.c                              |    8 
 drivers/gpu/drm/nouveau/nouveau_uvmm.c                                 |    6 
 drivers/gpu/drm/panfrost/panfrost_gpu.c                                |    6 
 drivers/md/dm-integrity.c                                              |    2 
 drivers/net/dsa/mv88e6xxx/chip.c                                       |    6 
 drivers/net/dsa/sja1105/sja1105_mdio.c                                 |    2 
 drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c                       |   28 
 drivers/net/ethernet/freescale/fec_main.c                              |   11 
 drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_tqp_stats.c |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c                     |   19 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c                |    4 
 drivers/net/ethernet/intel/e1000/e1000_hw.c                            |   46 -
 drivers/net/ethernet/intel/e1000e/80003es2lan.c                        |    3 
 drivers/net/ethernet/intel/e1000e/82571.c                              |    3 
 drivers/net/ethernet/intel/e1000e/ethtool.c                            |    7 
 drivers/net/ethernet/intel/e1000e/hw.h                                 |    2 
 drivers/net/ethernet/intel/e1000e/ich8lan.c                            |   56 -
 drivers/net/ethernet/intel/e1000e/mac.c                                |    2 
 drivers/net/ethernet/intel/e1000e/netdev.c                             |   35 
 drivers/net/ethernet/intel/e1000e/phy.c                                |  191 ++--
 drivers/net/ethernet/intel/e1000e/phy.h                                |    2 
 drivers/net/ethernet/intel/fm10k/fm10k_pf.c                            |    4 
 drivers/net/ethernet/intel/fm10k/fm10k_vf.c                            |   10 
 drivers/net/ethernet/intel/i40e/i40e.h                                 |   59 -
 drivers/net/ethernet/intel/i40e/i40e_adminq.c                          |    8 
 drivers/net/ethernet/intel/i40e/i40e_adminq.h                          |    3 
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h                      |    2 
 drivers/net/ethernet/intel/i40e/i40e_alloc.h                           |   24 
 drivers/net/ethernet/intel/i40e/i40e_client.c                          |    1 
 drivers/net/ethernet/intel/i40e/i40e_common.c                          |   12 
 drivers/net/ethernet/intel/i40e/i40e_dcb.c                             |    4 
 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c                          |    2 
 drivers/net/ethernet/intel/i40e/i40e_ddp.c                             |    2 
 drivers/net/ethernet/intel/i40e/i40e_debug.h                           |   47 +
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c                         |    3 
 drivers/net/ethernet/intel/i40e/i40e_diag.h                            |    5 
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c                         |    3 
 drivers/net/ethernet/intel/i40e/i40e_hmc.c                             |   16 
 drivers/net/ethernet/intel/i40e/i40e_hmc.h                             |    4 
 drivers/net/ethernet/intel/i40e/i40e_io.h                              |   16 
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c                         |    9 
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h                         |    2 
 drivers/net/ethernet/intel/i40e/i40e_main.c                            |   70 +
 drivers/net/ethernet/intel/i40e/i40e_nvm.c                             |    3 
 drivers/net/ethernet/intel/i40e/i40e_osdep.h                           |   59 -
 drivers/net/ethernet/intel/i40e/i40e_prototype.h                       |    4 
 drivers/net/ethernet/intel/i40e/i40e_ptp.c                             |    9 
 drivers/net/ethernet/intel/i40e/i40e_register.h                        |    5 
 drivers/net/ethernet/intel/i40e/i40e_txrx.c                            |   89 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.h                            |    6 
 drivers/net/ethernet/intel/i40e/i40e_txrx_common.h                     |    2 
 drivers/net/ethernet/intel/i40e/i40e_type.h                            |   56 -
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c                     |   47 -
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h                     |    4 
 drivers/net/ethernet/intel/i40e/i40e_xsk.c                             |    4 
 drivers/net/ethernet/intel/i40e/i40e_xsk.h                             |    4 
 drivers/net/ethernet/intel/iavf/iavf_common.c                          |    3 
 drivers/net/ethernet/intel/iavf/iavf_ethtool.c                         |    5 
 drivers/net/ethernet/intel/iavf/iavf_fdir.c                            |    1 
 drivers/net/ethernet/intel/iavf/iavf_txrx.c                            |    1 
 drivers/net/ethernet/intel/ice/ice_adminq_cmd.h                        |    3 
 drivers/net/ethernet/intel/ice/ice_lag.c                               |    4 
 drivers/net/ethernet/intel/ice/ice_lib.c                               |   74 +
 drivers/net/ethernet/intel/ice/ice_switch.c                            |   24 
 drivers/net/ethernet/intel/ice/ice_switch.h                            |    4 
 drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c                   |   18 
 drivers/net/ethernet/intel/igb/e1000_82575.c                           |   29 
 drivers/net/ethernet/intel/igb/e1000_i210.c                            |   19 
 drivers/net/ethernet/intel/igb/e1000_mac.c                             |    2 
 drivers/net/ethernet/intel/igb/e1000_nvm.c                             |   18 
 drivers/net/ethernet/intel/igb/e1000_phy.c                             |   13 
 drivers/net/ethernet/intel/igb/igb_ethtool.c                           |    8 
 drivers/net/ethernet/intel/igb/igb_main.c                              |    4 
 drivers/net/ethernet/intel/igbvf/mbx.c                                 |    1 
 drivers/net/ethernet/intel/igbvf/netdev.c                              |   33 
 drivers/net/ethernet/intel/igc/igc_i225.c                              |    1 
 drivers/net/ethernet/intel/igc/igc_main.c                              |    4 
 drivers/net/ethernet/intel/igc/igc_phy.c                               |    1 
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c                        |   30 
 drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c                         |   16 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c                          |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c                           |    8 
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c                         |    8 
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c                          |    8 
 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c                          |   19 
 drivers/net/ethernet/marvell/octeontx2/af/cgx.c                        |    5 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c                    |    2 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c                    |    2 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c                   |    2 
 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c             |   31 
 drivers/net/ethernet/microchip/lan743x_main.c                          |   18 
 drivers/net/ethernet/microchip/lan743x_main.h                          |    4 
 drivers/net/ethernet/microsoft/mana/mana_en.c                          |    2 
 drivers/net/ethernet/realtek/r8169_main.c                              |   40 
 drivers/net/ethernet/renesas/ravb_main.c                               |   33 
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c                      |   40 
 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c                    |   38 
 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c                         |    8 
 drivers/net/phy/micrel.c                                               |   31 
 drivers/net/usb/ax88179_178a.c                                         |    2 
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h                         |    2 
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c                      |    4 
 drivers/net/wireless/intel/iwlwifi/mvm/rfi.c                           |    8 
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c                          |   31 
 drivers/net/wwan/t7xx/t7xx_cldma.c                                     |    4 
 drivers/net/wwan/t7xx/t7xx_hif_cldma.c                                 |    9 
 drivers/net/wwan/t7xx/t7xx_pcie_mac.c                                  |    8 
 drivers/net/xen-netfront.c                                             |    1 
 drivers/of/dynamic.c                                                   |   12 
 drivers/of/module.c                                                    |    8 
 drivers/perf/riscv_pmu.c                                               |    4 
 drivers/s390/net/qeth_core_main.c                                      |   38 
 drivers/scsi/myrb.c                                                    |   20 
 drivers/scsi/myrs.c                                                    |   24 
 drivers/scsi/sd.c                                                      |    2 
 drivers/spi/spi-pci1xxxx.c                                             |    2 
 drivers/spi/spi-s3c64xx.c                                              |   80 +
 drivers/usb/typec/ucsi/ucsi_glink.c                                    |   14 
 fs/btrfs/extent_io.c                                                   |  208 +++-
 fs/btrfs/inode.c                                                       |   22 
 fs/nfsd/nfs4state.c                                                    |    7 
 fs/pipe.c                                                              |   17 
 fs/smb/client/cached_dir.c                                             |    6 
 fs/smb/client/cifs_debug.c                                             |    6 
 fs/smb/client/cifsfs.c                                                 |   11 
 fs/smb/client/cifsglob.h                                               |   17 
 fs/smb/client/connect.c                                                |   45 +
 fs/smb/client/dir.c                                                    |   15 
 fs/smb/client/file.c                                                   |  111 ++
 fs/smb/client/fs_context.c                                             |    6 
 fs/smb/client/fs_context.h                                             |   12 
 fs/smb/client/fscache.c                                                |   16 
 fs/smb/client/fscache.h                                                |    6 
 fs/smb/client/inode.c                                                  |    2 
 fs/smb/client/ioctl.c                                                  |    6 
 fs/smb/client/misc.c                                                   |    2 
 fs/smb/client/smb1ops.c                                                |    4 
 fs/smb/client/smb2misc.c                                               |    4 
 fs/smb/client/smb2ops.c                                                |   11 
 fs/smb/client/smb2pdu.c                                                |    2 
 fs/smb/server/ksmbd_netlink.h                                          |    3 
 fs/smb/server/mgmt/share_config.c                                      |    7 
 fs/smb/server/smb2ops.c                                                |   10 
 fs/smb/server/smb2pdu.c                                                |    3 
 fs/smb/server/transport_ipc.c                                          |   37 
 fs/vboxsf/super.c                                                      |    3 
 include/kvm/arm_pmu.h                                                  |    2 
 include/linux/avf/virtchnl.h                                           |    5 
 include/linux/bpf.h                                                    |   16 
 include/linux/device.h                                                 |    1 
 include/linux/io_uring_types.h                                         |    1 
 include/linux/secretmem.h                                              |    4 
 include/linux/skbuff.h                                                 |    7 
 include/linux/udp.h                                                    |   28 
 include/net/bluetooth/hci.h                                            |    9 
 include/net/inet_connection_sock.h                                     |    1 
 include/net/mana/mana.h                                                |    1 
 include/net/sock.h                                                     |    7 
 io_uring/io_uring.c                                                    |   18 
 io_uring/kbuf.c                                                        |  118 --
 io_uring/kbuf.h                                                        |    8 
 kernel/bpf/syscall.c                                                   |   35 
 kernel/bpf/verifier.c                                                  |    5 
 kernel/trace/bpf_trace.c                                               |   10 
 mm/memory.c                                                            |    4 
 net/9p/client.c                                                        |   10 
 net/ax25/ax25_dev.c                                                    |    2 
 net/bluetooth/hci_debugfs.c                                            |   48 -
 net/bluetooth/hci_event.c                                              |   25 
 net/bluetooth/hci_sync.c                                               |    5 
 net/bridge/netfilter/ebtables.c                                        |    6 
 net/core/gro.c                                                         |    3 
 net/core/sock_map.c                                                    |    6 
 net/hsr/hsr_slave.c                                                    |    3 
 net/ipv4/inet_connection_sock.c                                        |   33 
 net/ipv4/inet_fragment.c                                               |   70 +
 net/ipv4/ip_fragment.c                                                 |    2 
 net/ipv4/ip_gre.c                                                      |    5 
 net/ipv4/netfilter/arp_tables.c                                        |    4 
 net/ipv4/netfilter/ip_tables.c                                         |    4 
 net/ipv4/tcp.c                                                         |    2 
 net/ipv4/udp.c                                                         |    7 
 net/ipv4/udp_offload.c                                                 |   23 
 net/ipv6/ip6_fib.c                                                     |   14 
 net/ipv6/ip6_gre.c                                                     |    3 
 net/ipv6/netfilter/ip6_tables.c                                        |    4 
 net/ipv6/netfilter/nf_conntrack_reasm.c                                |    2 
 net/ipv6/udp.c                                                         |    2 
 net/ipv6/udp_offload.c                                                 |    8 
 net/mptcp/protocol.c                                                   |  106 --
 net/mptcp/subflow.c                                                    |    2 
 net/netfilter/nf_tables_api.c                                          |   92 +-
 net/nfc/nci/core.c                                                     |    5 
 net/rds/rdma.c                                                         |    2 
 net/sched/act_skbmod.c                                                 |   10 
 net/sched/sch_api.c                                                    |    2 
 net/sunrpc/svcsock.c                                                   |   10 
 net/tls/tls_sw.c                                                       |    7 
 net/vmw_vsock/virtio_transport.c                                       |    3 
 scripts/bpf_doc.py                                                     |    4 
 scripts/mod/Makefile                                                   |    4 
 scripts/mod/modpost.c                                                  |   73 -
 scripts/mod/modpost.h                                                  |   25 
 scripts/mod/symsearch.c                                                |  199 ++++
 security/selinux/selinuxfs.c                                           |   12 
 sound/pci/emu10k1/emu10k1_callback.c                                   |    7 
 sound/pci/hda/cs35l56_hda.c                                            |    4 
 sound/pci/hda/cs35l56_hda_i2c.c                                        |   13 
 sound/pci/hda/cs35l56_hda_spi.c                                        |   13 
 sound/pci/hda/patch_realtek.c                                          |    3 
 sound/soc/amd/acp/acp-pci.c                                            |    5 
 sound/soc/codecs/rt5682-sdw.c                                          |    4 
 sound/soc/codecs/rt711-sdca-sdw.c                                      |    4 
 sound/soc/codecs/rt711-sdw.c                                           |    4 
 sound/soc/codecs/rt712-sdca-sdw.c                                      |    5 
 sound/soc/codecs/rt722-sdca-sdw.c                                      |    4 
 sound/soc/codecs/wm_adsp.c                                             |    3 
 sound/soc/soc-ops.c                                                    |    2 
 sound/soc/sof/amd/acp.c                                                |    8 
 tools/arch/x86/include/asm/cpufeatures.h                               |    2 
 tools/net/ynl/ynl-gen-c.py                                             |    7 
 tools/testing/selftests/mm/vm_util.h                                   |    2 
 tools/testing/selftests/net/mptcp/mptcp_connect.sh                     |   85 +-
 tools/testing/selftests/net/mptcp/mptcp_join.sh                        |    4 
 tools/testing/selftests/net/reuseaddr_conflict.c                       |    2 
 tools/testing/selftests/net/test_vxlan_mdb.sh                          |  205 +++-
 tools/testing/selftests/net/udpgro_fwd.sh                              |   10 
 355 files changed, 4153 insertions(+), 2335 deletions(-)

Aleksandr Loktionov (2):
i40e: fix i40e_count_filters() to count only active/new filters
i40e: fix vf may be used uninitialized in this function warning

Aleksandr Mishin (2):
net: phy: micrel: Fix potential null pointer dereference
octeontx2-af: Add array index check

Alexandra Winter (1):
s390/qeth: handle deferred cc1

Alexandre Ghiti (1):
riscv: Disable preemption when using patch_map()

Andi Shyti (3):
drm/i915/gt: Disable HW load balancing for CCS drm/i915/gt: Do not generate the command streamer for all the CCS drm/i915/gt: Enable only one CCS for compute workload

Andrei Matei (1):
bpf: Protect against int overflow for stack access size

Andrii Nakryiko (2):
bpf: put uprobe link's path and task in release callback
bpf: support deferring bpf_link dealloc to after RCU grace period

Antoine Tenart (5):
selftests: net: gro fwd: update vxlan GRO test expectations
gro: fix ownership transfer
udp: do not accept non-tunnel GSO skbs landing in a tunnel
udp: do not transition UDP GRO fraglist partial checksums to unnecessary
udp: prevent local UDP tunnel packets from being GROed

Anup Patel (2):
RISC-V: KVM: Fix APLIC setipnum_le/be write emulation
RISC-V: KVM: Fix APLIC in_clrip[x] read emulation

Ard Biesheuvel (5):
efi/libstub: Add generic support for parsing mem_encrypt= x86/sme: Move early SME kernel encryption handling into .head.text x86/sev: Move early startup code into .head.text section x86/efistub: Remap kernel text read-only before dropping NX attribute x86/boot: Move mem_encrypt= parsing to the decompressor

Arnd Bergmann (4):
dm integrity: fix out-of-range warning
ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit
scsi: mylex: Fix sysfs buffer lengths
ata: sata_mv: Fix PCI device ID table declaration compilation warning

Artem Savkov (1):
arm64: bpf: fix 32bit unconditional bswap

Ashish Kalra (1):
KVM: SVM: Add support for allowing zero SEV ASIDs

Atlas Yu (1):
r8169: skip DASH fw status checks when DASH is disabled

Bartosz Golaszewski (2):
gpio: cdev: sanitize the label before requesting the interrupt
gpio: cdev: check for NULL labels when sanitizing them for irqs

Bastien Nocera (1):
Bluetooth: Fix TOCTOU in HCI debugfs implementation

Benjamin Berg (1):
wifi: iwlwifi: mvm: include link ID when releasing frames

Bjørn Mork (1):
net: wwan: t7xx: Split 64bit accesses to fix alignment issues

Borislav Petkov (AMD) (11):
x86/CPU/AMD: Add ZenX generations flags
x86/CPU/AMD: Carve out the erratum 1386 fix
x86/CPU/AMD: Move erratum 1076 fix into the Zen1 init function x86/CPU/AMD: Move Zenbleed check to the Zen2 init function x86/CPU/AMD: Move the DIV0 bug detection to the Zen1 init function x86/CPU/AMD: Get rid of amd_erratum_1054[]
x86/CPU/AMD: Add X86_FEATURE_ZEN1
x86/bugs: Fix the SRSO mitigation on Zen3/4
x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk x86/mce: Make sure to grab mce_sysfs_mutex in set_bank()

Chris Park (1):
drm/amd/display: Prevent crash when disable stream

Christian Göttsche (1):
selinux: avoid dereference of garbage after mount failure

Christian Hewitt (1):
drm/panfrost: fix power transition timeout warnings

Christoffer Sandberg (1):
ALSA: hda/realtek - Fix inactive headset mic jack

Christophe JAILLET (2):
vboxsf: Avoid an spurious warning if load_nls_xxx() fails
net: dsa: sja1105: Fix parameters order in sja1110_pcs_mdio_write_c45()

Chuck Lever (1):
SUNRPC: Fix a slow server-side memory leak with RPC-over-TCP

Claudiu Beznea (1):
net: ravb: Let IP-specific receive function to interrogate descriptors

Daniel Sneddon (2):
x86/bhi: Define SPEC_CTRL_BHI_DIS_S
KVM: x86: Add BHI_NO

Dave Airlie (1):
nouveau/uvmm: fix addr/range calcs for remap operations

David Hildenbrand (2):
x86/mm/pat: fix VM_PAT handling in COW mappings mm/secretmem: fix GUP-fast succeeding on secretmem folios

David Howells (2):
cifs: Fix duplicate fscache cookie warnings
cifs: Fix caching to try to do open O_WRONLY as rdwr on server

David Thompson (3):
mlxbf_gige: stop PHY during open() error paths
mlxbf_gige: call request_irq() after NAPI initialized
mlxbf_gige: stop interface during shutdown

Davide Caratti (2):
mptcp: don't overwrite sock_ops in mptcp_is_tcpsk()
mptcp: don't account accept() of non-MPC client as fallback to TCP

Dmytro Laktyushkin (1):
drm/amd/display: Fix DPSTREAM CLK on and off sequence

Dominique Martinet (1):
9p: Fix read/write debug statements to report server reply

Duanqiang Wen (1):
net: txgbe: fix i2c dev name cannot match clkdev

Duoming Zhou (1):
ax25: fix use-after-free bugs caused by ax25_ds_del_timer

Edward Liaw (1):
selftests/mm: include strings.h for ffsl

Emmanuel Grumbach (1):
wifi: iwlwifi: disable multi rx queue for 9000

Eric Dumazet (5):
tcp: properly terminate timers for kernel sockets
netfilter: validate user input for expected length net/sched: act_skbmod: prevent kernel-infoleak net/sched: fix lockdep splat in qdisc_tree_reduce_backlog()
erspan: make sure erspan_base_hdr is present in skb->head

Filipe Manana (2):
btrfs: ensure fiemap doesn't race with writes when FIEMAP_FLAG_SYNC is given
btrfs: fix race when detecting delalloc ranges during fiemap

Florian Westphal (1):
inet: inet_defrag: prevent sk release while still in use

Geliang Tang (1):
selftests: mptcp: join: fix dev in check_endpoint

Greg Kroah-Hartman (3):
Revert "x86/mpparse: Register APIC address only once"
x86: set SPECTRE_BHI_ON as default
Linux 6.6.26

Haiyang Zhang (1):
net: mana: Fix Rx DMA datasize and skb_over_panic

Hangbin Liu (1):
scripts/bpf_doc: Use silent mode when exec make cmd

Hariprasad Kelam (2):
Octeontx2-af: fix pause frame configuration in GMP mode
octeontx2-af: Fix issue with loading coalesced KPU profiles

Heiner Kallweit (1):
r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d

Herve Codina (2):
driver core: Introduce device_link_wait_removal()
of: dynamic: Synchronize of_changeset_destroy() with the devlink removals

Horatiu Vultur (1):
net: phy: micrel: lan8814: Fix when enabling/disabling 1-step timestamping

Hou Wenlong (1):
x86/head/64: Move the __head definition to <asm/init.h>

Huai-Yuan Liu (1):
spi: mchp-pci1xxx: Fix a possible null pointer dereference in pci1xxx_spi_probe

Hui Wang (1):
Bluetooth: hci_event: set the conn encrypted before conn establishes

I Gede Agastya Darma Laksana (1):
ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone

Ido Schimmel (1):
selftests: vxlan_mdb: Fix failures with old libnet

Ilya Leoshkevich (1):
s390/bpf: Fix bpf_plt pointer arithmetic

Ingo Molnar (1):
Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped."

Ivan Vecera (10):
i40e: Fix VF MAC filter removal
i40e: Remove _t suffix from enum type names
i40e: Enforce software interrupt during busy-poll exit
i40e: Remove back pointer from i40e_hw structure
i40e: Refactor I40E_MDIO_CLAUSE* macros
virtchnl: Add header dependencies
i40e: Simplify memory allocation functions
i40e: Move memory allocation structures to i40e_alloc.h
i40e: Split i40e_osdep.h
i40e: Remove circular header dependencies and fix headers

Jack Brennen (1):
modpost: Optimize symbol search from linear to binary search

Jaewon Kim (1):
spi: s3c64xx: Use DMA mode from fifo size

Jakub Kicinski (2):
tools: ynl: fix setting presence bits in simple nests
selftests: reuseaddr_conflict: add missing new line at the end of the output

Jakub Sitnicki (1):
bpf, sockmap: Prevent lock inversion deadlock in map delete elem

Jann Horn (1):
fs/pipe: Fix lockdep false-positive in watchqueue pipe_write()

Jason A. Donenfeld (1):
x86/coco: Require seeding RNG with RDRAND on CoCo systems

Jeff Layton (1):
nfsd: hold a lighter-weight client reference over CB_RECALL_ANY

Jens Axboe (5):
io_uring/kbuf: get rid of lower BGID lists io_uring/kbuf: get rid of bl->is_ready io_uring/kbuf: protect io_buffer_list teardown with a reference
io_uring: use private workqueue for exit work io_uring/kbuf: hold io_buffer_list reference over mmap

Jesper Dangaard Brouer (1):
xen-netfront: Add missing skb_mark_for_recycle

Jesse Brandeburg (4):
ice: fix memory corruption bug with suspend and rebuild
intel: add bit macro includes where needed
intel: legacy: field get conversion
ice: fix typo in assignment

Jian Shen (1):
net: hns3: mark unexcuted loopback test result as UNEXECUTED

Jie Wang (1):
net: hns3: fix index limit to support all queue stats

Johan Hovold (4):
Revert "Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT"
arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken
Bluetooth: qca: fix device-address endianness
Bluetooth: add quirk for broken address properties

Johannes Berg (1):
wifi: iwlwifi: mvm: rfi: fix potential response leaks

Jose Ignacio Tornos Martinez (1):
net: usb: ax88179_178a: avoid the interface always configured as random address

Josh Poimboeuf (4):
x86/srso: Improve i-cache locality for alias mitigation x86/srso: Disentangle rethunk-dependent options x86/nospec: Refactor UNTRAIN_RET[_*]
x86/bugs: Change commas to semicolons in 'spectre_v2' sysfs file

Justin Chen (1):
net: bcmasp: Bring up unimac after PHY link up

Kan Liang (1):

      perf/x86/intel/ds: Don't clear ->pebs_data_cfg for the last PEBS event

Kent Gibson (1):
gpio: cdev: fix missed label sanitizing in debounce_setup()

Krishna Kurapati (1):
usb: typec: ucsi: Fix race between typec_switch and role_switch

Kuniyuki Iwashima (2):
tcp: Fix bind() regression for v6-only wildcard and v4(-mapped-v6) non-wildcard addresses.
ipv6: Fix infinite recursion in fib6_dump_done().

Kurt Kanzenbach (1):
igc: Remove stale comment about Tx timestamping

Li Nan (1):
scsi: sd: Unregister device if device_add_disk() failed in sd_probe()

Linus Torvalds (1):
x86/syscall: Don't force use of indirect calls for system calls

Maarten Lankhorst (1):
drm/i915/display: Use i915_gem_object_get_dma_address to get dma address

Mahmoud Adam (1):
net/rds: fix possible cp null dereference

Marco Pinna (1):
vsock/virtio: fix packet delivery to tap device

Mario Limonciello (3):
drm/amd: Evict resources during PM ops prepare() callback drm/amd: Add concept of running prepare_suspend() sequence for IP blocks drm/amd: Flush GFXOFF requests in prepare stage

Mark Brown (1):
arm64/ptrace: Use saved floating point state type to determine SVE layout

Masahiro Yamada (1):
modpost: do not make find_tosym() return NULL

Matt Roper (7):
drm/i915/dg2: Drop pre-production GT workarounds drm/i915: Tidy workaround definitions
drm/i915: Consolidate condition for Wa_22011802037 drm/i915/xelpg: Call Xe_LPG workaround functions based on IP version drm/i915: Eliminate IS_MTL_GRAPHICS_STEP
drm/i915: Replace several IS_METEORLAKE with proper IP version checks drm/i915/xelpg: Extend some workarounds/tuning to gfx version 12.74

Matthieu Baerts (NGI0) (1):
selftests: mptcp: connect: fix shellcheck warnings

Michael Krummsdorf (1):
net: dsa: mv88e6xxx: fix usable ports on 88e6020

Michal Swiatkowski (1):
ice: realloc VSI stats arrays

Namjae Jeon (3):
ksmbd: don't send oplock break if rename fails
ksmbd: validate payload size in ipc response
ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1

Nikita Kiryushin (1):
ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields()

Oliver Upton (1):
KVM: arm64: Fix host-programmed guest events in nVHE

Oswald Buddenhagen (1):
Revert "ALSA: emu10k1: fix synthesizer sample playback position and caching"

Pablo Neira Ayuso (8):
netfilter: nf_tables: reject destroy command to remove basechain hooks
netfilter: nf_tables: reject table flag and netdev basechain updates
netfilter: nf_tables: skip netdev hook unregistration if table is dormant
netfilter: nf_tables: release batch on table validation from abort path
netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
netfilter: nf_tables: reject new basechain after table flag update
netfilter: nf_tables: flush pending destroy work before exit_net release
netfilter: nf_tables: discard table flag update with pending basechain deletion

Paul Barker (2):
net: ravb: Always process TX descriptor ring
net: ravb: Always update error counters

Paulo Alcantara (11):
smb: client: handle DFS tcons in cifs_construct_tcon()
smb: client: serialise cifs_construct_tcon() with cifs_mount_mutex
smb: client: fix potential UAF in cifs_debug_files_proc_show()
smb: client: fix potential UAF in cifs_stats_proc_write()
smb: client: fix potential UAF in cifs_stats_proc_show()
smb: client: fix potential UAF in cifs_dump_full_key()
smb: client: fix potential UAF in smb2_is_valid_oplock_break()
smb: client: fix potential UAF in smb2_is_valid_lease_break()
smb: client: fix potential UAF in is_valid_oplock_break()
smb: client: fix potential UAF in smb2_is_network_name_deleted()
smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect()

Pavel Sakharov (1):
dma-buf: Fix NULL pointer dereference in sanitycheck()

Pawan Gupta (4):
x86/bhi: Add support for clearing branch history at syscall entry x86/bhi: Enumerate Branch History Injection (BHI) bug x86/bhi: Add BHI mitigation knob
x86/bhi: Mitigate KVM by default

Peter Xu (1):
mm/treewide: replace pud_large() with pud_leaf()

Petr Oros (1):
ice: fix enabling RX VLAN filtering

Pierre-Louis Bossart (5):
ASoC: rt5682-sdw: fix locking sequence
ASoC: rt711-sdca: fix locking sequence
ASoC: rt711-sdw: fix locking sequence
ASoC: rt712-sdca-sdw: fix locking sequence
ASoC: rt722-sdca-sdw: fix locking sequence

Piotr Wejman (1):
net: stmmac: fix rx queue priority assignment

Przemek Kitszel (1):
ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa()

Pu Lehui (1):
drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported

Puranjay Mohan (1):
bpf, arm64: fix bug in BPF_LDX_MEMSX

Raju Lakkaraju (1):
net: lan743x: Add set RFE read fifo threshold for PCI1x1x chips

Ravi Gunasekaran (1):
net: hsr: hsr_slave: Fix the promiscuous mode in offload mode

Richard Fitzgerald (3):
ASoC: wm_adsp: Fix missing mutex_lock in wm_adsp_write_ctl()
regmap: maple: Fix cache corruption in regcache_maple_drop()
regmap: maple: Fix uninitialized symbol 'ret' warnings

Ritvik Budhiraja (1):
smb3: retrying on failed server close

Rob Clark (1):
drm/prime: Unbreak virtgpu dma-buf export

Ryosuke Yasuoka (1):
nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet

Sabrina Dubroca (3):
tls: recv: process_rx_list shouldn't use an offset with kvec
tls: adjust recv return with async crypto and failed copy to userspace
tls: get psock ref after taking rxlock to avoid leak

Sam Protsenko (1):
spi: s3c64xx: Extract FIFO depth calculation to a dedicated macro

Samuel Holland (1):
riscv: Fix spurious errors from __get/put_kernel_nofault

Sandipan Das (3):
perf/x86/amd/core: Update and fix stalled-cycles-* events for Zen 2 and later x86/cpufeatures: Add new word for scattered features perf/x86/amd/lbr: Use freeze based on availability

Sean Christopherson (2):
x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word
KVM: SVM: Use unsigned integers when dealing with ASIDs

Sergey Shtylyov (1):
of: module: prevent NULL pointer dereference in vsnprintf()

Simon Trimmer (2):
ALSA: hda: cs35l56: Set the init_done flag before component_add()
ALSA: hda: cs35l56: Add ACPI device match tables

Stefan O'Rear (1):
riscv: process: Fix kernel gp leakage

Stephen Lee (1):
ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw

Steven Zou (1):
ice: Refactor FW data type and fix bitmap casting issue

Su Hui (1):
octeontx2-pf: check negative error code in otx2_open()

Sumanth Korikkar (1):
s390/entry: align system call table on 8 bytes

Tejas Upadhyay (2):

      drm/i915/mtl: Update workaround 14016712196
      drm/i915/mtl: Update workaround 14018575942

Tudor Ambarus (6):
spi: s3c64xx: sort headers alphabetically
spi: s3c64xx: explicitly include <linux/bits.h>
spi: s3c64xx: remove else after return
spi: s3c64xx: define a magic value
spi: s3c64xx: allow full FIFO masks
spi: s3c64xx: determine the fifo depth only once

Uros Bizjak (1):
x86/bpf: Fix IP after emitting call depth accounting

Victor Isaev (1):
RISC-V: Update AT_VECTOR_SIZE_ARCH for new AT_MINSIGSTKSZ

Vijendar Mukunda (2):
ASoC: amd: acp: fix for acp_init function error handling
ASoC: SOF: amd: fix for false dsp interrupts

Ville Syrjälä (1):
drm/i915: Pre-populate the cursor physical dma address

Vitaly Lifshits (3):
e1000e: Workaround for sporadic MDI error on Meteor Lake systems
e1000e: Minor flow correction in e1000_shutdown function
e1000e: move force SMBUS from enable ulp function to avoid PHY loss issue

Wei Fang (1):
net: fec: Set mac_managed_pm during probe

Will Deacon (1):
KVM: arm64: Ensure target address is granule-aligned for range TLBI

Yonglong Liu (1):
net: hns3: fix kernel crash when devlink reload during pf initialization

Ziyang Xuan (1):
netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()

author maintainer
#1 lore raw
Documentation/admin-guide/hw-vuln/spectre.rst +42 -6
index 32a8893e5617..9edb2860a3e1 100644
@@ -138,11 +138,10 @@ associated with the source address of the indirect branch. Specifically,
 the BHB might be shared across privilege levels even in the presence of
 Enhanced IBRS.
 
-Currently the only known real-world BHB attack vector is via
-unprivileged eBPF. Therefore, it's highly recommended to not enable
-unprivileged eBPF, especially when eIBRS is used (without retpolines).
-For a full mitigation against BHB attacks, it's recommended to use
-retpolines (or eIBRS combined with retpolines).
+Previously the only known real-world BHB attack vector was via unprivileged
+eBPF. Further research has found attacks that don't require unprivileged eBPF.
+For a full mitigation against BHB attacks it is recommended to set BHI_DIS_S or
+use the BHB clearing sequence.
 
 Attack scenarios
 ----------------
@@ -430,6 +429,23 @@ The possible values in this file are:
   'PBRSB-eIBRS: Not affected'  CPU is not affected by PBRSB
   ===========================  =======================================================
 
+  - Branch History Injection (BHI) protection status:
+
+.. list-table::
+
+ * - BHI: Not affected
+   - System is not affected
+ * - BHI: Retpoline
+   - System is protected by retpoline
+ * - BHI: BHI_DIS_S
+   - System is protected by BHI_DIS_S
+ * - BHI: SW loop; KVM SW loop
+   - System is protected by software clearing sequence
+ * - BHI: Syscall hardening
+   - Syscalls are hardened against BHI
+ * - BHI: Syscall hardening; KVM: SW loop
+   - System is protected from userspace attacks by syscall hardening; KVM is protected by software clearing sequence
+
 Full mitigation might require a microcode update from the CPU
 vendor. When the necessary microcode is not available, the kernel will
 report vulnerability.
@@ -484,7 +500,11 @@ Spectre variant 2
 
    Systems which support enhanced IBRS (eIBRS) enable IBRS protection once at
    boot, by setting the IBRS bit, and they're automatically protected against
-   Spectre v2 variant attacks.
+   some Spectre v2 variant attacks. The BHB can still influence the choice of
+   indirect branch predictor entry, and although branch predictor entries are
+   isolated between modes when eIBRS is enabled, the BHB itself is not isolated
+   between modes. Systems which support BHI_DIS_S will set it to protect against
+   BHI attacks.
 
    On Intel's enhanced IBRS systems, this includes cross-thread branch target
    injections on SMT systems (STIBP). In other words, Intel eIBRS enables
@@ -638,6 +658,22 @@ kernel command line.
 		spectre_v2=off. Spectre variant 1 mitigations
 		cannot be disabled.
 
+	spectre_bhi=
+
+		[X86] Control mitigation of Branch History Injection
+		(BHI) vulnerability. Syscalls are hardened against BHI
+		regardless of this setting. This setting affects the deployment
+		of the HW BHI control and the SW BHB clearing sequence.
+
+		on
+			unconditionally enable.
+		off
+			unconditionally disable.
+		auto
+			enable if hardware mitigation
+			control(BHI_DIS_S) is available, otherwise
+			enable alternate mitigation in KVM.
+
 For spectre_v2_user see Documentation/admin-guide/kernel-parameters.txt
 
 Mitigation selection guide
Documentation/admin-guide/kernel-parameters.txt +12 -0
index 7a36124dde5e..61199466c043 100644
@@ -5920,6 +5920,18 @@
 	sonypi.*=	[HW] Sony Programmable I/O Control Device driver
 			See Documentation/admin-guide/laptops/sonypi.rst
 
+	spectre_bhi=	[X86] Control mitigation of Branch History Injection
+			(BHI) vulnerability. Syscalls are hardened against BHI
+			reglardless of this setting. This setting affects the
+			deployment of the HW BHI control and the SW BHB
+			clearing sequence.
+
+			on   - unconditionally enable.
+			off  - unconditionally disable.
+			auto - (default) enable hardware mitigation
+			       (BHI_DIS_S) if available, otherwise enable
+			       alternate mitigation in KVM.
+
 	spectre_v2=	[X86] Control mitigation of Spectre variant 2
 			(indirect branch speculation) vulnerability.
 			The default operation protects the kernel from
Makefile +1 -1
index 022af2a9a6d9..77ad41bd298e 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 6
-SUBLEVEL = 25
+SUBLEVEL = 26
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +2 -0
index 5a33e16a8b67..c2f5e9f6679d 100644
@@ -970,6 +970,8 @@ bluetooth: bluetooth {
 		vddrf-supply = <&pp1300_l2c>;
 		vddch0-supply = <&pp3300_l10c>;
 		max-speed = <3200000>;
+
+		qcom,local-bd-address-broken;
 	};
 };
 
arch/arm64/kernel/ptrace.c +1 -4
index c94c0f8c9a73..d95416b93a9d 100644
@@ -728,7 +728,6 @@ static void sve_init_header_from_task(struct user_sve_header *header,
 {
 	unsigned int vq;
 	bool active;
-	bool fpsimd_only;
 	enum vec_type task_type;
 
 	memset(header, 0, sizeof(*header));
@@ -744,12 +743,10 @@ static void sve_init_header_from_task(struct user_sve_header *header,
 	case ARM64_VEC_SVE:
 		if (test_tsk_thread_flag(target, TIF_SVE_VL_INHERIT))
 			header->flags |= SVE_PT_VL_INHERIT;
-		fpsimd_only = !test_tsk_thread_flag(target, TIF_SVE);
 		break;
 	case ARM64_VEC_SME:
 		if (test_tsk_thread_flag(target, TIF_SME_VL_INHERIT))
 			header->flags |= SVE_PT_VL_INHERIT;
-		fpsimd_only = false;
 		break;
 	default:
 		WARN_ON_ONCE(1);
@@ -757,7 +754,7 @@ static void sve_init_header_from_task(struct user_sve_header *header,
 	}
 
 	if (active) {
-		if (fpsimd_only) {
+		if (target->thread.fp_type == FP_STATE_FPSIMD) {
 			header->flags |= SVE_PT_REGS_FPSIMD;
 		} else {
 			header->flags |= SVE_PT_REGS_SVE;
arch/arm64/kvm/hyp/pgtable.c +7 -4
index f155b8c9e98c..15aa9bad1c28 100644
@@ -805,12 +805,15 @@ static bool stage2_try_break_pte(const struct kvm_pgtable_visit_ctx *ctx,
 		 * Perform the appropriate TLB invalidation based on the
 		 * evicted pte value (if any).
 		 */
-		if (kvm_pte_table(ctx->old, ctx->level))
-			kvm_tlb_flush_vmid_range(mmu, ctx->addr,
-						kvm_granule_size(ctx->level));
-		else if (kvm_pte_valid(ctx->old))
+		if (kvm_pte_table(ctx->old, ctx->level)) {
+			u64 size = kvm_granule_size(ctx->level);
+			u64 addr = ALIGN_DOWN(ctx->addr, size);
+
+			kvm_tlb_flush_vmid_range(mmu, addr, size);
+		} else if (kvm_pte_valid(ctx->old)) {
 			kvm_call_hyp(__kvm_tlb_flush_vmid_ipa, mmu,
 				     ctx->addr, ctx->level);
+		}
 	}
 
 	if (stage2_pte_is_counted(ctx->old))
arch/arm64/net/bpf_jit_comp.c +2 -2
index 150d1c6543f7..29196dce9b91 100644
@@ -876,7 +876,7 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx,
 			emit(A64_UXTH(is64, dst, dst), ctx);
 			break;
 		case 32:
-			emit(A64_REV32(is64, dst, dst), ctx);
+			emit(A64_REV32(0, dst, dst), ctx);
 			/* upper 32 bits already cleared */
 			break;
 		case 64:
@@ -1189,7 +1189,7 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx,
 			} else {
 				emit_a64_mov_i(1, tmp, off, ctx);
 				if (sign_extend)
-					emit(A64_LDRSW(dst, src_adj, off_adj), ctx);
+					emit(A64_LDRSW(dst, src, tmp), ctx);
 				else
 					emit(A64_LDR32(dst, src, tmp), ctx);
 			}
arch/powerpc/mm/book3s64/pgtable.c +1 -1
index 926bec775f41..9822366dc186 100644
@@ -130,7 +130,7 @@ void set_pud_at(struct mm_struct *mm, unsigned long addr,
 
 	WARN_ON(pte_hw_valid(pud_pte(*pudp)));
 	assert_spin_locked(pud_lockptr(mm, pudp));
-	WARN_ON(!(pud_large(pud)));
+	WARN_ON(!(pud_leaf(pud)));
 #endif
 	trace_hugepage_set_pud(addr, pud_val(pud));
 	return set_pte_at(mm, addr, pudp_ptep(pudp), pud_pte(pud));
arch/riscv/include/asm/uaccess.h +2 -2
index ec0cab9fbddd..72ec1d9bd3f3 100644
@@ -319,7 +319,7 @@ unsigned long __must_check clear_user(void __user *to, unsigned long n)
 
 #define __get_kernel_nofault(dst, src, type, err_label)			\
 do {									\
-	long __kr_err;							\
+	long __kr_err = 0;						\
 									\
 	__get_user_nocheck(*((type *)(dst)), (type *)(src), __kr_err);	\
 	if (unlikely(__kr_err))						\
@@ -328,7 +328,7 @@ do {									\
 
 #define __put_kernel_nofault(dst, src, type, err_label)			\
 do {									\
-	long __kr_err;							\
+	long __kr_err = 0;						\
 									\
 	__put_user_nocheck(*((type *)(src)), (type *)(dst), __kr_err);	\
 	if (unlikely(__kr_err))						\
arch/riscv/include/uapi/asm/auxvec.h +1 -1
index 10aaa83db89e..95050ebe9ad0 100644
@@ -34,7 +34,7 @@
 #define AT_L3_CACHEGEOMETRY	47
 
 /* entries in ARCH_DLINFO */
-#define AT_VECTOR_SIZE_ARCH	9
+#define AT_VECTOR_SIZE_ARCH	10
 #define AT_MINSIGSTKSZ		51
 
 #endif /* _UAPI_ASM_RISCV_AUXVEC_H */
arch/riscv/kernel/patch.c +8 -0
index 37e87fdcf6a0..30e12b310cab 100644
@@ -80,6 +80,8 @@ static int __patch_insn_set(void *addr, u8 c, size_t len)
 	 */
 	lockdep_assert_held(&text_mutex);
 
+	preempt_disable();
+
 	if (across_pages)
 		patch_map(addr + PAGE_SIZE, FIX_TEXT_POKE1);
 
@@ -92,6 +94,8 @@ static int __patch_insn_set(void *addr, u8 c, size_t len)
 	if (across_pages)
 		patch_unmap(FIX_TEXT_POKE1);
 
+	preempt_enable();
+
 	return 0;
 }
 NOKPROBE_SYMBOL(__patch_insn_set);
@@ -122,6 +126,8 @@ static int __patch_insn_write(void *addr, const void *insn, size_t len)
 	if (!riscv_patch_in_stop_machine)
 		lockdep_assert_held(&text_mutex);
 
+	preempt_disable();
+
 	if (across_pages)
 		patch_map(addr + PAGE_SIZE, FIX_TEXT_POKE1);
 
@@ -134,6 +140,8 @@ static int __patch_insn_write(void *addr, const void *insn, size_t len)
 	if (across_pages)
 		patch_unmap(FIX_TEXT_POKE1);
 
+	preempt_enable();
+
 	return ret;
 }
 NOKPROBE_SYMBOL(__patch_insn_write);
arch/riscv/kernel/process.c +0 -3
index e32d737e039f..83e223318822 100644
@@ -26,8 +26,6 @@
 #include <asm/cpuidle.h>
 #include <asm/vector.h>
 
-register unsigned long gp_in_global __asm__("gp");
-
 #if defined(CONFIG_STACKPROTECTOR) && !defined(CONFIG_STACKPROTECTOR_PER_TASK)
 #include <linux/stackprotector.h>
 unsigned long __stack_chk_guard __read_mostly;
@@ -186,7 +184,6 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
 	if (unlikely(args->fn)) {
 		/* Kernel thread */
 		memset(childregs, 0, sizeof(struct pt_regs));
-		childregs->gp = gp_in_global;
 		/* Supervisor/Machine, irqs on: */
 		childregs->status = SR_PP | SR_PIE;
 
arch/riscv/kvm/aia_aplic.c +31 -6
index 39e72aa016a4..b467ba5ed910 100644
@@ -137,11 +137,21 @@ static void aplic_write_pending(struct aplic *aplic, u32 irq, bool pending)
 	raw_spin_lock_irqsave(&irqd->lock, flags);
 
 	sm = irqd->sourcecfg & APLIC_SOURCECFG_SM_MASK;
-	if (!pending &&
-	    ((sm == APLIC_SOURCECFG_SM_LEVEL_HIGH) ||
-	     (sm == APLIC_SOURCECFG_SM_LEVEL_LOW)))
+	if (sm == APLIC_SOURCECFG_SM_INACTIVE)
 		goto skip_write_pending;
 
+	if (sm == APLIC_SOURCECFG_SM_LEVEL_HIGH ||
+	    sm == APLIC_SOURCECFG_SM_LEVEL_LOW) {
+		if (!pending)
+			goto skip_write_pending;
+		if ((irqd->state & APLIC_IRQ_STATE_INPUT) &&
+		    sm == APLIC_SOURCECFG_SM_LEVEL_LOW)
+			goto skip_write_pending;
+		if (!(irqd->state & APLIC_IRQ_STATE_INPUT) &&
+		    sm == APLIC_SOURCECFG_SM_LEVEL_HIGH)
+			goto skip_write_pending;
+	}
+
 	if (pending)
 		irqd->state |= APLIC_IRQ_STATE_PENDING;
 	else
@@ -187,16 +197,31 @@ static void aplic_write_enabled(struct aplic *aplic, u32 irq, bool enabled)
 
 static bool aplic_read_input(struct aplic *aplic, u32 irq)
 {
-	bool ret;
-	unsigned long flags;
+	u32 sourcecfg, sm, raw_input, irq_inverted;
 	struct aplic_irq *irqd;
+	unsigned long flags;
+	bool ret = false;
 
 	if (!irq || aplic->nr_irqs <= irq)
 		return false;
 	irqd = &aplic->irqs[irq];
 
 	raw_spin_lock_irqsave(&irqd->lock, flags);
-	ret = (irqd->state & APLIC_IRQ_STATE_INPUT) ? true : false;
+
+	sourcecfg = irqd->sourcecfg;
+	if (sourcecfg & APLIC_SOURCECFG_D)
+		goto skip;
+
+	sm = sourcecfg & APLIC_SOURCECFG_SM_MASK;
+	if (sm == APLIC_SOURCECFG_SM_INACTIVE)
+		goto skip;
+
+	raw_input = (irqd->state & APLIC_IRQ_STATE_INPUT) ? 1 : 0;
+	irq_inverted = (sm == APLIC_SOURCECFG_SM_LEVEL_LOW ||
+			sm == APLIC_SOURCECFG_SM_EDGE_FALL) ? 1 : 0;
+	ret = !!(raw_input ^ irq_inverted);
+
+skip:
 	raw_spin_unlock_irqrestore(&irqd->lock, flags);
 
 	return ret;
arch/s390/boot/vmem.c +1 -1
index 442a74f113cb..14e1a73ffcfe 100644
@@ -360,7 +360,7 @@ static void pgtable_pud_populate(p4d_t *p4d, unsigned long addr, unsigned long e
 			}
 			pmd = boot_crst_alloc(_SEGMENT_ENTRY_EMPTY);
 			pud_populate(&init_mm, pud, pmd);
-		} else if (pud_large(*pud)) {
+		} else if (pud_leaf(*pud)) {
 			continue;
 		}
 		pgtable_pmd_populate(pud, addr, next, mode);
arch/s390/include/asm/pgtable.h +2 -2
index fb3ee7758b76..38290b0078c5 100644
@@ -729,7 +729,7 @@ static inline int pud_bad(pud_t pud)
 {
 	unsigned long type = pud_val(pud) & _REGION_ENTRY_TYPE_MASK;
 
-	if (type > _REGION_ENTRY_TYPE_R3 || pud_large(pud))
+	if (type > _REGION_ENTRY_TYPE_R3 || pud_leaf(pud))
 		return 1;
 	if (type < _REGION_ENTRY_TYPE_R3)
 		return 0;
@@ -1396,7 +1396,7 @@ static inline unsigned long pud_deref(pud_t pud)
 	unsigned long origin_mask;
 
 	origin_mask = _REGION_ENTRY_ORIGIN;
-	if (pud_large(pud))
+	if (pud_leaf(pud))
 		origin_mask = _REGION3_ENTRY_ORIGIN_LARGE;
 	return (unsigned long)__va(pud_val(pud) & origin_mask);
 }
arch/s390/kernel/entry.S +1 -0
index 49a11f6dd7ae..26c08ee87740 100644
@@ -653,6 +653,7 @@ SYM_DATA_START_LOCAL(daton_psw)
 SYM_DATA_END(daton_psw)
 
 	.section .rodata, "a"
+	.balign	8
 #define SYSCALL(esame,emu)	.quad __s390x_ ## esame
 SYM_DATA_START(sys_call_table)
 #include "asm/syscall_table.h"
arch/s390/mm/gmap.c +1 -1
index 157e0a8d5157..d17bb1ef63f4 100644
@@ -596,7 +596,7 @@ int __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr)
 	pud = pud_offset(p4d, vmaddr);
 	VM_BUG_ON(pud_none(*pud));
 	/* large puds cannot yet be handled */
-	if (pud_large(*pud))
+	if (pud_leaf(*pud))
 		return -EFAULT;
 	pmd = pmd_offset(pud, vmaddr);
 	VM_BUG_ON(pmd_none(*pmd));
arch/s390/mm/hugetlbpage.c +2 -2
index 297a6d897d5a..5f64f3d0fafb 100644
@@ -224,7 +224,7 @@ pte_t *huge_pte_offset(struct mm_struct *mm,
 		if (p4d_present(*p4dp)) {
 			pudp = pud_offset(p4dp, addr);
 			if (pud_present(*pudp)) {
-				if (pud_large(*pudp))
+				if (pud_leaf(*pudp))
 					return (pte_t *) pudp;
 				pmdp = pmd_offset(pudp, addr);
 			}
@@ -240,7 +240,7 @@ int pmd_huge(pmd_t pmd)
 
 int pud_huge(pud_t pud)
 {
-	return pud_large(pud);
+	return pud_leaf(pud);
 }
 
 bool __init arch_hugetlb_valid_size(unsigned long size)
arch/s390/mm/pageattr.c +1 -1
index b87e96c64b61..441f654d048d 100644
@@ -274,7 +274,7 @@ static int walk_pud_level(p4d_t *p4d, unsigned long addr, unsigned long end,
 		if (pud_none(*pudp))
 			return -EINVAL;
 		next = pud_addr_end(addr, end);
-		if (pud_large(*pudp)) {
+		if (pud_leaf(*pudp)) {
 			need_split  = !!(flags & SET_MEMORY_4K);
 			need_split |= !!(addr & ~PUD_MASK);
 			need_split |= !!(addr + PUD_SIZE > next);
arch/s390/mm/pgtable.c +1 -1
index 5cb92941540b..5e349869590a 100644
@@ -479,7 +479,7 @@ static int pmd_lookup(struct mm_struct *mm, unsigned long addr, pmd_t **pmdp)
 		return -ENOENT;
 
 	/* Large PUDs are not supported yet. */
-	if (pud_large(*pud))
+	if (pud_leaf(*pud))
 		return -EFAULT;
 
 	*pmdp = pmd_offset(pud, addr);
arch/s390/mm/vmem.c +3 -3
index 6d276103c6d5..2d3f65da56ee 100644
@@ -322,7 +322,7 @@ static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end,
 		if (!add) {
 			if (pud_none(*pud))
 				continue;
-			if (pud_large(*pud)) {
+			if (pud_leaf(*pud)) {
 				if (IS_ALIGNED(addr, PUD_SIZE) &&
 				    IS_ALIGNED(next, PUD_SIZE)) {
 					pud_clear(pud);
@@ -343,7 +343,7 @@ static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end,
 			if (!pmd)
 				goto out;
 			pud_populate(&init_mm, pud, pmd);
-		} else if (pud_large(*pud)) {
+		} else if (pud_leaf(*pud)) {
 			continue;
 		}
 		ret = modify_pmd_table(pud, addr, next, add, direct);
@@ -586,7 +586,7 @@ pte_t *vmem_get_alloc_pte(unsigned long addr, bool alloc)
 		if (!pmd)
 			goto out;
 		pud_populate(&init_mm, pud, pmd);
-	} else if (WARN_ON_ONCE(pud_large(*pud))) {
+	} else if (WARN_ON_ONCE(pud_leaf(*pud))) {
 		goto out;
 	}
 	pmd = pmd_offset(pud, addr);
arch/s390/net/bpf_jit_comp.c +20 -26

96 lines not on this page · raw message

arch/sparc/mm/init_64.c +1 -1
index f83017992eaa..d7db4e737218 100644
@@ -1665,7 +1665,7 @@ bool kern_addr_valid(unsigned long addr)
 	if (pud_none(*pud))
 		return false;
 
-	if (pud_large(*pud))
+	if (pud_leaf(*pud))
 		return pfn_valid(pud_pfn(*pud));
 
 	pmd = pmd_offset(pud, addr);
arch/x86/Kconfig +25 -0
index 4b81e884a614..b4e6859542a3 100644
@@ -2566,6 +2566,31 @@ config MITIGATION_RFDS
 	  stored in floating point, vector and integer registers.
 	  See also <file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst>
 
+choice
+	prompt "Clear branch history"
+	depends on CPU_SUP_INTEL
+	default SPECTRE_BHI_ON
+	help
+	  Enable BHI mitigations. BHI attacks are a form of Spectre V2 attacks
+	  where the branch history buffer is poisoned to speculatively steer
+	  indirect branches.
+	  See <file:Documentation/admin-guide/hw-vuln/spectre.rst>
+
+config SPECTRE_BHI_ON
+	bool "on"
+	help
+	  Equivalent to setting spectre_bhi=on command line parameter.
+config SPECTRE_BHI_OFF
+	bool "off"
+	help
+	  Equivalent to setting spectre_bhi=off command line parameter.
+config SPECTRE_BHI_AUTO
+	bool "auto"
+	help
+	  Equivalent to setting spectre_bhi=auto command line parameter.
+
+endchoice
+
 endif
 
 config ARCH_HAS_ADD_PAGES
arch/x86/boot/compressed/Makefile +1 -1
index 71fc531b95b4..583c11664c63 100644
@@ -84,7 +84,7 @@ LDFLAGS_vmlinux += -T
 hostprogs	:= mkpiggy
 HOST_EXTRACFLAGS += -I$(srctree)/tools/include
 
-sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(_text\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p'
+sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(_text\|__start_rodata\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p'
 
 quiet_cmd_voffset = VOFFSET $@
       cmd_voffset = $(NM) $< | sed -n $(sed-voffset) > $@
arch/x86/boot/compressed/misc.c +16 -0
index f711f2a85862..b5ecbd32a46f 100644
@@ -330,6 +330,7 @@ static size_t parse_elf(void *output)
 	return ehdr.e_entry - LOAD_PHYSICAL_ADDR;
 }
 
+const unsigned long kernel_text_size = VO___start_rodata - VO__text;
 const unsigned long kernel_total_size = VO__end - VO__text;
 
 static u8 boot_heap[BOOT_HEAP_SIZE] __aligned(4);
@@ -357,6 +358,19 @@ unsigned long decompress_kernel(unsigned char *outbuf, unsigned long virt_addr,
 	return entry;
 }
 
+/*
+ * Set the memory encryption xloadflag based on the mem_encrypt= command line
+ * parameter, if provided.
+ */
+static void parse_mem_encrypt(struct setup_header *hdr)
+{
+	int on = cmdline_find_option_bool("mem_encrypt=on");
+	int off = cmdline_find_option_bool("mem_encrypt=off");
+
+	if (on > off)
+		hdr->xloadflags |= XLF_MEM_ENCRYPTION;
+}
+
 /*
  * The compressed kernel image (ZO), has been moved so that its position
  * is against the end of the buffer used to hold the uncompressed kernel
@@ -387,6 +401,8 @@ asmlinkage __visible void *extract_kernel(void *rmode, unsigned char *output)
 	/* Clear flags intended for solely in-kernel use. */
 	boot_params->hdr.loadflags &= ~KASLR_FLAG;
 
+	parse_mem_encrypt(&boot_params->hdr);
+
 	sanitize_boot_params(boot_params);
 
 	if (boot_params->screen_info.orig_video_mode == 7) {
arch/x86/boot/compressed/sev.c +3 -0
index 80d76aea1f7b..0a49218a516a 100644
@@ -116,6 +116,9 @@ static bool fault_in_kernel_space(unsigned long address)
 #undef __init
 #define __init
 
+#undef __head
+#define __head
+
 #define __BOOT_COMPRESSED
 
 /* Basic instruction decoding support needed */
arch/x86/coco/core.c +41 -0

57 lines not on this page · raw message

arch/x86/entry/common.c +5 -5
index 9c0b26ae5106..e72dac092245 100644
@@ -48,7 +48,7 @@ static __always_inline bool do_syscall_x64(struct pt_regs *regs, int nr)
 
 	if (likely(unr < NR_syscalls)) {
 		unr = array_index_nospec(unr, NR_syscalls);
-		regs->ax = sys_call_table[unr](regs);
+		regs->ax = x64_sys_call(regs, unr);
 		return true;
 	}
 	return false;
@@ -65,7 +65,7 @@ static __always_inline bool do_syscall_x32(struct pt_regs *regs, int nr)
 
 	if (IS_ENABLED(CONFIG_X86_X32_ABI) && likely(xnr < X32_NR_syscalls)) {
 		xnr = array_index_nospec(xnr, X32_NR_syscalls);
-		regs->ax = x32_sys_call_table[xnr](regs);
+		regs->ax = x32_sys_call(regs, xnr);
 		return true;
 	}
 	return false;
@@ -114,7 +114,7 @@ static __always_inline void do_syscall_32_irqs_on(struct pt_regs *regs, int nr)
 
 	if (likely(unr < IA32_NR_syscalls)) {
 		unr = array_index_nospec(unr, IA32_NR_syscalls);
-		regs->ax = ia32_sys_call_table[unr](regs);
+		regs->ax = ia32_sys_call(regs, unr);
 	} else if (nr != -1) {
 		regs->ax = __ia32_sys_ni_syscall(regs);
 	}
@@ -141,7 +141,7 @@ static __always_inline bool int80_is_external(void)
 }
 
 /**
- * int80_emulation - 32-bit legacy syscall entry
+ * do_int80_emulation - 32-bit legacy syscall C entry from asm
  *
  * This entry point can be used by 32-bit and 64-bit programs to perform
  * 32-bit system calls.  Instances of INT $0x80 can be found inline in
@@ -159,7 +159,7 @@ static __always_inline bool int80_is_external(void)
  *   eax:				system call number
  *   ebx, ecx, edx, esi, edi, ebp:	arg1 - arg 6
  */
-DEFINE_IDTENTRY_RAW(int80_emulation)
+__visible noinstr void do_int80_emulation(struct pt_regs *regs)
 {
 	int nr;
 
arch/x86/entry/entry_64.S +61 -0

70 lines not on this page · raw message

arch/x86/entry/entry_64_compat.S +16 -0
index 306181e4fcb9..4c1dfc51c56e 100644
@@ -92,6 +92,7 @@ SYM_INNER_LABEL(entry_SYSENTER_compat_after_hwframe, SYM_L_GLOBAL)
 
 	IBRS_ENTER
 	UNTRAIN_RET
+	CLEAR_BRANCH_HISTORY
 
 	/*
 	 * SYSENTER doesn't filter flags, so we need to clear NT and AC
@@ -209,6 +210,7 @@ SYM_INNER_LABEL(entry_SYSCALL_compat_after_hwframe, SYM_L_GLOBAL)
 
 	IBRS_ENTER
 	UNTRAIN_RET
+	CLEAR_BRANCH_HISTORY
 
 	movq	%rsp, %rdi
 	call	do_fast_syscall_32
@@ -277,3 +279,17 @@ SYM_INNER_LABEL(entry_SYSRETL_compat_end, SYM_L_GLOBAL)
 	ANNOTATE_NOENDBR
 	int3
 SYM_CODE_END(entry_SYSCALL_compat)
+
+/*
+ * int 0x80 is used by 32 bit mode as a system call entry. Normally idt entries
+ * point to C routines, however since this is a system call interface the branch
+ * history needs to be scrubbed to protect against BHI attacks, and that
+ * scrubbing needs to take place in assembly code prior to entering any C
+ * routines.
+ */
+SYM_CODE_START(int80_emulation)
+	ANNOTATE_NOENDBR
+	UNWIND_HINT_FUNC
+	CLEAR_BRANCH_HISTORY
+	jmp do_int80_emulation
+SYM_CODE_END(int80_emulation)
arch/x86/entry/syscall_32.c +19 -2
index 8cfc9bc73e7f..c2235bae17ef 100644
@@ -18,8 +18,25 @@
 #include <asm/syscalls_32.h>
 #undef __SYSCALL
 
+/*
+ * The sys_call_table[] is no longer used for system calls, but
+ * kernel/trace/trace_syscalls.c still wants to know the system
+ * call address.
+ */
+#ifdef CONFIG_X86_32
 #define __SYSCALL(nr, sym) __ia32_##sym,
-
-__visible const sys_call_ptr_t ia32_sys_call_table[] = {
+const sys_call_ptr_t sys_call_table[] = {
 #include <asm/syscalls_32.h>
 };
+#undef __SYSCALL
+#endif
+
+#define __SYSCALL(nr, sym) case nr: return __ia32_##sym(regs);
+
+long ia32_sys_call(const struct pt_regs *regs, unsigned int nr)
+{
+	switch (nr) {
+	#include <asm/syscalls_32.h>
+	default: return __ia32_sys_ni_syscall(regs);
+	}
+};
arch/x86/entry/syscall_64.c +17 -2
index be120eec1fc9..33b3f09e6f15 100644
@@ -11,8 +11,23 @@
 #include <asm/syscalls_64.h>
 #undef __SYSCALL
 
+/*
+ * The sys_call_table[] is no longer used for system calls, but
+ * kernel/trace/trace_syscalls.c still wants to know the system
+ * call address.
+ */
 #define __SYSCALL(nr, sym) __x64_##sym,
-
-asmlinkage const sys_call_ptr_t sys_call_table[] = {
+const sys_call_ptr_t sys_call_table[] = {
 #include <asm/syscalls_64.h>
 };
+#undef __SYSCALL
+
+#define __SYSCALL(nr, sym) case nr: return __x64_##sym(regs);
+
+long x64_sys_call(const struct pt_regs *regs, unsigned int nr)
+{
+	switch (nr) {
+	#include <asm/syscalls_64.h>
+	default: return __x64_sys_ni_syscall(regs);
+	}
+};
arch/x86/entry/syscall_x32.c +7 -3
index bdd0e03a1265..03de4a932131 100644
@@ -11,8 +11,12 @@
 #include <asm/syscalls_x32.h>
 #undef __SYSCALL
 
-#define __SYSCALL(nr, sym) __x64_##sym,
+#define __SYSCALL(nr, sym) case nr: return __x64_##sym(regs);
 
-asmlinkage const sys_call_ptr_t x32_sys_call_table[] = {
-#include <asm/syscalls_x32.h>
+long x32_sys_call(const struct pt_regs *regs, unsigned int nr)
+{
+	switch (nr) {
+	#include <asm/syscalls_x32.h>
+	default: return __x64_sys_ni_syscall(regs);
+	}
 };
arch/x86/events/amd/core.c +19 -5
index 5365d6acbf09..8ed10366c4a2 100644
@@ -250,7 +250,7 @@ static const u64 amd_perfmon_event_map[PERF_COUNT_HW_MAX] =
 /*
  * AMD Performance Monitor Family 17h and later:
  */
-static const u64 amd_f17h_perfmon_event_map[PERF_COUNT_HW_MAX] =
+static const u64 amd_zen1_perfmon_event_map[PERF_COUNT_HW_MAX] =
 {
 	[PERF_COUNT_HW_CPU_CYCLES]		= 0x0076,
 	[PERF_COUNT_HW_INSTRUCTIONS]		= 0x00c0,
@@ -262,10 +262,24 @@ static const u64 amd_f17h_perfmon_event_map[PERF_COUNT_HW_MAX] =
 	[PERF_COUNT_HW_STALLED_CYCLES_BACKEND]	= 0x0187,
 };
 
+static const u64 amd_zen2_perfmon_event_map[PERF_COUNT_HW_MAX] =
+{
+	[PERF_COUNT_HW_CPU_CYCLES]		= 0x0076,
+	[PERF_COUNT_HW_INSTRUCTIONS]		= 0x00c0,
+	[PERF_COUNT_HW_CACHE_REFERENCES]	= 0xff60,
+	[PERF_COUNT_HW_CACHE_MISSES]		= 0x0964,
+	[PERF_COUNT_HW_BRANCH_INSTRUCTIONS]	= 0x00c2,
+	[PERF_COUNT_HW_BRANCH_MISSES]		= 0x00c3,
+	[PERF_COUNT_HW_STALLED_CYCLES_FRONTEND]	= 0x00a9,
+};
+
 static u64 amd_pmu_event_map(int hw_event)
 {
-	if (boot_cpu_data.x86 >= 0x17)
-		return amd_f17h_perfmon_event_map[hw_event];
+	if (cpu_feature_enabled(X86_FEATURE_ZEN2) || boot_cpu_data.x86 >= 0x19)
+		return amd_zen2_perfmon_event_map[hw_event];
+
+	if (cpu_feature_enabled(X86_FEATURE_ZEN1))
+		return amd_zen1_perfmon_event_map[hw_event];
 
 	return amd_perfmon_event_map[hw_event];
 }
@@ -904,8 +918,8 @@ static int amd_pmu_v2_handle_irq(struct pt_regs *regs)
 	if (!status)
 		goto done;
 
-	/* Read branch records before unfreezing */
-	if (status & GLOBAL_STATUS_LBRS_FROZEN) {
+	/* Read branch records */
+	if (x86_pmu.lbr_nr) {
 		amd_pmu_lbr_read();
 		status &= ~GLOBAL_STATUS_LBRS_FROZEN;
 	}
arch/x86/events/amd/lbr.c +10 -6
index eb31f850841a..110e34c59643 100644
@@ -400,10 +400,12 @@ void amd_pmu_lbr_enable_all(void)
 		wrmsrl(MSR_AMD64_LBR_SELECT, lbr_select);
 	}
 
-	rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl);
-	rdmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg);
+	if (cpu_feature_enabled(X86_FEATURE_AMD_LBR_PMC_FREEZE)) {
+		rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl);
+		wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI);
+	}
 
-	wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI);
+	rdmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg);
 	wrmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg | DBG_EXTN_CFG_LBRV2EN);
 }
 
@@ -416,10 +418,12 @@ void amd_pmu_lbr_disable_all(void)
 		return;
 
 	rdmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg);
-	rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl);
-
 	wrmsrl(MSR_AMD_DBG_EXTN_CFG, dbg_extn_cfg & ~DBG_EXTN_CFG_LBRV2EN);
-	wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl & ~DEBUGCTLMSR_FREEZE_LBRS_ON_PMI);
+
+	if (cpu_feature_enabled(X86_FEATURE_AMD_LBR_PMC_FREEZE)) {
+		rdmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl);
+		wrmsrl(MSR_IA32_DEBUGCTLMSR, dbg_ctl & ~DEBUGCTLMSR_FREEZE_LBRS_ON_PMI);
+	}
 }
 
 __init int amd_pmu_lbr_init(void)
arch/x86/events/intel/ds.c +4 -4
index eb8dd8b8a1e8..2b53f696c3c9 100644
@@ -1236,11 +1236,11 @@ pebs_update_state(bool needed_cb, struct cpu_hw_events *cpuc,
 	struct pmu *pmu = event->pmu;
 
 	/*
-	 * Make sure we get updated with the first PEBS
-	 * event. It will trigger also during removal, but
-	 * that does not hurt:
+	 * Make sure we get updated with the first PEBS event.
+	 * During removal, ->pebs_data_cfg is still valid for
+	 * the last PEBS event. Don't clear it.
 	 */
-	if (cpuc->n_pebs == 1)
+	if ((cpuc->n_pebs == 1) && add)
 		cpuc->pebs_data_cfg = PEBS_UPDATE_DS_SW;
 
 	if (needed_cb != pebs_needs_sched_cb(cpuc)) {
arch/x86/include/asm/asm-prototypes.h +1 -0
index b1a98fa38828..0e82074517f6 100644
@@ -13,6 +13,7 @@
 #include <asm/preempt.h>
 #include <asm/asm.h>
 #include <asm/gsseg.h>
+#include <asm/nospec-branch.h>
 
 #ifndef CONFIG_X86_CMPXCHG64
 extern void cmpxchg8b_emu(void);
arch/x86/include/asm/boot.h +1 -0
index b3a7cfb0d99e..c945c893c52e 100644
@@ -81,6 +81,7 @@
 
 #ifndef __ASSEMBLY__
 extern unsigned int output_len;
+extern const unsigned long kernel_text_size;
 extern const unsigned long kernel_total_size;
 
 unsigned long decompress_kernel(unsigned char *outbuf, unsigned long virt_addr,
arch/x86/include/asm/coco.h +2 -0
index 21940ef8d290..de03537a0182 100644
@@ -22,6 +22,7 @@ static inline void cc_set_mask(u64 mask)
 
 u64 cc_mkenc(u64 val);
 u64 cc_mkdec(u64 val);
+void cc_random_init(void);
 #else
 static inline u64 cc_mkenc(u64 val)
 {
@@ -32,6 +33,7 @@ static inline u64 cc_mkdec(u64 val)
 {
 	return val;
 }
+static inline void cc_random_init(void) { }
 #endif
 
 #endif /* _ASM_X86_COCO_H */
arch/x86/include/asm/cpufeature.h +6 -2
index a1273698fc43..686e92d2663e 100644
@@ -33,6 +33,8 @@ enum cpuid_leafs
 	CPUID_7_EDX,
 	CPUID_8000_001F_EAX,
 	CPUID_8000_0021_EAX,
+	CPUID_LNX_5,
+	NR_CPUID_WORDS,
 };
 
 #define X86_CAP_FMT_NUM "%d:%d"
@@ -91,8 +93,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
 	   CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 18, feature_bit) ||	\
 	   CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 19, feature_bit) ||	\
 	   CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 20, feature_bit) ||	\
+	   CHECK_BIT_IN_MASK_WORD(REQUIRED_MASK, 21, feature_bit) ||	\
 	   REQUIRED_MASK_CHECK					  ||	\
-	   BUILD_BUG_ON_ZERO(NCAPINTS != 21))
+	   BUILD_BUG_ON_ZERO(NCAPINTS != 22))
 
 #define DISABLED_MASK_BIT_SET(feature_bit)				\
 	 ( CHECK_BIT_IN_MASK_WORD(DISABLED_MASK,  0, feature_bit) ||	\
@@ -116,8 +119,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
 	   CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 18, feature_bit) ||	\
 	   CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 19, feature_bit) ||	\
 	   CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 20, feature_bit) ||	\
+	   CHECK_BIT_IN_MASK_WORD(DISABLED_MASK, 21, feature_bit) ||	\
 	   DISABLED_MASK_CHECK					  ||	\
-	   BUILD_BUG_ON_ZERO(NCAPINTS != 21))
+	   BUILD_BUG_ON_ZERO(NCAPINTS != 22))
 
 #define cpu_has(c, bit)							\
 	(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 :	\
arch/x86/include/asm/cpufeatures.h +19 -2
index bd33f6366c80..8c1593dd2c31 100644
@@ -13,7 +13,7 @@
 /*
  * Defines x86 CPU feature bits
  */
-#define NCAPINTS			21	   /* N 32-bit words worth of info */
+#define NCAPINTS			22	   /* N 32-bit words worth of info */
 #define NBUGINTS			2	   /* N 32-bit bug flags */
 
 /*
@@ -218,7 +218,7 @@
 #define X86_FEATURE_IBRS		( 7*32+25) /* Indirect Branch Restricted Speculation */
 #define X86_FEATURE_IBPB		( 7*32+26) /* Indirect Branch Prediction Barrier */
 #define X86_FEATURE_STIBP		( 7*32+27) /* Single Thread Indirect Branch Predictors */
-#define X86_FEATURE_ZEN			(7*32+28) /* "" CPU based on Zen microarchitecture */
+#define X86_FEATURE_ZEN			( 7*32+28) /* "" Generic flag for all Zen and newer */
 #define X86_FEATURE_L1TF_PTEINV		( 7*32+29) /* "" L1TF workaround PTE inversion */
 #define X86_FEATURE_IBRS_ENHANCED	( 7*32+30) /* Enhanced IBRS */
 #define X86_FEATURE_MSR_IA32_FEAT_CTL	( 7*32+31) /* "" MSR IA32_FEAT_CTL configured */
@@ -312,6 +312,10 @@
 #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 */
+#define X86_FEATURE_ZEN2		(11*32+28) /* "" CPU based on Zen2 microarchitecture */
+#define X86_FEATURE_ZEN3		(11*32+29) /* "" CPU based on Zen3 microarchitecture */
+#define X86_FEATURE_ZEN4		(11*32+30) /* "" CPU based on Zen4 microarchitecture */
+#define X86_FEATURE_ZEN1		(11*32+31) /* "" CPU based on Zen1 microarchitecture */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */
 #define X86_FEATURE_AVX_VNNI		(12*32+ 4) /* AVX VNNI instructions */
@@ -452,6 +456,18 @@
 #define X86_FEATURE_IBPB_BRTYPE		(20*32+28) /* "" MSR_PRED_CMD[IBPB] flushes all branch type predictions */
 #define X86_FEATURE_SRSO_NO		(20*32+29) /* "" CPU is not affected by SRSO */
 
+/*
+ * Extended auxiliary flags: Linux defined - for features scattered in various
+ * CPUID levels like 0x80000022, etc and Linux defined features.
+ *
+ * Reuse free bits when adding new feature flags!
+ */
+#define X86_FEATURE_AMD_LBR_PMC_FREEZE	(21*32+ 0) /* AMD LBR and PMC Freeze */
+#define X86_FEATURE_CLEAR_BHB_LOOP	(21*32+ 1) /* "" Clear branch history at syscall entry using SW loop */
+#define X86_FEATURE_BHI_CTRL		(21*32+ 2) /* "" BHI_DIS_S HW control available */
+#define X86_FEATURE_CLEAR_BHB_HW	(21*32+ 3) /* "" BHI_DIS_S HW control enabled */
+#define X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT (21*32+ 4) /* "" Clear branch history at vmexit using SW loop */
+
 /*
  * BUG word(s)
  */
@@ -499,4 +515,5 @@
 #define X86_BUG_SRSO			X86_BUG(1*32 + 0) /* AMD SRSO bug */
 #define X86_BUG_DIV0			X86_BUG(1*32 + 1) /* AMD DIV0 speculation bug */
 #define X86_BUG_RFDS			X86_BUG(1*32 + 2) /* CPU is vulnerable to Register File Data Sampling */
+#define X86_BUG_BHI			X86_BUG(1*32 + 3) /* CPU is affected by Branch History Injection */
 #endif /* _ASM_X86_CPUFEATURES_H */
arch/x86/include/asm/disabled-features.h +2 -1
index 702d93fdd10e..88fcf08458d9 100644
@@ -143,6 +143,7 @@
 #define DISABLED_MASK18	(DISABLE_IBT)
 #define DISABLED_MASK19	0
 #define DISABLED_MASK20	0
-#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21)
+#define DISABLED_MASK21	0
+#define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 22)
 
 #endif /* _ASM_X86_DISABLED_FEATURES_H */
arch/x86/include/asm/init.h +2 -0
index 5f1d3c421f68..cc9ccf61b6bd 100644
@@ -2,6 +2,8 @@
 #ifndef _ASM_X86_INIT_H
 #define _ASM_X86_INIT_H
 
+#define __head	__section(".head.text")
+
 struct x86_mapping_info {
 	void *(*alloc_pgt_page)(void *); /* allocate buf for page table */
 	void *context;			 /* context for alloc_pgt_page */
arch/x86/include/asm/mem_encrypt.h +4 -4
index f4f526984629..76081a34fc23 100644
@@ -46,8 +46,8 @@ void __init sme_unmap_bootdata(char *real_mode_data);
 void __init sme_early_init(void);
 void __init sev_setup_arch(void);
 
-void __init sme_encrypt_kernel(struct boot_params *bp);
-void __init sme_enable(struct boot_params *bp);
+void sme_encrypt_kernel(struct boot_params *bp);
+void sme_enable(struct boot_params *bp);
 
 int __init early_set_memory_decrypted(unsigned long vaddr, unsigned long size);
 int __init early_set_memory_encrypted(unsigned long vaddr, unsigned long size);
@@ -81,8 +81,8 @@ static inline void __init sme_unmap_bootdata(char *real_mode_data) { }
 static inline void __init sme_early_init(void) { }
 static inline void __init sev_setup_arch(void) { }
 
-static inline void __init sme_encrypt_kernel(struct boot_params *bp) { }
-static inline void __init sme_enable(struct boot_params *bp) { }
+static inline void sme_encrypt_kernel(struct boot_params *bp) { }
+static inline void sme_enable(struct boot_params *bp) { }
 
 static inline void sev_es_init_vc_handling(void) { }
 
arch/x86/include/asm/msr-index.h +8 -1
index c75cc5610be3..621bac6b7401 100644
@@ -50,10 +50,13 @@
 #define SPEC_CTRL_SSBD			BIT(SPEC_CTRL_SSBD_SHIFT)	/* Speculative Store Bypass Disable */
 #define SPEC_CTRL_RRSBA_DIS_S_SHIFT	6	   /* Disable RRSBA behavior */
 #define SPEC_CTRL_RRSBA_DIS_S		BIT(SPEC_CTRL_RRSBA_DIS_S_SHIFT)
+#define SPEC_CTRL_BHI_DIS_S_SHIFT	10	   /* Disable Branch History Injection behavior */
+#define SPEC_CTRL_BHI_DIS_S		BIT(SPEC_CTRL_BHI_DIS_S_SHIFT)
 
 /* A mask for bits which the kernel toggles when controlling mitigations */
 #define SPEC_CTRL_MITIGATIONS_MASK	(SPEC_CTRL_IBRS | SPEC_CTRL_STIBP | SPEC_CTRL_SSBD \
-							| SPEC_CTRL_RRSBA_DIS_S)
+							| SPEC_CTRL_RRSBA_DIS_S \
+							| SPEC_CTRL_BHI_DIS_S)
 
 #define MSR_IA32_PRED_CMD		0x00000049 /* Prediction Command */
 #define PRED_CMD_IBPB			BIT(0)	   /* Indirect Branch Prediction Barrier */
@@ -152,6 +155,10 @@
 						 * are restricted to targets in
 						 * kernel.
 						 */
+#define ARCH_CAP_BHI_NO			BIT(20)	/*
+						 * CPU is not affected by Branch
+						 * History Injection.
+						 */
 #define ARCH_CAP_PBRSB_NO		BIT(24)	/*
 						 * Not susceptible to Post-Barrier
 						 * Return Stack Buffer Predictions.
arch/x86/include/asm/nospec-branch.h +58 -30

125 lines not on this page · raw message

arch/x86/include/asm/required-features.h +2 -1
index 7ba1726b71c7..e9187ddd3d1f 100644
@@ -99,6 +99,7 @@
 #define REQUIRED_MASK18	0
 #define REQUIRED_MASK19	0
 #define REQUIRED_MASK20	0
-#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 21)
+#define REQUIRED_MASK21	0
+#define REQUIRED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 22)
 
 #endif /* _ASM_X86_REQUIRED_FEATURES_H */
arch/x86/include/asm/sev.h +5 -5
index 36f905797075..75a5388d4068 100644
@@ -199,15 +199,15 @@ static inline int pvalidate(unsigned long vaddr, bool rmp_psize, bool validate)
 struct snp_guest_request_ioctl;
 
 void setup_ghcb(void);
-void __init early_snp_set_memory_private(unsigned long vaddr, unsigned long paddr,
-					 unsigned long npages);
-void __init early_snp_set_memory_shared(unsigned long vaddr, unsigned long paddr,
-					unsigned long npages);
+void early_snp_set_memory_private(unsigned long vaddr, unsigned long paddr,
+				  unsigned long npages);
+void early_snp_set_memory_shared(unsigned long vaddr, unsigned long paddr,
+				 unsigned long npages);
 void snp_set_memory_shared(unsigned long vaddr, unsigned long npages);
 void snp_set_memory_private(unsigned long vaddr, unsigned long npages);
 void snp_set_wakeup_secondary_cpu(void);
 bool snp_init(struct boot_params *bp);
-void __init __noreturn snp_abort(void);
+void __noreturn snp_abort(void);
 void snp_dmi_setup(void);
 int snp_issue_guest_request(u64 exit_code, struct snp_req_data *input, struct snp_guest_request_ioctl *rio);
 void snp_accept_memory(phys_addr_t start, phys_addr_t end);
arch/x86/include/asm/syscall.h +5 -6
index 4fb36fba4b5a..03bb950eba69 100644
@@ -16,19 +16,17 @@
 #include <asm/thread_info.h>	/* for TS_COMPAT */
 #include <asm/unistd.h>
 
+/* This is used purely for kernel/trace/trace_syscalls.c */
 typedef long (*sys_call_ptr_t)(const struct pt_regs *);
 extern const sys_call_ptr_t sys_call_table[];
 
-#if defined(CONFIG_X86_32)
-#define ia32_sys_call_table sys_call_table
-#else
 /*
  * These may not exist, but still put the prototypes in so we
  * can use IS_ENABLED().
  */
-extern const sys_call_ptr_t ia32_sys_call_table[];
-extern const sys_call_ptr_t x32_sys_call_table[];
-#endif
+extern long ia32_sys_call(const struct pt_regs *, unsigned int nr);
+extern long x32_sys_call(const struct pt_regs *, unsigned int nr);
+extern long x64_sys_call(const struct pt_regs *, unsigned int nr);
 
 /*
  * Only the low 32 bits of orig_ax are meaningful, so we return int.
@@ -127,6 +125,7 @@ static inline int syscall_get_arch(struct task_struct *task)
 }
 
 void do_syscall_64(struct pt_regs *regs, int nr);
+void do_int80_emulation(struct pt_regs *regs);
 
 #endif	/* CONFIG_X86_32 */
 
arch/x86/include/uapi/asm/bootparam.h +1 -0
index 01d19fc22346..eeea058cf602 100644
@@ -38,6 +38,7 @@
 #define XLF_EFI_KEXEC			(1<<4)
 #define XLF_5LEVEL			(1<<5)
 #define XLF_5LEVEL_ENABLED		(1<<6)
+#define XLF_MEM_ENCRYPTION		(1<<7)
 
 #ifndef __ASSEMBLY__
 
arch/x86/kernel/cpu/amd.c +91 -38

203 lines not on this page · raw message

arch/x86/kernel/cpu/bugs.c +110 -16

189 lines not on this page · raw message

arch/x86/kernel/cpu/common.c +16 -8
index 73cfac3fc9c4..fc4c9a7fb1e3 100644
@@ -1165,6 +1165,7 @@ static void identify_cpu_without_cpuid(struct cpuinfo_x86 *c)
 #define NO_SPECTRE_V2		BIT(8)
 #define NO_MMIO			BIT(9)
 #define NO_EIBRS_PBRSB		BIT(10)
+#define NO_BHI			BIT(11)
 
 #define VULNWL(vendor, family, model, whitelist)	\
 	X86_MATCH_VENDOR_FAM_MODEL(vendor, family, model, whitelist)
@@ -1227,18 +1228,18 @@ static const __initconst struct x86_cpu_id cpu_vuln_whitelist[] = {
 	VULNWL_INTEL(ATOM_TREMONT_D,		NO_ITLB_MULTIHIT | NO_EIBRS_PBRSB),
 
 	/* AMD Family 0xf - 0x12 */
-	VULNWL_AMD(0x0f,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
-	VULNWL_AMD(0x10,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
-	VULNWL_AMD(0x11,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
-	VULNWL_AMD(0x12,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
+	VULNWL_AMD(0x0f,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_BHI),
+	VULNWL_AMD(0x10,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_BHI),
+	VULNWL_AMD(0x11,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_BHI),
+	VULNWL_AMD(0x12,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_BHI),
 
 	/* FAMILY_ANY must be last, otherwise 0x0f - 0x12 matches won't work */
-	VULNWL_AMD(X86_FAMILY_ANY,	NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_EIBRS_PBRSB),
-	VULNWL_HYGON(X86_FAMILY_ANY,	NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_EIBRS_PBRSB),
+	VULNWL_AMD(X86_FAMILY_ANY,	NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_EIBRS_PBRSB | NO_BHI),
+	VULNWL_HYGON(X86_FAMILY_ANY,	NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_EIBRS_PBRSB | NO_BHI),
 
 	/* Zhaoxin Family 7 */
-	VULNWL(CENTAUR,	7, X86_MODEL_ANY,	NO_SPECTRE_V2 | NO_SWAPGS | NO_MMIO),
-	VULNWL(ZHAOXIN,	7, X86_MODEL_ANY,	NO_SPECTRE_V2 | NO_SWAPGS | NO_MMIO),
+	VULNWL(CENTAUR,	7, X86_MODEL_ANY,	NO_SPECTRE_V2 | NO_SWAPGS | NO_MMIO | NO_BHI),
+	VULNWL(ZHAOXIN,	7, X86_MODEL_ANY,	NO_SPECTRE_V2 | NO_SWAPGS | NO_MMIO | NO_BHI),
 	{}
 };
 
@@ -1475,6 +1476,13 @@ static void __init cpu_set_bug_bits(struct cpuinfo_x86 *c)
 	if (vulnerable_to_rfds(ia32_cap))
 		setup_force_cpu_bug(X86_BUG_RFDS);
 
+	/* When virtualized, eIBRS could be hidden, assume vulnerable */
+	if (!(ia32_cap & ARCH_CAP_BHI_NO) &&
+	    !cpu_matches(cpu_vuln_whitelist, NO_BHI) &&
+	    (boot_cpu_has(X86_FEATURE_IBRS_ENHANCED) ||
+	     boot_cpu_has(X86_FEATURE_HYPERVISOR)))
+		setup_force_cpu_bug(X86_BUG_BHI);
+
 	if (cpu_matches(cpu_vuln_whitelist, NO_MELTDOWN))
 		return;
 
arch/x86/kernel/cpu/mce/core.c +3 -1
index 20ab11aec60b..e103c227acd3 100644
@@ -2468,12 +2468,14 @@ static ssize_t set_bank(struct device *s, struct device_attribute *attr,
 		return -EINVAL;
 
 	b = &per_cpu(mce_banks_array, s->id)[bank];
-
 	if (!b->init)
 		return -ENODEV;
 
 	b->ctl = new;
+
+	mutex_lock(&mce_sysfs_mutex);
 	mce_restart();
+	mutex_unlock(&mce_sysfs_mutex);
 
 	return size;
 }
arch/x86/kernel/cpu/scattered.c +2 -0
index 0dad49a09b7a..af5aa2c754c2 100644
@@ -28,6 +28,7 @@ static const struct cpuid_bit cpuid_bits[] = {
 	{ X86_FEATURE_EPB,		CPUID_ECX,  3, 0x00000006, 0 },
 	{ X86_FEATURE_INTEL_PPIN,	CPUID_EBX,  0, 0x00000007, 1 },
 	{ X86_FEATURE_RRSBA_CTRL,	CPUID_EDX,  2, 0x00000007, 2 },
+	{ X86_FEATURE_BHI_CTRL,		CPUID_EDX,  4, 0x00000007, 2 },
 	{ X86_FEATURE_CQM_LLC,		CPUID_EDX,  1, 0x0000000f, 0 },
 	{ X86_FEATURE_CQM_OCCUP_LLC,	CPUID_EDX,  0, 0x0000000f, 1 },
 	{ X86_FEATURE_CQM_MBM_TOTAL,	CPUID_EDX,  1, 0x0000000f, 1 },
@@ -49,6 +50,7 @@ static const struct cpuid_bit cpuid_bits[] = {
 	{ X86_FEATURE_BMEC,		CPUID_EBX,  3, 0x80000020, 0 },
 	{ X86_FEATURE_PERFMON_V2,	CPUID_EAX,  0, 0x80000022, 0 },
 	{ X86_FEATURE_AMD_LBR_V2,	CPUID_EAX,  1, 0x80000022, 0 },
+	{ X86_FEATURE_AMD_LBR_PMC_FREEZE,	CPUID_EAX,  2, 0x80000022, 0 },
 	{ 0, 0, 0, 0, 0 }
 };
 
arch/x86/kernel/head64.c +1 -2
index bbc21798df10..c58213bce294 100644
@@ -41,6 +41,7 @@
 #include <asm/trapnr.h>
 #include <asm/sev.h>
 #include <asm/tdx.h>
+#include <asm/init.h>
 
 /*
  * Manage page tables very early on.
@@ -84,8 +85,6 @@ static struct desc_ptr startup_gdt_descr = {
 	.address = 0,
 };
 
-#define __head	__section(".head.text")
-
 static void __head *fixup_pointer(void *ptr, unsigned long physaddr)
 {
 	return ptr - (void *)_text + (void *)physaddr;
arch/x86/kernel/mpparse.c +5 -5
index 15c700d35870..b223922248e9 100644
@@ -196,12 +196,12 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
 	if (!smp_check_mpc(mpc, oem, str))
 		return 0;
 
-	if (early) {
-		/* Initialize the lapic mapping */
-		if (!acpi_lapic)
-			register_lapic_address(mpc->lapic);
+	/* Initialize the lapic mapping */
+	if (!acpi_lapic)
+		register_lapic_address(mpc->lapic);
+
+	if (early)
 		return 1;
-	}
 
 	/* Now process the configuration blocks. */
 	while (count < mpc->length) {
arch/x86/kernel/setup.c +2 -0
index e63a8d05ce29..eb129277dcdd 100644
@@ -35,6 +35,7 @@
 #include <asm/bios_ebda.h>
 #include <asm/bugs.h>
 #include <asm/cacheinfo.h>
+#include <asm/coco.h>
 #include <asm/cpu.h>
 #include <asm/efi.h>
 #include <asm/gart.h>
@@ -1120,6 +1121,7 @@ void __init setup_arch(char **cmdline_p)
 	 * memory size.
 	 */
 	sev_setup_arch();
+	cc_random_init();
 
 	efi_fake_memmap();
 	efi_find_mirror();
arch/x86/kernel/sev-shared.c +10 -13
index 466fe09898cc..acbec4de3ec3 100644
@@ -89,7 +89,8 @@ static bool __init sev_es_check_cpu_features(void)
 	return true;
 }
 
-static void __noreturn sev_es_terminate(unsigned int set, unsigned int reason)
+static void __head __noreturn
+sev_es_terminate(unsigned int set, unsigned int reason)
 {
 	u64 val = GHCB_MSR_TERM_REQ;
 
@@ -326,13 +327,7 @@ static int sev_cpuid_hv(struct ghcb *ghcb, struct es_em_ctxt *ctxt, struct cpuid
  */
 static const struct snp_cpuid_table *snp_cpuid_get_table(void)
 {
-	void *ptr;
-
-	asm ("lea cpuid_table_copy(%%rip), %0"
-	     : "=r" (ptr)
-	     : "p" (&cpuid_table_copy));
-
-	return ptr;
+	return &RIP_REL_REF(cpuid_table_copy);
 }
 
 /*
@@ -391,7 +386,7 @@ static u32 snp_cpuid_calc_xsave_size(u64 xfeatures_en, bool compacted)
 	return xsave_size;
 }
 
-static bool
+static bool __head
 snp_cpuid_get_validated_func(struct cpuid_leaf *leaf)
 {
 	const struct snp_cpuid_table *cpuid_table = snp_cpuid_get_table();
@@ -528,7 +523,8 @@ static int snp_cpuid_postprocess(struct ghcb *ghcb, struct es_em_ctxt *ctxt,
  * Returns -EOPNOTSUPP if feature not enabled. Any other non-zero return value
  * should be treated as fatal by caller.
  */
-static int snp_cpuid(struct ghcb *ghcb, struct es_em_ctxt *ctxt, struct cpuid_leaf *leaf)
+static int __head
+snp_cpuid(struct ghcb *ghcb, struct es_em_ctxt *ctxt, struct cpuid_leaf *leaf)
 {
 	const struct snp_cpuid_table *cpuid_table = snp_cpuid_get_table();
 
@@ -570,7 +566,7 @@ static int snp_cpuid(struct ghcb *ghcb, struct es_em_ctxt *ctxt, struct cpuid_le
  * page yet, so it only supports the MSR based communication with the
  * hypervisor and only the CPUID exit-code.
  */
-void __init do_vc_no_ghcb(struct pt_regs *regs, unsigned long exit_code)
+void __head do_vc_no_ghcb(struct pt_regs *regs, unsigned long exit_code)
 {
 	unsigned int subfn = lower_bits(regs->cx, 32);
 	unsigned int fn = lower_bits(regs->ax, 32);
@@ -1016,7 +1012,8 @@ struct cc_setup_data {
  * Search for a Confidential Computing blob passed in as a setup_data entry
  * via the Linux Boot Protocol.
  */
-static struct cc_blob_sev_info *find_cc_blob_setup_data(struct boot_params *bp)
+static __head
+struct cc_blob_sev_info *find_cc_blob_setup_data(struct boot_params *bp)
 {
 	struct cc_setup_data *sd = NULL;
 	struct setup_data *hdr;
@@ -1043,7 +1040,7 @@ static struct cc_blob_sev_info *find_cc_blob_setup_data(struct boot_params *bp)
  * mapping needs to be updated in sync with all the changes to virtual memory
  * layout and related mapping facilities throughout the boot process.
  */
-static void __init setup_cpuid_table(const struct cc_blob_sev_info *cc_info)
+static void __head setup_cpuid_table(const struct cc_blob_sev_info *cc_info)
 {
 	const struct snp_cpuid_table *cpuid_table_fw, *cpuid_table;
 	int i;
arch/x86/kernel/sev.c +8 -6
index a8db68a063c4..9905dc0e0b09 100644
@@ -26,6 +26,7 @@
 #include <linux/dmi.h>
 #include <uapi/linux/sev-guest.h>
 
+#include <asm/init.h>
 #include <asm/cpu_entry_area.h>
 #include <asm/stacktrace.h>
 #include <asm/sev.h>
@@ -683,8 +684,9 @@ static u64 __init get_jump_table_addr(void)
 	return ret;
 }
 
-static void early_set_pages_state(unsigned long vaddr, unsigned long paddr,
-				  unsigned long npages, enum psc_op op)
+static void __head
+early_set_pages_state(unsigned long vaddr, unsigned long paddr,
+		      unsigned long npages, enum psc_op op)
 {
 	unsigned long paddr_end;
 	u64 val;
@@ -740,7 +742,7 @@ static void early_set_pages_state(unsigned long vaddr, unsigned long paddr,
 	sev_es_terminate(SEV_TERM_SET_LINUX, GHCB_TERM_PSC);
 }
 
-void __init early_snp_set_memory_private(unsigned long vaddr, unsigned long paddr,
+void __head early_snp_set_memory_private(unsigned long vaddr, unsigned long paddr,
 					 unsigned long npages)
 {
 	/*
@@ -2045,7 +2047,7 @@ bool __init handle_vc_boot_ghcb(struct pt_regs *regs)
  *
  * Scan for the blob in that order.
  */
-static __init struct cc_blob_sev_info *find_cc_blob(struct boot_params *bp)
+static __head struct cc_blob_sev_info *find_cc_blob(struct boot_params *bp)
 {
 	struct cc_blob_sev_info *cc_info;
 
@@ -2071,7 +2073,7 @@ static __init struct cc_blob_sev_info *find_cc_blob(struct boot_params *bp)
 	return cc_info;
 }
 
-bool __init snp_init(struct boot_params *bp)
+bool __head snp_init(struct boot_params *bp)
 {
 	struct cc_blob_sev_info *cc_info;
 
@@ -2093,7 +2095,7 @@ bool __init snp_init(struct boot_params *bp)
 	return true;
 }
 
-void __init __noreturn snp_abort(void)
+void __head __noreturn snp_abort(void)
 {
 	sev_es_terminate(SEV_TERM_SET_GEN, GHCB_SNP_UNSUPPORTED);
 }
arch/x86/kernel/vmlinux.lds.S +2 -5
index f15fb71f280e..54a5596adaa6 100644
@@ -139,10 +139,7 @@ SECTIONS
 		STATIC_CALL_TEXT
 
 		ALIGN_ENTRY_TEXT_BEGIN
-#ifdef CONFIG_CPU_SRSO
 		*(.text..__x86.rethunk_untrain)
-#endif
-
 		ENTRY_TEXT
 
 #ifdef CONFIG_CPU_SRSO
@@ -520,12 +517,12 @@ INIT_PER_CPU(irq_stack_backing_store);
            "fixed_percpu_data is not at start of per-cpu area");
 #endif
 
-#ifdef CONFIG_RETHUNK
+#ifdef CONFIG_CPU_UNRET_ENTRY
 . = ASSERT((retbleed_return_thunk & 0x3f) == 0, "retbleed_return_thunk not cacheline-aligned");
-. = ASSERT((srso_safe_ret & 0x3f) == 0, "srso_safe_ret not cacheline-aligned");
 #endif
 
 #ifdef CONFIG_CPU_SRSO
+. = ASSERT((srso_safe_ret & 0x3f) == 0, "srso_safe_ret not cacheline-aligned");
 /*
  * GNU ld cannot do XOR until 2.41.
  * https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f6f78318fca803c4907fb8d7f6ded8295f1947b1
arch/x86/kvm/mmu/mmu.c +1 -1
index f7901cb4d2fa..11c484d72eab 100644
@@ -3120,7 +3120,7 @@ static int host_pfn_mapping_level(struct kvm *kvm, gfn_t gfn,
 	if (pud_none(pud) || !pud_present(pud))
 		goto out;
 
-	if (pud_large(pud)) {
+	if (pud_leaf(pud)) {
 		level = PG_LEVEL_1G;
 		goto out;
 	}
arch/x86/kvm/reverse_cpuid.h +4 -1
index aadefcaa9561..2f4e155080ba 100644
@@ -52,7 +52,7 @@ enum kvm_only_cpuid_leafs {
 #define X86_FEATURE_IPRED_CTRL		KVM_X86_FEATURE(CPUID_7_2_EDX, 1)
 #define KVM_X86_FEATURE_RRSBA_CTRL	KVM_X86_FEATURE(CPUID_7_2_EDX, 2)
 #define X86_FEATURE_DDPD_U		KVM_X86_FEATURE(CPUID_7_2_EDX, 3)
-#define X86_FEATURE_BHI_CTRL		KVM_X86_FEATURE(CPUID_7_2_EDX, 4)
+#define KVM_X86_FEATURE_BHI_CTRL	KVM_X86_FEATURE(CPUID_7_2_EDX, 4)
 #define X86_FEATURE_MCDT_NO		KVM_X86_FEATURE(CPUID_7_2_EDX, 5)
 
 /* CPUID level 0x80000007 (EDX). */
@@ -102,10 +102,12 @@ static const struct cpuid_reg reverse_cpuid[] = {
  */
 static __always_inline void reverse_cpuid_check(unsigned int x86_leaf)
 {
+	BUILD_BUG_ON(NR_CPUID_WORDS != NCAPINTS);
 	BUILD_BUG_ON(x86_leaf == CPUID_LNX_1);
 	BUILD_BUG_ON(x86_leaf == CPUID_LNX_2);
 	BUILD_BUG_ON(x86_leaf == CPUID_LNX_3);
 	BUILD_BUG_ON(x86_leaf == CPUID_LNX_4);
+	BUILD_BUG_ON(x86_leaf == CPUID_LNX_5);
 	BUILD_BUG_ON(x86_leaf >= ARRAY_SIZE(reverse_cpuid));
 	BUILD_BUG_ON(reverse_cpuid[x86_leaf].function == 0);
 }
@@ -126,6 +128,7 @@ static __always_inline u32 __feature_translate(int x86_feature)
 	KVM_X86_TRANSLATE_FEATURE(CONSTANT_TSC);
 	KVM_X86_TRANSLATE_FEATURE(PERFMON_V2);
 	KVM_X86_TRANSLATE_FEATURE(RRSBA_CTRL);
+	KVM_X86_TRANSLATE_FEATURE(BHI_CTRL);
 	default:
 		return x86_feature;
 	}
arch/x86/kvm/svm/sev.c +28 -17

108 lines not on this page · raw message

arch/x86/kvm/trace.h +5 -5
index 83843379813e..b82e6ed4f024 100644
@@ -732,13 +732,13 @@ TRACE_EVENT(kvm_nested_intr_vmexit,
  * Tracepoint for nested #vmexit because of interrupt pending
  */
 TRACE_EVENT(kvm_invlpga,
-	    TP_PROTO(__u64 rip, int asid, u64 address),
+	    TP_PROTO(__u64 rip, unsigned int asid, u64 address),
 	    TP_ARGS(rip, asid, address),
 
 	TP_STRUCT__entry(
-		__field(	__u64,	rip	)
-		__field(	int,	asid	)
-		__field(	__u64,	address	)
+		__field(	__u64,		rip	)
+		__field(	unsigned int,	asid	)
+		__field(	__u64,		address	)
 	),
 
 	TP_fast_assign(
@@ -747,7 +747,7 @@ TRACE_EVENT(kvm_invlpga,
 		__entry->address	=	address;
 	),
 
-	TP_printk("rip: 0x%016llx asid: %d address: 0x%016llx",
+	TP_printk("rip: 0x%016llx asid: %u address: 0x%016llx",
 		  __entry->rip, __entry->asid, __entry->address)
 );
 
arch/x86/kvm/vmx/vmenter.S +2 -0
index 139960deb736..9522d46567f8 100644
@@ -275,6 +275,8 @@ SYM_INNER_LABEL_ALIGN(vmx_vmexit, SYM_L_GLOBAL)
 
 	call vmx_spec_ctrl_restore_host
 
+	CLEAR_BRANCH_HISTORY_VMEXIT
+
 	/* Put return value in AX */
 	mov %_ASM_BX, %_ASM_AX
 
arch/x86/kvm/x86.c +1 -1
index 4aafd007964f..4ed8a7dc0536 100644
@@ -1621,7 +1621,7 @@ static bool kvm_is_immutable_feature_msr(u32 msr)
 	 ARCH_CAP_PSCHANGE_MC_NO | ARCH_CAP_TSX_CTRL_MSR | ARCH_CAP_TAA_NO | \
 	 ARCH_CAP_SBDR_SSDP_NO | ARCH_CAP_FBSDP_NO | ARCH_CAP_PSDP_NO | \
 	 ARCH_CAP_FB_CLEAR | ARCH_CAP_RRSBA | ARCH_CAP_PBRSB_NO | ARCH_CAP_GDS_NO | \
-	 ARCH_CAP_RFDS_NO | ARCH_CAP_RFDS_CLEAR)
+	 ARCH_CAP_RFDS_NO | ARCH_CAP_RFDS_CLEAR | ARCH_CAP_BHI_NO)
 
 static u64 kvm_get_arch_capabilities(void)
 {
arch/x86/lib/Makefile +0 -13
index ea3a28e7b613..f0dae4fb6d07 100644
@@ -14,19 +14,6 @@ ifdef CONFIG_KCSAN
 CFLAGS_REMOVE_delay.o = $(CC_FLAGS_FTRACE)
 endif
 
-# Early boot use of cmdline; don't instrument it
-ifdef CONFIG_AMD_MEM_ENCRYPT
-KCOV_INSTRUMENT_cmdline.o := n
-KASAN_SANITIZE_cmdline.o  := n
-KCSAN_SANITIZE_cmdline.o  := n
-
-ifdef CONFIG_FUNCTION_TRACER
-CFLAGS_REMOVE_cmdline.o = -pg
-endif
-
-CFLAGS_cmdline.o := -fno-stack-protector -fno-jump-tables
-endif
-
 inat_tables_script = $(srctree)/arch/x86/tools/gen-insn-attr-x86.awk
 inat_tables_maps = $(srctree)/arch/x86/lib/x86-opcode-map.txt
 quiet_cmd_inat_tables = GEN     $@
arch/x86/lib/retpoline.S +92 -73

212 lines not on this page · raw message

arch/x86/mm/fault.c +2 -2
index a9d69ec994b7..e23851796883 100644
@@ -376,7 +376,7 @@ static void dump_pagetable(unsigned long address)
 		goto bad;
 
 	pr_cont("PUD %lx ", pud_val(*pud));
-	if (!pud_present(*pud) || pud_large(*pud))
+	if (!pud_present(*pud) || pud_leaf(*pud))
 		goto out;
 
 	pmd = pmd_offset(pud, address);
@@ -1037,7 +1037,7 @@ spurious_kernel_fault(unsigned long error_code, unsigned long address)
 	if (!pud_present(*pud))
 		return 0;
 
-	if (pud_large(*pud))
+	if (pud_leaf(*pud))
 		return spurious_kernel_fault_check(error_code, (pte_t *) pud);
 
 	pmd = pmd_offset(pud, address);
arch/x86/mm/ident_map.c +5 -18
index f50cc210a981..968d7005f4a7 100644
@@ -26,31 +26,18 @@ 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 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;
-
-		/* 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) {
+		if (info->direct_gbpages) {
 			pud_t pudval;
 
+			if (pud_present(*pud))
+				continue;
+
+			addr &= PUD_MASK;
 			pudval = __pud((addr - info->offset) | info->page_flag);
 			set_pud(pud, pudval);
 			continue;
arch/x86/mm/init_64.c +2 -2
index a190aae8ceaf..19d209b412d7 100644
@@ -617,7 +617,7 @@ phys_pud_init(pud_t *pud_page, unsigned long paddr, unsigned long paddr_end,
 		}
 
 		if (!pud_none(*pud)) {
-			if (!pud_large(*pud)) {
+			if (!pud_leaf(*pud)) {
 				pmd = pmd_offset(pud, 0);
 				paddr_last = phys_pmd_init(pmd, paddr,
 							   paddr_end,
@@ -1163,7 +1163,7 @@ remove_pud_table(pud_t *pud_start, unsigned long addr, unsigned long end,
 		if (!pud_present(*pud))
 			continue;
 
-		if (pud_large(*pud) &&
+		if (pud_leaf(*pud) &&
 		    IS_ALIGNED(addr, PUD_SIZE) &&
 		    IS_ALIGNED(next, PUD_SIZE)) {
 			spin_lock(&init_mm.page_table_lock);
arch/x86/mm/kasan_init_64.c +1 -1
index 0302491d799d..fcf508c52bdc 100644
@@ -115,7 +115,7 @@ static void __init kasan_populate_p4d(p4d_t *p4d, unsigned long addr,
 	pud = pud_offset(p4d, addr);
 	do {
 		next = pud_addr_end(addr, end);
-		if (!pud_large(*pud))
+		if (!pud_leaf(*pud))
 			kasan_populate_pud(pud, addr, next, nid);
 	} while (pud++, addr = next, addr != end);
 }
arch/x86/mm/mem_encrypt_identity.c +21 -55

197 lines not on this page · raw message

arch/x86/mm/pat/memtype.c +35 -14

79 lines not on this page · raw message

arch/x86/mm/pat/set_memory.c +3 -3
index bda9f129835e..f3c4c756fe1e 100644
@@ -684,7 +684,7 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
 		return NULL;
 
 	*level = PG_LEVEL_1G;
-	if (pud_large(*pud) || !pud_present(*pud))
+	if (pud_leaf(*pud) || !pud_present(*pud))
 		return (pte_t *)pud;
 
 	pmd = pmd_offset(pud, address);
@@ -743,7 +743,7 @@ pmd_t *lookup_pmd_address(unsigned long address)
 		return NULL;
 
 	pud = pud_offset(p4d, address);
-	if (pud_none(*pud) || pud_large(*pud) || !pud_present(*pud))
+	if (pud_none(*pud) || pud_leaf(*pud) || !pud_present(*pud))
 		return NULL;
 
 	return pmd_offset(pud, address);
@@ -1274,7 +1274,7 @@ static void unmap_pud_range(p4d_t *p4d, unsigned long start, unsigned long end)
 	 */
 	while (end - start >= PUD_SIZE) {
 
-		if (pud_large(*pud))
+		if (pud_leaf(*pud))
 			pud_clear(pud);
 		else
 			unmap_pmd_range(pud, start, start + PUD_SIZE);
arch/x86/mm/pgtable.c +1 -1
index 9deadf517f14..8e1ef5345b7a 100644
@@ -774,7 +774,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
  */
 int pud_clear_huge(pud_t *pud)
 {
-	if (pud_large(*pud)) {
+	if (pud_leaf(*pud)) {
 		pud_clear(pud);
 		return 1;
 	}
arch/x86/mm/pti.c +1 -1
index 78414c6d1b5e..51b6b78e6b17 100644
@@ -217,7 +217,7 @@ static pmd_t *pti_user_pagetable_walk_pmd(unsigned long address)
 
 	pud = pud_offset(p4d, address);
 	/* The user page tables do not use large mappings: */
-	if (pud_large(*pud)) {
+	if (pud_leaf(*pud)) {
 		WARN_ON(1);
 		return NULL;
 	}
arch/x86/net/bpf_jit_comp.c +1 -1
index 955133077c10..a6a4d3ca8ddc 100644
@@ -344,7 +344,7 @@ static int emit_call(u8 **pprog, void *func, void *ip)
 static int emit_rsb_call(u8 **pprog, void *func, void *ip)
 {
 	OPTIMIZER_HIDE_VAR(func);
-	x86_call_depth_emit_accounting(pprog, func);
+	ip += x86_call_depth_emit_accounting(pprog, func);
 	return emit_patch(pprog, func, ip, 0xE8);
 }
 
arch/x86/power/hibernate.c +1 -1
index 6f955eb1e163..d8af46e67750 100644
@@ -170,7 +170,7 @@ int relocate_restore_code(void)
 		goto out;
 	}
 	pud = pud_offset(p4d, relocated_restore_code);
-	if (pud_large(*pud)) {
+	if (pud_leaf(*pud)) {
 		set_pud(pud, __pud(pud_val(*pud) & ~_PAGE_NX));
 		goto out;
 	}
arch/x86/xen/mmu_pv.c +2 -2
index b6830554ff69..9d4a9311e819 100644
@@ -1082,7 +1082,7 @@ static void __init xen_cleanmfnmap_pud(pud_t *pud, bool unpin)
 	pmd_t *pmd_tbl;
 	int i;
 
-	if (pud_large(*pud)) {
+	if (pud_leaf(*pud)) {
 		pa = pud_val(*pud) & PHYSICAL_PAGE_MASK;
 		xen_free_ro_pages(pa, PUD_SIZE);
 		return;
@@ -1863,7 +1863,7 @@ static phys_addr_t __init xen_early_virt_to_phys(unsigned long vaddr)
 	if (!pud_present(pud))
 		return 0;
 	pa = pud_val(pud) & PTE_PFN_MASK;
-	if (pud_large(pud))
+	if (pud_leaf(pud))
 		return pa + (vaddr & ~PUD_MASK);
 
 	pmd = native_make_pmd(xen_read_phys_ulong(pa + pmd_index(vaddr) *
drivers/acpi/acpica/dbnames.c +6 -2
index b91155ea9c34..c9131259f717 100644
@@ -550,8 +550,12 @@ acpi_db_walk_for_fields(acpi_handle obj_handle,
 	ACPI_FREE(buffer.pointer);
 
 	buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER;
-	acpi_evaluate_object(obj_handle, NULL, NULL, &buffer);
-
+	status = acpi_evaluate_object(obj_handle, NULL, NULL, &buffer);
+	if (ACPI_FAILURE(status)) {
+		acpi_os_printf("Could Not evaluate object %p\n",
+			       obj_handle);
+		return (AE_OK);
+	}
 	/*
 	 * Since this is a field unit, surround the output in braces
 	 */
drivers/ata/sata_mv.c +31 -32

87 lines not on this page · raw message

drivers/ata/sata_sx4.c +2 -4
index b51d7a9d0d90..a482741eb181 100644
@@ -957,8 +957,7 @@ static void pdc20621_get_from_dimm(struct ata_host *host, void *psource,
 
 	offset -= (idx * window_size);
 	idx++;
-	dist = ((long) (window_size - (offset + size))) >= 0 ? size :
-		(long) (window_size - offset);
+	dist = min(size, window_size - offset);
 	memcpy_fromio(psource, dimm_mmio + offset / 4, dist);
 
 	psource += dist;
@@ -1005,8 +1004,7 @@ static void pdc20621_put_to_dimm(struct ata_host *host, void *psource,
 	readl(mmio + PDC_DIMM_WINDOW_CTLR);
 	offset -= (idx * window_size);
 	idx++;
-	dist = ((long)(s32)(window_size - (offset + size))) >= 0 ? size :
-		(long) (window_size - offset);
+	dist = min(size, window_size - offset);
 	memcpy_toio(dimm_mmio + offset / 4, psource, dist);
 	writel(0x01, mmio + PDC_GENERAL_CTLR);
 	readl(mmio + PDC_GENERAL_CTLR);
drivers/base/core.c +23 -3
index 2cc0ab854168..0214288765c8 100644
@@ -44,6 +44,7 @@ static bool fw_devlink_is_permissive(void);
 static void __fw_devlink_link_to_consumers(struct device *dev);
 static bool fw_devlink_drv_reg_done;
 static bool fw_devlink_best_effort;
+static struct workqueue_struct *device_link_wq;
 
 /**
  * __fwnode_link_add - Create a link between two fwnode_handles.
@@ -531,12 +532,26 @@ static void devlink_dev_release(struct device *dev)
 	/*
 	 * It may take a while to complete this work because of the SRCU
 	 * synchronization in device_link_release_fn() and if the consumer or
-	 * supplier devices get deleted when it runs, so put it into the "long"
-	 * workqueue.
+	 * supplier devices get deleted when it runs, so put it into the
+	 * dedicated workqueue.
 	 */
-	queue_work(system_long_wq, &link->rm_work);
+	queue_work(device_link_wq, &link->rm_work);
 }
 
+/**
+ * device_link_wait_removal - Wait for ongoing devlink removal jobs to terminate
+ */
+void device_link_wait_removal(void)
+{
+	/*
+	 * devlink removal jobs are queued in the dedicated work queue.
+	 * To be sure that all removal jobs are terminated, ensure that any
+	 * scheduled work has run to completion.
+	 */
+	flush_workqueue(device_link_wq);
+}
+EXPORT_SYMBOL_GPL(device_link_wait_removal);
+
 static struct class devlink_class = {
 	.name = "devlink",
 	.dev_groups = devlink_groups,
@@ -4090,9 +4105,14 @@ int __init devices_init(void)
 	sysfs_dev_char_kobj = kobject_create_and_add("char", dev_kobj);
 	if (!sysfs_dev_char_kobj)
 		goto char_kobj_err;
+	device_link_wq = alloc_workqueue("device_link_wq", 0, 0);
+	if (!device_link_wq)
+		goto wq_err;
 
 	return 0;
 
+ wq_err:
+	kobject_put(sysfs_dev_char_kobj);
  char_kobj_err:
 	kobject_put(sysfs_dev_block_kobj);
  block_kobj_err:
drivers/base/regmap/regcache-maple.c +3 -3
index 41edd6a430eb..55999a50ccc0 100644
@@ -112,7 +112,7 @@ static int regcache_maple_drop(struct regmap *map, unsigned int min,
 	unsigned long *entry, *lower, *upper;
 	unsigned long lower_index, lower_last;
 	unsigned long upper_index, upper_last;
-	int ret;
+	int ret = 0;
 
 	lower = NULL;
 	upper = NULL;
@@ -145,7 +145,7 @@ static int regcache_maple_drop(struct regmap *map, unsigned int min,
 			upper_index = max + 1;
 			upper_last = mas.last;
 
-			upper = kmemdup(&entry[max + 1],
+			upper = kmemdup(&entry[max - mas.index + 1],
 					((mas.last - max) *
 					 sizeof(unsigned long)),
 					map->alloc_flags);
@@ -244,7 +244,7 @@ static int regcache_maple_sync(struct regmap *map, unsigned int min,
 	unsigned long lmin = min;
 	unsigned long lmax = max;
 	unsigned int r, v, sync_start;
-	int ret;
+	int ret = 0;
 	bool sync_needed = false;
 
 	map->cache_bypass = true;
drivers/bluetooth/btqca.c +6 -2
index 0211f704a358..5277090c6d6d 100644
@@ -758,11 +758,15 @@ EXPORT_SYMBOL_GPL(qca_uart_setup);
 
 int qca_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
 {
+	bdaddr_t bdaddr_swapped;
 	struct sk_buff *skb;
 	int err;
 
-	skb = __hci_cmd_sync_ev(hdev, EDL_WRITE_BD_ADDR_OPCODE, 6, bdaddr,
-				HCI_EV_VENDOR, HCI_INIT_TIMEOUT);
+	baswap(&bdaddr_swapped, bdaddr);
+
+	skb = __hci_cmd_sync_ev(hdev, EDL_WRITE_BD_ADDR_OPCODE, 6,
+				&bdaddr_swapped, HCI_EV_VENDOR,
+				HCI_INIT_TIMEOUT);
 	if (IS_ERR(skb)) {
 		err = PTR_ERR(skb);
 		bt_dev_err(hdev, "QCA Change address cmd failed (%d)", err);
drivers/bluetooth/hci_qca.c +9 -10
index f2d4985e036e..8861b8017fbd 100644
@@ -7,7 +7,6 @@
  *
  *  Copyright (C) 2007 Texas Instruments, Inc.
  *  Copyright (c) 2010, 2012, 2018 The Linux Foundation. All rights reserved.
- *  Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
[… more lines in the raw message]

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

drivers/dma-buf/st-dma-fence-chain.c +3 -3
index c0979c8049b5..661de4add4c7 100644

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

drivers/firmware/efi/libstub/efi-stub-helper.c +8 -0
index bfa30625f5d0..3dc2f9aaf08d 100644

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

drivers/firmware/efi/libstub/efistub.h +1 -1
index c04b82ea40f2..fc18fd649ed7 100644

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

drivers/firmware/efi/libstub/x86-stub.c +13 -1
index 8307950fe3ce..e4ae3db727ef 100644

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

drivers/gpio/gpiolib-cdev.c +50 -8

58 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu.h +1 -0
index 85efd686e538..d59e8536192c 100644

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

drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +38 -5

43 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +7 -3
index 3204c3a42f2a..f9bc38d20ce3 100644

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

drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c +2 -1
index 251dd800a2a6..7b5c1498941d 100644

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

drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c +5 -6
index 1e3803739ae6..12af2859002f 100644

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

drivers/gpu/drm/amd/include/amd_shared.h +1 -0
index abe829bbd54a..a9880fc53195 100644

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

drivers/gpu/drm/drm_prime.c +6 -1
index 7352bde299d5..03bd3c7bd0dc 100644

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

drivers/gpu/drm/i915/Makefile +1 -0
index 79f65eff6bb2..23400313d8a6 100644

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

drivers/gpu/drm/i915/display/intel_cursor.c +3 -3
index b342fad180ca..61df6cd3f377 100644

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

drivers/gpu/drm/i915/display/intel_display_types.h +1 -0
index 7fc92b1474cc..8b0dc2b75da4 100644

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

drivers/gpu/drm/i915/display/intel_fb_pin.c +10 -0
index fffd568070d4..a131656757f2 100644

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

drivers/gpu/drm/i915/display/skl_universal_plane.c +3 -2
index ffc15d278a39..d557ecd4e1eb 100644

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

drivers/gpu/drm/i915/gem/i915_gem_create.c +2 -2
index d24c0ce8805c..19156ba4b9ef 100644

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

drivers/gpu/drm/i915/gt/gen8_engine_cs.c +5 -5
index 7ad36198aab2..cddf8c16e9a7 100644

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

drivers/gpu/drm/i915/gt/intel_engine_cs.c +18 -3
index e85d70a62123..765387639dab 100644

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

drivers/gpu/drm/i915/gt/intel_engine_pm.c +1 -1
index a95615b345cd..5a3a5b29d150 100644

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

drivers/gpu/drm/i915/gt/intel_execlists_submission.c +1 -3
index 5a720e252312..42e09f158920 100644

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

drivers/gpu/drm/i915/gt/intel_gt.h +31 -0
index 6c34547b58b5..6e63b46682f7 100644

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

drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.c new file +39 -0
new file mode 100644
index 000000000000..044219c5960a

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

drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.h new file +13 -0
new file mode 100644
index 000000000000..9e5549caeb26

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

drivers/gpu/drm/i915/gt/intel_gt_mcr.c +3 -4
index 2c0f1f3e28ff..c6dec485aefb 100644

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

drivers/gpu/drm/i915/gt/intel_gt_regs.h +6 -0
index 2cdfb2f713d0..64acab146b52 100644

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

drivers/gpu/drm/i915/gt/intel_lrc.c +4 -34
index c378cc7c953c..b99efa348ad1 100644

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

drivers/gpu/drm/i915/gt/intel_mocs.c +3 -20
index 2c014407225c..07269ff3be13 100644

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

drivers/gpu/drm/i915/gt/intel_rc6.c +2 -4
index ccdc1afbf11b..9e113e947326 100644

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

drivers/gpu/drm/i915/gt/intel_reset.c +19 -1
index 5fa57a34cf4b..13fb8e5042c5 100644

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

drivers/gpu/drm/i915/gt/intel_reset.h +2 -0
index 25c975b6e8fc..f615b30b81c5 100644

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

drivers/gpu/drm/i915/gt/intel_rps.c +1 -1
index 092542f53aad..4feef874e6d6 100644

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

drivers/gpu/drm/i915/gt/intel_workarounds.c +130 -292

422 lines not on this page · raw message

drivers/gpu/drm/i915/gt/uc/intel_guc.c +7 -19
index 569b5fe94c41..861d0c58388c 100644

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

drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c +2 -4
index 836e4d9d65ef..b5de5a9f5967 100644

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

drivers/gpu/drm/i915/i915_debugfs.c +1 -1
index 4de44cf1026d..7a90a2e32c9f 100644

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

drivers/gpu/drm/i915/i915_drv.h +0 -4
index 7a8ce7239bc9..e0e0493d6c1f 100644

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

drivers/gpu/drm/i915/i915_perf.c +5 -6
index 8f4a25d2cfc2..3f90403d86cb 100644

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

drivers/gpu/drm/i915/intel_clock_gating.c +0 -8
index 81a4d32734e9..c66eb6abd4a2 100644

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

drivers/gpu/drm/nouveau/nouveau_uvmm.c +3 -3
index aae780e4a4aa..2bbcdc649e86 100644

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

drivers/gpu/drm/panfrost/panfrost_gpu.c +3 -3
index eca45b83e4e6..c067ff550692 100644

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

drivers/md/dm-integrity.c +1 -1
index e7cd27e387df..470add73f7bd 100644

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

drivers/net/dsa/mv88e6xxx/chip.c +5 -1
index 5ad51271a534..b8fde22aebf9 100644

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

drivers/net/dsa/sja1105/sja1105_mdio.c +1 -1
index 833e55e4b961..52ddb4ef259e 100644

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

drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c +19 -9
index 9cae5a309000..b3d04f49f77e 100644

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

drivers/net/ethernet/freescale/fec_main.c +9 -2
index 54da59286df4..7ca8cd78d557 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_tqp_stats.c +1 -1
index f3c9395d8351..618f66d9586b 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c +17 -2
index 682239f33082..78181eea93c1 100644

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

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +4 -0
index f1ca2cda2961..dfd0c5f4cb9f 100644

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

drivers/net/ethernet/intel/e1000/e1000_hw.c +20 -26

46 lines not on this page · raw message

drivers/net/ethernet/intel/e1000e/80003es2lan.c +1 -2
index be9c695dde12..c51fb6bf9c4e 100644

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

drivers/net/ethernet/intel/e1000e/82571.c +1 -2
index 0b1e890dd583..969f855a79ee 100644

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

drivers/net/ethernet/intel/e1000e/ethtool.c +3 -4
index 9835e6a90d56..fc0f98ea6133 100644

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

drivers/net/ethernet/intel/e1000e/hw.h +2 -0
index 1fef6bb5a5fb..4b6e7536170a 100644

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

drivers/net/ethernet/intel/e1000e/ich8lan.c +33 -23

56 lines not on this page · raw message

drivers/net/ethernet/intel/e1000e/mac.c +1 -1
index 5df7ad93f3d7..30515bfb259e 100644

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

drivers/net/ethernet/intel/e1000e/netdev.c +25 -10
index f536c856727c..3692fce20195 100644

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

drivers/net/ethernet/intel/e1000e/phy.c +115 -76

191 lines not on this page · raw message

drivers/net/ethernet/intel/e1000e/phy.h +2 -0
index c48777d09523..049bb325b4b1 100644

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

drivers/net/ethernet/intel/fm10k/fm10k_pf.c +2 -2
index af1b0cde3670..aed5e0bf6313 100644

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

drivers/net/ethernet/intel/fm10k/fm10k_vf.c +5 -5
index dc8ccd378ec9..7fb1961f2921 100644

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

drivers/net/ethernet/intel/i40e/i40e.h +22 -37

59 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_adminq.c +2 -6
index 100eb77b8dfe..9ce6e633cc2f 100644

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

drivers/net/ethernet/intel/i40e/i40e_adminq.h +2 -1
index 267f2e0a21ce..80125bea80a2 100644

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

drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h +2 -0
index 3357d65a906b..18a1c3b6d72c 100644

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

drivers/net/ethernet/intel/i40e/i40e_alloc.h +12 -12
index a6c9a9e343d1..e0dde326255d 100644

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

drivers/net/ethernet/intel/i40e/i40e_client.c +0 -1
index 639c5a1ca853..306758428aef 100644

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

drivers/net/ethernet/intel/i40e/i40e_common.c +8 -4
index 1b493854f522..4d7caa119971 100644

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

drivers/net/ethernet/intel/i40e/i40e_dcb.c +3 -1
index f81e744c0fb3..d57dd30b024f 100644

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

drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c +1 -1
index 195421d863ab..077a95dad32c 100644

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

drivers/net/ethernet/intel/i40e/i40e_ddp.c +1 -1
index 0e72abd178ae..21b3518c4096 100644

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

drivers/net/ethernet/intel/i40e/i40e_debug.h new file +47 -0

47 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_debugfs.c +2 -1
index 1a497cb07710..999c9708def5 100644

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

drivers/net/ethernet/intel/i40e/i40e_diag.h +4 -1
index c3ce5f35211f..ece3a6b9a5c6 100644

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

drivers/net/ethernet/intel/i40e/i40e_ethtool.c +2 -1
index bd1321bf7e26..4e90570ba780 100644

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

drivers/net/ethernet/intel/i40e/i40e_hmc.c +5 -11
index 96ee63aca7a1..1742624ca62e 100644

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

drivers/net/ethernet/intel/i40e/i40e_hmc.h +4 -0
index 9960da07a573..480e3a883cc7 100644

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

drivers/net/ethernet/intel/i40e/i40e_io.h new file +16 -0
new file mode 100644
index 000000000000..2a2ed9a1d476

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

drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c +3 -6
index 474365bf0648..beaaf5c309d5 100644

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

drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h +2 -0
index 9f960404c2b3..305a276953b0 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +46 -24

70 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_nvm.c +3 -0
index 07a46adeab38..e5aec09d58e2 100644

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

drivers/net/ethernet/intel/i40e/i40e_osdep.h deleted +0 -59

59 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_prototype.h +2 -2
index 3eeee224f1fb..2001fefa0c52 100644

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

drivers/net/ethernet/intel/i40e/i40e_ptp.c +5 -4
index 8a26811140b4..65c714d0bfff 100644

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

drivers/net/ethernet/intel/i40e/i40e_register.h +5 -0
index 7339003aa17c..989c18682473 100644

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

drivers/net/ethernet/intel/i40e/i40e_txrx.c +64 -25

89 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_txrx.h +4 -2
index 900b0d9ede9f..2b1d50873a4d 100644

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

drivers/net/ethernet/intel/i40e/i40e_txrx_common.h +2 -0
index 8c5118c8baaf..e26807fd2123 100644

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

drivers/net/ethernet/intel/i40e/i40e_type.h +9 -47

56 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +24 -23

47 lines not on this page · raw message

drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h +3 -1
index cf190762421c..66f95e2f3146 100644

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

drivers/net/ethernet/intel/i40e/i40e_xsk.c +0 -4
index 1f8ae6f5d980..65f38a57b3df 100644

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

drivers/net/ethernet/intel/i40e/i40e_xsk.h +4 -0
index 821df248f8be..ef156fad52f2 100644

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

drivers/net/ethernet/intel/iavf/iavf_common.c +2 -1
index 1afd761d8052..f7988cf5efa5 100644

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

drivers/net/ethernet/intel/iavf/iavf_ethtool.c +3 -2
index 892c6a4f03bb..1ac97bd606e3 100644

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

drivers/net/ethernet/intel/iavf/iavf_fdir.c +1 -0
index 03e774bd2a5b..65ddcd81c993 100644

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

drivers/net/ethernet/intel/iavf/iavf_txrx.c +1 -0
index 8c5f6096b002..f998ecf743c4 100644

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

drivers/net/ethernet/intel/ice/ice_adminq_cmd.h +2 -1
index 45f3e351653d..72ca2199c957 100644

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

drivers/net/ethernet/intel/ice/ice_lag.c +2 -2
index 23e197c3d02a..4e675c7c199f 100644

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

drivers/net/ethernet/intel/ice/ice_lib.c +47 -27

74 lines not on this page · raw message

drivers/net/ethernet/intel/ice/ice_switch.c +14 -10
index 2f77b684ff76..4c6d58bb2690 100644

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

drivers/net/ethernet/intel/ice/ice_switch.h +2 -2
index db7e501b7e0a..89ffa1b51b5a 100644

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

drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c +8 -10
index 80dc4bcdd3a4..b3e1bdcb80f8 100644

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

drivers/net/ethernet/intel/igb/e1000_82575.c +11 -18
index 8d6e44ee1895..64dfc362d1dc 100644

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

drivers/net/ethernet/intel/igb/e1000_i210.c +10 -9
index b9b9d35494d2..503b239868e8 100644

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

drivers/net/ethernet/intel/igb/e1000_mac.c +1 -1
index caf91c6f52b4..ceaec2cf08a4 100644

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

drivers/net/ethernet/intel/igb/e1000_nvm.c +8 -10
index fa136e6e9328..2dcd64d6dec3 100644

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

drivers/net/ethernet/intel/igb/e1000_phy.c +5 -8
index a018000f7db9..bed94e50a669 100644

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

drivers/net/ethernet/intel/igb/igb_ethtool.c +4 -4
index 4ee849985e2b..92b2be06a6e9 100644

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

drivers/net/ethernet/intel/igb/igb_main.c +2 -2
index 11921141b607..4431e7693d45 100644

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

drivers/net/ethernet/intel/igbvf/mbx.c +1 -0
index a3cd7ac48d4b..d15282ee5ea8 100644

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

drivers/net/ethernet/intel/igbvf/netdev.c +16 -17
index 7ff2752dd763..c5012fa36af2 100644

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

drivers/net/ethernet/intel/igc/igc_i225.c +1 -0
index 17546a035ab1..d2562c8e8015 100644

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

drivers/net/ethernet/intel/igc/igc_main.c +0 -4
index fc1de116d554..e83700ad7e62 100644

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

drivers/net/ethernet/intel/igc/igc_phy.c +1 -0
index 53b77c969c85..d0d9e7170154 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +14 -16
index b2a0f2aaa05b..2e6e0365154a 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c +8 -8
index 13a6fca31004..866024f2b9ee 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +1 -1
index cb23aad5953b..f245f3df40fc 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c +3 -5
index 930dc5071936..f28140a05f09 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +3 -5
index 198ab9d97618..d0a6c220a12a 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c +4 -4
index 15325c549d9b..57a912e4653f 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c +8 -11
index cdc912bba808..c1adc94a5a65 100644

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

drivers/net/ethernet/marvell/octeontx2/af/cgx.c +5 -0
index 6c18d3d2442e..2539c985f695 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c +2 -0
index 9181ac5de912..19075f217d00 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +1 -1
index 55639c133dd0..91a4ea529d07 100644

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

drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +1 -1
index b40bd0e46751..3f46d5e0fb2e 100644

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

drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c +22 -9
index aaf1faed4133..7bb92e2dacda 100644

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

drivers/net/ethernet/microchip/lan743x_main.c +18 -0
index c81cdeb4d4e7..0b6174748d2b 100644

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

drivers/net/ethernet/microchip/lan743x_main.h +4 -0
index 52609fc13ad9..f0b486f85450 100644

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

drivers/net/ethernet/microsoft/mana/mana_en.c +1 -1
index 48ea4aeeea5d..e443d69e3951 100644

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

drivers/net/ethernet/realtek/r8169_main.c +36 -4
index 81fd31f6fac4..e6f1da66c450 100644

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

drivers/net/ethernet/renesas/ravb_main.c +14 -19
index 8fec0dbbbe7b..c6897e6ea362 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +31 -9
index c6ff1fa0e04d..683c34e60963 100644

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

drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c +31 -7
index b5509f244ecd..24c53b7255a2 100644

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

drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c +5 -3
index e457ac9ae6d8..ad5c213dac07 100644

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

drivers/net/phy/micrel.c +24 -7
index f81c4bcd85a2..cbd98ea4a84a 100644

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

drivers/net/usb/ax88179_178a.c +2 -0
index d837c1887416..e0e9b4c53cb0 100644

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

drivers/net/wireless/intel/iwlwifi/iwl-trans.h +1 -1
index 168eda2132fb..9dcc1506bd0b 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +3 -1
index aaa9840d0d4c..ee9d14250a26 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/rfi.c +6 -2
index 2ecd32bed752..045c862a8fc4 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c +18 -13
index bac0228b8c86..e9360b555ac9 100644

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

drivers/net/wwan/t7xx/t7xx_cldma.c +2 -2
index 9f43f256db1d..f0a4783baf1f 100644

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

drivers/net/wwan/t7xx/t7xx_hif_cldma.c +5 -4
index cc70360364b7..554ba4669cc8 100644

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

drivers/net/wwan/t7xx/t7xx_pcie_mac.c +4 -4
index 76da4c15e3de..f071ec7ff23d 100644

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

drivers/net/xen-netfront.c +1 -0
index ad29f370034e..8d2aee88526c 100644

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

drivers/of/dynamic.c +12 -0
index 3bf27052832f..4d57a4e34105 100644

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

drivers/of/module.c +8 -0
index 0e8aa974f0f2..f58e624953a2 100644

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

drivers/perf/riscv_pmu.c +4 -0
index c78a6fd6c57f..b4efdddb2ad9 100644

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

drivers/s390/net/qeth_core_main.c +36 -2
index cd783290bde5..1148b4ecabdd 100644

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

drivers/scsi/myrb.c +10 -10
index ca2e932dd9b7..f684eb5e0489 100644

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

drivers/scsi/myrs.c +12 -12
index a1eec65a9713..e824be9d9bbb 100644

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

drivers/scsi/sd.c +1 -1
index e80c33cdad2b..c62f677084b4 100644

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

drivers/spi/spi-pci1xxxx.c +2 -0
index 3638e974f5d4..06bf58b7e5d7 100644

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

drivers/spi/spi-s3c64xx.c +57 -23

80 lines not on this page · raw message

drivers/usb/typec/ucsi/ucsi_glink.c +14 -0
index 4853141cd10c..894622b6556a 100644

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

fs/btrfs/extent_io.c +151 -57

208 lines not on this page · raw message

fs/btrfs/inode.c +21 -1
index ca79c2b8adc4..1ac14223ffb5 100644

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

fs/nfsd/nfs4state.c +2 -5
index 522596060252..c7e52d980cd7 100644

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

fs/pipe.c +12 -5
index a234035cc375..ba4376341ddd 100644

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

fs/smb/client/cached_dir.c +4 -2
index 15e1215bc4e5..1a9e705d6500 100644

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

fs/smb/client/cifs_debug.c +6 -0
index 7206167f4184..6c85edb8635d 100644

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

fs/smb/client/cifsfs.c +11 -0
index 2131638f26d0..fcb93a66e47c 100644

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

fs/smb/client/cifsglob.h +15 -2
index 35a12413bbee..a878b1e5aa31 100644

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

fs/smb/client/connect.c +44 -1

45 lines not on this page · raw message

fs/smb/client/dir.c +15 -0
index 580a27a3a7e6..855468a32904 100644

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

fs/smb/client/file.c +95 -16

111 lines not on this page · raw message

fs/smb/client/fs_context.c +3 -3
index e4a6b240d226..58567ae617b9 100644

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

fs/smb/client/fs_context.h +12 -0
index cf46916286d0..8cfc25b609b6 100644

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

fs/smb/client/fscache.c +15 -1
index e5cad149f5a2..a4ee801b2939 100644

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

fs/smb/client/fscache.h +6 -0
index a3d73720914f..1f2ea9f5cc9a 100644

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

fs/smb/client/inode.c +2 -0
index cb9e719e67ae..fa6330d586e8 100644

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

fs/smb/client/ioctl.c +5 -1
index 73ededa8eba5..204dd7c47126 100644

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

fs/smb/client/misc.c +2 -0
index c2137ea3c253..ef573e3f8e52 100644

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

fs/smb/client/smb1ops.c +2 -2
index 64e25233e85d..1aebcf95c195 100644

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

fs/smb/client/smb2misc.c +4 -0
index 82b84a4941dd..cc72be5a93a9 100644

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

fs/smb/client/smb2ops.c +7 -4
index 978a9f409857..04fea874d0a3 100644

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

fs/smb/client/smb2pdu.c +1 -1
index 4d7d0bdf7a47..94bd4c6d2d68 100644

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

fs/smb/server/ksmbd_netlink.h +2 -1
index 0ebf91ffa236..4464a62228cf 100644

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

fs/smb/server/mgmt/share_config.c +6 -1
index 328a412259dc..a2f0a2edceb8 100644

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

fs/smb/server/smb2ops.c +5 -5
index 27a9dce3e03a..8600f32c981a 100644

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

fs/smb/server/smb2pdu.c +2 -1
index 199c31c275e5..924f08326eef 100644

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

fs/smb/server/transport_ipc.c +37 -0
index f29bb03f0dc4..8752ac82c557 100644

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

fs/vboxsf/super.c +2 -1
index 1fb8f4df60cb..9848af78215b 100644

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

include/kvm/arm_pmu.h +1 -1
index 31029f4f7be8..c4aabbf002f7 100644

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

include/linux/avf/virtchnl.h +5 -0
index d0807ad43f93..6e950594215a 100644

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

include/linux/bpf.h +15 -1
index 9b08d792fa95..2ebb5d4d43dc 100644

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

include/linux/device.h +1 -0
index 99496a0a5ddb..a070160fbcb8 100644

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

include/linux/io_uring_types.h +0 -1
index 731beb3198c4..8215e193178a 100644

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

include/linux/secretmem.h +2 -2
index 35f3a4a8ceb1..acf7e1a3f3de 100644

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

include/linux/skbuff.h +1 -6
index 2922059908cc..9e61f6df6bc5 100644

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

include/linux/udp.h +28 -0
index d04188714dca..94e63b269540 100644

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

include/net/bluetooth/hci.h +9 -0
index 0d231024570a..03e68a8e229f 100644

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

include/net/inet_connection_sock.h +1 -0
index 01a73bf74fa1..6ecac01115d9 100644

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

include/net/mana/mana.h +0 -1
index 4d43adf18606..cd526fd31b45 100644

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

include/net/sock.h +7 -0
index e70c903b04f3..25780942ec8b 100644

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

io_uring/io_uring.c +10 -8
index aed10bae50ac..2c0a9a98272c 100644

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

io_uring/kbuf.c +41 -77

118 lines not on this page · raw message

io_uring/kbuf.h +5 -3
index 3d0cb6b8c1ed..8d7929369501 100644

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

kernel/bpf/syscall.c +32 -3
index 4b7d186c7622..4902a7487f07 100644

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

kernel/bpf/verifier.c +5 -0
index 396c4c66932f..c9fc734989c6 100644

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

kernel/trace/bpf_trace.c +5 -5
index 1d76f3b014ae..1e79084a9d9d 100644

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

mm/memory.c +4 -0
index 78e05d3e9e4a..e44d4d887cf6 100644

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

net/9p/client.c +5 -5
index e265a0ca6bdd..f7e90b4769bb 100644

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

net/ax25/ax25_dev.c +1 -1
index c5462486dbca..282ec581c072 100644

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

net/bluetooth/hci_debugfs.c +32 -16

48 lines not on this page · raw message

net/bluetooth/hci_event.c +25 -0
index 2bb8ab9302a9..bb0e5902a3e6 100644

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

net/bluetooth/hci_sync.c +4 -1
index 9b241eabca3e..d6c0633bfe5b 100644

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

net/bridge/netfilter/ebtables.c +6 -0
index aa23479b20b2..ed62c1026fe9 100644

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

net/core/gro.c +2 -1
index 0759277dc14e..cefddf65f7db 100644

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

net/core/sock_map.c +6 -0
index 27d733c0f65e..8598466a3805 100644

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

net/hsr/hsr_slave.c +2 -1
index e5742f2a2d52..1b6457f357bd 100644

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

net/ipv4/inet_connection_sock.c +25 -8
index 762817d6c8d7..a018981b4514 100644

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

net/ipv4/inet_fragment.c +57 -13

70 lines not on this page · raw message

net/ipv4/ip_fragment.c +1 -1
index a4941f53b523..fb947d1613fe 100644

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

net/ipv4/ip_gre.c +5 -0
index 5169c3c72cff..f21a1a540372 100644

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

net/ipv4/netfilter/arp_tables.c +4 -0
index 2407066b0fec..b150c9929b12 100644

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

net/ipv4/netfilter/ip_tables.c +4 -0
index 7da1df4997d0..487670759578 100644

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

net/ipv4/tcp.c +2 -0
index 68bb8d6bcc11..f8df35f7352a 100644

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

net/ipv4/udp.c +7 -0
index 848072793fa9..70a9a4a48216 100644

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

net/ipv4/udp_offload.c +13 -10
index 6c95d28d0c4a..c3d67423ae18 100644

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

net/ipv6/ip6_fib.c +7 -7
index 4fc2cae0d116..54294f6a8ec5 100644

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

net/ipv6/ip6_gre.c +3 -0
index 070d87abf7c0..26c3287beb29 100644

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

net/ipv6/netfilter/ip6_tables.c +4 -0
index fd9f049d6d41..636b360311c5 100644

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

net/ipv6/netfilter/nf_conntrack_reasm.c +1 -1
index b2dd48911c8d..efbec7ee27d0 100644

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

net/ipv6/udp.c +1 -1
index 438476a31313..d31beb65db08 100644

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

net/ipv6/udp_offload.c +1 -7
index 6b95ba241ebe..626d7b362dc7 100644

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

net/mptcp/protocol.c +42 -64

106 lines not on this page · raw message

net/mptcp/subflow.c +2 -0
index ab41700bee68..23ee96c6abcb 100644

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

net/netfilter/nf_tables_api.c +72 -20

92 lines not on this page · raw message

net/nfc/nci/core.c +5 -0
index 12684d835cb5..772ddb5824d9 100644

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

net/rds/rdma.c +1 -1
index a4e3c5de998b..00dbcd4d28e6 100644

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

net/sched/act_skbmod.c +5 -5
index dffa990a9629..e34f1be15164 100644

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

net/sched/sch_api.c +1 -1
index e9eaf637220e..5f25a2595add 100644

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

net/sunrpc/svcsock.c +1 -9
index e0ce4276274b..933e12e3a55c 100644

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

net/tls/tls_sw.c +5 -2
index acf5bb74fd38..df166f6afad8 100644

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

net/vmw_vsock/virtio_transport.c +2 -1
index a64bf601b480..2925f5d27ad3 100644

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

scripts/bpf_doc.py +2 -2
index 0669bac5e900..3f899cc7e99a 100755

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

scripts/mod/Makefile +2 -2
index c9e38ad937fd..3c54125eb373 100644

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

scripts/mod/modpost.c +9 -64

73 lines not on this page · raw message

scripts/mod/modpost.h +25 -0
index 5f94c2c9f2d9..6413f26fcb6b 100644

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

scripts/mod/symsearch.c new file +199 -0

199 lines not on this page · raw message

security/selinux/selinuxfs.c +7 -5
index 6fa640263216..2c23a5a28608 100644

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

sound/pci/emu10k1/emu10k1_callback.c +2 -5
index d36234b88fb4..941bfbf812ed 100644

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

sound/pci/hda/cs35l56_hda.c +2 -2
index 7adc1d373d65..27848d646963 100644

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

sound/pci/hda/cs35l56_hda_i2c.c +11 -2
index 757a4d193e0f..c31f60b0421e 100644

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

sound/pci/hda/cs35l56_hda_spi.c +11 -2
index 756aec342eab..52c9e04b3c55 100644

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

sound/pci/hda/patch_realtek.c +2 -1
index 0db9326b6f84..b1c2fb43cab6 100644

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

sound/soc/amd/acp/acp-pci.c +4 -1
index a32c14a109b7..223238f662f8 100644

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

sound/soc/codecs/rt5682-sdw.c +2 -2
index e67c2e19cb1a..1fdbef5fd6cb 100644

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

sound/soc/codecs/rt711-sdca-sdw.c +2 -2
index 935e597022d3..b8471b2d8f4f 100644

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

sound/soc/codecs/rt711-sdw.c +2 -2
index 3f5773310ae8..988451f24a75 100644

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

sound/soc/codecs/rt712-sdca-sdw.c +3 -2
index 6b644a89c589..ba877432cea6 100644

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

sound/soc/codecs/rt722-sdca-sdw.c +2 -2
index a38ec5862214..43a4e79e5696 100644

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

sound/soc/codecs/wm_adsp.c +2 -1
index 72b90a7ee4b6..b9c20e29fe63 100644

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

sound/soc/soc-ops.c +1 -1
index 2d25748ca706..b27e89ff6a16 100644

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

sound/soc/sof/amd/acp.c +4 -4
index 4c54ce212de6..cc006d7038d9 100644

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

tools/arch/x86/include/asm/cpufeatures.h +1 -1
index 798e60b5454b..845a4023ba44 100644

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

tools/net/ynl/ynl-gen-c.py +5 -2
index 897af958cee8..575b7e248e52 100755

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

tools/testing/selftests/mm/vm_util.h +1 -1
index c7fa61f0dff8..0c603bec5e20 100644

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

tools/testing/selftests/net/mptcp/mptcp_connect.sh +56 -29

85 lines not on this page · raw message

tools/testing/selftests/net/mptcp/mptcp_join.sh +3 -1
index 34c342346967..00cf4efac4c2 100755

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

tools/testing/selftests/net/reuseaddr_conflict.c +1 -1
index 7c5b12664b03..bfb07dc49518 100644

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

tools/testing/selftests/net/test_vxlan_mdb.sh +128 -77

205 lines not on this page · raw message

tools/testing/selftests/net/udpgro_fwd.sh +2 -8
index 9cd5e885e91f..f4549e6894dd 100755

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

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.