Skip to contentSkip to conversation

Linux 5.4.232

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Feb 22, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.232 kernel.

All users of the 5.4 kernel series must upgrade.

The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.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

------------

 Makefile                                                    |    2 
 arch/arm64/boot/dts/amlogic/meson-axg.dtsi                  |    4 
 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi           |    6 
 arch/arm64/boot/dts/amlogic/meson-gx.dtsi                   |    6 
 arch/arm64/boot/dts/freescale/imx8mm-pinfunc.h              |    2 
 arch/parisc/kernel/firmware.c                               |    5 
 arch/parisc/kernel/ptrace.c                                 |   15 
 arch/powerpc/perf/imc-pmu.c                                 |   14 
 arch/riscv/Makefile                                         |    3 
 arch/riscv/mm/cacheflush.c                                  |    4 
 arch/s390/boot/compressed/decompressor.c                    |    2 
 arch/x86/kvm/x86.c                                          |    3 
 drivers/ata/libata-core.c                                   |    2 
 drivers/bus/sunxi-rsb.c                                     |    8 
 drivers/firewire/core-cdev.c                                |    4 
 drivers/firmware/efi/efi.c                                  |    2 
 drivers/firmware/efi/memattr.c                              |    2 
 drivers/fpga/stratix10-soc.c                                |    4 
 drivers/fsi/fsi-sbefifo.c                                   |    6 
 drivers/i2c/busses/i2c-rk3x.c                               |   44 
 drivers/iio/accel/hid-sensor-accel-3d.c                     |    1 
 drivers/iio/adc/berlin2-adc.c                               |    4 
 drivers/iio/adc/stm32-dfsdm-adc.c                           |    1 
 drivers/iio/adc/twl6030-gpadc.c                             |   32 
 drivers/infiniband/hw/hfi1/file_ops.c                       |    7 
 drivers/infiniband/hw/usnic/usnic_uiom.c                    |    8 
 drivers/infiniband/ulp/ipoib/ipoib_main.c                   |    8 
 drivers/input/serio/i8042-x86ia64io.h                       | 1188 ++++----
 drivers/iommu/amd_iommu.c                                   |    5 
 drivers/iommu/arm-smmu-v3.c                                 |    2 
 drivers/iommu/arm-smmu.c                                    |    2 
 drivers/iommu/dma-iommu.c                                   |    6 
 drivers/iommu/exynos-iommu.c                                |    2 
 drivers/iommu/intel-iommu.c                                 |    2 
 drivers/iommu/iommu.c                                       |   43 
 drivers/iommu/ipmmu-vmsa.c                                  |    2 
 drivers/iommu/msm_iommu.c                                   |    2 
 drivers/iommu/mtk_iommu.c                                   |    2 
 drivers/iommu/mtk_iommu_v1.c                                |    2 
 drivers/iommu/omap-iommu.c                                  |    2 
 drivers/iommu/qcom_iommu.c                                  |    2 
 drivers/iommu/rockchip-iommu.c                              |    2 
 drivers/iommu/s390-iommu.c                                  |    2 
 drivers/iommu/tegra-gart.c                                  |    2 
 drivers/iommu/tegra-smmu.c                                  |    2 
 drivers/iommu/virtio-iommu.c                                |    2 
 drivers/mmc/core/sdio_bus.c                                 |   17 
 drivers/mmc/core/sdio_cis.c                                 |   12 
 drivers/mmc/host/mmc_spi.c                                  |    8 
 drivers/net/bonding/bond_debugfs.c                          |    2 
 drivers/net/ethernet/broadcom/bgmac-bcma.c                  |    6 
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                   |    8 
 drivers/net/ethernet/intel/i40e/i40e_main.c                 |    4 
 drivers/net/ethernet/intel/ice/ice_main.c                   |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe.h                    |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c               |   28 
 drivers/net/ethernet/pensando/ionic/ionic_lif.c             |   15 
 drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c     |    2 
 drivers/net/ethernet/stmicro/stmmac/dwmac5.c                |    3 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c           |    3 
 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c       |    2 
 drivers/net/phy/meson-gxl.c                                 |    4 
 drivers/net/usb/kalmia.c                                    |    8 
 drivers/net/usb/plusb.c                                     |    4 
 drivers/net/virtio_net.c                                    |    2 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c |   17 
 drivers/nvme/host/pci.c                                     |    3 
 drivers/nvme/target/fc.c                                    |    4 
 drivers/nvmem/core.c                                        |    3 
 drivers/pinctrl/aspeed/pinctrl-aspeed.c                     |    2 
 drivers/pinctrl/intel/pinctrl-intel.c                       |   16 
 drivers/pinctrl/pinctrl-single.c                            |    2 
 drivers/scsi/iscsi_tcp.c                                    |    9 
 drivers/scsi/scsi_scan.c                                    |    7 
 drivers/target/target_core_file.c                           |    4 
 drivers/target/target_core_tmr.c                            |    4 
 drivers/tty/serial/8250/8250_dma.c                          |   26 
 drivers/tty/vt/vc_screen.c                                  |    9 
 drivers/usb/core/quirks.c                                   |    3 
 drivers/usb/dwc3/dwc3-qcom.c                                |   10 
 drivers/usb/gadget/function/f_fs.c                          |    4 
 drivers/usb/typec/altmodes/displayport.c                    |    8 
 drivers/video/fbdev/core/fbcon.c                            |    7 
 drivers/video/fbdev/smscufx.c                               |   46 
 drivers/watchdog/diag288_wdt.c                              |   15 
 drivers/xen/pvcalls-back.c                                  |    8 
 fs/aio.c                                                    |    4 
 fs/btrfs/volumes.c                                          |   18 
 fs/btrfs/zlib.c                                             |    2 
 fs/ceph/mds_client.c                                        |    6 
 fs/f2fs/gc.c                                                |   18 
 fs/nilfs2/ioctl.c                                           |    7 
 fs/nilfs2/super.c                                           |    9 
 fs/nilfs2/the_nilfs.c                                       |    8 
 fs/proc/task_mmu.c                                          |    4 
 fs/squashfs/squashfs_fs.h                                   |    2 
 fs/squashfs/squashfs_fs_sb.h                                |    2 
 fs/squashfs/xattr.h                                         |    4 
 fs/squashfs/xattr_id.c                                      |    2 
 fs/xfs/libxfs/xfs_defer.c                                   |  358 +-
 fs/xfs/libxfs/xfs_defer.h                                   |   49 
 fs/xfs/libxfs/xfs_inode_fork.c                              |    2 
 fs/xfs/libxfs/xfs_trans_inode.c                             |    2 
 fs/xfs/xfs_aops.c                                           |    4 
 fs/xfs/xfs_bmap_item.c                                      |  238 -
 fs/xfs/xfs_bmap_item.h                                      |    3 
 fs/xfs/xfs_extfree_item.c                                   |  175 -
 fs/xfs/xfs_extfree_item.h                                   |   18 
 fs/xfs/xfs_icreate_item.c                                   |    1 
 fs/xfs/xfs_inode.c                                          |    4 
 fs/xfs/xfs_inode_item.c                                     |    2 
 fs/xfs/xfs_inode_item.h                                     |    4 
 fs/xfs/xfs_iwalk.c                                          |   27 
 fs/xfs/xfs_log.c                                            |   68 
 fs/xfs/xfs_log.h                                            |    3 
 fs/xfs/xfs_log_cil.c                                        |    8 
 fs/xfs/xfs_log_recover.c                                    |  160 -
 fs/xfs/xfs_mount.c                                          |    3 
 fs/xfs/xfs_refcount_item.c                                  |  173 -
 fs/xfs/xfs_refcount_item.h                                  |    3 
 fs/xfs/xfs_rmap_item.c                                      |  161 -
 fs/xfs/xfs_rmap_item.h                                      |    3 
 fs/xfs/xfs_stats.c                                          |    4 
 fs/xfs/xfs_stats.h                                          |    1 
 fs/xfs/xfs_super.c                                          |    8 
 fs/xfs/xfs_trace.h                                          |    1 
 fs/xfs/xfs_trans.h                                          |   10 
 include/linux/hugetlb.h                                     |   18 
 include/linux/iommu.h                                       |   21 
 include/linux/stmmac.h                                      |    1 
 include/net/sock.h                                          |   13 
 kernel/sched/psi.c                                          |    7 
 kernel/trace/trace.c                                        |    3 
 mm/memblock.c                                               |    8 
 mm/mempolicy.c                                              |    3 
 mm/swapfile.c                                               |   13 
 net/bridge/br_netfilter_hooks.c                             |    1 
 net/can/j1939/address-claim.c                               |   40 
 net/can/j1939/transport.c                                   |    4 
 net/core/dev.c                                              |    2 
 net/core/filter.c                                           |    3 
 net/dccp/ipv6.c                                             |    7 
 net/ipv6/datagram.c                                         |    2 
 net/ipv6/tcp_ipv6.c                                         |   11 
 net/mpls/af_mpls.c                                          |    4 
 net/netfilter/nft_tproxy.c                                  |    8 
 net/netrom/af_netrom.c                                      |    5 
 net/openvswitch/datapath.c                                  |   12 
 net/rds/message.c                                           |    6 
 net/rose/af_rose.c                                          |    8 
 net/sched/sch_htb.c                                         |    5 
 net/sctp/diag.c                                             |    4 
 net/sunrpc/xprtrdma/verbs.c                                 |    4 
 net/x25/af_x25.c                                            |    6 
 net/xfrm/xfrm_input.c                                       |    3 
 sound/pci/hda/patch_conexant.c                              |    1 
 sound/pci/hda/patch_realtek.c                               |    2 
 sound/pci/hda/patch_via.c                                   |    3 
 sound/pci/lx6464es/lx_core.c                                |   11 
 sound/soc/codecs/cs42l56.c                                  |    6 
 sound/soc/intel/boards/bytcr_rt5651.c                       |    2 
 sound/soc/sof/intel/hda-dai.c                               |    8 
 sound/synth/emux/emux_nrpn.c                                |    3 
 tools/testing/selftests/bpf/verifier/search_pruning.c       |   36 
 tools/testing/selftests/net/fib_tests.sh                    | 1727 ++++++++++++
 tools/testing/selftests/net/forwarding/lib.sh               |    4 
 tools/testing/selftests/net/udpgso_bench.sh                 |   24 
 tools/testing/selftests/net/udpgso_bench_rx.c               |    4 
 tools/testing/selftests/net/udpgso_bench_tx.c               |   36 
 tools/virtio/linux/bug.h                                    |    8 
 tools/virtio/linux/build_bug.h                              |    7 
 tools/virtio/linux/cpumask.h                                |    7 
 tools/virtio/linux/gfp.h                                    |    7 
 tools/virtio/linux/kernel.h                                 |    1 
 tools/virtio/linux/kmsan.h                                  |   12 
 tools/virtio/linux/scatterlist.h                            |    1 
 tools/virtio/linux/topology.h                               |    7 
 177 files changed, 4189 insertions(+), 1339 deletions(-)

Aaron Thompson (1):
Revert "mm: Always release pages to the buddy allocator in memblock_free_late()."

Al Viro (3):
WRITE is "data source", not destination...
fix iov_iter_bvec() "direction" argument
fix "direction" argument of iov_iter_kvec()

Alan Stern (1):
net: USB: Fix wrong-direction WARNING in plusb.c

Alexander Egorenkov (2):
watchdog: diag288_wdt: do not use stack buffers for hardware data
watchdog: diag288_wdt: fix __diag288() inline assembly

Alexander Potapenko (1):
btrfs: zlib: zero-initialize zlib workspace

Amit Engel (1):
nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association

Anand Jain (1):
btrfs: free device in btrfs_close_devices for a single device filesystem

Andrea Righi (1):
mm: swap: properly update readahead statistics in unuse_pte_range()

Andreas Kemnade (2):
iio:adc:twl6030: Enable measurements of VUSB, VBAT and others iio:adc:twl6030: Enable measurement of VAC

Andreas Schwab (1):
riscv: disable generation of unwind tables

Andrei Gherzan (4):
selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning
selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided
selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs
selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking

Andrew Morton (1):
revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"

Andrey Konovalov (1):
net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC

Andy Shevchenko (3):
ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use
pinctrl: intel: Restore the pins that used to be in Direct IRQ mode
nvme-pci: Move enumeration by class to be last in the table

Anirudh Venkataramanan (1):
ice: Do not use WQ_MEM_RECLAIM flag for workqueue

Anton Gusev (1):
efi: fix potential NULL deref in efi_mem_reserve_persistent

Ard Biesheuvel (1):
efi: Accept version 2 of memory attributes table

Arnd Bergmann (1):
ASoC: cs42l56: fix DT probe

Artemii Karasev (2):
ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control()

Bo Liu (1):
ALSA: hda/conexant: add a new hda codec SN6180

Brian Foster (1):
xfs: sync lazy sb accounting on quiesce of read-only mounts

Chao Yu (1):
f2fs: fix to do sanity check on i_extra_isize in is_alive()

Chris Healy (1):
net: phy: meson-gxl: Add generic dummy stubs for MMD register access

Christian Hopps (1):
xfrm: fix bug with DSCP copy to v6 from v4 tunnel

Christoph Hellwig (8):
xfs: remove the xfs_efi_log_item_t typedef
xfs: remove the xfs_efd_log_item_t typedef
xfs: remove the xfs_inode_log_item_t typedef
xfs: factor out a xfs_defer_create_intent helper
xfs: merge the ->log_item defer op into ->create_intent
xfs: merge the ->diff_items defer op into ->create_intent
xfs: turn dfp_intent into a xfs_log_item
xfs: refactor xfs_defer_finish_noroll

Cristian Ciocaltea (1):
net: stmmac: Restrict warning on disabling DMA store and fwd mode

Damien Le Moal (1):
ata: libata: Fix sata_down_spd_limit() when no link speed is reported

Dan Carpenter (2):
ALSA: pci: lx6464es: fix a debug loop
net: sched: sch: Fix off by one in htb_activate_prios()

Darrick J. Wong (15):
xfs: log new intent items created as part of finishing recovered intent items
xfs: proper replay of deferred ops queued during log recovery
xfs: xfs_defer_capture should absorb remaining block reservations
xfs: xfs_defer_capture should absorb remaining transaction reservation
xfs: clean up bmap intent item recovery checking
xfs: clean up xfs_bui_item_recover iget/trans_alloc/ilock ordering
xfs: fix an incore inode UAF in xfs_bui_recover
xfs: change the order in which child and parent defer ops are finished
xfs: periodically relog deferred intent items
xfs: expose the log push threshold
xfs: only relog deferred intent items if free space in the log gets low
xfs: fix missing CoW blocks writeback conversion retry
xfs: ensure inobt record walks always make forward progress
xfs: fix the forward progress assertion in xfs_iwalk_run_callbacks
xfs: prevent UAF in xfs_log_item_in_current_chkpt

Dave Chinner (1):
xfs: fix finobt btree block recovery ordering

Dean Luick (1):
IB/hfi1: Restore allocated resources on failed copyout

Devid Antonio Filoni (1):
can: j1939: do not wait 250 ms if the same addr was already claimed

Dmitry Perchanov (1):
iio: hid: fix the retval in accel_3d_capture_sample

Dongliang Mu (1):
fbdev: smscufx: fix error handling code in ufx_usb_probe

Dragos Tatulea (1):
IB/IPoIB: Fix legacy IPoIB due to wrong number of queues

Eduard Zingerman (1):
selftests/bpf: Verify copy_register_state() preserves parent/live fields

Fedor Pchelkin (2):
squashfs: harden sanity check in squashfs_read_xattr_id_table
net: openvswitch: fix flow memory leak in ovs_flow_cmd_new

Felix Riemann (1):
net: Fix unwanted sign extension in netdev_stats_to_stats64()

Florian Westphal (2):
netfilter: br_netfilter: disable sabotage_in hook after first suppression
netfilter: nft_tproxy: restrict to prerouting hook

George Kennedy (1):
vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF

Greg Kroah-Hartman (2):
kvm: initialize all of the kvm_debugregs structure before sending it to userspace Linux 5.4.232

Guillaume Nault (2):
ipv6: Fix datagram socket connection with DSCP.
ipv6: Fix tcp socket connection with DSCP.

Guo Ren (1):
riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte

Hangbin Liu (1):
selftests: forwarding: lib: quote the sysctl values

Heiner Kallweit (4):
net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY
arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
arm64: dts: meson-g12-common: Make mmc host controller interrupts level-sensitive
arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive

Helge Deller (2):
parisc: Fix return code of pdc_iodc_print()
parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case

Hyunwoo Kim (3):
netrom: Fix use-after-free caused by accept on already connected socket net/x25: Fix to not accept on connected socket
net/rose: Fix to not accept on connected socket

Ido Schimmel (1):
ipv4: Fix incorrect route flushing when source address is deleted

Ilpo Järvinen (2):
serial: 8250_dma: Fix DMA Rx completion race
serial: 8250_dma: Fix DMA Rx rearm race

Jakub Kicinski (1):
net: mpls: fix stale pointer if allocation fails during device rename

Jason Xing (3):
ixgbe: allow to increase MTU to 3K with XDP enabled
i40e: add double of VLAN header when computing the max MTU
ixgbe: add double of VLAN header when computing the max MTU

Joel Stanley (1):
pinctrl: aspeed: Fix confusing types in return value

Joerg Roedel (1):
iommu/amd: Pass gfp flags to iommu_map_page() in amd_iommu_map()

Johannes Zink (1):
net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence

Josef Bacik (1):
btrfs: limit device extents to the device size

Kailang Yang (1):
ALSA: hda/realtek - fixed wrong gpio assigned

Kees Cook (1):
net: sched: sch: Bounds check priority

Kuniyuki Iwashima (1):
dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions.

Longlong Xia (1):
mm/swapfile: add cond_resched() in get_swap_pages()

Mark Pearson (1):
usb: core: add quirk for Alcor Link AK9563 smartcard reader

Martin K. Petersen (1):
scsi: Revert "scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT"

Maurizio Lombardi (1):
scsi: target: core: Fix warning on RT kernels

Maxim Korotkov (1):
pinctrl: single: fix potential NULL dereference

Michael Chan (1):
bnxt_en: Fix mqprio and XDP ring checking logic

Michael Ellerman (1):
powerpc/imc-pmu: Revert nest_init_lock to being a mutex

Michael Walle (1):
nvmem: core: fix cell removal on error

Mike Christie (1):
scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress

Mike Kravetz (3):
mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps
migrate: hugetlb: check for hugetlb shared PMD in node migration
hugetlb: check for undefined shift on 32 bit architectures

Miko Larsson (1):
net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path

Minsuk Kang (1):
wifi: brcmfmac: Check the count value of channel spec to prevent out-of-bounds reads

Munehisa Kamata (1):
sched/psi: Fix use-after-free in ep_remove_wait_queue()

Natalia Petrova (1):
i40e: Add checking for null for nlmsg_find_attr()

Neel Patel (1):
ionic: clean interrupt before enabling queue to avoid credit race

Neil Armstrong (1):
usb: dwc3: qcom: enable vbus override when in OTG dr-mode

Olivier Moysan (1):
iio: adc: stm32-dfsdm: fill module aliases

Parav Pandit (1):
virtio-net: Keep stop() to follow mirror sequence of open()

Phillip Lougher (1):
Squashfs: fix handling and sanity checking of xattr_ids count

Pierluigi Passaro (1):
arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX

Pierre-Louis Bossart (1):
ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak

Pietro Borrello (2):
rds: rds_rm_zerocopy_callback() use list_first_entry()
sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list

Prashant Malani (1):
usb: typec: altmodes/displayport: Fix probe pin assign check

Qi Zheng (1):
bonding: fix error checking in bond_debug_reregister()

Rafał Miłecki (1):
net: bgmac: fix BCM5358 support by setting correct flags

Randy Dunlap (1):
i2c: rk3x: fix a bunch of kernel-doc warnings

Ryusuke Konishi (1):
nilfs2: fix underflow in second superblock position calculations

Samuel Thibault (1):
fbcon: Check font dimension limits

Seth Jenkins (1):
aio: fix mremap after fork null-deref

Shaoying Xu (1):
Revert "ipv4: Fix incorrect route flushing when source address is deleted"

Shiju Jose (1):
tracing: Fix poll() and select() do not work on per_cpu trace_pipe and trace_pipe_raw

Shunsuke Mie (1):
tools/virtio: fix the vringh test for virtio ring changes

Takashi Sakamoto (1):
firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region

Toke Høiland-Jørgensen (1):
bpf: Always return target ifindex in bpf_fib_lookup

Tom Murphy (1):
iommu: Add gfp parameter to iommu_ops::map

Udipto Goswami (1):
usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait

Vasily Gorbik (1):
s390/decompressor: specify __decompress() buf len to avoid overflow

Werner Sembach (4):
Input: i8042 - move __initconst to fix code styling warning
Input: i8042 - merge quirk tables
Input: i8042 - add TUXEDO devices to i8042 quirk tables
Input: i8042 - add Clevo PCX0DX to i8042 quirk table

Wesley Cheng (1):
usb: dwc3: dwc3-qcom: Fix typo in the dwc3 vbus override API

Xiongfeng Wang (1):
iio: adc: berlin2-adc: Add missing of_node_put() in error path

Xiubo Li (1):
ceph: flush cap releases when the session is flushed

Yang Yingliang (3):
RDMA/usnic: use iommu_map_atomic() under spin_lock()
mmc: sdio: fix possible resource leaks in some error paths
mmc: mmc_spi: fix error handling in mmc_spi_probe()

Yuan Can (1):
bus: sunxi-rsb: Fix error handling in sunxi_rsb_init()

Zhang Xiaoxu (1):
xprtrdma: Fix regbuf data not freed in rpcrdma_req_create()

Zheng Yongjun (1):
fpga: stratix10-soc: Fix return value check in s10_ops_write_init()

Ziyang Xuan (1):
can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate

author maintainer
#1 lore raw
Makefile +1 -1
index 3cbbc82e2ddf..87828284236e 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 231
+SUBLEVEL = 232
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/arm64/boot/dts/amlogic/meson-axg.dtsi +2 -2
index 502c4ac45c29..8732229f0588 100644
@@ -1705,7 +1705,7 @@
 			sd_emmc_b: sd@5000 {
 				compatible = "amlogic,meson-axg-mmc";
 				reg = <0x0 0x5000 0x0 0x800>;
-				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
+				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 				clocks = <&clkc CLKID_SD_EMMC_B>,
 					<&clkc CLKID_SD_EMMC_B_CLK0>,
@@ -1717,7 +1717,7 @@
 			sd_emmc_c: mmc@7000 {
 				compatible = "amlogic,meson-axg-mmc";
 				reg = <0x0 0x7000 0x0 0x800>;
-				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
+				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 				clocks = <&clkc CLKID_SD_EMMC_C>,
 					<&clkc CLKID_SD_EMMC_C_CLK0>,
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +3 -3
index d2d255a988a8..6b495587eee2 100644
@@ -2317,7 +2317,7 @@
 		sd_emmc_a: sd@ffe03000 {
 			compatible = "amlogic,meson-axg-mmc";
 			reg = <0x0 0xffe03000 0x0 0x800>;
-			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
 			status = "disabled";
 			clocks = <&clkc CLKID_SD_EMMC_A>,
 				 <&clkc CLKID_SD_EMMC_A_CLK0>,
@@ -2329,7 +2329,7 @@
 		sd_emmc_b: sd@ffe05000 {
 			compatible = "amlogic,meson-axg-mmc";
 			reg = <0x0 0xffe05000 0x0 0x800>;
-			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
 			status = "disabled";
 			clocks = <&clkc CLKID_SD_EMMC_B>,
 				 <&clkc CLKID_SD_EMMC_B_CLK0>,
@@ -2341,7 +2341,7 @@
 		sd_emmc_c: mmc@ffe07000 {
 			compatible = "amlogic,meson-axg-mmc";
 			reg = <0x0 0xffe07000 0x0 0x800>;
-			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
 			status = "disabled";
 			clocks = <&clkc CLKID_SD_EMMC_C>,
 				 <&clkc CLKID_SD_EMMC_C_CLK0>,
arch/arm64/boot/dts/amlogic/meson-gx.dtsi +3 -3
index ad7bc0eec668..0c667ec15f8c 100644
@@ -528,21 +528,21 @@
 			sd_emmc_a: mmc@70000 {
 				compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
 				reg = <0x0 0x70000 0x0 0x800>;
-				interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
+				interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 			};
 
 			sd_emmc_b: mmc@72000 {
 				compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
 				reg = <0x0 0x72000 0x0 0x800>;
-				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
+				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 			};
 
 			sd_emmc_c: mmc@74000 {
 				compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
 				reg = <0x0 0x74000 0x0 0x800>;
-				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
+				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 			};
 		};
arch/arm64/boot/dts/freescale/imx8mm-pinfunc.h +1 -1
index 93b44efdbc52..35a60b0d3a4f 100644
@@ -585,7 +585,7 @@
 #define MX8MM_IOMUXC_UART1_RXD_GPIO5_IO22                                   0x234 0x49C 0x000 0x5 0x0
 #define MX8MM_IOMUXC_UART1_RXD_TPSMP_HDATA24                                0x234 0x49C 0x000 0x7 0x0
 #define MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX                                 0x238 0x4A0 0x000 0x0 0x0
-#define MX8MM_IOMUXC_UART1_TXD_UART1_DTE_RX                                 0x238 0x4A0 0x4F4 0x0 0x0
+#define MX8MM_IOMUXC_UART1_TXD_UART1_DTE_RX                                 0x238 0x4A0 0x4F4 0x0 0x1
 #define MX8MM_IOMUXC_UART1_TXD_ECSPI3_MOSI                                  0x238 0x4A0 0x000 0x1 0x0
 #define MX8MM_IOMUXC_UART1_TXD_GPIO5_IO23                                   0x238 0x4A0 0x000 0x5 0x0
 #define MX8MM_IOMUXC_UART1_TXD_TPSMP_HDATA25                                0x238 0x4A0 0x000 0x7 0x0
arch/parisc/kernel/firmware.c +3 -2
index 1d976f2ebff0..2496cb2c5551 100644
@@ -1229,7 +1229,7 @@ static char __attribute__((aligned(64))) iodc_dbuf[4096];
  */
 int pdc_iodc_print(const unsigned char *str, unsigned count)
 {
-	unsigned int i;
+	unsigned int i, found = 0;
 	unsigned long flags;
 
 	for (i = 0; i < count;) {
@@ -1238,6 +1238,7 @@ int pdc_iodc_print(const unsigned char *str, unsigned count)
 			iodc_dbuf[i+0] = '\r';
 			iodc_dbuf[i+1] = '\n';
 			i += 2;
+			found = 1;
 			goto print;
 		default:
 			iodc_dbuf[i] = str[i];
@@ -1254,7 +1255,7 @@ int pdc_iodc_print(const unsigned char *str, unsigned count)
                     __pa(iodc_retbuf), 0, __pa(iodc_dbuf), i, 0);
         spin_unlock_irqrestore(&pdc_lock, flags);
 
-	return i;
+	return i - found;
 }
 
 #if !defined(BOOTLOADER)
arch/parisc/kernel/ptrace.c +13 -2
index 9f6ff7bc06f9..7407fee7d818 100644
@@ -128,6 +128,12 @@ long arch_ptrace(struct task_struct *child, long request,
 	unsigned long tmp;
 	long ret = -EIO;
 
+	unsigned long user_regs_struct_size = sizeof(struct user_regs_struct);
+#ifdef CONFIG_64BIT
+	if (is_compat_task())
+		user_regs_struct_size /= 2;
+#endif
+
 	switch (request) {
 
 	/* Read the word at location addr in the USER area.  For ptraced
@@ -183,14 +189,14 @@ long arch_ptrace(struct task_struct *child, long request,
 		return copy_regset_to_user(child,
 					   task_user_regset_view(current),
 					   REGSET_GENERAL,
-					   0, sizeof(struct user_regs_struct),
+					   0, user_regs_struct_size,
 					   datap);
 
 	case PTRACE_SETREGS:	/* Set all gp regs in the child. */
 		return copy_regset_from_user(child,
 					     task_user_regset_view(current),
 					     REGSET_GENERAL,
-					     0, sizeof(struct user_regs_struct),
+					     0, user_regs_struct_size,
 					     datap);
 
 	case PTRACE_GETFPREGS:	/* Get the child FPU state. */
@@ -304,6 +310,11 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
 			}
 		}
 		break;
+	case PTRACE_GETREGS:
+	case PTRACE_SETREGS:
+	case PTRACE_GETFPREGS:
+	case PTRACE_SETFPREGS:
+		return arch_ptrace(child, request, addr, data);
 
 	default:
 		ret = compat_ptrace_request(child, request, addr, data);
arch/powerpc/perf/imc-pmu.c +7 -7
index b0e4241e7609..d42f2e091201 100644
@@ -21,7 +21,7 @@
  * Used to avoid races in counting the nest-pmu units during hotplug
  * register and unregister
  */
-static DEFINE_SPINLOCK(nest_init_lock);
+static DEFINE_MUTEX(nest_init_lock);
 static DEFINE_PER_CPU(struct imc_pmu_ref *, local_nest_imc_refc);
 static struct imc_pmu **per_nest_pmu_arr;
 static cpumask_t nest_imc_cpumask;
@@ -1605,7 +1605,7 @@ static void imc_common_mem_free(struct imc_pmu *pmu_ptr)
 static void imc_common_cpuhp_mem_free(struct imc_pmu *pmu_ptr)
 {
 	if (pmu_ptr->domain == IMC_DOMAIN_NEST) {
-		spin_lock(&nest_init_lock);
+		mutex_lock(&nest_init_lock);
 		if (nest_pmus == 1) {
 			cpuhp_remove_state(CPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE);
 			kfree(nest_imc_refc);
@@ -1615,7 +1615,7 @@ static void imc_common_cpuhp_mem_free(struct imc_pmu *pmu_ptr)
 
 		if (nest_pmus > 0)
 			nest_pmus--;
-		spin_unlock(&nest_init_lock);
+		mutex_unlock(&nest_init_lock);
 	}
 
 	/* Free core_imc memory */
@@ -1772,11 +1772,11 @@ int init_imc_pmu(struct device_node *parent, struct imc_pmu *pmu_ptr, int pmu_id
 		* rest. To handle the cpuhotplug callback unregister, we track
 		* the number of nest pmus in "nest_pmus".
 		*/
-		spin_lock(&nest_init_lock);
+		mutex_lock(&nest_init_lock);
 		if (nest_pmus == 0) {
 			ret = init_nest_pmu_ref();
 			if (ret) {
-				spin_unlock(&nest_init_lock);
+				mutex_unlock(&nest_init_lock);
 				kfree(per_nest_pmu_arr);
 				per_nest_pmu_arr = NULL;
 				goto err_free_mem;
@@ -1784,7 +1784,7 @@ int init_imc_pmu(struct device_node *parent, struct imc_pmu *pmu_ptr, int pmu_id
 			/* Register for cpu hotplug notification. */
 			ret = nest_pmu_cpumask_init();
 			if (ret) {
-				spin_unlock(&nest_init_lock);
+				mutex_unlock(&nest_init_lock);
 				kfree(nest_imc_refc);
 				kfree(per_nest_pmu_arr);
 				per_nest_pmu_arr = NULL;
@@ -1792,7 +1792,7 @@ int init_imc_pmu(struct device_node *parent, struct imc_pmu *pmu_ptr, int pmu_id
 			}
 		}
 		nest_pmus++;
-		spin_unlock(&nest_init_lock);
+		mutex_unlock(&nest_init_lock);
 		break;
 	case IMC_DOMAIN_CORE:
 		ret = core_imc_pmu_cpumask_init();
arch/riscv/Makefile +3 -0
index aed3ba97575b..1641d8201412 100644
@@ -75,6 +75,9 @@ ifeq ($(CONFIG_PERF_EVENTS),y)
         KBUILD_CFLAGS += -fno-omit-frame-pointer
 endif
 
+# Avoid generating .eh_frame sections.
+KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -fno-unwind-tables
+
 KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-relax)
 KBUILD_AFLAGS_MODULE += $(call as-option,-Wa$(comma)-mno-relax)
 
arch/riscv/mm/cacheflush.c +3 -1
index c54bd3c79955..9d1ec8c8b718 100644
@@ -71,6 +71,8 @@ void flush_icache_pte(pte_t pte)
 {
 	struct page *page = pte_page(pte);
 
-	if (!test_and_set_bit(PG_dcache_clean, &page->flags))
+	if (!test_bit(PG_dcache_clean, &page->flags)) {
 		flush_icache_all();
+		set_bit(PG_dcache_clean, &page->flags);
+	}
 }
arch/s390/boot/compressed/decompressor.c +1 -1
index 45046630c56a..c42ab33bd452 100644
@@ -80,6 +80,6 @@ void *decompress_kernel(void)
 	void *output = (void *)decompress_offset;
 
 	__decompress(_compressed_start, _compressed_end - _compressed_start,
-		     NULL, NULL, output, 0, NULL, error);
+		     NULL, NULL, output, vmlinux.image_size, NULL, error);
 	return output;
 }
arch/x86/kvm/x86.c +1 -2
index 93727f8092ee..cf37a6172997 100644
@@ -3948,12 +3948,11 @@ static void kvm_vcpu_ioctl_x86_get_debugregs(struct kvm_vcpu *vcpu,
 {
 	unsigned long val;
 
+	memset(dbgregs, 0, sizeof(*dbgregs));
 	memcpy(dbgregs->db, vcpu->arch.db, sizeof(vcpu->arch.db));
 	kvm_get_dr(vcpu, 6, &val);
 	dbgregs->dr6 = val;
 	dbgregs->dr7 = vcpu->arch.dr7;
-	dbgregs->flags = 0;
-	memset(&dbgregs->reserved, 0, sizeof(dbgregs->reserved));
 }
 
 static int kvm_vcpu_ioctl_x86_set_debugregs(struct kvm_vcpu *vcpu,
drivers/ata/libata-core.c +1 -1
index fbb1676aa33f..c06f618b1aa3 100644
@@ -3096,7 +3096,7 @@ int sata_down_spd_limit(struct ata_link *link, u32 spd_limit)
 	 */
 	if (spd > 1)
 		mask &= (1 << (spd - 1)) - 1;
-	else
+	else if (link->sata_spd)
 		return -EINVAL;
 
 	/* were we already at the bottom? */
drivers/bus/sunxi-rsb.c +7 -1
index f8c29b888e6b..98cbb18f17fa 100644
@@ -781,7 +781,13 @@ static int __init sunxi_rsb_init(void)
 		return ret;
 	}
 
-	return platform_driver_register(&sunxi_rsb_driver);
+	ret = platform_driver_register(&sunxi_rsb_driver);
+	if (ret) {
+		bus_unregister(&sunxi_rsb_bus);
+		return ret;
+	}
+
+	return 0;
 }
 module_init(sunxi_rsb_init);
 
drivers/firewire/core-cdev.c +3 -1
index 3a43e5d6ed3b..4fe36d549d61 100644
@@ -818,8 +818,10 @@ static int ioctl_send_response(struct client *client, union ioctl_arg *arg)
 
 	r = container_of(resource, struct inbound_transaction_resource,
 			 resource);
-	if (is_fcp_request(r->request))
+	if (is_fcp_request(r->request)) {
+		kfree(r->data);
 		goto out;
+	}
 
 	if (a->length != fw_get_response_length(r->request)) {
 		ret = -EINVAL;
drivers/firmware/efi/efi.c +2 -0
index eb98018ab420..ed31b08855f9 100644
@@ -1022,6 +1022,8 @@ int __ref efi_mem_reserve_persistent(phys_addr_t addr, u64 size)
 	/* first try to find a slot in an existing linked list entry */
 	for (prsv = efi_memreserve_root->next; prsv; ) {
 		rsv = memremap(prsv, sizeof(*rsv), MEMREMAP_WB);
+		if (!rsv)
+			return -ENOMEM;
 		index = atomic_fetch_add_unless(&rsv->count, 1, rsv->size);
 		if (index < rsv->size) {
 			rsv->entry[index].base = addr;
drivers/firmware/efi/memattr.c +1 -1
index 5d343dc8e535..5f577357c3e7 100644
@@ -32,7 +32,7 @@ int __init efi_memattr_init(void)
 		return -ENOMEM;
 	}
 
-	if (tbl->version > 1) {
+	if (tbl->version > 2) {
 		pr_warn("Unexpected EFI Memory Attributes table version %d\n",
 			tbl->version);
 		goto unmap;
drivers/fpga/stratix10-soc.c +2 -2
index 559839a960b6..04452520fd81 100644
@@ -218,9 +218,9 @@ static int s10_ops_write_init(struct fpga_manager *mgr,
 	/* Allocate buffers from the service layer's pool. */
 	for (i = 0; i < NUM_SVC_BUFS; i++) {
 		kbuf = stratix10_svc_allocate_memory(priv->chan, SVC_BUF_SIZE);
-		if (!kbuf) {
+		if (IS_ERR(kbuf)) {
 			s10_free_buffers(mgr);
-			ret = -ENOMEM;
+			ret = PTR_ERR(kbuf);
 			goto init_done;
 		}
 
drivers/fsi/fsi-sbefifo.c +3 -3
index c8ccc99e214f..84a60d2d8e8a 100644
@@ -640,7 +640,7 @@ static void sbefifo_collect_async_ffdc(struct sbefifo *sbefifo)
 	}
         ffdc_iov.iov_base = ffdc;
 	ffdc_iov.iov_len = SBEFIFO_MAX_FFDC_SIZE;
-        iov_iter_kvec(&ffdc_iter, WRITE, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE);
+        iov_iter_kvec(&ffdc_iter, READ, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE);
 	cmd[0] = cpu_to_be32(2);
 	cmd[1] = cpu_to_be32(SBEFIFO_CMD_GET_SBE_FFDC);
 	rc = sbefifo_do_command(sbefifo, cmd, 2, &ffdc_iter);
@@ -737,7 +737,7 @@ int sbefifo_submit(struct device *dev, const __be32 *command, size_t cmd_len,
 	rbytes = (*resp_len) * sizeof(__be32);
 	resp_iov.iov_base = response;
 	resp_iov.iov_len = rbytes;
-        iov_iter_kvec(&resp_iter, WRITE, &resp_iov, 1, rbytes);
+        iov_iter_kvec(&resp_iter, READ, &resp_iov, 1, rbytes);
 
 	/* Perform the command */
 	mutex_lock(&sbefifo->lock);
@@ -817,7 +817,7 @@ static ssize_t sbefifo_user_read(struct file *file, char __user *buf,
 	/* Prepare iov iterator */
 	resp_iov.iov_base = buf;
 	resp_iov.iov_len = len;
-	iov_iter_init(&resp_iter, WRITE, &resp_iov, 1, len);
+	iov_iter_init(&resp_iter, READ, &resp_iov, 1, len);
 
 	/* Perform the command */
 	mutex_lock(&sbefifo->lock);
drivers/i2c/busses/i2c-rk3x.c +22 -22

123 lines not on this page · raw message

drivers/iio/accel/hid-sensor-accel-3d.c +1 -0
index f908476fa095..a4e0e2b129bc 100644
@@ -279,6 +279,7 @@ static int accel_3d_capture_sample(struct hid_sensor_hub_device *hsdev,
 			hid_sensor_convert_timestamp(
 					&accel_state->common_attributes,
 					*(int64_t *)raw_data);
+		ret = 0;
 	break;
 	default:
 		break;
drivers/iio/adc/berlin2-adc.c +3 -1
index 72d8fa94ab31..86fdfea32979 100644
@@ -289,8 +289,10 @@ static int berlin2_adc_probe(struct platform_device *pdev)
 	int ret;
 
 	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*priv));
-	if (!indio_dev)
+	if (!indio_dev) {
+		of_node_put(parent_np);
 		return -ENOMEM;
+	}
 
 	priv = iio_priv(indio_dev);
 	platform_set_drvdata(pdev, indio_dev);
drivers/iio/adc/stm32-dfsdm-adc.c +1 -0
index c2948defa785..0c92eb30f0d8 100644
@@ -1544,6 +1544,7 @@ static const struct of_device_id stm32_dfsdm_adc_match[] = {
 	},
 	{}
 };
+MODULE_DEVICE_TABLE(of, stm32_dfsdm_adc_match);
 
 static int stm32_dfsdm_adc_probe(struct platform_device *pdev)
 {
drivers/iio/adc/twl6030-gpadc.c +32 -0
index fb77c3ff5a3e..0a7608174758 100644
@@ -57,6 +57,18 @@
 #define TWL6030_GPADCS				BIT(1)
 #define TWL6030_GPADCR				BIT(0)
 
+#define USB_VBUS_CTRL_SET			0x04
+#define USB_ID_CTRL_SET				0x06
+
+#define TWL6030_MISC1				0xE4
+#define VBUS_MEAS				0x01
+#define ID_MEAS					0x01
+
+#define VAC_MEAS                0x04
+#define VBAT_MEAS               0x02
+#define BB_MEAS                 0x01
+
+
 /**
  * struct twl6030_chnl_calib - channel calibration
  * @gain:		slope coefficient for ideal curve
@@ -927,6 +939,26 @@ static int twl6030_gpadc_probe(struct platform_device *pdev)
 		return ret;
 	}
 
+	ret = twl_i2c_write_u8(TWL_MODULE_USB, VBUS_MEAS, USB_VBUS_CTRL_SET);
+	if (ret < 0) {
+		dev_err(dev, "failed to wire up inputs\n");
+		return ret;
+	}
+
+	ret = twl_i2c_write_u8(TWL_MODULE_USB, ID_MEAS, USB_ID_CTRL_SET);
+	if (ret < 0) {
+		dev_err(dev, "failed to wire up inputs\n");
+		return ret;
+	}
+
+	ret = twl_i2c_write_u8(TWL6030_MODULE_ID0,
+				VBAT_MEAS | BB_MEAS | VAC_MEAS,
+				TWL6030_MISC1);
+	if (ret < 0) {
+		dev_err(dev, "failed to wire up inputs\n");
+		return ret;
+	}
+
 	indio_dev->name = DRIVER_NAME;
 	indio_dev->dev.parent = dev;
 	indio_dev->info = &twl6030_gpadc_iio_info;
drivers/infiniband/hw/hfi1/file_ops.c +5 -2
index efd977f70f9e..607e2636a6d1 100644
@@ -1363,12 +1363,15 @@ static int user_exp_rcv_setup(struct hfi1_filedata *fd, unsigned long arg,
 		addr = arg + offsetof(struct hfi1_tid_info, tidcnt);
 		if (copy_to_user((void __user *)addr, &tinfo.tidcnt,
 				 sizeof(tinfo.tidcnt)))
-			return -EFAULT;
+			ret = -EFAULT;
 
 		addr = arg + offsetof(struct hfi1_tid_info, length);
-		if (copy_to_user((void __user *)addr, &tinfo.length,
+		if (!ret && copy_to_user((void __user *)addr, &tinfo.length,
 				 sizeof(tinfo.length)))
 			ret = -EFAULT;
+
+		if (ret)
+			hfi1_user_exp_rcv_invalid(fd, &tinfo);
 	}
 
 	return ret;
drivers/infiniband/hw/usnic/usnic_uiom.c +4 -4
index 62e6ffa9ad78..1d060ae47933 100644
@@ -281,8 +281,8 @@ static int usnic_uiom_map_sorted_intervals(struct list_head *intervals,
 				size = pa_end - pa_start + PAGE_SIZE;
 				usnic_dbg("va 0x%lx pa %pa size 0x%zx flags 0x%x",
 					va_start, &pa_start, size, flags);
-				err = iommu_map(pd->domain, va_start, pa_start,
-							size, flags);
+				err = iommu_map_atomic(pd->domain, va_start,
+						       pa_start, size, flags);
 				if (err) {
 					usnic_err("Failed to map va 0x%lx pa %pa size 0x%zx with err %d\n",
 						va_start, &pa_start, size, err);
@@ -298,8 +298,8 @@ static int usnic_uiom_map_sorted_intervals(struct list_head *intervals,
 				size = pa - pa_start + PAGE_SIZE;
 				usnic_dbg("va 0x%lx pa %pa size 0x%zx flags 0x%x\n",
 					va_start, &pa_start, size, flags);
-				err = iommu_map(pd->domain, va_start, pa_start,
-						size, flags);
+				err = iommu_map_atomic(pd->domain, va_start,
+						       pa_start, size, flags);
 				if (err) {
 					usnic_err("Failed to map va 0x%lx pa %pa size 0x%zx with err %d\n",
 						va_start, &pa_start, size, err);
drivers/infiniband/ulp/ipoib/ipoib_main.c +8 -0
index 69ecf37053a8..3c3cc6af0a1e 100644
@@ -2171,6 +2171,14 @@ int ipoib_intf_init(struct ib_device *hca, u8 port, const char *name,
 		rn->attach_mcast = ipoib_mcast_attach;
 		rn->detach_mcast = ipoib_mcast_detach;
 		rn->hca = hca;
+
+		rc = netif_set_real_num_tx_queues(dev, 1);
+		if (rc)
+			goto out;
+
+		rc = netif_set_real_num_rx_queues(dev, 1);
+		if (rc)
+			goto out;
 	}
 
 	priv->rn_ops = dev->netdev_ops;
drivers/input/serio/i8042-x86ia64io.h +707 -481

1,715 lines not on this page · raw message

drivers/iommu/amd_iommu.c +3 -2
index c392930253a3..b79309928d78 100644
@@ -3098,7 +3098,8 @@ static int amd_iommu_attach_device(struct iommu_domain *dom,
 }
 
 static int amd_iommu_map(struct iommu_domain *dom, unsigned long iova,
-			 phys_addr_t paddr, size_t page_size, int iommu_prot)
+			 phys_addr_t paddr, size_t page_size, int iommu_prot,
+			 gfp_t gfp)
 {
 	struct protection_domain *domain = to_pdomain(dom);
 	int prot = 0;
@@ -3113,7 +3114,7 @@ static int amd_iommu_map(struct iommu_domain *dom, unsigned long iova,
 		prot |= IOMMU_PROT_IW;
 
 	mutex_lock(&domain->api_lock);
-	ret = iommu_map_page(domain, iova, paddr, page_size, prot, GFP_KERNEL);
+	ret = iommu_map_page(domain, iova, paddr, page_size, prot, gfp);
 	mutex_unlock(&domain->api_lock);
 
 	domain_flush_np_cache(domain, iova, page_size);
drivers/iommu/arm-smmu-v3.c +1 -1
index 02c2fb551f38..4f64c3a9ee88 100644
@@ -2451,7 +2451,7 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 }
 
 static int arm_smmu_map(struct iommu_domain *domain, unsigned long iova,
-			phys_addr_t paddr, size_t size, int prot)
+			phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct io_pgtable_ops *ops = to_smmu_domain(domain)->pgtbl_ops;
 
drivers/iommu/arm-smmu.c +1 -1
index 2185ea5191c1..775acae84d7d 100644
@@ -1160,7 +1160,7 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 }
 
 static int arm_smmu_map(struct iommu_domain *domain, unsigned long iova,
-			phys_addr_t paddr, size_t size, int prot)
+			phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct io_pgtable_ops *ops = to_smmu_domain(domain)->pgtbl_ops;
 	struct arm_smmu_device *smmu = to_smmu_domain(domain)->smmu;
drivers/iommu/dma-iommu.c +3 -3
index 9c3e630c6c4c..4fc8fb92d45e 100644
@@ -477,7 +477,7 @@ static dma_addr_t __iommu_dma_map(struct device *dev, phys_addr_t phys,
 	if (!iova)
 		return DMA_MAPPING_ERROR;
 
-	if (iommu_map(domain, iova, phys - iova_off, size, prot)) {
+	if (iommu_map_atomic(domain, iova, phys - iova_off, size, prot)) {
 		iommu_dma_free_iova(cookie, iova, size);
 		return DMA_MAPPING_ERROR;
 	}
@@ -612,7 +612,7 @@ static void *iommu_dma_alloc_remap(struct device *dev, size_t size,
 			arch_dma_prep_coherent(sg_page(sg), sg->length);
 	}
 
-	if (iommu_map_sg(domain, iova, sgt.sgl, sgt.orig_nents, ioprot)
+	if (iommu_map_sg_atomic(domain, iova, sgt.sgl, sgt.orig_nents, ioprot)
 			< size)
 		goto out_free_sg;
 
@@ -872,7 +872,7 @@ static int iommu_dma_map_sg(struct device *dev, struct scatterlist *sg,
 	 * We'll leave any physical concatenation to the IOMMU driver's
 	 * implementation - it knows better than we do.
 	 */
-	if (iommu_map_sg(domain, iova, sg, nents, prot) < iova_len)
+	if (iommu_map_sg_atomic(domain, iova, sg, nents, prot) < iova_len)
 		goto out_free_iova;
 
 	return __finalise_sg(dev, sg, nents, iova);
drivers/iommu/exynos-iommu.c +1 -1
index 31a9b9885653..acf21e423794 100644
@@ -1077,7 +1077,7 @@ static int lv2set_page(sysmmu_pte_t *pent, phys_addr_t paddr, size_t size,
  */
 static int exynos_iommu_map(struct iommu_domain *iommu_domain,
 			    unsigned long l_iova, phys_addr_t paddr, size_t size,
-			    int prot)
+			    int prot, gfp_t gfp)
 {
 	struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain);
 	sysmmu_pte_t *entry;
drivers/iommu/intel-iommu.c +1 -1
index ff120d7ed342..2a53fa7d2b47 100644
@@ -5458,7 +5458,7 @@ static void intel_iommu_aux_detach_device(struct iommu_domain *domain,
 
 static int intel_iommu_map(struct iommu_domain *domain,
 			   unsigned long iova, phys_addr_t hpa,
-			   size_t size, int iommu_prot)
+			   size_t size, int iommu_prot, gfp_t gfp)
 {
 	struct dmar_domain *dmar_domain = to_dmar_domain(domain);
 	u64 max_addr;
drivers/iommu/iommu.c +37 -6

84 lines not on this page · raw message

drivers/iommu/ipmmu-vmsa.c +1 -1
index 584eefab1dbc..33874c7aea42 100644
@@ -724,7 +724,7 @@ static void ipmmu_detach_device(struct iommu_domain *io_domain,
 }
 
 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova,
-		     phys_addr_t paddr, size_t size, int prot)
+		     phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct ipmmu_vmsa_domain *domain = to_vmsa_domain(io_domain);
 
drivers/iommu/msm_iommu.c +1 -1
index cba0097eba39..696a6c53a69f 100644
@@ -504,7 +504,7 @@ static void msm_iommu_detach_dev(struct iommu_domain *domain,
 }
 
 static int msm_iommu_map(struct iommu_domain *domain, unsigned long iova,
-			 phys_addr_t pa, size_t len, int prot)
+			 phys_addr_t pa, size_t len, int prot, gfp_t gfp)
 {
 	struct msm_priv *priv = to_msm_priv(domain);
 	unsigned long flags;
drivers/iommu/mtk_iommu.c +1 -1
index 18d7c818a174..dad44e10b331 100644
@@ -427,7 +427,7 @@ static void mtk_iommu_detach_device(struct iommu_domain *domain,
 }
 
 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova,
-			 phys_addr_t paddr, size_t size, int prot)
+			 phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct mtk_iommu_domain *dom = to_mtk_domain(domain);
 	struct mtk_iommu_data *data = mtk_iommu_get_m4u_data();
drivers/iommu/mtk_iommu_v1.c +1 -1
index e31bd281e59d..fa602bfe6951 100644
@@ -295,7 +295,7 @@ static void mtk_iommu_detach_device(struct iommu_domain *domain,
 }
 
 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova,
-			 phys_addr_t paddr, size_t size, int prot)
+			 phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct mtk_iommu_domain *dom = to_mtk_domain(domain);
 	unsigned int page_num = size >> MT2701_IOMMU_PAGE_SHIFT;
drivers/iommu/omap-iommu.c +1 -1
index 09c6e1c680db..be551cc34be4 100644
@@ -1339,7 +1339,7 @@ static u32 iotlb_init_entry(struct iotlb_entry *e, u32 da, u32 pa, int pgsz)
 }
 
 static int omap_iommu_map(struct iommu_domain *domain, unsigned long da,
-			  phys_addr_t pa, size_t bytes, int prot)
+			  phys_addr_t pa, size_t bytes, int prot, gfp_t gfp)
 {
 	struct omap_iommu_domain *omap_domain = to_omap_domain(domain);
 	struct device *dev = omap_domain->dev;
drivers/iommu/qcom_iommu.c +1 -1
index b6e546b62a7c..e377f7771e30 100644
@@ -419,7 +419,7 @@ static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *de
 }
 
 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova,
-			  phys_addr_t paddr, size_t size, int prot)
+			  phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	int ret;
 	unsigned long flags;
drivers/iommu/rockchip-iommu.c +1 -1
index 0df091934361..96f37d9d4d93 100644
@@ -758,7 +758,7 @@ static int rk_iommu_map_iova(struct rk_iommu_domain *rk_domain, u32 *pte_addr,
 }
 
 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova,
-			phys_addr_t paddr, size_t size, int prot)
+			phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct rk_iommu_domain *rk_domain = to_rk_domain(domain);
 	unsigned long flags;
drivers/iommu/s390-iommu.c +1 -1
index 3b0b18e23187..1137f3ddcb85 100644
@@ -265,7 +265,7 @@ static int s390_iommu_update_trans(struct s390_domain *s390_domain,
 }
 
 static int s390_iommu_map(struct iommu_domain *domain, unsigned long iova,
-			  phys_addr_t paddr, size_t size, int prot)
+			  phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct s390_domain *s390_domain = to_s390_domain(domain);
 	int flags = ZPCI_PTE_VALID, rc = 0;
drivers/iommu/tegra-gart.c +1 -1
index 3924f7c05544..3fb7ba72507d 100644
@@ -178,7 +178,7 @@ static inline int __gart_iommu_map(struct gart_device *gart, unsigned long iova,
 }
 
 static int gart_iommu_map(struct iommu_domain *domain, unsigned long iova,
-			  phys_addr_t pa, size_t bytes, int prot)
+			  phys_addr_t pa, size_t bytes, int prot, gfp_t gfp)
 {
 	struct gart_device *gart = gart_handle;
 	int ret;
drivers/iommu/tegra-smmu.c +1 -1
index dd486233e282..576be3f245da 100644
@@ -651,7 +651,7 @@ static void tegra_smmu_set_pte(struct tegra_smmu_as *as, unsigned long iova,
 }
 
 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova,
-			  phys_addr_t paddr, size_t size, int prot)
+			  phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	struct tegra_smmu_as *as = to_smmu_as(domain);
 	dma_addr_t pte_dma;
drivers/iommu/virtio-iommu.c +1 -1
index 60e659a24f90..37e2267acf29 100644
@@ -715,7 +715,7 @@ static int viommu_attach_dev(struct iommu_domain *domain, struct device *dev)
 }
 
 static int viommu_map(struct iommu_domain *domain, unsigned long iova,
-		      phys_addr_t paddr, size_t size, int prot)
+		      phys_addr_t paddr, size_t size, int prot, gfp_t gfp)
 {
 	int ret;
 	u32 flags;
drivers/mmc/core/sdio_bus.c +14 -3
index aef235203d57..69eeff7a7d16 100644
@@ -269,6 +269,12 @@ static void sdio_release_func(struct device *dev)
 	if (!(func->card->quirks & MMC_QUIRK_NONSTD_SDIO))
 		sdio_free_func_cis(func);
 
+	/*
+	 * We have now removed the link to the tuples in the
+	 * card structure, so remove the reference.
+	 */
+	put_device(&func->card->dev);
+
 	kfree(func->info);
 	kfree(func->tmpbuf);
 	kfree(func);
@@ -299,6 +305,12 @@ struct sdio_func *sdio_alloc_func(struct mmc_card *card)
 
 	device_initialize(&func->dev);
 
+	/*
+	 * We may link to tuples in the card structure,
+	 * we need make sure we have a reference to it.
+	 */
+	get_device(&func->card->dev);
+
 	func->dev.parent = &card->dev;
 	func->dev.bus = &sdio_bus_type;
 	func->dev.release = sdio_release_func;
@@ -352,10 +364,9 @@ int sdio_add_func(struct sdio_func *func)
  */
 void sdio_remove_func(struct sdio_func *func)
 {
-	if (!sdio_func_present(func))
-		return;
+	if (sdio_func_present(func))
+		device_del(&func->dev);
 
-	device_del(&func->dev);
 	of_node_put(func->dev.of_node);
 	put_device(&func->dev);
 }
drivers/mmc/core/sdio_cis.c +0 -12
index 9a5aaac29099..e45053284fdc 100644
@@ -383,12 +383,6 @@ int sdio_read_func_cis(struct sdio_func *func)
 	if (ret)
 		return ret;
 
-	/*
-	 * Since we've linked to tuples in the card structure,
-	 * we must make sure we have a reference to it.
-	 */
-	get_device(&func->card->dev);
-
 	/*
 	 * Vendor/device id is optional for function CIS, so
 	 * copy it from the card structure as needed.
@@ -414,11 +408,5 @@ void sdio_free_func_cis(struct sdio_func *func)
 	}
 
 	func->tuples = NULL;
-
-	/*
-	 * We have now removed the link to the tuples in the
-	 * card structure, so remove the reference.
-	 */
-	put_device(&func->card->dev);
 }
 
drivers/mmc/host/mmc_spi.c +4 -4
index 7083d8ddd495..7874b266a444 100644
@@ -1420,7 +1420,7 @@ static int mmc_spi_probe(struct spi_device *spi)
 
 	status = mmc_add_host(mmc);
 	if (status != 0)
-		goto fail_add_host;
+		goto fail_glue_init;
 
 	/*
 	 * Index 0 is card detect
@@ -1428,7 +1428,7 @@ static int mmc_spi_probe(struct spi_device *spi)
 	 */
 	status = mmc_gpiod_request_cd(mmc, NULL, 0, false, 1, NULL);
 	if (status == -EPROBE_DEFER)
-		goto fail_add_host;
+		goto fail_gpiod_request;
 	if (!status) {
 		/*
 		 * The platform has a CD GPIO signal that may support
@@ -1443,7 +1443,7 @@ static int mmc_spi_probe(struct spi_device *spi)
 	/* Index 1 is write protect/read only */
 	status = mmc_gpiod_request_ro(mmc, NULL, 1, 0, NULL);
 	if (status == -EPROBE_DEFER)
-		goto fail_add_host;
+		goto fail_gpiod_request;
 	if (!status)
 		has_ro = true;
 
@@ -1457,7 +1457,7 @@ static int mmc_spi_probe(struct spi_device *spi)
 				? ", cd polling" : "");
 	return 0;
 
-fail_add_host:
+fail_gpiod_request:
 	mmc_remove_host(mmc);
 fail_glue_init:
 	if (host->dma_dev)
drivers/net/bonding/bond_debugfs.c +1 -1
index f3f86ef68ae0..8b6cf2bf9025 100644
@@ -76,7 +76,7 @@ void bond_debug_reregister(struct bonding *bond)
 
 	d = debugfs_rename(bonding_debug_root, bond->debug_dir,
 			   bonding_debug_root, bond->dev->name);
-	if (d) {
+	if (!IS_ERR(d)) {
 		bond->debug_dir = d;
 	} else {
 		netdev_warn(bond->dev, "failed to reregister, so just unregister old one\n");
drivers/net/ethernet/broadcom/bgmac-bcma.c +3 -3
index 2d52754afc33..7d844b0ea0da 100644
@@ -228,12 +228,12 @@ static int bgmac_probe(struct bcma_device *core)
 		bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
 		bgmac->feature_flags |= BGMAC_FEAT_FLW_CTRL1;
 		bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_PHY;
-		if (ci->pkg == BCMA_PKG_ID_BCM47188 ||
-		    ci->pkg == BCMA_PKG_ID_BCM47186) {
+		if ((ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM47186) ||
+		    (ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188)) {
 			bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_RGMII;
 			bgmac->feature_flags |= BGMAC_FEAT_IOST_ATTACHED;
 		}
-		if (ci->pkg == BCMA_PKG_ID_BCM5358)
+		if (ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM5358)
 			bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_EPHYRMII;
 		break;
 	case BCMA_CHIP_ID_BCM53573:
drivers/net/ethernet/broadcom/bnxt/bnxt.c +6 -2
index 3636849f6365..ef8225b7445d 100644
@@ -8205,10 +8205,14 @@ int bnxt_reserve_rings(struct bnxt *bp, bool irq_re_init)
 		netdev_err(bp->dev, "ring reservation/IRQ init failure rc: %d\n", rc);
 		return rc;
 	}
-	if (tcs && (bp->tx_nr_rings_per_tc * tcs != bp->tx_nr_rings)) {
+	if (tcs && (bp->tx_nr_rings_per_tc * tcs !=
+		    bp->tx_nr_rings - bp->tx_nr_rings_xdp)) {
 		netdev_err(bp->dev, "tx ring reservation failure\n");
 		netdev_reset_tc(bp->dev);
-		bp->tx_nr_rings_per_tc = bp->tx_nr_rings;
+		if (bp->tx_nr_rings_xdp)
+			bp->tx_nr_rings_per_tc = bp->tx_nr_rings_xdp;
+		else
+			bp->tx_nr_rings_per_tc = bp->tx_nr_rings;
 		return -ENOMEM;
 	}
 	return 0;
drivers/net/ethernet/intel/i40e/i40e_main.c +3 -1
index d612b23c2e3f..3f983d69f10e 100644
@@ -2702,7 +2702,7 @@ static int i40e_change_mtu(struct net_device *netdev, int new_mtu)
 	struct i40e_pf *pf = vsi->back;
 
 	if (i40e_enabled_xdp_vsi(vsi)) {
-		int frame_size = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN;
+		int frame_size = new_mtu + I40E_PACKET_HDR_PAD;
 
 		if (frame_size > i40e_max_xdp_frame_size(vsi))
 			return -EINVAL;
@@ -12535,6 +12535,8 @@ static int i40e_ndo_bridge_setlink(struct net_device *dev,
 	}
 
 	br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC);
+	if (!br_spec)
+		return -EINVAL;
 
 	nla_for_each_nested(attr, br_spec, rem) {
 		__u16 mode;
drivers/net/ethernet/intel/ice/ice_main.c +1 -1
index 7d28563ab794..ae1d30567225 100644
@@ -3211,7 +3211,7 @@ static int __init ice_module_init(void)
 	pr_info("%s - version %s\n", ice_driver_string, ice_drv_ver);
 	pr_info("%s\n", ice_copyright);
 
-	ice_wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, KBUILD_MODNAME);
+	ice_wq = alloc_workqueue("%s", 0, 0, KBUILD_MODNAME);
 	if (!ice_wq) {
 		pr_err("Failed to create workqueue\n");
 		return -ENOMEM;
drivers/net/ethernet/intel/ixgbe/ixgbe.h +2 -0
index fa49ef2afde5..0142ca226bf5 100644
@@ -67,6 +67,8 @@
 #define IXGBE_RXBUFFER_4K    4096
 #define IXGBE_MAX_RXBUFFER  16384  /* largest size for a single descriptor */
 
+#define IXGBE_PKT_HDR_PAD   (ETH_HLEN + ETH_FCS_LEN + (VLAN_HLEN * 2))
+
 /* Attempt to maximize the headroom available for incoming frames.  We
  * use a 2K buffer for receives and need 1536/1534 to store the data for
  * the frame.  This leaves us with 512 bytes of room.  From that we need
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +17 -11
index f8aa1a0b89c5..a864b91065e3 100644
@@ -6721,6 +6721,18 @@ static void ixgbe_free_all_rx_resources(struct ixgbe_adapter *adapter)
 			ixgbe_free_rx_resources(adapter->rx_ring[i]);
 }
 
+/**
+ * ixgbe_max_xdp_frame_size - returns the maximum allowed frame size for XDP
+ * @adapter: device handle, pointer to adapter
+ */
+static int ixgbe_max_xdp_frame_size(struct ixgbe_adapter *adapter)
+{
+	if (PAGE_SIZE >= 8192 || adapter->flags2 & IXGBE_FLAG2_RX_LEGACY)
+		return IXGBE_RXBUFFER_2K;
+	else
+		return IXGBE_RXBUFFER_3K;
+}
+
 /**
  * ixgbe_change_mtu - Change the Maximum Transfer Unit
  * @netdev: network interface device structure
@@ -6732,18 +6744,12 @@ static int ixgbe_change_mtu(struct net_device *netdev, int new_mtu)
 {
 	struct ixgbe_adapter *adapter = netdev_priv(netdev);
 
-	if (adapter->xdp_prog) {
-		int new_frame_size = new_mtu + ETH_HLEN + ETH_FCS_LEN +
-				     VLAN_HLEN;
-		int i;
-
-		for (i = 0; i < adapter->num_rx_queues; i++) {
-			struct ixgbe_ring *ring = adapter->rx_ring[i];
+	if (ixgbe_enabled_xdp_adapter(adapter)) {
+		int new_frame_size = new_mtu + IXGBE_PKT_HDR_PAD;
 
-			if (new_frame_size > ixgbe_rx_bufsz(ring)) {
-				e_warn(probe, "Requested MTU size is not supported with XDP\n");
-				return -EINVAL;
-			}
+		if (new_frame_size > ixgbe_max_xdp_frame_size(adapter)) {
+			e_warn(probe, "Requested MTU size is not supported with XDP\n");
+			return -EINVAL;
 		}
 	}
 
drivers/net/ethernet/pensando/ionic/ionic_lif.c +12 -3
index f9c303d76658..d0841836cf70 100644
@@ -190,6 +190,7 @@ static int ionic_qcq_enable(struct ionic_qcq *qcq)
 			.oper = IONIC_Q_ENABLE,
 		},
 	};
+	int ret;
 
 	idev = &lif->ionic->idev;
 	dev = lif->ionic->dev;
@@ -197,16 +198,24 @@ static int ionic_qcq_enable(struct ionic_qcq *qcq)
 	dev_dbg(dev, "q_enable.index %d q_enable.qtype %d\n",
 		ctx.cmd.q_control.index, ctx.cmd.q_control.type);
 
+	if (qcq->flags & IONIC_QCQ_F_INTR)
+		ionic_intr_clean(idev->intr_ctrl, qcq->intr.index);
+
+	ret = ionic_adminq_post_wait(lif, &ctx);
+	if (ret)
+		return ret;
+
+	if (qcq->napi.poll)
+		napi_enable(&qcq->napi);
+
 	if (qcq->flags & IONIC_QCQ_F_INTR) {
 		irq_set_affinity_hint(qcq->intr.vector,
 				      &qcq->intr.affinity_mask);
-		napi_enable(&qcq->napi);
-		ionic_intr_clean(idev->intr_ctrl, qcq->intr.index);
 		ionic_intr_mask(idev->intr_ctrl, qcq->intr.index,
 				IONIC_INTR_MASK_CLEAR);
 	}
 
-	return ionic_adminq_post_wait(lif, &ctx);
+	return 0;
 }
 
 static int ionic_qcq_disable(struct ionic_qcq *qcq)
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +2 -0
index bfc4a92f1d92..78be62ecc9a9 100644
@@ -505,6 +505,8 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
 	plat_dat->has_gmac4 = 1;
 	plat_dat->pmt = 1;
 	plat_dat->tso_en = of_property_read_bool(np, "snps,tso");
+	if (of_device_is_compatible(np, "qcom,qcs404-ethqos"))
+		plat_dat->rx_clk_runs_in_lpi = 1;
 
 	ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
 	if (ret)
drivers/net/ethernet/stmicro/stmmac/dwmac5.c +2 -1
index e436fa160c7d..59165c0560d7 100644
@@ -520,9 +520,9 @@ int dwmac5_flex_pps_config(void __iomem *ioaddr, int index,
 		return 0;
 	}
 
-	val |= PPSCMDx(index, 0x2);
 	val |= TRGTMODSELx(index, 0x2);
 	val |= PPSEN0;
+	writel(val, ioaddr + MAC_PPS_CONTROL);
 
 	writel(cfg->start.tv_sec, ioaddr + MAC_PPSx_TARGET_TIME_SEC(index));
 
@@ -547,6 +547,7 @@ int dwmac5_flex_pps_config(void __iomem *ioaddr, int index,
 	writel(period - 1, ioaddr + MAC_PPSx_WIDTH(index));
 
 	/* Finally, activate it */
+	val |= PPSCMDx(index, 0x2);
 	writel(val, ioaddr + MAC_PPS_CONTROL);
 	return 0;
 }
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +2 -1
index 3079e5254666..6a3b0f76d972 100644
@@ -932,7 +932,8 @@ static void stmmac_mac_link_up(struct phylink_config *config,
 
 	stmmac_mac_set(priv, priv->ioaddr, true);
 	if (phy && priv->dma_cap.eee) {
-		priv->eee_active = phy_init_eee(phy, 1) >= 0;
+		priv->eee_active =
+			phy_init_eee(phy, !priv->plat->rx_clk_runs_in_lpi) >= 0;
 		priv->eee_enabled = stmmac_eee_init(priv);
 		stmmac_set_eee_pls(priv, priv->hw, true);
 	}
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +1 -1
index a2ff9b4727ec..6388bae68b65 100644
@@ -554,7 +554,7 @@ stmmac_probe_config_dt(struct platform_device *pdev, const char **mac)
 	dma_cfg->mixed_burst = of_property_read_bool(np, "snps,mixed-burst");
 
 	plat->force_thresh_dma_mode = of_property_read_bool(np, "snps,force_thresh_dma_mode");
-	if (plat->force_thresh_dma_mode) {
+	if (plat->force_thresh_dma_mode && plat->force_sf_dma_mode) {
 		plat->force_sf_dma_mode = 0;
 		dev_warn(&pdev->dev,
 			 "force_sf_dma_mode is ignored if force_thresh_dma_mode is set.\n");
drivers/net/phy/meson-gxl.c +4 -0
index e8f2ca625837..39151ec6f65e 100644
@@ -235,6 +235,8 @@ static struct phy_driver meson_gxl_phy[] = {
 		.config_intr	= meson_gxl_config_intr,
 		.suspend        = genphy_suspend,
 		.resume         = genphy_resume,
+		.read_mmd	= genphy_read_mmd_unsupported,
+		.write_mmd	= genphy_write_mmd_unsupported,
 	}, {
 		PHY_ID_MATCH_EXACT(0x01803301),
 		.name		= "Meson G12A Internal PHY",
@@ -245,6 +247,8 @@ static struct phy_driver meson_gxl_phy[] = {
 		.config_intr	= meson_gxl_config_intr,
 		.suspend        = genphy_suspend,
 		.resume         = genphy_resume,
+		.read_mmd	= genphy_read_mmd_unsupported,
+		.write_mmd	= genphy_write_mmd_unsupported,
 	},
 };
 
drivers/net/usb/kalmia.c +4 -4
index fc5895f85cee..a552bb1665b8 100644
@@ -65,8 +65,8 @@ kalmia_send_init_packet(struct usbnet *dev, u8 *init_msg, u8 init_msg_len,
 		init_msg, init_msg_len, &act_len, KALMIA_USB_TIMEOUT);
 	if (status != 0) {
 		netdev_err(dev->net,
-			"Error sending init packet. Status %i, length %i\n",
-			status, act_len);
+			"Error sending init packet. Status %i\n",
+			status);
 		return status;
 	}
 	else if (act_len != init_msg_len) {
@@ -83,8 +83,8 @@ kalmia_send_init_packet(struct usbnet *dev, u8 *init_msg, u8 init_msg_len,
 
 	if (status != 0)
 		netdev_err(dev->net,
-			"Error receiving init result. Status %i, length %i\n",
-			status, act_len);
+			"Error receiving init result. Status %i\n",
+			status);
 	else if (act_len != expected_len)
 		netdev_err(dev->net, "Unexpected init result length: %i\n",
 			act_len);
drivers/net/usb/plusb.c +1 -3
index 17c9c63b8eeb..ce7862dac2b7 100644
@@ -57,9 +57,7 @@
 static inline int
 pl_vendor_req(struct usbnet *dev, u8 req, u8 val, u8 index)
 {
-	return usbnet_read_cmd(dev, req,
-				USB_DIR_IN | USB_TYPE_VENDOR |
-				USB_RECIP_DEVICE,
+	return usbnet_write_cmd(dev, req, USB_TYPE_VENDOR | USB_RECIP_DEVICE,
 				val, index, NULL, 0);
 }
 
drivers/net/virtio_net.c +1 -1
index 579df7c5411d..5212d9cb0372 100644
@@ -1910,8 +1910,8 @@ static int virtnet_close(struct net_device *dev)
 	cancel_delayed_work_sync(&vi->refill);
 
 	for (i = 0; i < vi->max_queue_pairs; i++) {
-		xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq);
 		napi_disable(&vi->rq[i].napi);
+		xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq);
 		virtnet_napi_tx_disable(&vi->sq[i].napi);
 	}
 
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +17 -0
index 6439adcd2f99..cd146bbca670 100644
@@ -87,6 +87,9 @@
 #define BRCMF_ASSOC_PARAMS_FIXED_SIZE \
 	(sizeof(struct brcmf_assoc_params_le) - sizeof(u16))
 
+#define BRCMF_MAX_CHANSPEC_LIST \
+	(BRCMF_DCMD_MEDLEN / sizeof(__le32) - 1)
+
 static bool check_vif_up(struct brcmf_cfg80211_vif *vif)
 {
 	if (!test_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state)) {
@@ -6067,6 +6070,13 @@ static int brcmf_construct_chaninfo(struct brcmf_cfg80211_info *cfg,
 			band->channels[i].flags = IEEE80211_CHAN_DISABLED;
 
 	total = le32_to_cpu(list->count);
+	if (total > BRCMF_MAX_CHANSPEC_LIST) {
+		bphy_err(drvr, "Invalid count of channel Spec. (%u)\n",
+			 total);
+		err = -EINVAL;
+		goto fail_pbuf;
+	}
+
 	for (i = 0; i < total; i++) {
 		ch.chspec = (u16)le32_to_cpu(list->element[i]);
 		cfg->d11inf.decchspec(&ch);
@@ -6212,6 +6222,13 @@ static int brcmf_enable_bw40_2g(struct brcmf_cfg80211_info *cfg)
 		band = cfg_to_wiphy(cfg)->bands[NL80211_BAND_2GHZ];
 		list = (struct brcmf_chanspec_list *)pbuf;
 		num_chan = le32_to_cpu(list->count);
+		if (num_chan > BRCMF_MAX_CHANSPEC_LIST) {
+			bphy_err(drvr, "Invalid count of channel Spec. (%u)\n",
+				 num_chan);
+			kfree(pbuf);
+			return -EINVAL;
+		}
+
 		for (i = 0; i < num_chan; i++) {
 			ch.chspec = (u16)le32_to_cpu(list->element[i]);
 			cfg->d11inf.decchspec(&ch);
drivers/nvme/host/pci.c +2 -1
index 5d62d1042c0e..a58711c48850 100644
@@ -3199,7 +3199,6 @@ static const struct pci_device_id nvme_id_table[] = {
 				NVME_QUIRK_IGNORE_DEV_SUBNQN, },
 	{ PCI_DEVICE(0x1c5c, 0x1504),   /* SK Hynix PC400 */
 		.driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
-	{ PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) },
 	{ PCI_DEVICE(0x2646, 0x2263),   /* KINGSTON A2000 NVMe SSD  */
 		.driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
 	{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001),
@@ -3209,6 +3208,8 @@ static const struct pci_device_id nvme_id_table[] = {
 		.driver_data = NVME_QUIRK_SINGLE_VECTOR |
 				NVME_QUIRK_128_BYTES_SQES |
 				NVME_QUIRK_SHARED_TAGS },
+
+	{ PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) },
 	{ 0, }
 };
 MODULE_DEVICE_TABLE(pci, nvme_id_table);
drivers/nvme/target/fc.c +3 -1
index 9b07e8c7689a..f74fc6481731 100644
@@ -1362,8 +1362,10 @@ nvmet_fc_ls_create_association(struct nvmet_fc_tgtport *tgtport,
 		else {
 			queue = nvmet_fc_alloc_target_queue(iod->assoc, 0,
 					be16_to_cpu(rqst->assoc_cmd.sqsize));
-			if (!queue)
+			if (!queue) {
 				ret = VERR_QUEUE_ALLOC_FAIL;
+				nvmet_fc_tgt_a_put(iod->assoc);
+			}
 		}
 	}
 
drivers/nvmem/core.c +1 -2
index c0f4324d8f7c..cde1d77845fe 100644
@@ -439,7 +439,7 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
 	if (config->cells) {
 		rval = nvmem_add_cells(nvmem, config->cells, config->ncells);
 		if (rval)
-			goto err_teardown_compat;
+			goto err_remove_cells;
 	}
 
 	rval = nvmem_add_cells_from_table(nvmem);
@@ -456,7 +456,6 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
 
 err_remove_cells:
 	nvmem_device_remove_all_cells(nvmem);
-err_teardown_compat:
 	if (config->compat)
 		nvmem_sysfs_remove_compat(nvmem, config);
 err_device_del:
drivers/pinctrl/aspeed/pinctrl-aspeed.c +1 -1
index 22aca6d182c0..2c1e799b029e 100644
@@ -115,7 +115,7 @@ static int aspeed_disable_sig(struct aspeed_pinmux_data *ctx,
 	int ret = 0;
 
 	if (!exprs)
-		return true;
+		return -EINVAL;
 
 	while (*exprs && !ret) {
 		ret = aspeed_sig_expr_disable(ctx, *exprs);
drivers/pinctrl/intel/pinctrl-intel.c +13 -3
index e0cb76f7e540..32c6326337f7 100644
@@ -1510,6 +1510,12 @@ int intel_pinctrl_probe_by_uid(struct platform_device *pdev)
 EXPORT_SYMBOL_GPL(intel_pinctrl_probe_by_uid);
 
 #ifdef CONFIG_PM_SLEEP
+static bool __intel_gpio_is_direct_irq(u32 value)
+{
+	return (value & PADCFG0_GPIROUTIOXAPIC) && (value & PADCFG0_GPIOTXDIS) &&
+	       (__intel_gpio_get_gpio_mode(value) == PADCFG0_PMODE_GPIO);
+}
+
 static bool intel_pinctrl_should_save(struct intel_pinctrl *pctrl, unsigned int pin)
 {
 	const struct pin_desc *pd = pin_desc_get(pctrl->pctldev, pin);
@@ -1543,8 +1549,7 @@ static bool intel_pinctrl_should_save(struct intel_pinctrl *pctrl, unsigned int
 	 * See https://bugzilla.kernel.org/show_bug.cgi?id=214749.
 	 */
 	value = readl(intel_get_padcfg(pctrl, pin, PADCFG0));
-	if ((value & PADCFG0_GPIROUTIOXAPIC) && (value & PADCFG0_GPIOTXDIS) &&
-	    (__intel_gpio_get_gpio_mode(value) == PADCFG0_PMODE_GPIO))
+	if (__intel_gpio_is_direct_irq(value))
 		return true;
 
 	return false;
@@ -1656,7 +1661,12 @@ int intel_pinctrl_resume_noirq(struct device *dev)
 		void __iomem *padcfg;
 		u32 val;
 
-		if (!intel_pinctrl_should_save(pctrl, desc->number))
+		if (!(intel_pinctrl_should_save(pctrl, desc->number) ||
+		      /*
+		       * If the firmware mangled the register contents too much,
+		       * check the saved value for the Direct IRQ mode.
+		       */
+		      __intel_gpio_is_direct_irq(pads[i].padcfg0)))
 			continue;
 
 		padcfg = intel_get_padcfg(pctrl, desc->number, PADCFG0);
drivers/pinctrl/pinctrl-single.c +2 -0
index 20c89023d312..ce5be6f0b7aa 100644
@@ -345,6 +345,8 @@ static int pcs_set_mux(struct pinctrl_dev *pctldev, unsigned fselector,
 	if (!pcs->fmask)
 		return 0;
 	function = pinmux_generic_get_function(pctldev, fselector);
+	if (!function)
+		return -EINVAL;
 	func = function->data;
 	if (!func)
 		return -EINVAL;
drivers/scsi/iscsi_tcp.c +6 -3
index b5dd1caae5e9..9320a0a92bb2 100644
@@ -770,7 +770,7 @@ static int iscsi_sw_tcp_host_get_param(struct Scsi_Host *shost,
 				       enum iscsi_host_param param, char *buf)
 {
 	struct iscsi_sw_tcp_host *tcp_sw_host = iscsi_host_priv(shost);
-	struct iscsi_session *session = tcp_sw_host->session;
+	struct iscsi_session *session;
 	struct iscsi_conn *conn;
 	struct iscsi_tcp_conn *tcp_conn;
 	struct iscsi_sw_tcp_conn *tcp_sw_conn;
@@ -779,6 +779,7 @@ static int iscsi_sw_tcp_host_get_param(struct Scsi_Host *shost,
 
 	switch (param) {
 	case ISCSI_HOST_PARAM_IPADDRESS:
+		session = tcp_sw_host->session;
 		if (!session)
 			return -ENOTCONN;
 
@@ -867,12 +868,14 @@ iscsi_sw_tcp_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max,
 	if (!cls_session)
 		goto remove_host;
 	session = cls_session->dd_data;
-	tcp_sw_host = iscsi_host_priv(shost);
-	tcp_sw_host->session = session;
[… more lines in the raw message]

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

drivers/scsi/scsi_scan.c +3 -4
index 3fd109fd9335..d236322ced30 100644

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

drivers/target/target_core_file.c +2 -2
index 7143d03f0e02..18fbbe510d01 100644

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

drivers/target/target_core_tmr.c +2 -2
index feeba3966617..6928ebf0be9c 100644

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

drivers/tty/serial/8250/8250_dma.c +23 -3
index 890fa7ddaa7f..bdc7bb7a1b92 100644

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

drivers/tty/vt/vc_screen.c +5 -4
index 778f83ea2249..e61fd04a0d8d 100644

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

drivers/usb/core/quirks.c +3 -0
index 35a11f7bcb65..1346c600ebed 100644

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

drivers/usb/dwc3/dwc3-qcom.c +5 -5
index aed35276e0e0..2dcdeb52fc29 100644

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

drivers/usb/gadget/function/f_fs.c +3 -1
index 431ab6d07497..5fe749036773 100644

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

drivers/usb/typec/altmodes/displayport.c +4 -4
index 1aa1bd991ef4..c840f03996fb 100644

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

drivers/video/fbdev/core/fbcon.c +5 -2
index 673af5937489..e48792828939 100644

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

drivers/video/fbdev/smscufx.c +31 -15

46 lines not on this page · raw message

drivers/watchdog/diag288_wdt.c +12 -3
index aafc8d98bf9f..370f648cb4b1 100644

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

drivers/xen/pvcalls-back.c +4 -4
index 9439de2ca0e4..9c267e27d9d9 100644

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

fs/aio.c +4 -0
index fb92c32a6f1e..1ec5a773d09c 100644

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

fs/btrfs/volumes.c +17 -1
index 548de841cee5..3fa972a43b5e 100644

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

fs/btrfs/zlib.c +1 -1
index df1aace5df50..9385d0bb276d 100644

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

fs/ceph/mds_client.c +6 -0
index 37fb71797b34..3bf81fe5f10a 100644

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

fs/f2fs/gc.c +12 -6
index ef71d9cda585..939be9df0207 100644

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

fs/nilfs2/ioctl.c +7 -0
index 91b9dac6b2cc..262783cd79cc 100644

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

fs/nilfs2/super.c +9 -0
index 049768a22388..b1015e97f37b 100644

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

fs/nilfs2/the_nilfs.c +7 -1
index 74ef3d313686..6541e29a8b20 100644

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

fs/proc/task_mmu.c +1 -3
index d9633e5a5ddd..0bdfef023d34 100644

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

fs/squashfs/squashfs_fs.h +1 -1
index 236664d69141..ccfaf8c81958 100644

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

fs/squashfs/squashfs_fs_sb.h +1 -1
index 166e98806265..8f9445e290e7 100644

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

fs/squashfs/xattr.h +2 -2
index d8a270d3ac4c..f1a463d8bfa0 100644

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

fs/squashfs/xattr_id.c +1 -1
index 087cab8c78f4..c8469c656e0d 100644

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

fs/xfs/libxfs/xfs_defer.c +277 -81

358 lines not on this page · raw message

fs/xfs/libxfs/xfs_defer.h +43 -6

49 lines not on this page · raw message

fs/xfs/libxfs/xfs_inode_fork.c +1 -1
index 15d6f947620f..93357072b19d 100644

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

fs/xfs/libxfs/xfs_trans_inode.c +1 -1
index 0ba7368b9a5f..1d0e78e0099d 100644

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

fs/xfs/xfs_aops.c +3 -1
index f16d5f196c6b..5d9f8e4c4cde 100644

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

fs/xfs/xfs_bmap_item.c +125 -113

238 lines not on this page · raw message

fs/xfs/xfs_bmap_item.h +2 -1
index ad479cc73de8..a95e99c26979 100644

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

fs/xfs/xfs_extfree_item.c +98 -77

175 lines not on this page · raw message

fs/xfs/xfs_extfree_item.h +9 -9
index 16aaab06d4ec..883f0f1d8989 100644

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

fs/xfs/xfs_icreate_item.c +1 -0
index 3ebd1b7f49d8..7d940b289db5 100644

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

fs/xfs/xfs_inode.c +2 -2
index e5a90a0b8f8a..02f77a359972 100644

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

fs/xfs/xfs_inode_item.c +1 -1
index 76a60526af94..83b8f5655636 100644

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

fs/xfs/xfs_inode_item.h +2 -2
index 07a60e74c39c..ad667fd4ae62 100644

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

fs/xfs/xfs_iwalk.c +24 -3
index aa375cf53021..cc5c0c835884 100644

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

fs/xfs/xfs_log.c +50 -18

68 lines not on this page · raw message

fs/xfs/xfs_log.h +3 -0
index 84e06805160f..dc9229e7ddaa 100644

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

fs/xfs/xfs_log_cil.c +3 -5
index 550fd5de2404..ae9b8efcfa54 100644

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

fs/xfs/xfs_log_recover.c +92 -68

160 lines not on this page · raw message

fs/xfs/xfs_mount.c +1 -2
index bbcf48a625b2..2860966af6c2 100644

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

fs/xfs/xfs_refcount_item.c +93 -80

173 lines not on this page · raw message

fs/xfs/xfs_refcount_item.h +2 -1
index e47530f30489..de5f48ff4f74 100644

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

fs/xfs/xfs_rmap_item.c +91 -70

161 lines not on this page · raw message

fs/xfs/xfs_rmap_item.h +2 -1
index 8708e4a5aa5c..5cf4acb0e915 100644

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

fs/xfs/xfs_stats.c +4 -0
index f70f1255220b..20e0534a772c 100644

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

fs/xfs/xfs_stats.h +1 -0
index 34d704f703d2..43ffba74f045 100644

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

fs/xfs/xfs_super.c +4 -4
index f1407900aeef..9e73d2b29911 100644

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

fs/xfs/xfs_trace.h +1 -0
index f94908125e8f..4b5818395406 100644

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

fs/xfs/xfs_trans.h +10 -0
index 64d7f171ebd3..941647027f00 100644

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

include/linux/hugetlb.h +17 -1
index c7507135c2a0..311dd8e92182 100644

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

include/linux/iommu.h +20 -1
index 29bac5345563..6ca3fb2873d7 100644

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

include/linux/stmmac.h +1 -0
index 0b35747c9837..88b107e20fc7 100644

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

include/net/sock.h +13 -0
index 5fa255b1e0a6..976433438c6f 100644

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

kernel/sched/psi.c +4 -3
index 9dd83eb74a9d..8c19a5438d0e 100644

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

kernel/trace/trace.c +0 -3
index 8b87f1f74e32..306fbe14747b 100644

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

mm/memblock.c +1 -7
index 84a14b63e912..a75cc65f0330 100644

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

mm/mempolicy.c +2 -1
index f7b231f67156..36c2a9619ba5 100644

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

mm/swapfile.c +9 -4
index f6964212c6c8..d6bdacaedc95 100644

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

net/bridge/br_netfilter_hooks.c +1 -0
index 01e33724d10c..43cb7aab4eed 100644

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

net/can/j1939/address-claim.c +40 -0
index f33c47327927..ca4ad6cdd5cb 100644

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

net/can/j1939/transport.c +0 -4
index 9ca19dfe3e83..9c8c7c5dc9c3 100644

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

net/core/dev.c +1 -1
index 296bed9431f3..615cdaac3e72 100644

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

net/core/filter.c +2 -1
index 71fcb4e7edae..051b9710d7b5 100644

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

net/dccp/ipv6.c +2 -5
index 1bf267d36a9c..c2844fb442c4 100644

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

net/ipv6/datagram.c +1 -1
index 390bedde21a5..06261603e083 100644

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

net/ipv6/tcp_ipv6.c +4 -7
index e84b79357b2f..da8611a75d2a 100644

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

net/mpls/af_mpls.c +4 -0
index d5e3656fc67c..3a55a392e021 100644

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

net/netfilter/nft_tproxy.c +8 -0
index b97ab1198b03..a0e30bf4a845 100644

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

net/netrom/af_netrom.c +5 -0
index 58d5373c513c..7da77ddba5f4 100644

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

net/openvswitch/datapath.c +6 -6
index a8a8396dd983..4c537e74b18c 100644

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

net/rds/message.c +3 -3
index 92b6b22884d4..be6a0a073b12 100644

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

net/rose/af_rose.c +8 -0
index 95dda29058a0..6fb158172ddc 100644

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

net/sched/sch_htb.c +4 -1
index 8184c87da8be..27cb82b6237d 100644

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

net/sctp/diag.c +1 -3
index 5a918e74bb82..2d0318a7352c 100644

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

net/sunrpc/xprtrdma/verbs.c +2 -2
index 0f4d39fdb48f..cfae1a871578 100644

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

net/x25/af_x25.c +6 -0
index c94aa587e0c9..43dd489ad6db 100644

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

net/xfrm/xfrm_input.c +1 -2
index e120df0a6da1..4d8d7cf3d199 100644

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

sound/pci/hda/patch_conexant.c +1 -0
index d181dc31cd8d..51f65d634a15 100644

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

sound/pci/hda/patch_realtek.c +1 -1
index 413d4886f3d2..75c1645dd5c1 100644

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

sound/pci/hda/patch_via.c +3 -0
index 3edb4e25797d..4a74ccf7cf3e 100644

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

sound/pci/lx6464es/lx_core.c +5 -6
index dd3a873777eb..00975e86473c 100644

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

sound/soc/codecs/cs42l56.c +0 -6
index 8be7d83f0ce9..732405587c5a 100644

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

sound/soc/intel/boards/bytcr_rt5651.c +1 -1
index 921c09cdb480..0c1c8628b991 100644

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

sound/soc/sof/intel/hda-dai.c +4 -4
index b3cdd10c83ae..c30e450fa970 100644

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

sound/synth/emux/emux_nrpn.c +3 -0
index 1ac22676d464..641dc02ff709 100644

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

tools/testing/selftests/bpf/verifier/search_pruning.c +36 -0
index 7e50cb80873a..7e36078f8f48 100644

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

tools/testing/selftests/net/fib_tests.sh new file +1727 -0

1,727 lines not on this page · raw message

tools/testing/selftests/net/forwarding/lib.sh +2 -2
index f190ad58e00d..4d8845a68cf2 100644

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

tools/testing/selftests/net/udpgso_bench.sh +20 -4
index dc932fd65363..640bc43452fa 100755

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

tools/testing/selftests/net/udpgso_bench_rx.c +3 -1
index 6a193425c367..4058c7451e70 100644

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

tools/testing/selftests/net/udpgso_bench_tx.c +29 -7
index f1fdaa270291..477392715a9a 100644

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

tools/virtio/linux/bug.h +3 -5
index b14c2c3b6b85..74aef964f509 100644

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

tools/virtio/linux/build_bug.h new file +7 -0
new file mode 100644
index 000000000000..cdbb75e28a60

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

tools/virtio/linux/cpumask.h new file +7 -0
new file mode 100644
index 000000000000..307da69d6b26

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

tools/virtio/linux/gfp.h new file +7 -0
new file mode 100644
index 000000000000..43d146f236f1

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

tools/virtio/linux/kernel.h +1 -0
index 6683b4a70b05..3325cdf22941 100644

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

tools/virtio/linux/kmsan.h new file +12 -0
new file mode 100644
index 000000000000..272b5aa285d5

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

tools/virtio/linux/scatterlist.h +1 -0
index 369ee308b668..74d9e1825748 100644

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

tools/virtio/linux/topology.h new file +7 -0
new file mode 100644
index 000000000000..910794afb993

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.