Skip to contentSkip to conversation

Linux 5.15.58

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 29, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.15.58 kernel.

All users of the 5.15 kernel series must upgrade.

The updated 5.15.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.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/sysctl/vm.rst                     |    2 
 Makefile                                                    |    2 
 arch/alpha/kernel/srmcons.c                                 |    2 
 arch/riscv/Makefile                                         |    1 
 arch/um/drivers/virtio_uml.c                                |   81 +-
 arch/x86/entry/entry_32.S                                   |   35 
 arch/x86/include/asm/asm.h                                  |   85 +-
 arch/x86/include/asm/cpufeatures.h                          |    1 
 arch/x86/include/asm/extable.h                              |   44 -
 arch/x86/include/asm/extable_fixup_types.h                  |   58 +
 arch/x86/include/asm/fpu/internal.h                         |    4 
 arch/x86/include/asm/futex.h                                |   28 
 arch/x86/include/asm/insn-eval.h                            |    2 
 arch/x86/include/asm/mshyperv.h                             |    7 
 arch/x86/include/asm/msr.h                                  |   30 
 arch/x86/include/asm/nospec-branch.h                        |    2 
 arch/x86/include/asm/segment.h                              |    2 
 arch/x86/include/asm/uaccess.h                              |  142 +++
 arch/x86/kernel/alternative.c                               |    4 
 arch/x86/kernel/cpu/bugs.c                                  |   14 
 arch/x86/kernel/cpu/mce/core.c                              |   40 -
 arch/x86/kernel/cpu/mce/internal.h                          |   10 
 arch/x86/kernel/cpu/mce/severity.c                          |   23 
 arch/x86/kvm/x86.c                                          |   35 
 arch/x86/lib/insn-eval.c                                    |   71 +
 arch/x86/mm/extable.c                                       |  193 ++---
 arch/x86/net/bpf_jit_comp.c                                 |   11 
 drivers/accessibility/speakup/spk_ttyio.c                   |    4 
 drivers/bus/mhi/pci_generic.c                               |   79 ++
 drivers/crypto/qat/qat_4xxx/adf_drv.c                       |    7 
 drivers/crypto/qat/qat_common/Makefile                      |    1 
 drivers/crypto/qat/qat_common/adf_transport.c               |   11 
 drivers/crypto/qat/qat_common/adf_transport.h               |    1 
 drivers/crypto/qat/qat_common/adf_transport_internal.h      |    1 
 drivers/crypto/qat/qat_common/qat_algs.c                    |  138 ++-
 drivers/crypto/qat/qat_common/qat_algs_send.c               |   86 ++
 drivers/crypto/qat/qat_common/qat_algs_send.h               |   11 
 drivers/crypto/qat/qat_common/qat_asym_algs.c               |  304 ++++----
 drivers/crypto/qat/qat_common/qat_crypto.c                  |   10 
 drivers/crypto/qat/qat_common/qat_crypto.h                  |   39 +
 drivers/gpio/gpio-pca953x.c                                 |   22 
 drivers/gpio/gpio-xilinx.c                                  |    2 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c           |  446 ++++++++++--
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h           |   97 ++
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c |   17 
 drivers/gpu/drm/amd/display/dc/core/dc.c                    |   24 
 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c            |   89 +-
 drivers/gpu/drm/amd/display/dc/dc_link.h                    |    9 
 drivers/gpu/drm/drm_gem_ttm_helper.c                        |    9 
 drivers/gpu/drm/imx/dcss/dcss-dev.c                         |    3 
 drivers/i2c/busses/i2c-cadence.c                            |   30 
 drivers/i2c/busses/i2c-mlxcpld.c                            |    2 
 drivers/infiniband/hw/irdma/cm.c                            |   50 -
 drivers/infiniband/hw/irdma/i40iw_hw.c                      |    1 
 drivers/infiniband/hw/irdma/icrdma_hw.c                     |    1 
 drivers/infiniband/hw/irdma/irdma.h                         |    1 
 drivers/infiniband/hw/irdma/verbs.c                         |    4 
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c                  |   28 
 drivers/net/dsa/microchip/ksz_common.c                      |    5 
 drivers/net/dsa/sja1105/sja1105_main.c                      |   16 
 drivers/net/dsa/vitesse-vsc73xx-spi.c                       |   10 
 drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c |    8 
 drivers/net/ethernet/emulex/benet/be_cmds.c                 |   10 
 drivers/net/ethernet/emulex/benet/be_cmds.h                 |    2 
 drivers/net/ethernet/emulex/benet/be_ethtool.c              |   31 
 drivers/net/ethernet/intel/e1000e/hw.h                      |    1 
 drivers/net/ethernet/intel/e1000e/ich8lan.c                 |    4 
 drivers/net/ethernet/intel/e1000e/ich8lan.h                 |    1 
 drivers/net/ethernet/intel/e1000e/netdev.c                  |   30 
 drivers/net/ethernet/intel/i40e/i40e_main.c                 |   13 
 drivers/net/ethernet/intel/iavf/iavf_txrx.c                 |    5 
 drivers/net/ethernet/intel/igc/igc_main.c                   |    3 
 drivers/net/ethernet/intel/igc/igc_regs.h                   |    5 
 drivers/net/ethernet/intel/ixgbe/ixgbe.h                    |    1 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c               |    3 
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c              |    6 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c       |    9 
 drivers/net/ethernet/netronome/nfp/flower/action.c          |    2 
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c           |    3 
 drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c        |    8 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c           |   22 
 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c       |    8 
 drivers/net/tun.c                                           |    5 
 drivers/net/usb/ax88179_178a.c                              |   20 
 drivers/net/usb/r8152.c                                     |   16 
 drivers/net/wireless/intel/iwlwifi/fw/uefi.h                |    5 
 drivers/net/wireless/mediatek/mt76/mac80211.c               |    2 
 drivers/net/wireless/mediatek/mt76/mt76.h                   |    2 
 drivers/net/wireless/mediatek/mt76/mt7603/main.c            |    2 
 drivers/net/wireless/mediatek/mt76/mt7615/main.c            |    2 
 drivers/net/wireless/mediatek/mt76/mt76x02_util.c           |    4 
 drivers/net/wireless/mediatek/mt76/mt7915/main.c            |    2 
 drivers/net/wireless/mediatek/mt76/mt7921/main.c            |    2 
 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c             |   30 
 drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h          |    1 
 drivers/net/wireless/mediatek/mt76/mt7921/pci.c             |   30 
 drivers/net/wireless/mediatek/mt76/mt7921/regs.h            |   22 
 drivers/net/wireless/mediatek/mt76/tx.c                     |    9 
 drivers/nvme/host/core.c                                    |   19 
 drivers/pci/controller/pci-hyperv.c                         |  106 ++
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c                 |   97 +-
 drivers/pinctrl/ralink/Kconfig                              |   16 
 drivers/pinctrl/ralink/Makefile                             |    2 
 drivers/pinctrl/ralink/pinctrl-mt7620.c                     |  252 +++---
 drivers/pinctrl/ralink/pinctrl-mt7621.c                     |   30 
 drivers/pinctrl/ralink/pinctrl-ralink.c                     |  351 +++++++++
 drivers/pinctrl/ralink/pinctrl-ralink.h                     |   53 +
 drivers/pinctrl/ralink/pinctrl-rt2880.c                     |  349 ---------
 drivers/pinctrl/ralink/pinctrl-rt288x.c                     |   20 
 drivers/pinctrl/ralink/pinctrl-rt305x.c                     |   44 -
 drivers/pinctrl/ralink/pinctrl-rt3883.c                     |   28 
 drivers/pinctrl/ralink/pinmux.h                             |   53 -
 drivers/pinctrl/stm32/pinctrl-stm32.c                       |   18 
 drivers/power/reset/arm-versatile-reboot.c                  |    1 
 drivers/s390/char/keyboard.h                                |    4 
 drivers/scsi/megaraid/megaraid_sas_base.c                   |    3 
 drivers/scsi/ufs/ufshcd.c                                   |    2 
 drivers/spi/spi-bcm2835.c                                   |   12 
 drivers/tty/goldfish.c                                      |    2 
 drivers/tty/moxa.c                                          |    4 
 drivers/tty/pty.c                                           |   14 
 drivers/tty/serial/lpc32xx_hs.c                             |    2 
 drivers/tty/serial/mvebu-uart.c                             |   25 
 drivers/tty/tty.h                                           |    3 
 drivers/tty/tty_buffer.c                                    |   66 +
 drivers/tty/vt/keyboard.c                                   |    6 
 drivers/tty/vt/vt.c                                         |    2 
 drivers/usb/host/xhci-dbgcap.c                              |  135 +--
 drivers/usb/host/xhci-dbgcap.h                              |   13 
 drivers/usb/host/xhci-dbgtty.c                              |   22 
 drivers/usb/host/xhci.c                                     |    6 
 fs/dlm/lock.c                                               |    3 
 fs/exfat/namei.c                                            |   31 
 fs/proc/proc_sysctl.c                                       |    2 
 fs/xfs/libxfs/xfs_ag.h                                      |   36 
 fs/xfs/libxfs/xfs_btree_staging.c                           |    4 
 fs/xfs/xfs_ioctl.c                                          |    2 
 fs/xfs/xfs_ioctl.h                                          |    5 
 include/linux/bitfield.h                                    |   19 
 include/linux/skbuff.h                                      |   47 +
 include/linux/sysctl.h                                      |   13 
 include/linux/tty_flip.h                                    |    1 
 include/net/bluetooth/bluetooth.h                           |   65 +
 include/net/inet_hashtables.h                               |    2 
 include/net/inet_sock.h                                     |   12 
 include/net/ip.h                                            |    6 
 include/net/netns/ipv4.h                                    |    1 
 include/net/route.h                                         |    2 
 include/net/tcp.h                                           |   18 
 include/net/udp.h                                           |    2 
 include/trace/events/skb.h                                  |   48 +
 kernel/bpf/core.c                                           |    8 
 kernel/events/core.c                                        |   45 -
 kernel/sched/deadline.c                                     |    5 
 kernel/sysctl.c                                             |   44 -
 kernel/trace/Makefile                                       |    1 
 kernel/trace/ftrace.c                                       |    6 
 kernel/trace/pid_list.c                                     |  160 ++++
 kernel/trace/pid_list.h                                     |   13 
 kernel/trace/trace.c                                        |   84 --
 kernel/trace/trace.h                                        |   14 
 kernel/trace/trace_events.c                                 |   13 
 kernel/watch_queue.c                                        |   53 -
 mm/mempolicy.c                                              |    2 
 net/batman-adv/bridge_loop_avoidance.c                      |    2 
 net/bluetooth/rfcomm/core.c                                 |   50 +
 net/bluetooth/rfcomm/sock.c                                 |   46 -
 net/bluetooth/sco.c                                         |   30 
 net/core/dev.c                                              |    3 
 net/core/drop_monitor.c                                     |   10 
 net/core/filter.c                                           |    4 
 net/core/secure_seq.c                                       |    4 
 net/core/skbuff.c                                           |   12 
 net/core/sock_reuseport.c                                   |    4 
 net/ipv4/af_inet.c                                          |    4 
 net/ipv4/fib_semantics.c                                    |    2 
 net/ipv4/icmp.c                                             |    2 
 net/ipv4/igmp.c                                             |   25 
 net/ipv4/inet_connection_sock.c                             |    5 
 net/ipv4/ip_forward.c                                       |    2 
 net/ipv4/ip_input.c                                         |   26 
 net/ipv4/ip_sockglue.c                                      |    8 
 net/ipv4/netfilter/nf_reject_ipv4.c                         |    4 
 net/ipv4/proc.c                                             |    2 
 net/ipv4/route.c                                            |   10 
 net/ipv4/syncookies.c                                       |   11 
 net/ipv4/sysctl_net_ipv4.c                                  |    8 
 net/ipv4/tcp.c                                              |   13 
 net/ipv4/tcp_fastopen.c                                     |    9 
 net/ipv4/tcp_input.c                                        |   53 -
 net/ipv4/tcp_ipv4.c                                         |   77 +-
 net/ipv4/tcp_metrics.c                                      |    3 
 net/ipv4/tcp_minisocks.c                                    |    4 
 net/ipv4/tcp_output.c                                       |   31 
 net/ipv4/tcp_recovery.c                                     |    6 
 net/ipv4/tcp_timer.c                                        |   30 
 net/ipv4/udp.c                                              |   10 
 net/ipv6/af_inet6.c                                         |    2 
 net/ipv6/syncookies.c                                       |    3 
 net/netfilter/core.c                                        |    3 
 net/netfilter/nf_synproxy_core.c                            |    2 
 net/sctp/protocol.c                                         |    2 
 net/smc/smc_llc.c                                           |    2 
 net/tls/tls_device.c                                        |    8 
 net/xfrm/xfrm_policy.c                                      |    5 
 net/xfrm/xfrm_state.c                                       |    2 
 scripts/sorttable.c                                         |    4 
 security/integrity/ima/ima_policy.c                         |    4 
 tools/perf/tests/perf-time-to-tsc.c                         |   18 
 tools/testing/selftests/kvm/rseq_test.c                     |    8 
 tools/testing/selftests/vm/mremap_test.c                    |   53 -
 virt/kvm/kvm_main.c                                         |    5 
 212 files changed, 3729 insertions(+), 2245 deletions(-)

Adrian Hunter (1):
perf tests: Fix Convert perf time to TSC test for hybrid

Alex Deucher (1):
drm/amdgpu/display: add quirk handling for stutter mode

Alexander Aring (1):
dlm: fix pending remove if msg allocation fails

Alexey Kardashevskiy (1):

      KVM: Don't null dereference ops->destroy

Andy Shevchenko (3):
pinctrl: armada-37xx: Use temporary variable for struct device
pinctrl: armada-37xx: Make use of the devm_platform_ioremap_resource()
pinctrl: armada-37xx: Convert to use dev_err_probe()

Arınç ÜNAL (2):
pinctrl: ralink: rename MT7628(an) functions to MT76X8
pinctrl: ralink: rename pinctrl-rt2880 to pinctrl-ralink

Ben Dooks (1):
riscv: add as-options for modules with assembly compontents

Biao Huang (2):
net: stmmac: fix pm runtime issue in stmmac_dvr_remove()
net: stmmac: fix unbalanced ptp clock issue in suspend/resume flow

Bjorn Andersson (1):
scsi: ufs: core: Drop loglevel of WriteBoost message

Brian Foster (4):
xfs: fold perag loop iteration logic into helper function
xfs: rename the next_agno perag iteration variable
xfs: terminate perag iteration reliably on agcount
xfs: fix perag reference leak on iteration race with growfs

Christian König (1):
drm/ttm: fix locking in vmap/vunmap TTM GEM helpers

Christoph Hellwig (1):
nvme: check for duplicate identifiers earlier

Christophe JAILLET (1):

      mt76: mt7921: Fix the error handling path of mt7921_pci_probe()

Dan Carpenter (2):
xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list() drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq()

Daniele Palmas (2):
bus: mhi: host: pci_generic: add Telit FN980 v1 hardware revision
bus: mhi: host: pci_generic: add Telit FN990

Dario Binacchi (1):
mtd: rawnand: gpmi: validate controller clock rate

Darrick J. Wong (1):
xfs: fix maxlevels comparisons in the btree staging code

Dawid Lukwinski (1):
i40e: Fix erroneous adapter reinitialization during recovery process

Dongli Zhang (1):
net: tun: split run_ebpf_filter() and pskb_trim() into different "if statement"

Eric Dumazet (3):
ipv4/tcp: do not use per netns ctl sockets
tcp: sk->sk_bound_dev_if once in inet_request_bound_dev_if()
bpf: Make sure mac_header was set before using it

Eric Snowberg (1):
lockdown: Fix kexec lockdown bypass with ima policy

Fabien Dessenne (1):
pinctrl: stm32: fix optional IRQ support to gpios

Fangzhi Zuo (1):
drm/amd/display: Ignore First MST Sideband Message Return Error

Felix Fietkau (1):
mt76: fix use-after-free by removing a non-RCU wcid pointer

Gavin Shan (1):
KVM: selftests: Fix target thread to be migrated in rseq_test

Giovanni Cabiddu (10):
crypto: qat - set to zero DH parameters before free
crypto: qat - use pre-allocated buffers in datapath
crypto: qat - refactor submission logic
crypto: qat - add backlog mechanism
crypto: qat - fix memory leak in RSA
crypto: qat - remove dma_free_coherent() for RSA
crypto: qat - remove dma_free_coherent() for DH
crypto: qat - add param check for RSA
crypto: qat - add param check for DH
crypto: qat - re-enable registration of algorithms

Greg Kroah-Hartman (1):

      Linux 5.15.58

Haibo Chen (3):
gpio: pca953x: only use single read/write for No AI mode
gpio: pca953x: use the correct range when do regmap sync
gpio: pca953x: use the correct register address when regcache sync during init

Hangyu Hua (1):
xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup()

Hayden Goodfellow (1):
drm/amd/display: Fix wrong format specifier in amdgpu_dm.c

Hayes Wang (1):
r8152: fix a WOL issue

Hristo Venev (1):
be2net: Fix buffer overflow in be_get_module_eeprom

Ido Schimmel (1):
mlxsw: spectrum_router: Fix IPv4 nexthop gateway indication

Israel Rukshin (1):
nvme: fix block device naming collision

Jan Beulich (1):
x86: drop bogus "cc" clobber from __try_cmpxchg_user_asm()

Jeffrey Hugo (4):
PCI: hv: Fix multi-MSI to allow more than one MSI vector
PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI
PCI: hv: Reuse existing IRTE allocation in compose_msi_msg()
PCI: hv: Fix interrupt mapping for multi-MSI

Jiri Slaby (5):
tty: drivers/tty/, stop using tty_schedule_flip()
tty: the rest, stop using tty_schedule_flip()
tty: drop tty_schedule_flip()
tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push()
tty: use new tty_insert_flip_string_and_push_buffer() in pty_write()

Johannes Berg (2):
iwlwifi: fw: uefi: add missing include guards
um: virtio_uml: Fix broken device handling in time-travel

Jose Alonso (1):

      net: usb: ax88179_178a needs FLAG_SEND_ZLP

José Expósito (1):
drm/amd/display: invalid parameter check in dmub_hpd_callback

Jude Shih (1):
drm/amd/display: Support for DMUB HPD interrupt handling

Junxiao Chang (1):
net: stmmac: fix dma queue left shift overflow issue

Juri Lelli (1):
sched/deadline: Fix BUG_ON condition for deboosted tasks

Kees Cook (1):
x86/alternative: Report missing return thunk details

Kishon Vijay Abraham I (1):
xhci: Set HCD flag to defer primary roothub registration

Kuniyuki Iwashima (45):
ip: Fix data-races around sysctl_ip_default_ttl.
tcp: Fix data-races around sysctl_tcp_ecn.
ip: Fix data-races around sysctl_ip_no_pmtu_disc.
ip: Fix data-races around sysctl_ip_fwd_use_pmtu.
ip: Fix data-races around sysctl_ip_fwd_update_priority.
ip: Fix data-races around sysctl_ip_nonlocal_bind.
ip: Fix a data-race around sysctl_ip_autobind_reuse.
ip: Fix a data-race around sysctl_fwmark_reflect. tcp/dccp: Fix a data-race around sysctl_tcp_fwmark_accept.
tcp: Fix data-races around sysctl_tcp_l3mdev_accept.
tcp: Fix data-races around sysctl_tcp_mtu_probing.
tcp: Fix data-races around sysctl_tcp_base_mss.
tcp: Fix data-races around sysctl_tcp_min_snd_mss.
tcp: Fix a data-race around sysctl_tcp_mtu_probe_floor.
tcp: Fix a data-race around sysctl_tcp_probe_threshold.
tcp: Fix a data-race around sysctl_tcp_probe_interval.
igmp: Fix data-races around sysctl_igmp_llm_reports.
igmp: Fix a data-race around sysctl_igmp_max_memberships.
igmp: Fix data-races around sysctl_igmp_max_msf.
tcp: Fix data-races around keepalive sysctl knobs.
tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries.
tcp: Fix data-races around sysctl_tcp_syncookies.
tcp: Fix data-races around sysctl_tcp_migrate_req.
tcp: Fix data-races around sysctl_tcp_reordering.
tcp: Fix data-races around some timeout sysctl knobs.
tcp: Fix a data-race around sysctl_tcp_notsent_lowat.
tcp: Fix a data-race around sysctl_tcp_tw_reuse.
tcp: Fix data-races around sysctl_max_syn_backlog.
tcp: Fix data-races around sysctl_tcp_fastopen.
tcp: Fix data-races around sysctl_tcp_fastopen_blackhole_timeout.
ipv4: Fix a data-race around sysctl_fib_multipath_use_neigh.
ipv4: Fix data-races around sysctl_fib_multipath_hash_policy.
ipv4: Fix data-races around sysctl_fib_multipath_hash_fields.
ip: Fix data-races around sysctl_ip_prot_sock.
udp: Fix a data-race around sysctl_udp_l3mdev_accept.
tcp: Fix data-races around sysctl knobs related to SYN option.
tcp: Fix a data-race around sysctl_tcp_early_retrans.
tcp: Fix data-races around sysctl_tcp_recovery.
tcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts.
tcp: Fix data-races around sysctl_tcp_slow_start_after_idle.
tcp: Fix a data-race around sysctl_tcp_retrans_collapse.
tcp: Fix a data-race around sysctl_tcp_stdurg.
tcp: Fix a data-race around sysctl_tcp_rfc1337.
tcp: Fix a data-race around sysctl_tcp_abort_on_overflow.
tcp: Fix data-races around sysctl_tcp_max_reordering.

Lennert Buytenhek (1):
igc: Reinstate IGC_REMOVED logic and implement it properly

Liang He (2):
net: dsa: microchip: ksz_common: Fix refcount leak bug drm/imx/dcss: Add missing of_node_put() in fail path

Linus Torvalds (2):
watchqueue: make sure to serialize 'wqueue->defunct' properly
watch-queue: remove spurious double semicolon

Luiz Augusto von Dentz (7):
Bluetooth: Add bt_skb_sendmsg helper
Bluetooth: Add bt_skb_sendmmsg helper
Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg
Bluetooth: RFCOMM: Replace use of memcpy_from_msg with bt_skb_sendmmsg
Bluetooth: Fix passing NULL to PTR_ERR
Bluetooth: SCO: Fix sco_send_frame returning skb->len
Bluetooth: Fix bt_skb_sendmmsg not allocating partial chunks

Marc Kleine-Budde (1):
spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers

Mathias Nyman (3):
xhci: dbc: refactor xhci_dbc_init()
xhci: dbc: create and remove dbc structure in dbgtty driver.
xhci: dbc: Rename xhci_dbc_init and xhci_dbc_exit

Maxim Levitsky (1):
KVM: x86: fix typo in __try_cmpxchg_user causing non-atomicness

Menglong Dong (8):
net: skb: introduce kfree_skb_reason()
net: skb: use kfree_skb_reason() in tcp_v4_rcv()
net: skb: use kfree_skb_reason() in __udp4_lib_rcv()
net: socket: rename SKB_DROP_REASON_SOCKET_FILTER
net: skb_drop_reason: add document for drop reasons
net: netfilter: use kfree_drop_reason() for NF_DROP
net: ipv4: use kfree_skb_reason() in ip_rcv_core()
net: ipv4: use kfree_skb_reason() in ip_rcv_finish_core()

Miaoqian Lin (1):
power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe

Ming Lei (1):
scsi: megaraid: Clear READ queue map's nr_queues

Mustafa Ismail (2):
RDMA/irdma: Do not advertise 1GB page size for x722 RDMA/irdma: Fix sleep from invalid context BUG

Nicholas Kazlauskas (4):
drm/amd/display: Reset DMCUB before HW init drm/amd/display: Optimize bandwidth on following fast update drm/amd/display: Fix surface optimization regression on Carrizo drm/amd/display: Don't lock connection_mutex for DMUB HPD

Nick Desaulniers (1):
x86/extable: Prefer local labels in .set directives

Oleksandr Tymoshenko (2):
Revert "selftest/vm: verify remap destination address in mremap_test" Revert "selftest/vm: verify mmap addr in mremap_test"

Oleksij Rempel (2):
net: dsa: sja1105: silent spi_device_id warnings
net: dsa: vitesse-vsc73xx: silent spi_device_id warnings

Pali Rohár (1):
serial: mvebu-uart: correctly report configured baudrate value

Pawan Gupta (1):
x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts

Peter Zijlstra (9):
perf/core: Fix data race between perf_event_set_output() and perf_mmap_close() x86/uaccess: Implement macros for CMPXCHG on user addresses bitfield.h: Fix "type of reg too small for mask" test x86/entry_32: Remove .fixup usage
x86/extable: Extend extable functionality
x86/msr: Remove .fixup usage
x86/futex: Remove .fixup usage
x86/amd: Use IBPB for firmware calls
x86/entry_32: Fix segment exceptions

Piotr Skajewski (1):
ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero

Przemyslaw Patynowski (1):
iavf: Fix handling of dummy receive descriptors

Robert Hancock (1):
i2c: cadence: Change large transfer count reset logic to be unconditional

Sascha Hauer (1):
mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times

Sasha Neftin (2):
e1000e: Enable GPT clock before sending message to CSME Revert "e1000e: Fix possible HW unit hang after an s0ix exit"

Sean Christopherson (1):
KVM: x86: Use __try_cmpxchg_user() to emulate atomic accesses

Sean Wang (4):
Revert "mt76: mt7921: Fix the error handling path of mt7921_pci_probe()" Revert "mt76: mt7921e: fix possible probe failure after reboot"
mt76: mt7921: use physical addr to unify register access
mt76: mt7921e: fix possible probe failure after reboot

Sebastian Andrzej Siewior (1):
batman-adv: Use netif_rx_any_context() any.

Srinivas Neeli (1):
gpio: gpio-xilinx: Fix integer overflow

Steven Rostedt (Google) (1):
tracing: Have event format check not flag %p* on __get_dynamic_array()

Steven Rostedt (VMware) (1):
tracing: Place trace_pid_list logic into abstract functions

Sungjong Seo (1):
exfat: use updated exfat_chain directly during renaming

Suren Baghdasaryan (1):
mm/pagealloc: sysctl: change watermark_scale_factor max limit to 30%

Tariq Toukan (1):
net/tls: Fix race in TLS device down flow

Thomas Gleixner (5):
x86/extable: Tidy up redundant handler functions x86/extable: Get rid of redundant macros
x86/mce: Deduplicate exception handling
x86/extable: Rework the exception table mechanics x86/extable: Provide EX_TYPE_DEFAULT_MCE_SAFE and EX_TYPE_FAULT_MCE_SAFE

Vadim Pasternak (1):
i2c: mlxcpld: Fix register setting for 400KHz frequency

Vincent Whitchurch (1):
um: virtio_uml: Allow probing from devicetree

Vladimir Oltean (1):
pinctrl: armada-37xx: use raw spinlocks for regmap to avoid invalid wait context

Wang Cheng (1):
mm/mempolicy: fix uninit-value in mpol_rebind_policy()

Wayne Lin (2):
drm/amd/display: Add option to defer works of hpd_rx_irq drm/amd/display: Fork thread to offload work of hpd_rx_irq

William Dean (1):
pinctrl: ralink: Check for null return of devm_kcalloc

Wong Vee Khee (1):
net: stmmac: remove redunctant disable xPCS EEE call

Wonhyuk Yang (1):
tracing: Fix return value of trace_pid_write()

Xiaoming Ni (1):
sysctl: move some boundary constants from sysctl.c to sysctl_vals

Yuezhang Mo (1):
exfat: fix referencing wrong parent directory information after renaming

author maintainer
#1 lore raw
Documentation/admin-guide/sysctl/vm.rst +1 -1
index 5e795202111f..f4804ce37c58 100644
@@ -948,7 +948,7 @@ how much memory needs to be free before kswapd goes back to sleep.
 
 The unit is in fractions of 10,000. The default value of 10 means the
 distances between watermarks are 0.1% of the available memory in the
-node/system. The maximum value is 1000, or 10% of memory.
+node/system. The maximum value is 3000, or 30% of memory.
 
 A high rate of threads entering direct reclaim (allocstall) or kswapd
 going to sleep prematurely (kswapd_low_wmark_hit_quickly) can indicate
Makefile +1 -1
index 69bfff4d9c2d..d7ba0de250cb 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 15
-SUBLEVEL = 57
+SUBLEVEL = 58
 EXTRAVERSION =
 NAME = Trick or Treat
 
arch/alpha/kernel/srmcons.c +1 -1
index 90635ef5dafa..6dc952b0df4a 100644
@@ -59,7 +59,7 @@ srmcons_do_receive_chars(struct tty_port *port)
 	} while((result.bits.status & 1) && (++loops < 10));
 
 	if (count)
-		tty_schedule_flip(port);
+		tty_flip_buffer_push(port);
 
 	return count;
 }
arch/riscv/Makefile +1 -0
index e03f45f7711a..583e1ff0c0bf 100644
@@ -75,6 +75,7 @@ ifeq ($(CONFIG_PERF_EVENTS),y)
 endif
 
 KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-relax)
+KBUILD_AFLAGS_MODULE += $(call as-option,-Wa$(comma)-mno-relax)
 
 # GCC versions that support the "-mstrict-align" option default to allowing
 # unaligned accesses.  While unaligned accesses are explicitly allowed in the
arch/um/drivers/virtio_uml.c +69 -12

149 lines not on this page · raw message

arch/x86/entry/entry_32.S +14 -21
index 5bd3baf36d87..6b44263d7efb 100644
@@ -268,19 +268,16 @@
 1:	popl	%ds
 2:	popl	%es
 3:	popl	%fs
-	addl	$(4 + \pop), %esp	/* pop the unused "gs" slot */
+4:	addl	$(4 + \pop), %esp	/* pop the unused "gs" slot */
 	IRET_FRAME
-.pushsection .fixup, "ax"
-4:	movl	$0, (%esp)
-	jmp	1b
-5:	movl	$0, (%esp)
-	jmp	2b
-6:	movl	$0, (%esp)
-	jmp	3b
-.popsection
-	_ASM_EXTABLE(1b, 4b)
-	_ASM_EXTABLE(2b, 5b)
-	_ASM_EXTABLE(3b, 6b)
+
+	/*
+	 * There is no _ASM_EXTABLE_TYPE_REG() for ASM, however since this is
+	 * ASM the registers are known and we can trivially hard-code them.
+	 */
+	_ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_POP_ZERO|EX_REG_DS)
+	_ASM_EXTABLE_TYPE(2b, 3b, EX_TYPE_POP_ZERO|EX_REG_ES)
+	_ASM_EXTABLE_TYPE(3b, 4b, EX_TYPE_POP_ZERO|EX_REG_FS)
 .endm
 
 .macro RESTORE_ALL_NMI cr3_reg:req pop=0
@@ -923,10 +920,8 @@ SYM_FUNC_START(entry_SYSENTER_32)
 	sti
 	sysexit
 
-.pushsection .fixup, "ax"
-2:	movl	$0, PT_FS(%esp)
-	jmp	1b
-.popsection
+2:	movl    $0, PT_FS(%esp)
+	jmp     1b
 	_ASM_EXTABLE(1b, 2b)
 
 .Lsysenter_fix_flags:
@@ -994,8 +989,7 @@ restore_all_switch_stack:
 	 */
 	iret
 
-.section .fixup, "ax"
-SYM_CODE_START(asm_iret_error)
+.Lasm_iret_error:
 	pushl	$0				# no error code
 	pushl	$iret_error
 
@@ -1012,9 +1006,8 @@ SYM_CODE_START(asm_iret_error)
 #endif
 
 	jmp	handle_exception
-SYM_CODE_END(asm_iret_error)
-.previous
-	_ASM_EXTABLE(.Lirq_return, asm_iret_error)
+
+	_ASM_EXTABLE(.Lirq_return, .Lasm_iret_error)
 SYM_FUNC_END(entry_INT80_32)
 
 .macro FIXUP_ESPFIX_STACK
arch/x86/include/asm/asm.h +56 -29

116 lines not on this page · raw message

arch/x86/include/asm/cpufeatures.h +1 -0
index 3781a7f489ef..d370718e222b 100644
@@ -300,6 +300,7 @@
 #define X86_FEATURE_RETPOLINE_LFENCE	(11*32+13) /* "" Use LFENCE for Spectre variant 2 */
 #define X86_FEATURE_RETHUNK		(11*32+14) /* "" Use REturn THUNK */
 #define X86_FEATURE_UNRET		(11*32+15) /* "" AMD BTB untrain return */
+#define X86_FEATURE_USE_IBPB_FW		(11*32+16) /* "" Use IBPB during runtime firmware calls */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */
 #define X86_FEATURE_AVX_VNNI		(12*32+ 4) /* AVX VNNI instructions */
arch/x86/include/asm/extable.h +28 -16

68 lines not on this page · raw message

arch/x86/include/asm/extable_fixup_types.h new file +58 -0

58 lines not on this page · raw message

arch/x86/include/asm/fpu/internal.h +2 -2
index 5a18694a89b2..ce6fc4f8d1d1 100644
@@ -126,7 +126,7 @@ extern void save_fpregs_to_fpstate(struct fpu *fpu);
 #define kernel_insn(insn, output, input...)				\
 	asm volatile("1:" #insn "\n\t"					\
 		     "2:\n"						\
-		     _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_fprestore)	\
+		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_FPU_RESTORE)	\
 		     : output : input)
 
 static inline int fnsave_to_user_sigframe(struct fregs_state __user *fx)
@@ -253,7 +253,7 @@ static inline void fxsave(struct fxregs_state *fx)
 				 XRSTORS, X86_FEATURE_XSAVES)		\
 		     "\n"						\
 		     "3:\n"						\
-		     _ASM_EXTABLE_HANDLE(661b, 3b, ex_handler_fprestore)\
+		     _ASM_EXTABLE_TYPE(661b, 3b, EX_TYPE_FPU_RESTORE)	\
 		     :							\
 		     : "D" (st), "m" (*st), "a" (lmask), "d" (hmask)	\
 		     : "memory")
arch/x86/include/asm/futex.h +8 -20
index f9c00110a69a..99d345b686fa 100644
@@ -17,13 +17,9 @@ do {								\
 	int oldval = 0, ret;					\
 	asm volatile("1:\t" insn "\n"				\
 		     "2:\n"					\
-		     "\t.section .fixup,\"ax\"\n"		\
-		     "3:\tmov\t%3, %1\n"			\
-		     "\tjmp\t2b\n"				\
-		     "\t.previous\n"				\
-		     _ASM_EXTABLE_UA(1b, 3b)			\
+		     _ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_EFAULT_REG, %1) \
 		     : "=r" (oldval), "=r" (ret), "+m" (*uaddr)	\
-		     : "i" (-EFAULT), "0" (oparg), "1" (0));	\
+		     : "0" (oparg), "1" (0));	\
 	if (ret)						\
 		goto label;					\
 	*oval = oldval;						\
@@ -39,15 +35,11 @@ do {								\
 		     "3:\t" LOCK_PREFIX "cmpxchgl %3, %2\n"	\
 		     "\tjnz\t2b\n"				\
 		     "4:\n"					\
-		     "\t.section .fixup,\"ax\"\n"		\
-		     "5:\tmov\t%5, %1\n"			\
-		     "\tjmp\t4b\n"				\
-		     "\t.previous\n"				\
-		     _ASM_EXTABLE_UA(1b, 5b)			\
-		     _ASM_EXTABLE_UA(3b, 5b)			\
+		     _ASM_EXTABLE_TYPE_REG(1b, 4b, EX_TYPE_EFAULT_REG, %1) \
+		     _ASM_EXTABLE_TYPE_REG(3b, 4b, EX_TYPE_EFAULT_REG, %1) \
 		     : "=&a" (oldval), "=&r" (ret),		\
 		       "+m" (*uaddr), "=&r" (tem)		\
-		     : "r" (oparg), "i" (-EFAULT), "1" (0));	\
+		     : "r" (oparg), "1" (0));			\
 	if (ret)						\
 		goto label;					\
 	*oval = oldval;						\
@@ -95,15 +87,11 @@ static inline int futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
 	if (!user_access_begin(uaddr, sizeof(u32)))
 		return -EFAULT;
 	asm volatile("\n"
-		"1:\t" LOCK_PREFIX "cmpxchgl %4, %2\n"
+		"1:\t" LOCK_PREFIX "cmpxchgl %3, %2\n"
 		"2:\n"
-		"\t.section .fixup, \"ax\"\n"
-		"3:\tmov     %3, %0\n"
-		"\tjmp     2b\n"
-		"\t.previous\n"
-		_ASM_EXTABLE_UA(1b, 3b)
+		_ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_EFAULT_REG, %0) \
 		: "+r" (ret), "=a" (oldval), "+m" (*uaddr)
-		: "i" (-EFAULT), "r" (newval), "1" (oldval)
+		: "r" (newval), "1" (oldval)
 		: "memory"
 	);
 	user_access_end();
arch/x86/include/asm/insn-eval.h +2 -0
index 4ec3613551e3..3df123f437c9 100644
@@ -15,6 +15,8 @@
 #define INSN_CODE_SEG_OPND_SZ(params) (params & 0xf)
 #define INSN_CODE_SEG_PARAMS(oper_sz, addr_sz) (oper_sz | (addr_sz << 4))
 
+int pt_regs_offset(struct pt_regs *regs, int regno);
+
 bool insn_has_rep_prefix(struct insn *insn);
 void __user *insn_get_addr_ref(struct insn *insn, struct pt_regs *regs);
 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs);
arch/x86/include/asm/mshyperv.h +0 -7
index adccbc209169..c2b9ab94408e 100644
@@ -176,13 +176,6 @@ bool hv_vcpu_is_preempted(int vcpu);
 static inline void hv_apic_init(void) {}
 #endif
 
-static inline void hv_set_msi_entry_from_desc(union hv_msi_entry *msi_entry,
-					      struct msi_desc *msi_desc)
-{
-	msi_entry->address.as_uint32 = msi_desc->msg.address_lo;
-	msi_entry->data.as_uint32 = msi_desc->msg.data;
-}
-
 struct irq_domain *hv_create_pci_msi_domain(void);
 
 int hv_map_ioapic_interrupt(int ioapic_id, bool level, int vcpu, int vector,
arch/x86/include/asm/msr.h +10 -20
index a3f87f1015d3..d42e6c6b47b1 100644
@@ -92,7 +92,7 @@ static __always_inline unsigned long long __rdmsr(unsigned int msr)
 
 	asm volatile("1: rdmsr\n"
 		     "2:\n"
-		     _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_rdmsr_unsafe)
+		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_RDMSR)
 		     : EAX_EDX_RET(val, low, high) : "c" (msr));
 
 	return EAX_EDX_VAL(val, low, high);
@@ -102,7 +102,7 @@ static __always_inline void __wrmsr(unsigned int msr, u32 low, u32 high)
 {
 	asm volatile("1: wrmsr\n"
 		     "2:\n"
-		     _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_wrmsr_unsafe)
+		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_WRMSR)
 		     : : "c" (msr), "a"(low), "d" (high) : "memory");
 }
 
@@ -137,17 +137,11 @@ static inline unsigned long long native_read_msr_safe(unsigned int msr,
 {
 	DECLARE_ARGS(val, low, high);
 
-	asm volatile("2: rdmsr ; xor %[err],%[err]\n"
-		     "1:\n\t"
-		     ".section .fixup,\"ax\"\n\t"
-		     "3: mov %[fault],%[err]\n\t"
-		     "xorl %%eax, %%eax\n\t"
-		     "xorl %%edx, %%edx\n\t"
-		     "jmp 1b\n\t"
-		     ".previous\n\t"
-		     _ASM_EXTABLE(2b, 3b)
+	asm volatile("1: rdmsr ; xor %[err],%[err]\n"
+		     "2:\n\t"
+		     _ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_RDMSR_SAFE, %[err])
 		     : [err] "=r" (*err), EAX_EDX_RET(val, low, high)
-		     : "c" (msr), [fault] "i" (-EIO));
+		     : "c" (msr));
 	if (tracepoint_enabled(read_msr))
 		do_trace_read_msr(msr, EAX_EDX_VAL(val, low, high), *err);
 	return EAX_EDX_VAL(val, low, high);
@@ -169,15 +163,11 @@ native_write_msr_safe(unsigned int msr, u32 low, u32 high)
 {
 	int err;
 
-	asm volatile("2: wrmsr ; xor %[err],%[err]\n"
-		     "1:\n\t"
-		     ".section .fixup,\"ax\"\n\t"
-		     "3:  mov %[fault],%[err] ; jmp 1b\n\t"
-		     ".previous\n\t"
-		     _ASM_EXTABLE(2b, 3b)
+	asm volatile("1: wrmsr ; xor %[err],%[err]\n"
+		     "2:\n\t"
+		     _ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_WRMSR_SAFE, %[err])
 		     : [err] "=a" (err)
-		     : "c" (msr), "0" (low), "d" (high),
-		       [fault] "i" (-EIO)
+		     : "c" (msr), "0" (low), "d" (high)
 		     : "memory");
 	if (tracepoint_enabled(write_msr))
 		do_trace_write_msr(msr, ((u64)high << 32 | low), err);
arch/x86/include/asm/nospec-branch.h +2 -0
index 0a87b2bc4ef9..9a79b96e5521 100644
@@ -298,6 +298,8 @@ do {									\
 	alternative_msr_write(MSR_IA32_SPEC_CTRL,			\
 			      spec_ctrl_current() | SPEC_CTRL_IBRS,	\
 			      X86_FEATURE_USE_IBRS_FW);			\
+	alternative_msr_write(MSR_IA32_PRED_CMD, PRED_CMD_IBPB,		\
+			      X86_FEATURE_USE_IBPB_FW);			\
 } while (0)
 
 #define firmware_restrict_branch_speculation_end()			\
arch/x86/include/asm/segment.h +1 -1
index 72044026eb3c..8dd8e8ec9fa5 100644
@@ -339,7 +339,7 @@ static inline void __loadsegment_fs(unsigned short value)
 		     "1:	movw %0, %%fs			\n"
 		     "2:					\n"
 
-		     _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_clear_fs)
+		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_CLEAR_FS)
 
 		     : : "rm" (value) : "memory");
 }
arch/x86/include/asm/uaccess.h +142 -0

154 lines not on this page · raw message

arch/x86/kernel/alternative.c +3 -1
index 8ed9ccf53b62..98a8b59f87f3 100644
@@ -554,7 +554,9 @@ void __init_or_module noinline apply_returns(s32 *start, s32 *end)
 			dest = addr + insn.length + insn.immediate.value;
 
 		if (__static_call_fixup(addr, op, dest) ||
-		    WARN_ON_ONCE(dest != &__x86_return_thunk))
+		    WARN_ONCE(dest != &__x86_return_thunk,
+			      "missing return thunk: %pS-%pS: %*ph",
+			      addr, dest, 5, addr))
 			continue;
 
 		DPRINTK("return thunk at: %pS (%px) len: %d to: %pS",
arch/x86/kernel/cpu/bugs.c +13 -1
index 650333fce795..18a7ea1cffda 100644
@@ -968,6 +968,7 @@ static inline const char *spectre_v2_module_string(void) { return ""; }
 #define SPECTRE_V2_LFENCE_MSG "WARNING: LFENCE mitigation is not recommended for this CPU, data leaks possible!\n"
 #define SPECTRE_V2_EIBRS_EBPF_MSG "WARNING: Unprivileged eBPF is enabled with eIBRS on, data leaks possible via Spectre v2 BHB attacks!\n"
 #define SPECTRE_V2_EIBRS_LFENCE_EBPF_SMT_MSG "WARNING: Unprivileged eBPF is enabled with eIBRS+LFENCE mitigation and SMT, data leaks possible via Spectre v2 BHB attacks!\n"
+#define SPECTRE_V2_IBRS_PERF_MSG "WARNING: IBRS mitigation selected on Enhanced IBRS CPU, this may cause unnecessary performance loss\n"
 
 #ifdef CONFIG_BPF_SYSCALL
 void unpriv_ebpf_notify(int new_state)
@@ -1408,6 +1409,8 @@ static void __init spectre_v2_select_mitigation(void)
 
 	case SPECTRE_V2_IBRS:
 		setup_force_cpu_cap(X86_FEATURE_KERNEL_IBRS);
+		if (boot_cpu_has(X86_FEATURE_IBRS_ENHANCED))
+			pr_warn(SPECTRE_V2_IBRS_PERF_MSG);
 		break;
 
 	case SPECTRE_V2_LFENCE:
@@ -1509,7 +1512,16 @@ static void __init spectre_v2_select_mitigation(void)
 	 * the CPU supports Enhanced IBRS, kernel might un-intentionally not
 	 * enable IBRS around firmware calls.
 	 */
-	if (boot_cpu_has(X86_FEATURE_IBRS) && !spectre_v2_in_ibrs_mode(mode)) {
+	if (boot_cpu_has_bug(X86_BUG_RETBLEED) &&
+	    (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
+	     boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)) {
+
+		if (retbleed_cmd != RETBLEED_CMD_IBPB) {
+			setup_force_cpu_cap(X86_FEATURE_USE_IBPB_FW);
+			pr_info("Enabling Speculation Barrier for firmware calls\n");
+		}
+
+	} else if (boot_cpu_has(X86_FEATURE_IBRS) && !spectre_v2_in_ibrs_mode(mode)) {
 		setup_force_cpu_cap(X86_FEATURE_USE_IBRS_FW);
 		pr_info("Enabling Restricted Speculation for firmware calls\n");
 	}
arch/x86/kernel/cpu/mce/core.c +11 -29
index 848cfb013f58..773037e5fd76 100644
@@ -382,13 +382,16 @@ static int msr_to_offset(u32 msr)
 	return -1;
 }
 
-__visible bool ex_handler_rdmsr_fault(const struct exception_table_entry *fixup,
-				      struct pt_regs *regs, int trapnr,
-				      unsigned long error_code,
-				      unsigned long fault_addr)
+void ex_handler_msr_mce(struct pt_regs *regs, bool wrmsr)
 {
-	pr_emerg("MSR access error: RDMSR from 0x%x at rIP: 0x%lx (%pS)\n",
-		 (unsigned int)regs->cx, regs->ip, (void *)regs->ip);
+	if (wrmsr) {
+		pr_emerg("MSR access error: WRMSR to 0x%x (tried to write 0x%08x%08x) at rIP: 0x%lx (%pS)\n",
+			 (unsigned int)regs->cx, (unsigned int)regs->dx, (unsigned int)regs->ax,
+			 regs->ip, (void *)regs->ip);
+	} else {
+		pr_emerg("MSR access error: RDMSR from 0x%x at rIP: 0x%lx (%pS)\n",
+			 (unsigned int)regs->cx, regs->ip, (void *)regs->ip);
+	}
 
 	show_stack_regs(regs);
 
@@ -396,8 +399,6 @@ __visible bool ex_handler_rdmsr_fault(const struct exception_table_entry *fixup,
 
 	while (true)
 		cpu_relax();
-
-	return true;
 }
 
 /* MSR access wrappers used for error injection */
@@ -429,32 +430,13 @@ static noinstr u64 mce_rdmsrl(u32 msr)
 	 */
 	asm volatile("1: rdmsr\n"
 		     "2:\n"
-		     _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_rdmsr_fault)
+		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_RDMSR_IN_MCE)
 		     : EAX_EDX_RET(val, low, high) : "c" (msr));
 
 
 	return EAX_EDX_VAL(val, low, high);
 }
 
-__visible bool ex_handler_wrmsr_fault(const struct exception_table_entry *fixup,
-				      struct pt_regs *regs, int trapnr,
-				      unsigned long error_code,
-				      unsigned long fault_addr)
-{
-	pr_emerg("MSR access error: WRMSR to 0x%x (tried to write 0x%08x%08x) at rIP: 0x%lx (%pS)\n",
-		 (unsigned int)regs->cx, (unsigned int)regs->dx, (unsigned int)regs->ax,
-		  regs->ip, (void *)regs->ip);
-
-	show_stack_regs(regs);
-
-	panic("MCA architectural violation!\n");
-
-	while (true)
-		cpu_relax();
-
-	return true;
-}
-
 static noinstr void mce_wrmsrl(u32 msr, u64 v)
 {
 	u32 low, high;
@@ -479,7 +461,7 @@ static noinstr void mce_wrmsrl(u32 msr, u64 v)
 	/* See comment in mce_rdmsrl() */
 	asm volatile("1: wrmsr\n"
 		     "2:\n"
-		     _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_wrmsr_fault)
+		     _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_WRMSR_IN_MCE)
 		     : : "c" (msr), "a"(low), "d" (high) : "memory");
 }
 
arch/x86/kernel/cpu/mce/internal.h +0 -10
index 88dcc79cfb07..80dc94313bcf 100644
@@ -186,14 +186,4 @@ extern bool amd_filter_mce(struct mce *m);
 static inline bool amd_filter_mce(struct mce *m)			{ return false; };
 #endif
 
-__visible bool ex_handler_rdmsr_fault(const struct exception_table_entry *fixup,
-				      struct pt_regs *regs, int trapnr,
-				      unsigned long error_code,
-				      unsigned long fault_addr);
-
-__visible bool ex_handler_wrmsr_fault(const struct exception_table_entry *fixup,
-				      struct pt_regs *regs, int trapnr,
-				      unsigned long error_code,
-				      unsigned long fault_addr);
-
 #endif /* __X86_MCE_INTERNAL_H__ */
arch/x86/kernel/cpu/mce/severity.c +12 -11
index 17e631443116..d9b77a74f8d2 100644
@@ -265,25 +265,26 @@ static bool is_copy_from_user(struct pt_regs *regs)
  */
 static int error_context(struct mce *m, struct pt_regs *regs)
 {
-	enum handler_type t;
-
 	if ((m->cs & 3) == 3)
 		return IN_USER;
 	if (!mc_recoverable(m->mcgstatus))
 		return IN_KERNEL;
 
-	t = ex_get_fault_handler_type(m->ip);
-	if (t == EX_HANDLER_FAULT) {
-		m->kflags |= MCE_IN_KERNEL_RECOV;
-		return IN_KERNEL_RECOV;
-	}
-	if (t == EX_HANDLER_UACCESS && regs && is_copy_from_user(regs)) {
-		m->kflags |= MCE_IN_KERNEL_RECOV;
+	switch (ex_get_fixup_type(m->ip)) {
+	case EX_TYPE_UACCESS:
+	case EX_TYPE_COPY:
+		if (!regs || !is_copy_from_user(regs))
+			return IN_KERNEL;
 		m->kflags |= MCE_IN_KERNEL_COPYIN;
+		fallthrough;
+	case EX_TYPE_FAULT:
+	case EX_TYPE_FAULT_MCE_SAFE:
+	case EX_TYPE_DEFAULT_MCE_SAFE:
+		m->kflags |= MCE_IN_KERNEL_RECOV;
 		return IN_KERNEL_RECOV;
+	default:
+		return IN_KERNEL;
 	}
-
-	return IN_KERNEL;
 }
 
 static int mce_severity_amd_smca(struct mce *m, enum context err_ctx)
arch/x86/kvm/x86.c +14 -21
index 4525d0b25a43..bd410926fda5 100644
@@ -6894,15 +6894,8 @@ static int emulator_write_emulated(struct x86_emulate_ctxt *ctxt,
 				   exception, &write_emultor);
 }
 
-#define CMPXCHG_TYPE(t, ptr, old, new) \
-	(cmpxchg((t *)(ptr), *(t *)(old), *(t *)(new)) == *(t *)(old))
-
-#ifdef CONFIG_X86_64
-#  define CMPXCHG64(ptr, old, new) CMPXCHG_TYPE(u64, ptr, old, new)
-#else
-#  define CMPXCHG64(ptr, old, new) \
-	(cmpxchg64((u64 *)(ptr), *(u64 *)(old), *(u64 *)(new)) == *(u64 *)(old))
-#endif
+#define emulator_try_cmpxchg_user(t, ptr, old, new) \
+	(__try_cmpxchg_user((t __user *)(ptr), (t *)(old), *(t *)(new), efault ## t))
 
 static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt,
 				     unsigned long addr,
@@ -6911,12 +6904,11 @@ static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt,
 				     unsigned int bytes,
 				     struct x86_exception *exception)
 {
-	struct kvm_host_map map;
 	struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
 	u64 page_line_mask;
+	unsigned long hva;
 	gpa_t gpa;
-	char *kaddr;
-	bool exchanged;
+	int r;
 
 	/* guests cmpxchg8b have to be emulated atomically */
 	if (bytes > 8 || (bytes & (bytes - 1)))
@@ -6940,31 +6932,32 @@ static int emulator_cmpxchg_emulated(struct x86_emulate_ctxt *ctxt,
 	if (((gpa + bytes - 1) & page_line_mask) != (gpa & page_line_mask))
 		goto emul_write;
 
-	if (kvm_vcpu_map(vcpu, gpa_to_gfn(gpa), &map))
+	hva = kvm_vcpu_gfn_to_hva(vcpu, gpa_to_gfn(gpa));
+	if (kvm_is_error_hva(hva))
 		goto emul_write;
 
-	kaddr = map.hva + offset_in_page(gpa);
+	hva += offset_in_page(gpa);
 
 	switch (bytes) {
 	case 1:
-		exchanged = CMPXCHG_TYPE(u8, kaddr, old, new);
+		r = emulator_try_cmpxchg_user(u8, hva, old, new);
 		break;
 	case 2:
-		exchanged = CMPXCHG_TYPE(u16, kaddr, old, new);
+		r = emulator_try_cmpxchg_user(u16, hva, old, new);
 		break;
 	case 4:
-		exchanged = CMPXCHG_TYPE(u32, kaddr, old, new);
+		r = emulator_try_cmpxchg_user(u32, hva, old, new);
 		break;
 	case 8:
-		exchanged = CMPXCHG64(kaddr, old, new);
+		r = emulator_try_cmpxchg_user(u64, hva, old, new);
 		break;
 	default:
 		BUG();
 	}
 
-	kvm_vcpu_unmap(vcpu, &map, true);
-
-	if (!exchanged)
+	if (r < 0)
+		goto emul_write;
+	if (r)
 		return X86EMUL_CMPXCHG_FAILED;
 
 	kvm_page_track_write(vcpu, gpa, new, bytes);
arch/x86/lib/insn-eval.c +47 -24

86 lines not on this page · raw message

arch/x86/mm/extable.c +105 -88

269 lines not on this page · raw message

arch/x86/net/bpf_jit_comp.c +2 -9
index 131f7ceb54dc..dccaab2113f9 100644
@@ -832,9 +832,7 @@ static int emit_atomic(u8 **pprog, u8 atomic_op,
 	return 0;
 }
 
-static bool ex_handler_bpf(const struct exception_table_entry *x,
-			   struct pt_regs *regs, int trapnr,
-			   unsigned long error_code, unsigned long fault_addr)
+bool ex_handler_bpf(const struct exception_table_entry *x, struct pt_regs *regs)
 {
 	u32 reg = x->fixup >> 8;
 
@@ -1344,12 +1342,7 @@ st:			if (is_imm8(insn->off))
 				}
 				ex->insn = delta;
 
-				delta = (u8 *)ex_handler_bpf - (u8 *)&ex->handler;
-				if (!is_simm32(delta)) {
-					pr_err("extable->handler doesn't fit into 32-bit\n");
-					return -EFAULT;
-				}
-				ex->handler = delta;
+				ex->data = EX_TYPE_BPF;
 
 				if (dst_reg > BPF_REG_9) {
 					pr_err("verifier error\n");
drivers/accessibility/speakup/spk_ttyio.c +2 -2
index 0d1f397cd896..08cf8a17754b 100644
@@ -88,7 +88,7 @@ static int spk_ttyio_receive_buf2(struct tty_struct *tty,
 	}
 
 	if (!ldisc_data->buf_free)
-		/* ttyio_in will tty_schedule_flip */
+		/* ttyio_in will tty_flip_buffer_push */
 		return 0;
 
 	/* Make sure the consumer has read buf before we have seen
@@ -312,7 +312,7 @@ static unsigned char ttyio_in(struct spk_synth *in_synth, int timeout)
 	mb();
 	ldisc_data->buf_free = true;
 	/* Let TTY push more characters */
-	tty_schedule_flip(tty->port);
+	tty_flip_buffer_push(tty->port);
 
 	return rv;
 }
drivers/bus/mhi/pci_generic.c +79 -0

90 lines not on this page · raw message

drivers/crypto/qat/qat_4xxx/adf_drv.c +0 -7
index 8fd44703115f..359fb7989dfb 100644
@@ -52,13 +52,6 @@ static int adf_crypto_dev_config(struct adf_accel_dev *accel_dev)
 	if (ret)
 		goto err;
 
-	/* Temporarily set the number of crypto instances to zero to avoid
-	 * registering the crypto algorithms.
-	 * This will be removed when the algorithms will support the
-	 * CRYPTO_TFM_REQ_MAY_BACKLOG flag
-	 */
-	instances = 0;
-
 	for (i = 0; i < instances; i++) {
 		val = i;
 		bank = i * 2;
drivers/crypto/qat/qat_common/Makefile +1 -0
index 9c57abdf56b7..fc477f016213 100644
@@ -15,6 +15,7 @@ intel_qat-objs := adf_cfg.o \
 	qat_crypto.o \
 	qat_algs.o \
 	qat_asym_algs.o \
+	qat_algs_send.o \
 	qat_uclo.o \
 	qat_hal.o
 
drivers/crypto/qat/qat_common/adf_transport.c +11 -0
index 8ba28409fb74..630d0483c4e0 100644
@@ -8,6 +8,9 @@
 #include "adf_cfg.h"
 #include "adf_common_drv.h"
 
+#define ADF_MAX_RING_THRESHOLD		80
+#define ADF_PERCENT(tot, percent)	(((tot) * (percent)) / 100)
+
 static inline u32 adf_modulo(u32 data, u32 shift)
 {
 	u32 div = data >> shift;
@@ -77,6 +80,11 @@ static void adf_disable_ring_irq(struct adf_etr_bank_data *bank, u32 ring)
 				      bank->irq_mask);
 }
 
+bool adf_ring_nearly_full(struct adf_etr_ring_data *ring)
+{
+	return atomic_read(ring->inflights) > ring->threshold;
+}
+
 int adf_send_message(struct adf_etr_ring_data *ring, u32 *msg)
 {
 	struct adf_hw_csr_ops *csr_ops = GET_CSR_OPS(ring->bank->accel_dev);
@@ -217,6 +225,7 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
 	struct adf_etr_bank_data *bank;
 	struct adf_etr_ring_data *ring;
 	char val[ADF_CFG_MAX_VAL_LEN_IN_BYTES];
+	int max_inflights;
 	u32 ring_num;
 	int ret;
 
@@ -263,6 +272,8 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
 	ring->ring_size = adf_verify_ring_size(msg_size, num_msgs);
 	ring->head = 0;
 	ring->tail = 0;
+	max_inflights = ADF_MAX_INFLIGHTS(ring->ring_size, ring->msg_size);
+	ring->threshold = ADF_PERCENT(max_inflights, ADF_MAX_RING_THRESHOLD);
 	atomic_set(ring->inflights, 0);
 	ret = adf_init_ring(ring);
 	if (ret)
drivers/crypto/qat/qat_common/adf_transport.h +1 -0
index 2c95f1697c76..e6ef6f9b7691 100644
@@ -14,6 +14,7 @@ int adf_create_ring(struct adf_accel_dev *accel_dev, const char *section,
 		    const char *ring_name, adf_callback_fn callback,
 		    int poll_mode, struct adf_etr_ring_data **ring_ptr);
 
+bool adf_ring_nearly_full(struct adf_etr_ring_data *ring);
 int adf_send_message(struct adf_etr_ring_data *ring, u32 *msg);
 void adf_remove_ring(struct adf_etr_ring_data *ring);
 #endif
drivers/crypto/qat/qat_common/adf_transport_internal.h +1 -0
index 501bcf0f1809..8b2c92ba7ca1 100644
@@ -22,6 +22,7 @@ struct adf_etr_ring_data {
 	spinlock_t lock;	/* protects ring data struct */
 	u16 head;
 	u16 tail;
+	u32 threshold;
 	u8 ring_number;
 	u8 ring_size;
 	u8 msg_size;
drivers/crypto/qat/qat_common/qat_algs.c +75 -63

252 lines not on this page · raw message

drivers/crypto/qat/qat_common/qat_algs_send.c new file +86 -0

86 lines not on this page · raw message

drivers/crypto/qat/qat_common/qat_algs_send.h new file +11 -0
new file mode 100644
index 000000000000..5ce9f4f69d8f
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
+/* Copyright(c) 2022 Intel Corporation */
+#ifndef QAT_ALGS_SEND_H
+#define QAT_ALGS_SEND_H
+
+#include "qat_crypto.h"
+
+int qat_alg_send_message(struct qat_alg_req *req);
+void qat_alg_send_backlog(struct qat_instance_backlog *backlog);
+
+#endif
drivers/crypto/qat/qat_common/qat_asym_algs.c +149 -155

525 lines not on this page · raw message

drivers/crypto/qat/qat_common/qat_crypto.c +3 -7
index 3efbb3883601..994e43fab0a4 100644
@@ -136,13 +136,6 @@ int qat_crypto_dev_config(struct adf_accel_dev *accel_dev)
 	if (ret)
 		goto err;
 
-	/* Temporarily set the number of crypto instances to zero to avoid
-	 * registering the crypto algorithms.
-	 * This will be removed when the algorithms will support the
-	 * CRYPTO_TFM_REQ_MAY_BACKLOG flag
-	 */
-	instances = 0;
-
 	for (i = 0; i < instances; i++) {
 		val = i;
 		snprintf(key, sizeof(key), ADF_CY "%d" ADF_RING_ASYM_BANK_NUM, i);
@@ -328,6 +321,9 @@ static int qat_crypto_create_instances(struct adf_accel_dev *accel_dev)
 				      &inst->pke_rx);
 		if (ret)
 			goto err;
+
+		INIT_LIST_HEAD(&inst->backlog.list);
+		spin_lock_init(&inst->backlog.lock);
 	}
 	return 0;
 err:
drivers/crypto/qat/qat_common/qat_crypto.h +39 -0
index b6a4c95ae003..245b6d9a3650 100644
@@ -9,6 +9,19 @@
 #include "adf_accel_devices.h"
 #include "icp_qat_fw_la.h"
 
+struct qat_instance_backlog {
+	struct list_head list;
+	spinlock_t lock; /* protects backlog list */
+};
+
+struct qat_alg_req {
+	u32 *fw_req;
+	struct adf_etr_ring_data *tx_ring;
+	struct crypto_async_request *base;
+	struct list_head list;
+	struct qat_instance_backlog *backlog;
+};
+
 struct qat_crypto_instance {
 	struct adf_etr_ring_data *sym_tx;
 	struct adf_etr_ring_data *sym_rx;
@@ -19,8 +32,29 @@ struct qat_crypto_instance {
 	unsigned long state;
 	int id;
 	atomic_t refctr;
+	struct qat_instance_backlog backlog;
 };
 
+#define QAT_MAX_BUFF_DESC	4
+
+struct qat_alg_buf {
+	u32 len;
+	u32 resrvd;
+	u64 addr;
+} __packed;
+
+struct qat_alg_buf_list {
+	u64 resrvd;
+	u32 num_bufs;
+	u32 num_mapped_bufs;
+	struct qat_alg_buf bufers[];
+} __packed;
+
+struct qat_alg_fixed_buf_list {
+	struct qat_alg_buf_list sgl_hdr;
+	struct qat_alg_buf descriptors[QAT_MAX_BUFF_DESC];
+} __packed __aligned(64);
+
 struct qat_crypto_request_buffs {
 	struct qat_alg_buf_list *bl;
 	dma_addr_t blp;
@@ -28,6 +62,10 @@ struct qat_crypto_request_buffs {
 	dma_addr_t bloutp;
 	size_t sz;
 	size_t sz_out;
+	bool sgl_src_valid;
+	bool sgl_dst_valid;
+	struct qat_alg_fixed_buf_list sgl_src;
+	struct qat_alg_fixed_buf_list sgl_dst;
 };
 
 struct qat_crypto_request;
@@ -53,6 +91,7 @@ struct qat_crypto_request {
 		u8 iv[AES_BLOCK_SIZE];
 	};
 	bool encryption;
+	struct qat_alg_req alg_req;
 };
 
 static inline bool adf_hw_dev_has_crypto(struct adf_accel_dev *accel_dev)
drivers/gpio/gpio-pca953x.c +14 -8
index 33683295a0bf..64befd6f702b 100644
@@ -351,6 +351,9 @@ static const struct regmap_config pca953x_i2c_regmap = {
 	.reg_bits = 8,
 	.val_bits = 8,
 
+	.use_single_read = true,
+	.use_single_write = true,
+
 	.readable_reg = pca953x_readable_register,
 	.writeable_reg = pca953x_writeable_register,
 	.volatile_reg = pca953x_volatile_register,
@@ -894,15 +897,18 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
 static int device_pca95xx_init(struct pca953x_chip *chip, u32 invert)
 {
 	DECLARE_BITMAP(val, MAX_LINE);
+	u8 regaddr;
 	int ret;
 
-	ret = regcache_sync_region(chip->regmap, chip->regs->output,
-				   chip->regs->output + NBANK(chip));
+	regaddr = pca953x_recalc_addr(chip, chip->regs->output, 0);
+	ret = regcache_sync_region(chip->regmap, regaddr,
+				   regaddr + NBANK(chip) - 1);
 	if (ret)
 		goto out;
 
-	ret = regcache_sync_region(chip->regmap, chip->regs->direction,
-				   chip->regs->direction + NBANK(chip));
+	regaddr = pca953x_recalc_addr(chip, chip->regs->direction, 0);
+	ret = regcache_sync_region(chip->regmap, regaddr,
+				   regaddr + NBANK(chip) - 1);
 	if (ret)
 		goto out;
 
@@ -1115,14 +1121,14 @@ static int pca953x_regcache_sync(struct device *dev)
 	 * sync these registers first and only then sync the rest.
 	 */
 	regaddr = pca953x_recalc_addr(chip, chip->regs->direction, 0);
-	ret = regcache_sync_region(chip->regmap, regaddr, regaddr + NBANK(chip));
+	ret = regcache_sync_region(chip->regmap, regaddr, regaddr + NBANK(chip) - 1);
 	if (ret) {
 		dev_err(dev, "Failed to sync GPIO dir registers: %d\n", ret);
 		return ret;
 	}
 
 	regaddr = pca953x_recalc_addr(chip, chip->regs->output, 0);
-	ret = regcache_sync_region(chip->regmap, regaddr, regaddr + NBANK(chip));
+	ret = regcache_sync_region(chip->regmap, regaddr, regaddr + NBANK(chip) - 1);
 	if (ret) {
 		dev_err(dev, "Failed to sync GPIO out registers: %d\n", ret);
 		return ret;
@@ -1132,7 +1138,7 @@ static int pca953x_regcache_sync(struct device *dev)
 	if (chip->driver_data & PCA_PCAL) {
 		regaddr = pca953x_recalc_addr(chip, PCAL953X_IN_LATCH, 0);
 		ret = regcache_sync_region(chip->regmap, regaddr,
-					   regaddr + NBANK(chip));
+					   regaddr + NBANK(chip) - 1);
 		if (ret) {
 			dev_err(dev, "Failed to sync INT latch registers: %d\n",
 				ret);
@@ -1141,7 +1147,7 @@ static int pca953x_regcache_sync(struct device *dev)
 
 		regaddr = pca953x_recalc_addr(chip, PCAL953X_INT_MASK, 0);
 		ret = regcache_sync_region(chip->regmap, regaddr,
-					   regaddr + NBANK(chip));
+					   regaddr + NBANK(chip) - 1);
 		if (ret) {
 			dev_err(dev, "Failed to sync INT mask registers: %d\n",
 				ret);
drivers/gpio/gpio-xilinx.c +1 -1
index a1b66338d077..db616ae560a3 100644
@@ -99,7 +99,7 @@ static inline void xgpio_set_value32(unsigned long *map, int bit, u32 v)
 	const unsigned long offset = (bit % BITS_PER_LONG) & BIT(5);
 
 	map[index] &= ~(0xFFFFFFFFul << offset);
-	map[index] |= v << offset;
+	map[index] |= (unsigned long)v << offset;
 }
 
 static inline int xgpio_regoffset(struct xgpio_instance *chip, int ch)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +403 -43

376 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +96 -1

97 lines not on this page · raw message

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +17 -0
index 74885ff77f96..652cf108b3c2 100644

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

drivers/gpu/drm/amd/display/dc/core/dc.c +17 -7
index b37c4d2e7a1e..1bde9d4e82d4 100644

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

drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +56 -33

89 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/dc_link.h +5 -4
index 83845d006c54..9b7c32f7fd86 100644

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

drivers/gpu/drm/drm_gem_ttm_helper.c +8 -1
index ecf3d2a54a98..759c65bfd284 100644

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

drivers/gpu/drm/imx/dcss/dcss-dev.c +3 -0
index c849533ca83e..3f5750cc2673 100644

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

drivers/i2c/busses/i2c-cadence.c +5 -25
index 3d6f8ee355bf..630cfa4ddd46 100644

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

drivers/i2c/busses/i2c-mlxcpld.c +1 -1
index 015e11c4663f..077d716c73ca 100644

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

drivers/infiniband/hw/irdma/cm.c +0 -50

50 lines not on this page · raw message

drivers/infiniband/hw/irdma/i40iw_hw.c +1 -0
index 64148ad8a604..040d4e2b9767 100644

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

drivers/infiniband/hw/irdma/icrdma_hw.c +1 -0
index cf53b17510cd..5986fd906308 100644

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

drivers/infiniband/hw/irdma/irdma.h +1 -0
index 46c12334c735..4789e85d717b 100644

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

drivers/infiniband/hw/irdma/verbs.c +2 -2
index 8a3ac4257e86..0eef46428691 100644

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

drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c +22 -6
index b72b387c08ef..aef722dfdef5 100644

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

drivers/net/dsa/microchip/ksz_common.c +4 -1
index 7c2968a639eb..4c4e6990c0ae 100644

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

drivers/net/dsa/sja1105/sja1105_main.c +16 -0
index 924c3f129992..1a2a7536ff8a 100644

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

drivers/net/dsa/vitesse-vsc73xx-spi.c +10 -0
index 645398901e05..922ae22fad66 100644

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

drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c +4 -4
index 4af5561cbfc5..ddfe9208529a 100644

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

drivers/net/ethernet/emulex/benet/be_cmds.c +5 -5
index 649c5c429bd7..1288b5e3d220 100644

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

drivers/net/ethernet/emulex/benet/be_cmds.h +1 -1
index c30d6d6f0f3a..9e17d6a7ab8c 100644

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

drivers/net/ethernet/emulex/benet/be_ethtool.c +19 -12
index f9955308b93d..010a0024f3ce 100644

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

drivers/net/ethernet/intel/e1000e/hw.h +0 -1
index 13382df2f2ef..bcf680e83811 100644

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

drivers/net/ethernet/intel/e1000e/ich8lan.c +0 -4
index e6c8e6d5234f..9466f65a6da7 100644

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

drivers/net/ethernet/intel/e1000e/ich8lan.h +0 -1
index 638a3ddd7ada..2504b11c3169 100644

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

drivers/net/ethernet/intel/e1000e/netdev.c +4 -26
index ce48e630fe55..407bbb4cc236 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +5 -8
index 02594e4d6258..c801b128e5b2 100644

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

drivers/net/ethernet/intel/iavf/iavf_txrx.c +2 -3
index 3525eab8e9f9..5448ed0e0357 100644

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

drivers/net/ethernet/intel/igc/igc_main.c +3 -0
index f99819fc559d..2a84f57ea68b 100644

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

drivers/net/ethernet/intel/igc/igc_regs.h +4 -1
index e197a33d93a0..026c3b65fc37 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe.h +1 -0
index a604552fa634..c375a5d54b40 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +3 -0
index 750b02bb2fdc..8cb20af51ecd 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +6 -0
index aaebdae8b5ff..0078ae592616 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +5 -4
index d7d90cdce4f6..55de90d5ae59 100644

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

drivers/net/ethernet/netronome/nfp/flower/action.c +1 -1
index 2a432de11858..df5a6a0bf1d5 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +3 -0
index b21745368983..412abfabd28b 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +0 -8
index 8f563b446d5c..dc31501fec8f 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +11 -11
index 9c1e19ea6fcd..b4f83c865568 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +7 -1
index 11e1055e8260..9f5cac4000da 100644

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

drivers/net/tun.c +4 -1
index ea60453fe69a..f92d6a12831f 100644

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

drivers/net/usb/ax88179_178a.c +10 -10
index 0a2c3860179e..e1b9b78b474e 100644

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

drivers/net/usb/r8152.c +14 -2
index d467a9f3bb44..0d1d92ef7909 100644

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

drivers/net/wireless/intel/iwlwifi/fw/uefi.h +4 -1
index 45d0b36d79b5..d552c656ac9f 100644

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

drivers/net/wireless/mediatek/mt76/mac80211.c +1 -1
index d03aedc3286b..029599d68ca7 100644

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

drivers/net/wireless/mediatek/mt76/mt76.h +1 -1
index 6e4d69715927..d1f00706d41e 100644

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

drivers/net/wireless/mediatek/mt76/mt7603/main.c +1 -1
index 7f52a4a11cea..0b7b87b4cc21 100644

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

drivers/net/wireless/mediatek/mt76/mt7615/main.c +1 -1
index 60a41d082961..7c52a4d85cea 100644

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

drivers/net/wireless/mediatek/mt76/mt76x02_util.c +3 -1
index ccdbab341271..db7a4ffcad55 100644

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

drivers/net/wireless/mediatek/mt76/mt7915/main.c +1 -1
index c25f8da590dd..6aca470e2401 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/main.c +1 -1
index 13a7ae3d8351..6cb65391427f 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +20 -10
index dabc0de2ec65..9b490ff36bd6 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +1 -0
index 32d4f2cab94e..6eb03d6705a1 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/pci.c +15 -15
index 3d35838ef306..36e6495ae658 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/regs.h +11 -11
index 41c2855e7a3d..9266fb3909ca 100644

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

drivers/net/wireless/mediatek/mt76/tx.c +4 -5
index f0f7a913eaab..dce6f6b5f071 100644

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

drivers/nvme/host/core.c +9 -10
index 29b56ea01132..0c9cdbaf5cd6 100644

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

drivers/pci/controller/pci-hyperv.c +86 -20

106 lines not on this page · raw message

drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +45 -52

97 lines not on this page · raw message

drivers/pinctrl/ralink/Kconfig +6 -10
index a76ee3deb8c3..d0f0a8f2b9b7 100644

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

drivers/pinctrl/ralink/Makefile +1 -1
index a15610206ced..2c1323b74e96 100644

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

drivers/pinctrl/ralink/pinctrl-mt7620.c +126 -126

252 lines not on this page · raw message

drivers/pinctrl/ralink/pinctrl-mt7621.c +15 -15
index 7d96144c474e..14b89cb43d4c 100644

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

drivers/pinctrl/ralink/pinctrl-ralink.c new file +351 -0

351 lines not on this page · raw message

drivers/pinctrl/ralink/pinctrl-ralink.h new file +53 -0

53 lines not on this page · raw message

drivers/pinctrl/ralink/pinctrl-rt2880.c deleted +0 -349

349 lines not on this page · raw message

drivers/pinctrl/ralink/pinctrl-rt288x.c +10 -10
index 0744aebbace5..40c45140ff8a 100644

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

drivers/pinctrl/ralink/pinctrl-rt305x.c +22 -22

44 lines not on this page · raw message

drivers/pinctrl/ralink/pinctrl-rt3883.c +14 -14
index 3e0e1b4caa64..0b8674dbe188 100644

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

drivers/pinctrl/ralink/pinmux.h deleted +0 -53

53 lines not on this page · raw message

drivers/pinctrl/stm32/pinctrl-stm32.c +11 -7
index 97a4fb5a9328..d3fa8cf0d72c 100644

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

drivers/power/reset/arm-versatile-reboot.c +1 -0
index 08d0a07b58ef..c7624d7611a7 100644

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

drivers/s390/char/keyboard.h +2 -2
index c467589c7f45..c06d399b9b1f 100644

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

drivers/scsi/megaraid/megaraid_sas_base.c +3 -0
index bb3f78013a13..88e164e3d2ea 100644

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

drivers/scsi/ufs/ufshcd.c +1 -1
index 5c9a31f18b7f..4a7248421bcd 100644

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

drivers/spi/spi-bcm2835.c +8 -4
index 775c0bf2f923..0933948d7df3 100644

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

drivers/tty/goldfish.c +1 -1
index 0e32920af10d..7ca3cd8eb574 100644

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

drivers/tty/moxa.c +2 -2
index bf17e90858b8..a29ec5a93839 100644

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

drivers/tty/pty.c +2 -12
index 74bfabe5b453..752dab3356d7 100644

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

drivers/tty/serial/lpc32xx_hs.c +1 -1
index b199d7859961..07c4161eb4cc 100644

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

drivers/tty/serial/mvebu-uart.c +13 -12
index ab226da75f7b..8eb64898b159 100644

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

drivers/tty/tty.h +3 -0
index b710c5ef89ab..f310a8274df1 100644

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

drivers/tty/tty_buffer.c +44 -22

66 lines not on this page · raw message

drivers/tty/vt/keyboard.c +3 -3
index c7fbbcdcc346..3700cd057f27 100644

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

drivers/tty/vt/vt.c +1 -1
index 55283a7f973f..dfc1f4b445f3 100644

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

drivers/usb/host/xhci-dbgcap.c +62 -73

135 lines not on this page · raw message

drivers/usb/host/xhci-dbgcap.h +8 -5
index c70b78d504eb..8b5b363a0719 100644

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

drivers/usb/host/xhci-dbgtty.c +15 -7
index eb46e642e87a..18bcc96853ae 100644

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

drivers/usb/host/xhci.c +4 -2
index 94fe7d64e762..d76c10f9ad80 100644

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

fs/dlm/lock.c +2 -1
index bb9e85e8819c..9f93496d2cc9 100644

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

fs/exfat/namei.c +4 -27
index 9d8ada781250..8a7f4c0830f3 100644

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

fs/proc/proc_sysctl.c +1 -1
index 5d66faecd4ef..013fc5931bc3 100644

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

fs/xfs/libxfs/xfs_ag.h +21 -15
index 4c6f9045baca..3f597cad2c33 100644

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

fs/xfs/libxfs/xfs_btree_staging.c +2 -2
index ac9e80152b5c..89c8a1498df1 100644

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

fs/xfs/xfs_ioctl.c +1 -1
index 09269f478df9..fba52e75e98b 100644

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

fs/xfs/xfs_ioctl.h +3 -2
index 28453a6d4461..845d3bcab74b 100644

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

include/linux/bitfield.h +18 -1
index 4e035aca6f7e..6093fa6db260 100644

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

include/linux/skbuff.h +46 -1

47 lines not on this page · raw message

include/linux/sysctl.h +10 -3
index 1fa2b69c6fc3..fa372b4c2313 100644

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

include/linux/tty_flip.h +0 -1
index 32284992b31a..1fb727b7b969 100644

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

include/net/bluetooth/bluetooth.h +65 -0

65 lines not on this page · raw message

include/net/inet_hashtables.h +1 -1
index 98e1ec1a14f0..749bb1e46087 100644

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

include/net/inet_sock.h +7 -5
index d81b7f85819e..c307a547d2cb 100644

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

include/net/ip.h +3 -3
index a77a9e1c6c04..8462ced0c21e 100644

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

include/net/netns/ipv4.h +0 -1
index 6c5b2efc4f17..d60a10cfc382 100644

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

include/net/route.h +1 -1
index 2551f3f03b37..30610101ea14 100644

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

include/net/tcp.h +11 -7
index 3b97db2d438f..8ce8aafeef0f 100644

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

include/net/udp.h +1 -1
index 909ecf447e0f..438b1b01a56c 100644

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

include/trace/events/skb.h +41 -7

48 lines not on this page · raw message

kernel/bpf/core.c +5 -3
index 15946c11524e..4ce500eac2ef 100644

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

kernel/events/core.c +31 -14

45 lines not on this page · raw message

kernel/sched/deadline.c +4 -1
index fffcb1aa77b7..ee673a205e22 100644

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

kernel/sysctl.c +19 -25

44 lines not on this page · raw message

kernel/trace/Makefile +1 -0
index 6de5d4d63165..bedc5caceec7 100644

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

kernel/trace/ftrace.c +3 -3
index 53a1af21d25c..e215a9c96971 100644

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

kernel/trace/pid_list.c new file +160 -0

160 lines not on this page · raw message

kernel/trace/pid_list.h new file +13 -0
new file mode 100644
index 000000000000..80d0ecfe1536

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

kernel/trace/trace.c +31 -53

84 lines not on this page · raw message

kernel/trace/trace.h +10 -4
index 421374c304fc..d6763366a320 100644

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

kernel/trace/trace_events.c +10 -3
index c072e8b9849c..c4f654efb77a 100644

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

kernel/watch_queue.c +37 -16

53 lines not on this page · raw message

mm/mempolicy.c +1 -1
index e75872035c76..9db0158155e1 100644

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

net/batman-adv/bridge_loop_avoidance.c +1 -1
index 11f6ef657d82..17687848daec 100644

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

net/bluetooth/rfcomm/core.c +43 -7

50 lines not on this page · raw message

net/bluetooth/rfcomm/sock.c +10 -36

46 lines not on this page · raw message

net/bluetooth/sco.c +10 -20
index c7b43c75677f..9a8814d4565a 100644

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

net/core/dev.c +2 -1
index 6111506a4105..12b1811cb488 100644

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

net/core/drop_monitor.c +7 -3
index 1d99b731e5b2..78202141930f 100644

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

net/core/filter.c +2 -2
index 8b2bc855714b..ac64395611ae 100644

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

net/core/secure_seq.c +2 -2
index 7131cd1fb2ad..189eea1372d5 100644

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

net/core/skbuff.c +7 -5
index 7ef0f5a8ab03..5ebef94e14dc 100644

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

net/core/sock_reuseport.c +2 -2
index 3f00a28fe762..5daa1fa54249 100644

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

net/ipv4/af_inet.c +2 -2
index 44f21278003d..e4b2ced66261 100644

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

net/ipv4/fib_semantics.c +1 -1
index 674694d8ac61..55de6fa83dea 100644

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

net/ipv4/icmp.c +1 -1
index a5cc89506c1e..609c4ff7edc6 100644

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

net/ipv4/igmp.c +15 -10
index 930f6c41f519..9f4674244aff 100644

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

net/ipv4/inet_connection_sock.c +3 -2
index 62a67fdc344c..a53f9bf7886f 100644

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

net/ipv4/ip_forward.c +1 -1
index 00ec819f949b..29730edda220 100644

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

net/ipv4/ip_input.c +20 -6
index 3a025c011971..d5222c0fa87c 100644

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

net/ipv4/ip_sockglue.c +4 -4
index b297bb28556e..38f296afb663 100644

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

net/ipv4/netfilter/nf_reject_ipv4.c +2 -2
index 4eed5afca392..f2edb40c0db0 100644

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

net/ipv4/proc.c +1 -1
index f30273afb539..4b9280a3b673 100644

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

net/ipv4/route.c +5 -5
index 1db2fda22830..ca59b61fd3a3 100644

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

net/ipv4/syncookies.c +6 -5
index 10b469aee492..940839264025 100644

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

net/ipv4/sysctl_net_ipv4.c +5 -3
index 616658e7c796..a36728277e32 100644

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

net/ipv4/tcp.c +8 -5
index 4ac53c8f0583..1abdb8712655 100644

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

net/ipv4/tcp_fastopen.c +5 -4
index 59412d6354a0..6e0a8ef5e816 100644

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

net/ipv4/tcp_input.c +32 -21

53 lines not on this page · raw message

net/ipv4/tcp_ipv4.c +39 -38

77 lines not on this page · raw message

net/ipv4/tcp_metrics.c +2 -1
index 7029b0e98edb..a501150deaa3 100644

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

net/ipv4/tcp_minisocks.c +2 -2
index 13783fc58e03..41368e77fbb8 100644

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

net/ipv4/tcp_output.c +16 -15
index 509aab1b7ac9..caf9283f9b0f 100644

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

net/ipv4/tcp_recovery.c +4 -2
index fd113f6226ef..ac14216f6204 100644

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

net/ipv4/tcp_timer.c +17 -13
index 20cf4a98c69d..50bba370486e 100644

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

net/ipv4/udp.c +8 -2
index 835b9d6e4e68..4ad4daa16cce 100644

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

net/ipv6/af_inet6.c +1 -1
index dab4a047590b..3a91d0d40aec 100644

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

net/ipv6/syncookies.c +2 -1
index ca92dd6981de..12ae817aaf2e 100644

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

net/netfilter/core.c +2 -1
index 60332fdb6dd4..cca0762a9010 100644

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

net/netfilter/nf_synproxy_core.c +1 -1
index 2dfc5dae0656..049a88f03801 100644

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

net/sctp/protocol.c +1 -1
index ec0f52567c16..9987decdead2 100644

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

net/smc/smc_llc.c +1 -1
index ee1f0fdba085..0ef15f8fba90 100644

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

net/tls/tls_device.c +5 -3
index 4775431cbd38..4e33150cfb9e 100644

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

net/xfrm/xfrm_policy.c +4 -1
index a6271b955e11..fb198f9490a0 100644

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

net/xfrm/xfrm_state.c +1 -1
index f7bfa1916968..b1a04a22166f 100644

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

scripts/sorttable.c +2 -2
index 6ee4fa882919..278bb53b325c 100644

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

security/integrity/ima/ima_policy.c +4 -0
index fa5a93dbe5d2..748b97a2582a 100644

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

tools/perf/tests/perf-time-to-tsc.c +4 -14
index 7c56bc1f4cff..89d25befb171 100644

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

tools/testing/selftests/kvm/rseq_test.c +5 -3
index 4158da0da2bb..2237d1aac801 100644

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

tools/testing/selftests/vm/mremap_test.c +0 -53

53 lines not on this page · raw message

virt/kvm/kvm_main.c +4 -1
index 9eac68ae291e..0816b8018cde 100644

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.