Skip to contentSkip to conversation

Linux 5.18.4

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jun 14, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.18.4 kernel.

All users of the 5.18 kernel series must upgrade.

The updated 5.18.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.18.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

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

 Documentation/ABI/testing/sysfs-ata                               |   11 
 Documentation/devicetree/bindings/regulator/mt6315-regulator.yaml |    4 
 Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml         |   44 +
 Documentation/tools/rtla/Makefile                                 |   14 
 Makefile                                                          |    2 
 arch/arm/boot/dts/aspeed-ast2600-evb.dts                          |    4 
 arch/arm/mach-ep93xx/clock.c                                      |   10 
 arch/arm64/net/bpf_jit_comp.c                                     |    1 
 arch/m68k/Kconfig.machine                                         |    1 
 arch/m68k/include/asm/pgtable_no.h                                |    3 
 arch/m68k/kernel/setup_mm.c                                       |    7 
 arch/m68k/kernel/setup_no.c                                       |    1 
 arch/m68k/kernel/time.c                                           |    9 
 arch/mips/kernel/mips-cpc.c                                       |    1 
 arch/powerpc/Kconfig                                              |    2 
 arch/powerpc/include/asm/thread_info.h                            |   10 
 arch/powerpc/kernel/ptrace/ptrace-fpu.c                           |   20 
 arch/powerpc/kernel/ptrace/ptrace.c                               |    3 
 arch/powerpc/platforms/pseries/papr_scm.c                         |    3 
 arch/riscv/kernel/efi.c                                           |    2 
 arch/riscv/kernel/machine_kexec.c                                 |    4 
 arch/s390/crypto/aes_s390.c                                       |    4 
 arch/s390/kernel/entry.S                                          |    6 
 arch/s390/mm/gmap.c                                               |   14 
 arch/um/drivers/chan_kern.c                                       |   10 
 arch/um/drivers/line.c                                            |   22 
 arch/um/drivers/line.h                                            |    4 
 arch/um/drivers/ssl.c                                             |    2 
 arch/um/drivers/stdio_console.c                                   |    2 
 arch/um/include/asm/irq.h                                         |   22 
 arch/x86/include/asm/cpufeature.h                                 |    2 
 arch/x86/include/asm/uaccess.h                                    |    2 
 arch/x86/kvm/mmu/mmu.c                                            |    2 
 arch/x86/kvm/svm/nested.c                                         |    4 
 arch/x86/kvm/svm/svm.c                                            |   32 -
 arch/x86/kvm/svm/svm.h                                            |    2 
 block/bio.c                                                       |    9 
 block/blk-core.c                                                  |    2 
 block/blk-mq.c                                                    |   10 
 block/genhd.c                                                     |    2 
 drivers/ata/libata-core.c                                         |   21 
 drivers/ata/libata-scsi.c                                         |    2 
 drivers/ata/libata-transport.c                                    |    2 
 drivers/ata/pata_octeon_cf.c                                      |    3 
 drivers/base/bus.c                                                |    4 
 drivers/base/dd.c                                                 |   10 
 drivers/block/loop.c                                              |    8 
 drivers/block/nbd.c                                               |   78 ++-
 drivers/bus/ti-sysc.c                                             |    4 
 drivers/char/hw_random/virtio-rng.c                               |    2 
 drivers/char/random.c                                             |   15 
 drivers/char/xillybus/xillyusb.c                                  |    1 
 drivers/clocksource/timer-oxnas-rps.c                             |    2 
 drivers/clocksource/timer-riscv.c                                 |    2 
 drivers/clocksource/timer-sp804.c                                 |   10 
 drivers/dma/idxd/dma.c                                            |   23 
 drivers/dma/xilinx/zynqmp_dma.c                                   |    5 
 drivers/extcon/extcon-axp288.c                                    |    4 
 drivers/extcon/extcon-ptn5150.c                                   |   11 
 drivers/extcon/extcon.c                                           |   33 -
 drivers/firmware/dmi-sysfs.c                                      |    2 
 drivers/firmware/stratix10-svc.c                                  |   12 
 drivers/gpio/gpio-pca953x.c                                       |   19 
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c                            |    6 
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.h                            |    1 
 drivers/gpu/drm/amd/amdgpu/nv.c                                   |    1 
 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c                             |   17 
 drivers/gpu/drm/amd/amdkfd/kfd_device.c                           |    4 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                 |    2 
 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c    |    5 
 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c    |    3 
 drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c             |    9 
 drivers/gpu/drm/amd/display/dc/dml/dml_wrapper.c                  |    2 
 drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c           |   57 +-
 drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c                    |    2 
 drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c                |    1 
 drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c                    |    2 
 drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c              |    3 
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c                |   42 +
 drivers/gpu/drm/bridge/ti-sn65dsi83.c                             |    2 
 drivers/gpu/drm/drm_atomic_helper.c                               |   16 
 drivers/gpu/drm/imx/ipuv3-crtc.c                                  |    2 
 drivers/gpu/drm/msm/dp/dp_ctrl.c                                  |    9 
 drivers/gpu/drm/panfrost/panfrost_drv.c                           |    5 
 drivers/gpu/drm/panfrost/panfrost_job.c                           |    6 
 drivers/gpu/drm/panfrost/panfrost_job.h                           |    2 
 drivers/gpu/drm/radeon/radeon_connectors.c                        |    4 
 drivers/hwtracing/coresight/coresight-cpu-debug.c                 |    7 
 drivers/i2c/busses/i2c-cadence.c                                  |   12 
 drivers/i2c/busses/i2c-mt65xx.c                                   |   11 
 drivers/idle/intel_idle.c                                         |   32 -
 drivers/iio/adc/ad7124.c                                          |    1 
 drivers/iio/adc/sc27xx_adc.c                                      |   20 
 drivers/iio/adc/stmpe-adc.c                                       |    8 
 drivers/iio/common/st_sensors/st_sensors_core.c                   |   24 
 drivers/iio/dummy/iio_simple_dummy.c                              |   20 
 drivers/iio/proximity/vl53l0x-i2c.c                               |    7 
 drivers/input/mouse/bcm5974.c                                     |    7 
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c                       |    2 
 drivers/iommu/arm/arm-smmu/arm-smmu.c                             |    5 
 drivers/md/md.c                                                   |   15 
 drivers/md/raid0.c                                                |   31 -
 drivers/misc/cardreader/rtsx_usb.c                                |    1 
 drivers/misc/fastrpc.c                                            |    9 
 drivers/misc/lkdtm/bugs.c                                         |   10 
 drivers/misc/lkdtm/lkdtm.h                                        |    8 
 drivers/misc/lkdtm/usercopy.c                                     |   17 
 drivers/misc/pvpanic/pvpanic.c                                    |   10 
 drivers/mmc/core/block.c                                          |    3 
 drivers/mmc/host/sdhci-pci-gli.c                                  |    3 
 drivers/mtd/ubi/fastmap-wl.c                                      |   69 +-
 drivers/mtd/ubi/fastmap.c                                         |   11 
 drivers/mtd/ubi/ubi.h                                             |    4 
 drivers/mtd/ubi/vmt.c                                             |    1 
 drivers/mtd/ubi/wl.c                                              |   19 
 drivers/net/amt.c                                                 |   59 +-
 drivers/net/bonding/bond_main.c                                   |    2 
 drivers/net/bonding/bond_netlink.c                                |    5 
 drivers/net/bonding/bond_options.c                                |   10 
 drivers/net/bonding/bond_procfs.c                                 |   15 
 drivers/net/dsa/lantiq_gswip.c                                    |    4 
 drivers/net/dsa/mv88e6xxx/chip.c                                  |    1 
 drivers/net/dsa/mv88e6xxx/serdes.c                                |   27 -
 drivers/net/dsa/realtek/rtl8365mb.c                               |   38 -
 drivers/net/ethernet/altera/altera_tse_main.c                     |    6 
 drivers/net/ethernet/broadcom/bgmac-bcma-mdio.c                   |    1 
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c                    |    8 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c               |    2 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                       |    3 
 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c                   |    2 
 drivers/net/ethernet/mellanox/mlx5/core/dev.c                     |   54 +-
 drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c          |    7 
 drivers/net/ethernet/mellanox/mlx5/core/en.h                      |    4 
 drivers/net/ethernet/mellanox/mlx5/core/en/fs.h                   |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c                  |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_rx.c          |    6 
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c                |   19 
 drivers/net/ethernet/mellanox/mlx5/core/en/trap.c                 |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c             |    1 
 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c            |    5 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c                 |   29 -
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c                  |   31 -
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c                   |   38 +
 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c        |   10 
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c                 |   37 +
 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c                 |   12 
 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h                 |   10 
 drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h               |    2 
 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c          |    9 
 drivers/net/ethernet/microchip/lan966x/lan966x_main.c             |    9 
 drivers/net/ethernet/netronome/nfp/flower/conntrack.c             |   32 -
 drivers/net/ethernet/netronome/nfp/flower/match.c                 |   16 
 drivers/net/ethernet/netronome/nfp/nfdk/dp.c                      |   12 
 drivers/net/ethernet/netronome/nfp/nfdk/nfdk.h                    |    3 
 drivers/net/ethernet/netronome/nfp/nfp_net.h                      |   11 
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c              |    4 
 drivers/net/ethernet/sfc/efx_channels.c                           |    6 
 drivers/net/ethernet/sfc/net_driver.h                             |    2 
 drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c                 |    4 
 drivers/net/ethernet/ti/am65-cpsw-nuss.c                          |    8 
 drivers/net/phy/at803x.c                                          |   33 -
 drivers/net/phy/dp83867.c                                         |   29 +
 drivers/net/phy/mdio_bus.c                                        |    1 
 drivers/nfc/st21nfca/se.c                                         |   53 +-
 drivers/pci/controller/pcie-brcmstb.c                             |  257 +---------
 drivers/pcmcia/Kconfig                                            |    2 
 drivers/phy/qualcomm/phy-qcom-qmp.c                               |    2 
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c                     |   10 
 drivers/platform/x86/barco-p50-gpio.c                             |    5 
 drivers/platform/x86/hp-wmi.c                                     |   29 -
 drivers/power/supply/ab8500_fg.c                                  |   19 
 drivers/power/supply/axp288_charger.c                             |   17 
 drivers/power/supply/axp288_fuel_gauge.c                          |   41 +
 drivers/power/supply/charger-manager.c                            |    7 
 drivers/power/supply/max8997_charger.c                            |    8 
 drivers/power/supply/power_supply_core.c                          |    2 
 drivers/pwm/pwm-lp3943.c                                          |    1 
 drivers/pwm/pwm-raspberrypi-poe.c                                 |    2 
 drivers/remoteproc/imx_rproc.c                                    |    3 
 drivers/remoteproc/mtk_common.h                                   |    2 
 drivers/remoteproc/mtk_scp.c                                      |   70 ++
 drivers/rpmsg/qcom_smd.c                                          |    4 
 drivers/rpmsg/virtio_rpmsg_bus.c                                  |    9 
 drivers/rtc/rtc-ftrtc010.c                                        |   34 -
 drivers/rtc/rtc-mt6397.c                                          |    2 
 drivers/scsi/lpfc/lpfc_crtn.h                                     |    4 
 drivers/scsi/lpfc/lpfc_ct.c                                       |    2 
 drivers/scsi/lpfc/lpfc_init.c                                     |    2 
 drivers/scsi/lpfc/lpfc_nvme.c                                     |    6 
 drivers/scsi/lpfc/lpfc_scsi.c                                     |    6 
 drivers/scsi/lpfc/lpfc_sli.c                                      |   25 
 drivers/scsi/myrb.c                                               |   11 
 drivers/scsi/sd.c                                                 |    5 
 drivers/soc/rockchip/grf.c                                        |    2 
 drivers/soundwire/intel.c                                         |    3 
 drivers/soundwire/qcom.c                                          |    6 
 drivers/spi/spi-fsi.c                                             |   12 
 drivers/staging/fieldbus/anybuss/host.c                           |    2 
 drivers/staging/greybus/audio_codec.c                             |    4 
 drivers/staging/r8188eu/core/rtw_fw.c                             |    2 
 drivers/staging/r8188eu/core/rtw_mlme.c                           |    6 
 drivers/staging/r8188eu/core/rtw_xmit.c                           |   13 
 drivers/staging/r8188eu/include/rtw_xmit.h                        |    2 
 drivers/staging/rtl8192e/rtllib_softmac.c                         |    2 
 drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c            |    2 
 drivers/staging/rtl8712/os_intfs.c                                |    1 
 drivers/staging/rtl8712/usb_intf.c                                |   12 
 drivers/staging/rtl8712/usb_ops.c                                 |   27 -
 drivers/staging/rtl8723bs/core/rtw_mlme.c                         |   12 
 drivers/thunderbolt/tb.c                                          |   19 
 drivers/thunderbolt/test.c                                        |   16 
 drivers/thunderbolt/tunnel.c                                      |   11 
 drivers/thunderbolt/tunnel.h                                      |    4 
 drivers/tty/goldfish.c                                            |    2 
 drivers/tty/n_tty.c                                               |   38 +
 drivers/tty/serial/8250/8250_aspeed_vuart.c                       |    2 
 drivers/tty/serial/8250/8250_fintek.c                             |    8 
 drivers/tty/serial/8250/8250_mtk.c                                |    7 
 drivers/tty/serial/cpm_uart/cpm_uart_core.c                       |    2 
 drivers/tty/serial/digicolor-usart.c                              |    2 
 drivers/tty/serial/fsl_lpuart.c                                   |   24 
 drivers/tty/serial/icom.c                                         |    2 
 drivers/tty/serial/meson_uart.c                                   |   13 
 drivers/tty/serial/msm_serial.c                                   |    5 
 drivers/tty/serial/owl-uart.c                                     |    1 
 drivers/tty/serial/rda-uart.c                                     |    2 
 drivers/tty/serial/sa1100.c                                       |    4 
 drivers/tty/serial/serial_txx9.c                                  |    2 
 drivers/tty/serial/sh-sci.c                                       |    6 
 drivers/tty/serial/sifive.c                                       |    8 
 drivers/tty/serial/st-asc.c                                       |    4 
 drivers/tty/serial/stm32-usart.c                                  |   15 
 drivers/tty/serial/uartlite.c                                     |    3 
 drivers/tty/synclink_gt.c                                         |    2 
 drivers/tty/sysrq.c                                               |   13 
 drivers/usb/core/hcd-pci.c                                        |    4 
 drivers/usb/dwc2/gadget.c                                         |    1 
 drivers/usb/dwc3/drd.c                                            |    9 
 drivers/usb/dwc3/dwc3-pci.c                                       |    2 
 drivers/usb/dwc3/gadget.c                                         |   31 +
 drivers/usb/dwc3/host.c                                           |    2 
 drivers/usb/host/isp116x-hcd.c                                    |    6 
 drivers/usb/host/oxu210hp-hcd.c                                   |    2 
 drivers/usb/musb/omap2430.c                                       |    1 
 drivers/usb/phy/phy-omap-otg.c                                    |    4 
 drivers/usb/storage/karma.c                                       |   15 
 drivers/usb/typec/mux.c                                           |   14 
 drivers/usb/typec/tcpm/fusb302.c                                  |    4 
 drivers/usb/usbip/stub_dev.c                                      |    2 
 drivers/usb/usbip/stub_rx.c                                       |    2 
 drivers/vdpa/ifcvf/ifcvf_main.c                                   |    3 
 drivers/vdpa/vdpa.c                                               |   13 
 drivers/vdpa/vdpa_user/vduse_dev.c                                |    7 
 drivers/vhost/vringh.c                                            |   10 
 drivers/video/fbdev/hyperv_fb.c                                   |   19 
 drivers/video/fbdev/pxa3xx-gcu.c                                  |   12 
 drivers/virtio/virtio_pci_modern_dev.c                            |    1 
 drivers/watchdog/rti_wdt.c                                        |    2 
 drivers/watchdog/rzg2l_wdt.c                                      |   46 -
 drivers/watchdog/ts4800_wdt.c                                     |    5 
 drivers/watchdog/wdat_wdt.c                                       |    1 
 drivers/xen/xlate_mmu.c                                           |    1 
 fs/afs/dir.c                                                      |    5 
 fs/ceph/addr.c                                                    |   33 -
 fs/ceph/mds_client.c                                              |   33 +
 fs/ceph/xattr.c                                                   |   10 
 fs/cifs/cifs_swn.c                                                |    4 
 fs/cifs/cifsencrypt.c                                             |    8 
 fs/cifs/cifsfs.c                                                  |    2 
 fs/cifs/cifsfs.h                                                  |    2 
 fs/cifs/cifsglob.h                                                |   24 
 fs/cifs/connect.c                                                 |   30 -
 fs/cifs/dfs_cache.c                                               |    4 
 fs/cifs/misc.c                                                    |   27 -
 fs/cifs/sess.c                                                    |   11 
 fs/cifs/smb1ops.c                                                 |    6 
 fs/cifs/smb2ops.c                                                 |    7 
 fs/cifs/smb2pdu.c                                                 |    9 
 fs/cifs/smbdirect.c                                               |    4 
 fs/cifs/transport.c                                               |   40 -
 fs/erofs/zdata.c                                                  |    2 
 fs/f2fs/checkpoint.c                                              |   12 
 fs/f2fs/f2fs.h                                                    |   23 
 fs/f2fs/file.c                                                    |    1 
 fs/f2fs/node.c                                                    |   23 
 fs/fs-writeback.c                                                 |   37 +
 fs/inode.c                                                        |    2 
 fs/jffs2/fs.c                                                     |    1 
 fs/kernfs/dir.c                                                   |   31 -
 fs/ksmbd/smbacl.c                                                 |    1 
 fs/ksmbd/transport_rdma.c                                         |    1 
 fs/nfs/nfs4proc.c                                                 |    4 
 fs/nfsd/filecache.c                                               |    9 
 fs/zonefs/super.c                                                 |   11 
 include/linux/blkdev.h                                            |    1 
 include/linux/export.h                                            |    7 
 include/linux/extcon.h                                            |    2 
 include/linux/iio/common/st_sensors.h                             |    3 
 include/linux/jump_label.h                                        |    4 
 include/linux/mlx5/mlx5_ifc.h                                     |    5 
 include/linux/nodemask.h                                          |   38 -
 include/linux/random.h                                            |    2 
 include/linux/xarray.h                                            |    1 
 include/net/ax25.h                                                |    1 
 include/net/bluetooth/hci_core.h                                  |   17 
 include/net/bonding.h                                             |    6 
 include/net/flow_offload.h                                        |    1 
 include/net/netfilter/nf_tables.h                                 |    1 
 include/net/netfilter/nf_tables_offload.h                         |    2 
 include/net/sch_generic.h                                         |   42 -
 include/net/tcp.h                                                 |   19 
 include/trace/events/tcp.h                                        |    2 
 kernel/bpf/core.c                                                 |   14 
 kernel/sched/autogroup.c                                          |    2 
 kernel/trace/trace.c                                              |   13 
 kernel/trace/trace_syscalls.c                                     |   35 -
 lib/Makefile                                                      |    2 
 lib/iov_iter.c                                                    |   20 
 lib/nodemask.c                                                    |    4 
 lib/xarray.c                                                      |    5 
 mm/filemap.c                                                      |    9 
 mm/huge_memory.c                                                  |    3 
 net/ax25/af_ax25.c                                                |   27 -
 net/ax25/ax25_dev.c                                               |    1 
 net/ax25/ax25_subr.c                                              |    2 
 net/bluetooth/hci_core.c                                          |    4 
 net/bluetooth/hci_request.c                                       |    2 
 net/bluetooth/hci_sync.c                                          |   62 +-
 net/bluetooth/mgmt.c                                              |   45 +
 net/core/filter.c                                                 |    2 
 net/core/flow_offload.c                                           |    6 
 net/core/neighbour.c                                              |    2 
 net/ipv4/inet_hashtables.c                                        |   10 
 net/ipv4/ip_gre.c                                                 |   11 
 net/ipv4/tcp.c                                                    |    8 
 net/ipv4/tcp_bbr.c                                                |   20 
 net/ipv4/tcp_bic.c                                                |   14 
 net/ipv4/tcp_cdg.c                                                |   30 -
 net/ipv4/tcp_cong.c                                               |   18 
 net/ipv4/tcp_cubic.c                                              |   22 
 net/ipv4/tcp_dctcp.c                                              |   11 
 net/ipv4/tcp_highspeed.c                                          |   18 
 net/ipv4/tcp_htcp.c                                               |   10 
 net/ipv4/tcp_hybla.c                                              |   18 
 net/ipv4/tcp_illinois.c                                           |   12 
 net/ipv4/tcp_input.c                                              |   41 -
 net/ipv4/tcp_ipv4.c                                               |    2 
 net/ipv4/tcp_lp.c                                                 |    6 
 net/ipv4/tcp_metrics.c                                            |   12 
 net/ipv4/tcp_nv.c                                                 |   24 
 net/ipv4/tcp_output.c                                             |   34 -
 net/ipv4/tcp_rate.c                                               |    2 
 net/ipv4/tcp_scalable.c                                           |    4 
 net/ipv4/tcp_vegas.c                                              |   21 
 net/ipv4/tcp_veno.c                                               |   24 
 net/ipv4/tcp_westwood.c                                           |    3 
 net/ipv4/tcp_yeah.c                                               |   30 -
 net/ipv4/xfrm4_protocol.c                                         |    1 
 net/ipv6/ping.c                                                   |    8 
 net/ipv6/seg6_hmac.c                                              |    1 
 net/ipv6/seg6_local.c                                             |    1 
 net/ipv6/tcp_ipv6.c                                               |    2 
 net/key/af_key.c                                                  |   10 
 net/netfilter/nf_tables_api.c                                     |   54 --
 net/netfilter/nf_tables_offload.c                                 |   23 
 net/netfilter/nft_nat.c                                           |    3 
 net/openvswitch/actions.c                                         |    6 
 net/openvswitch/conntrack.c                                       |    4 
 net/sched/act_ct.c                                                |    2 
 net/smc/af_smc.c                                                  |    1 
 net/smc/smc_cdc.c                                                 |    2 
 net/sunrpc/xdr.c                                                  |    6 
 net/sunrpc/xprtrdma/rpc_rdma.c                                    |    5 
 net/sunrpc/xprtrdma/svc_rdma_rw.c                                 |    4 
 net/tipc/bearer.c                                                 |    3 
 net/unix/af_unix.c                                                |    2 
 net/xdp/xsk.c                                                     |    5 
 net/xdp/xsk_queue.h                                               |    8 
 scripts/gdb/linux/config.py                                       |    6 
 scripts/get_abi.pl                                                |    4 
 scripts/mod/modpost.c                                             |    5 
 security/keys/trusted-keys/trusted_tpm2.c                         |    4 
 sound/pci/hda/patch_conexant.c                                    |    7 
 sound/pci/hda/patch_realtek.c                                     |    2 
 sound/soc/amd/acp/acp-pci.c                                       |    1 
 sound/soc/codecs/rt5640.c                                         |   11 
 sound/soc/codecs/rt5640.h                                         |    2 
 sound/soc/fsl/fsl_sai.h                                           |    4 
 sound/soc/intel/boards/bytcr_rt5640.c                             |    2 
 sound/usb/pcm.c                                                   |    5 
 sound/usb/quirks-table.h                                          |    7 
 tools/objtool/check.c                                             |    3 
 tools/perf/arch/x86/util/evlist.c                                 |    5 
 tools/perf/arch/x86/util/evsel.c                                  |   24 
 tools/perf/arch/x86/util/evsel.h                                  |    7 
 tools/perf/arch/x86/util/topdown.c                                |   46 +
 tools/perf/arch/x86/util/topdown.h                                |    7 
 tools/perf/builtin-c2c.c                                          |    4 
 tools/testing/selftests/bpf/progs/test_stacktrace_build_id.c      |    2 
 tools/testing/selftests/net/bpf/Makefile                          |    4 
 tools/testing/selftests/netfilter/nft_nat.sh                      |   43 +
 tools/tracing/rtla/Makefile                                       |   35 +
 402 files changed, 2782 insertions(+), 1810 deletions(-)

Adrian Hunter (1):
mmc: block: Fix CQE recovery reset success

Alex Deucher (1):
drm/amdgpu: update VCN codec support for Yellow Carp

Alexander Gordeev (1):
s390/mcck: isolate SIE instruction when setting CIF_MCCK_GUEST flag

Alexander Lobakin (1):
modpost: fix removing numeric suffixes

Alexandru Tachici (1):
iio: adc: ad7124: Remove shift from scan_type

Alvin Šipraga (1):
net: dsa: realtek: rtl8365mb: fix GMII caps for ports with internal PHY

Andre Przywara (1):
clocksource/drivers/sp804: Avoid error on multiple instances

Andrea Mayer (1):
net: seg6: fix seg6_lookup_any_nexthop() to handle VRFs using flowi_l3mdev

AngeloGioacchino Del Regno (2):
Revert "serial: 8250_mtk: Make sure to select the right FEATURE_SEL"
i2c: mediatek: Optimize master_xfer() and avoid circular locking

Arnaud Pouliquen (1):
rpmsg: virtio: Fix the unregistration of the device rpmsg_ctrl

Aurabindo Pillai (1):
drm/amd/display: remove stale config guards

Aya Levin (1):
net: ping6: Fix ping -6 with interface name

Baokun Li (1):
jffs2: fix memory leak in jffs2_do_fill_super

Bedant Patnaik (1):
platform/x86: hp-wmi: Use zero insize parameter only when supported

Ben Chuang (1):
mmc: sdhci-pci-gli: Fix GL9763E runtime PM when the system resumes from suspend

Biju Das (4):
watchdog: rzg2l_wdt: Fix 32bit overflow issue
watchdog: rzg2l_wdt: Fix Runtime PM usage
watchdog: rzg2l_wdt: Fix 'BUG: Invalid wait context'
watchdog: rzg2l_wdt: Fix reset control imbalance

Bjorn Andersson (1):
usb: typec: mux: Check dev_set_name() return value

Bjorn Helgaas (4):
Revert "PCI: brcmstb: Do not turn off WOL regulators on suspend" Revert "PCI: brcmstb: Add control of subdevice voltage regulators" Revert "PCI: brcmstb: Add mechanism to turn on subdev regulators" Revert "PCI: brcmstb: Split brcm_pcie_setup() into two funcs"

Brian Norris (2):
drm/bridge: analogix_dp: Support PSR-exit to disable transition drm/atomic: Force bridge self-refresh-exit on CRTC switch

Cameron Berkenpas (1):
ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo Yoga DuetITL 2021

Changbin Du (1):
sysrq: do not omit current cpu when showing backtrace of all active CPUs

Changcheng Liu (1):
net/mlx5: correct ECE offset in query qp output

Chao Yu (1):
f2fs: fix to tag gcing flag on page during file defragment

Christian Borntraeger (1):
s390/gmap: voluntarily schedule during key setting

Christian König (1):
drm/amdgpu: fix limiting AV1 to the first instance on VCN3

Christoph Hellwig (4):
scsi: sd: Don't call blk_cleanup_disk() in sd_probe() block, loop: support partitions without scanning
block: take destination bvec offsets into account in bio_copy_data_iter
block: use bio_queue_enter instead of blk_queue_enter in bio_poll

Christophe JAILLET (4):
remoteproc: mtk_scp: Fix a potential double free
staging: fieldbus: Fix the error handling path in anybuss_host_common_probe()
virtio: pci: Fix an error handling path in vp_modern_probe()
stmmac: intel: Fix an error handling path in intel_eth_pci_probe()

Christophe Leroy (1):
lkdtm/bugs: Don't expect thread termination without CONFIG_UBSAN_TRAP

Chuck Lever (3):
NFSD: Fix potential use-after-free in nfsd_file_put()
SUNRPC: Trap RDMA segment overflows
SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()

Cixi Geng (2):
iio: adc: sc27xx: fix read big scale voltage not right
iio: adc: sc27xx: Fine tune the scale calibration values

Damien Le Moal (2):
scsi: sd: Fix potential NULL pointer dereference
zonefs: fix handling of explicit_open option on mount

Dan Carpenter (6):
soundwire: qcom: fix an error message in swrm_wait_for_frame_gen_enabled() drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq()
net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()
octeontx2-af: fix error code in is_valid_offset()
net/sched: act_api: fix error code in tcf_ct_flow_table_fill_tuple_ipv6()
extcon: Fix extcon_get_extcon_dev() error handling

Daniel Borkmann (1):
net, neigh: Set lower cap for neigh_managed_work rearming

Daniel Bristot de Oliveira (1):
rtla/Makefile: Properly handle dependencies

Daniel Gibson (1):
tty: n_tty: Restore EOF push handling behavior

Dave Jiang (2):
dmaengine: idxd: set DMA_INTERRUPT cap bit
dmaengine: idxd: add missing callback function to support DMA_INTERRUPT

David Galiffi (1):
drm/amd/display: Check if modulo is 0 before dividing.

David Howells (2):
afs: Fix infinite loop found by xfstest generic/676
iov_iter: Fix iter_xarray_get_pages{,_alloc}()

David Safford (1):
KEYS: trusted: tpm2: Fix migratable logic

Dongliang Mu (1):
f2fs: remove WARN_ON in f2fs_is_valid_blkaddr

Duoming Zhou (8):
ax25: Fix ax25 session cleanup problems
drivers: staging: rtl8723bs: Fix deadlock in rtw_surveydone_event_callback()
drivers: staging: rtl8192bs: Fix deadlock in rtw_joinbss_event_prehandle()
drivers: staging: rtl8192eu: Fix deadlock in rtw_joinbss_event_prehandle
drivers: staging: rtl8192u: Fix deadlock in ieee80211_beacons_stop()
drivers: staging: rtl8192e: Fix deadlock in rtllib_beacons_stop()
drivers: tty: serial: Fix deadlock in sa1100_set_termios()
drivers: usb: host: Fix deadlock in oxu_bus_suspend()

Eddie James (1):
spi: fsi: Fix spurious timeout

Eli Cohen (1):
vdpa: Fix error logic in vdpa_nl_cmd_dev_get_doit

Eric Dumazet (4):
tcp: add accessors to read/set tp->snd_cwnd
tcp: tcp_rtx_synack() can be called from process context bpf, arm64: Clear prog->jited_len along prog->jited
tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd

Etienne van der Linde (1):
nfp: flower: restructure flow-key for gre+vlan combination

Evan Green (1):
USB: hcd-pci: Fully suspend across freeze/thaw cycle

Evan Quan (1):

      drm/amd/pm: correct the metrics version for SMU 11.0.11/12/13

Fabien Parent (1):
regulator: mt6315-regulator: fix invalid allowed mode

Fei Qin (1):
nfp: remove padding in nfp_nfdk_tx_desc

Feras Daoud (1):
net/mlx5: Rearm the FW tracer after each tracer event

Florian Westphal (1):
netfilter: nat: really support inet nat without l3 address

Gal Pressman (1):
net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure

Genjian Zhang (1):
ep93xx: clock: Do not return the address of the freed memory

Gong Yuanjun (3):
mips: cpc: Fix refcount leak in mips_cpc_default_phys_base drm/radeon: fix a possible null pointer dereference drm/amd/pm: fix a potential gpu_metrics_table memory leak

Greg Kroah-Hartman (2):
export: fix string handling of namespace in EXPORT_SYMBOL_NS Linux 5.18.4

Greg Ungerer (3):
m68knommu: set ZERO_PAGE() to the allocated zeroed page
m68knommu: fix undefined reference to `_init_sp'
m68knommu: fix undefined reference to `mach_get_rtc_pll'

Guangguan Wang (1):
net/smc: fixes for converting from "struct smc_cdc_tx_pend **" to "struct smc_wr_tx_pend_priv *"

Guilherme G. Piccoli (2):
misc/pvpanic: Convert regular spinlock into trylock on panic path
coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier

Guoju Fang (1):
net: sched: add barrier to fix packet stuck problem for lockless qdisc

Guoqing Jiang (1):
md: protect md_unregister_thread from reentrancy

Haibo Chen (1):
gpio: pca953x: use the correct register address to do regcache sync

Haisu Wang (1):
blk-mq: do not update io_ticks with passthrough requests

Hangbin Liu (3):
bonding: NS target should accept link local address
bonding: show NS IPv6 targets in proc master info
bonding: guard ns_targets by CONFIG_IPV6

Hangyu Hua (4):
usb: usbip: fix a refcount leak in stub_probe()
rpmsg: virtio: Fix possible double free in rpmsg_probe()
rpmsg: virtio: Fix possible double free in rpmsg_virtio_add_ctrl_dev()
char: xillybus: fix a refcount leak in cleanup_dev()

Hannes Reinecke (1):
scsi: myrb: Fix up null pointer access on myrb_cleanup()

Hans de Goede (2):
power: supply: axp288_fuel_gauge: Fix battery reporting on the One Mix 1
power: supply: axp288_fuel_gauge: Drop BIOS version check from "T3 MRD" DMI quirk

Hao Luo (1):
kernfs: Separate kernfs_pr_cont_buf and rename_lock.

Heikki Krogerus (1):
usb: dwc3: host: Stop setting the ACPI companion

Heinrich Schuchardt (1):
riscv: read-only pages should not be writable

Hoang Le (1):
tipc: check attribute length for bearer name

Howard Chiu (1):
ARM: dts: aspeed: ast2600-evb: Enable RX delay for MAC0/MAC1

Huang Guobin (1):
tty: Fix a possible resource leak in icom_probe

Hyunchul Lee (1):
ksmbd: smbd: fix connection dropped issue

Ilpo Järvinen (9):
serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
serial: uartlite: Fix BRKINT clearing
serial: digicolor-usart: Don't allow CS5-6
serial: rda-uart: Don't allow CS5-6
serial: txx9: Don't allow CS5-6
serial: sh-sci: Don't allow CS5-6
serial: sifive: Sanitize CSIZE and c_iflag
serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
serial: stm32-usart: Correct CSIZE, bits, and parity

Ilya Maximets (1):
net: openvswitch: fix misuse of the cached connection on tuple changes

Jaegeuk Kim (1):
f2fs: avoid infinite loop to flush node pages

Jakob Koschel (1):
staging: greybus: codecs: fix type confusion of list iterator variable

James Smart (4):
scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event()
scsi: lpfc: Resolve some cleanup issues following abort path refactoring
scsi: lpfc: Resolve some cleanup issues following SLI path refactoring
scsi: lpfc: Address NULL pointer dereference after starget_to_rport()

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

Jann Horn (1):
s390/crypto: fix scatterwalk_unmap() callers in AES-GCM

Jason A. Donenfeld (3):
random: avoid checking crng_ready() twice in random_init()
random: mark bootloader randomness code as __init
random: account for arch randomness in bits

Jason Wang (2):
vdpa: ifcvf: set pci driver data in probe
virtio-rng: make device ready before making request

Jchao Sun (1):

      writeback: Fix inode->i_io_list not be protected by inode->i_lock error

Jeff Xie (1):
tracing: Make tp_printk work on syscall tracepoints

Jens Axboe (1):
block: make bioset_exit() fully resilient against being called twice

Jeremy Soller (1):
ALSA: hda/realtek: Add quirk for HP Dev One

Jesse Zhang (1):
drm/amdkfd:Fix fw version for 10.3.6

Jiasheng Jiang (3):
lkdtm/bugs: Check for the NULL pointer after calling kmalloc
staging: r8188eu: add check for kzalloc
platform/x86: barco-p50-gpio: Add check for platform_driver_register

Johan Hovold (1):
phy: qcom-qmp: fix pipe-clock imbalance on power-on failure

Johannes Berg (1):
um: line: Use separate IRQs per line

John Ogness (2):
serial: meson: acquire port->lock in startup()
serial: msm_serial: disable interrupts in __msm_console_write()

Jorge Lopez (1):
platform/x86: hp-wmi: Resolve WMI query failures on some devices

Jun Miao (1):
tracing: Fix sleeping function called from invalid context on RT kernel

Kan Liang (2):
perf evsel: Fixes topdown events in a weak group for the hybrid platform perf parse-events: Move slots event for the hybrid platform too

Kees Cook (2):
lkdtm/usercopy: Expand size of "out of frame" object
nodemask: Fix return values to be unsigned

Kinglong Mee (1):
xprtrdma: treat all calls not a bcall when bc_serv is NULL

Krzysztof Kozlowski (3):
rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value

Kuan-Ying Lee (1):
scripts/gdb: change kernel config dumping method

Kuniyuki Iwashima (1):
af_unix: Fix a data-race in unix_dgram_peer_wake_me().

Kuogee Hsieh (1):
drm/msm/dp: Always clear mask bits to disable interrupts at dp_ctrl_reset_irq_ctrl()

Leo Yan (1):
perf c2c: Fix sorting in percent_rmt_hitm_cmp()

Leon Romanovsky (1):
net/mlx5: Don't use already freed action pointer

Li Jun (1):
extcon: ptn5150: Add queue work sync before driver release

Liao Chang (1):
RISC-V: use memcpy for kexec_file mode

Lijo Lazar (1):
drm/amd/pm: Fix missing thermal throttler status

Lin Ma (1):
USB: storage: karma: fix rio_karma_init return

Lina Wang (1):
selftests net: fix bpf build error

Linus Torvalds (3):
bluetooth: don't use bitmaps for random flag accesses
drm: imx: fix compiler warning with gcc-12
iov_iter: fix build issue due to possible type mis-match

Linus Walleij (2):
power: supply: core: Initialize struct to zero
power: supply: ab8500_fg: Allocate wq in probe

Liu Xinpeng (1):
watchdog: wdat_wdt: Stop watchdog when rebooting the system

Lucas Tanure (1):
i2c: cadence: Increase timeout per message if necessary

Luiz Augusto von Dentz (2):
Bluetooth: MGMT: Add conditions for setting HCI_CONN_FLAG_REMOTE_WAKEUP
Bluetooth: hci_sync: Fix attempting to suspend with unfiltered passive scan

Maciej Fijalkowski (1):
xsk: Fix handling of invalid descriptors in XSK TX batching API

Maciej W. Rozycki (1):
serial: sifive: Report actual baud base rather than fixed 115200

Maor Dickman (1):
net/mlx5e: TC NIC mode, fix tc chains miss table

Marek Behún (1):
net: dsa: mv88e6xxx: use BMSR_ANEGCOMPLETE bit for filling an_complete

Marek Szyprowski (1):

      usb: dwc2: gadget: don't reset gadget's driver->bus

Marek Vasut (1):

      drm/bridge: ti-sn65dsi83: Handle dsi_lanes == 0 as invalid

Mark Bloch (3):
net/mlx5: Lag, filter non compatible devices net/mlx5: fs, fail conflicting actions net/mlx5: E-Switch, pair only capable devices

Mark-PK Tsai (1):
tracing: Avoid adding tracer option before update_tracer_options

Martin Faltesek (3):
nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION

Martin Habets (1):
sfc: fix considering that all channels have TX queues

Masahiro Yamada (5):
xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
net: mdio: unexport __init-annotated mdio_bus_init()
net: xfrm: unexport __init-annotated xfrm4_protocol_init()
net: ipv6: unexport __init-annotated seg6_hmac_init()
modpost: fix undefined behavior of is_arm_mapping_symbol()

Masami Hiramatsu (1):
bootconfig: Make the bootconfig.o as a normal object file

Mathias Nyman (1):
Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag

Matthew Wilcox (Oracle) (2):
filemap: Cache the value of vm_flags
mm/huge_memory: Fix xarray node memory leak

Maxim Levitsky (1):
KVM: SVM: fix tsc scaling cache logic

Maxim Mikityanskiy (2):
net/mlx5e: Disable softirq in mlx5e_activate_rq to avoid race condition net/mlx5e: Update netdev features after changing XDP state

Menglong Dong (1):
bpf: Fix probe read error in ___bpf_prog_run()

Miaoqian Lin (16):
tty: serial: owl: Fix missing clk_disable_unprepare() in owl_uart_probe
serial: 8250_aspeed_vuart: Fix potential NULL dereference in aspeed_vuart_probe
usb: musb: Fix missing of_node_put() in omap2430_probe
iio: adc: stmpe-adc: Fix wait_for_completion_timeout return value check
iio: proximity: vl53l0x: Fix return value check of wait_for_completion_timeout
soc: rockchip: Fix refcount leak in rockchip_grf_init
rtc: ftrtc010: Fix error handling in ftrtc010_rtc_probe
firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
watchdog: rti-wdt: Fix pm_runtime_get_sync() error checking
watchdog: ts4800_wdt: Fix refcount leak in ts4800_wdt_probe
net: ethernet: ti: am65-cpsw-nuss: Fix some refcount leaks
net: dsa: mv88e6xxx: Fix refcount leak in mv88e6xxx_mdios_register
ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
net: ethernet: bgmac: Fix refcount leak in bcma_mdio_mii_register
net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list
net: altera: Fix refcount leak in altera_tse_mdio_create

Michael Ellerman (3):
powerpc/kasan: Force thread size increase with KASAN
powerpc: Don't select HAVE_IRQ_EXIT_ON_IRQ_STACK powerpc/32: Fix overread/overwrite of thread_struct via ptrace

Michael Straube (1):
staging: r8188eu: fix struct rt_firmware_hdr

Michael Walle (1):
net: lan966x: check devm_of_phy_get() for -EDEFER_PROBE

Michal Kubecek (1):
Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"

Mika Westerberg (1):
thunderbolt: Use different lane for second DisplayPort tunnel

Ming Lei (1):

      blk-mq: don't touch ->tagset in blk_mq_get_sq_hctx

Miquel Raynal (1):
iio: st_sensors: Add a local lock for protecting odr

Mohammad Zafar Ziya (1):
drm/amdgpu/jpeg2: Add jpeg vmid update under IB submit

Muchun Song (1):
tcp: use alloc_large_system_hash() to allocate table_perturb

Nicholas Kazlauskas (1):
drm/amd/display: Check zero planes for OTG disable W/A on clock change

Niels Dossche (1):
usb: usbip: add missing device lock on tweak configuration cmd

Nícolas F. R. A. Prado (1):
dt-bindings: remoteproc: mediatek: Make l1tcm reg exclusive to mt819x

Oder Chiou (1):
ASoC: rt5640: Do not manipulate pin "Platform Clock" if the "Platform Clock" is not in the DAPM

Olivier Matz (2):
ixgbe: fix bcast packets Rx on VF after promisc removal
ixgbe: fix unexpected VLAN Rx in promisc mode on VF

Pablo Neira Ayuso (6):
netfilter: nf_tables: use kfree_rcu(ptr, rcu) to release hooks in clean_net path
netfilter: nf_tables: delete flowtable hooks via transaction list
netfilter: nf_tables: always initialize flowtable hook list in transaction
netfilter: nf_tables: release new hooks on unsupported flowtable flags
netfilter: nf_tables: memleak flow rule from commit path
netfilter: nf_tables: bail out early if hardware offload is not supported

Pascal Hambourg (1):
md/raid0: Ignore RAID0 layout if the second zone has only one device

Paul Blakey (2):
net/mlx5: CT: Fix header-rewrite re-use for tupels net/mlx5e: CT: Fix cleanup of CT before cleanup of TC ct rules

Paulo Alcantara (1):
cifs: fix reconnect on smb3 mount types

Peng Fan (1):
remoteproc: imx_rproc: Ignore create mem entry for resource table

Peter Zijlstra (5):
sched/autogroup: Fix sysctl move
objtool: Mark __ubsan_handle_builtin_unreachable() as noreturn x86/cpu: Elide KCSAN for cpu_has() and friends jump_label,noinstr: Avoid instrumentation for JUMP_LABEL=n builds cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE

Pierre-Louis Bossart (2):
soundwire: intel: prevent pm_runtime resume prior to system suspend
soundwire: qcom: return error when pm_runtime_get_sync fails

Radhey Shyam Pandey (1):
dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type

Randy Dunlap (1):
pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards

Saeed Mahameed (1):
net/mlx5: Fix mlx5_get_next_dev() peer device matching

Samuel Holland (2):
phy: rockchip-inno-usb2: Fix muxed interrupt support clocksource/drivers/riscv: Events are stopped during CPU suspend

Saravana Kannan (1):
driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction

Saurabh Sengar (1):
video: fbdev: hyperv_fb: Allow resolutions with size > 64 MB for Gen1

Schspa Shi (1):
driver: base: fix UAF when driver_attach failed

SeongJae Park (1):
scripts/get_abi: Fix wrong script file name in the help message

Sergey Shtylyov (1):
ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files

Shaoqin Huang (1):
KVM: x86/mmu: Check every prev_roots in __kvm_mmu_free_obsolete_roots()

Shengjiu Wang (1):
ASoC: fsl_sai: Fix FSL_SAI_xDR/xFR definition

Sherry Sun (1):
tty: serial: fsl_lpuart: fix potential bug when using both of_alias_get_id and ida_simple_get

Shuah Khan (1):
misc: rtsx: set NULL intfdata when probe fails

Shyam Prasad N (2):
cifs: return errors during session setup during reconnects
cifs: populate empty hostnames for extra channels

Siddharth Vadapalli (1):
net: ethernet: ti: am65-cpsw: Fix fwnode passed to phylink_create()

Song Liu (1):
selftests/bpf: fix stacktrace_build_id with missing kprobe/urandom_read

Srinivas Kandagatla (1):
soundwire: qcom: adjust autoenumeration timeout

Steve French (1):
cifs: version operations for smb20 unneeded when legacy support disabled

Steven Price (1):
drm/panfrost: Job should reference MMU not file_priv

Syed Saba kareem (1):
ASoC: SOF: amd: Fixed Build error

Taehee Yoo (5):
amt: fix return value of amt_update_handler()
amt: fix possible memory leak in amt_rcv()
amt: fix wrong usage of pskb_may_pull()
amt: fix possible null-ptr-deref in amt_rcv()
amt: fix wrong type string definition

Takashi Iwai (2):
ALSA: usb-audio: Skip generic sync EP parse for secondary EP
ALSA: usb-audio: Set up (implicit) sync for Saffire 6

Tan Tee Min (1):
net: phy: dp83867: retrigger SGMII AN when link change

Thinh Nguyen (1):
usb: dwc3: gadget: Only End Transfer for ep0 data phase

Tinghan Shen (1):
remoteproc: mediatek: Fix side effect of mt8195 sram power on

Tony Lindgren (1):
bus: ti-sysc: Fix warnings for unbind for serial

Trond Myklebust (1):
NFSv4: Don't hold the layoutget locks across multiple RPC calls

Tyler Erickson (3):
scsi: sd: Fix interpretation of VPD B9h length
libata: fix reading concurrent positioning ranges log
libata: fix translation of concurrent positioning ranges

Uwe Kleine-König (2):
pwm: lp3943: Fix duty calculation in case period was clamped
pwm: raspberrypi-poe: Fix endianness in firmware struct

Vaibhav Jain (1):
powerpc/papr_scm: don't requests stats with '0' sized stats buffer

Venky Shankar (1):
ceph: allow ceph.dir.rctime xattr to be updatable

Vincent Ray (1):
net: sched: fixed barrier to prevent skbuff sticking in qdisc backlog

Vincent Whitchurch (1):
cifs: fix potential deadlock in direct reclaim

Viorel Suman (1):
net: phy: at803x: disable WOL at probe

Wang Cheng (2):
staging: rtl8712: fix uninit-value in usb_read8() and friends
staging: rtl8712: fix uninit-value in r871xu_drv_init()

Wang Weiyang (1):
tty: goldfish: Use tty_port_destroy() to destroy port

Weizhao Ouyang (1):
erofs: fix 'backmost' member of z_erofs_decompress_frontend

Wesley Cheng (1):
usb: dwc3: gadget: Replace list_for_each_entry_safe() if using giveback

Willem de Bruijn (1):
ip_gre: test csum_start instead of transport header

Xiaoke Wang (2):
iio: dummy: iio_simple_dummy: check the return value of kstrdup()
staging: rtl8712: fix a potential memory leak in r871xu_drv_init()

Xiaomeng Tong (2):
misc: fastrpc: fix an incorrect NULL check on list iterator
firmware: stratix10-svc: fix a missing check on list iterator

Xie Yongji (2):
vringh: Fix loop descriptors check in the indirect cases
vduse: Fix NULL pointer dereference on sysfs access

Xin Xiong (1):
ksmbd: fix reference count leak in smb_check_perm_dacl()

Xiubo Li (2):
ceph: flush the mdlog for filesystem sync
ceph: fix possible deadlock when holding Fwb to get inline_data

Yang Yingliang (4):
rtc: mt6397: check return value after calling platform_get_resource() iommu/arm-smmu: fix possible null-ptr-deref in arm_smmu_device_probe() iommu/arm-smmu-v3: check return value after calling platform_get_resource()
video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()

Yu Kuai (4):
nbd: don't clear 'NBD_CMD_INFLIGHT' flag if request is not completed
nbd: call genl_unregister_family() first in nbd_cleanup()
nbd: fix race between nbd_alloc_config() and module removal
nbd: fix io hung while disconnecting device

Yu Xiao (1):
nfp: only report pause frame configuration for physical device

YueHaibing (1):
serial: cpm_uart: Fix build error without CONFIG_SERIAL_CPM_CONSOLE

Yury Norov (1):
drm/amd/pm: use bitmap_{from,to}_arr32 where appropriate

Zhang Wensheng (2):
driver core: fix deadlock in __device_attach
nbd: fix possible overflow on 'first_minor' in nbd_dev_add()

Zhen Ni (1):
USB: host: isp116x: check return value after calling platform_get_resource()

Zheng Yongjun (1):
usb: dwc3: pci: Fix pm_runtime_get_sync() error checking

Zhengjun Xing (1):
perf record: Support sample-read topdown metric group for hybrid platforms

Zheyu Ma (1):
tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()

Zhihao Cheng (2):
ubi: fastmap: Fix high cpu usage of ubi_bgt by making sure wl_pool not empty
ubi: ubi_create_volume: Fix use-after-free when volume creation failed

bumwoo lee (1):
extcon: Modify extcon device to be created after driver data is set

huangwenhui (1):
ALSA: hda/conexant - Fix loopback issue with CX20632

liuyacan (1):

      net/smc: set ini->smcrv2.ib_dev_v2 to NULL if SMC-Rv2 is unavailable

Íñigo Huguet (1):
sfc: fix wrong tx channel offset with efx_separate_tx_channels

author maintainer
#1 lore raw
Documentation/ABI/testing/sysfs-ata +6 -5
index 2f726c914752..3daecac48964 100644
@@ -107,13 +107,14 @@ Description:
 				described in ATA8 7.16 and 7.17. Only valid if
 				the device is not a PM.
 
-		pio_mode:	(RO) Transfer modes supported by the device when
-				in PIO mode. Mostly used by PATA device.
+		pio_mode:	(RO) PIO transfer mode used by the device.
+				Mostly used by PATA devices.
 
-		xfer_mode:	(RO) Current transfer mode
+		xfer_mode:	(RO) Current transfer mode. Mostly used by
+				PATA devices.
 
-		dma_mode:	(RO) Transfer modes supported by the device when
-				in DMA mode. Mostly used by PATA device.
+		dma_mode:	(RO) DMA transfer mode used by the device.
+				Mostly used by PATA devices.
 
 		class:		(RO) Device class. Can be "ata" for disk,
 				"atapi" for packet device, "pmp" for PM, or
Documentation/devicetree/bindings/regulator/mt6315-regulator.yaml +2 -2
index 5d2d989de893..37402c370fbb 100644
@@ -55,7 +55,7 @@ examples:
           regulator-min-microvolt = <300000>;
           regulator-max-microvolt = <1193750>;
           regulator-enable-ramp-delay = <256>;
-          regulator-allowed-modes = <0 1 2 4>;
+          regulator-allowed-modes = <0 1 2>;
         };
 
         vbuck3 {
@@ -63,7 +63,7 @@ examples:
           regulator-min-microvolt = <300000>;
           regulator-max-microvolt = <1193750>;
           regulator-enable-ramp-delay = <256>;
-          regulator-allowed-modes = <0 1 2 4>;
+          regulator-allowed-modes = <0 1 2>;
         };
       };
     };
Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml +30 -14

67 lines not on this page · raw message

Documentation/tools/rtla/Makefile +13 -1
index 9f2b84af1a6c..093af6d7a0e9 100644
@@ -17,9 +17,21 @@ DOC_MAN1	= $(addprefix $(OUTPUT),$(_DOC_MAN1))
 RST2MAN_DEP	:= $(shell command -v rst2man 2>/dev/null)
 RST2MAN_OPTS	+= --verbose
 
+TEST_RST2MAN = $(shell sh -c "rst2man --version > /dev/null 2>&1 || echo n")
+
 $(OUTPUT)%.1: %.rst
 ifndef RST2MAN_DEP
-	$(error "rst2man not found, but required to generate man pages")
+	$(info ********************************************)
+	$(info ** NOTICE: rst2man not found)
+	$(info **)
+	$(info ** Consider installing the latest rst2man from your)
+	$(info ** distribution, e.g., 'dnf install python3-docutils' on Fedora,)
+	$(info ** or from source:)
+	$(info **)
+	$(info **  https://docutils.sourceforge.io/docs/dev/repository.html )
+	$(info **)
+	$(info ********************************************)
+	$(error NOTICE: rst2man required to generate man pages)
 endif
 	rst2man $(RST2MAN_OPTS) $< > $@
 
Makefile +1 -1
index eb3adfec0b22..6cbf7bb15edd 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 18
-SUBLEVEL = 3
+SUBLEVEL = 4
 EXTRAVERSION =
 NAME = Superb Owl
 
arch/arm/boot/dts/aspeed-ast2600-evb.dts +2 -2
index b7eb552640cb..788448cdd6b3 100644
@@ -103,7 +103,7 @@ ethphy3: ethernet-phy@0 {
 &mac0 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-rxid";
 	phy-handle = <&ethphy0>;
 
 	pinctrl-names = "default";
@@ -114,7 +114,7 @@ &mac0 {
 &mac1 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-rxid";
 	phy-handle = <&ethphy1>;
 
 	pinctrl-names = "default";
arch/arm/mach-ep93xx/clock.c +6 -4
index 4fa6ea5461b7..85a496ddc619 100644
@@ -345,9 +345,10 @@ static struct clk_hw *clk_hw_register_ddiv(const char *name,
 	psc->hw.init = &init;
 
 	clk = clk_register(NULL, &psc->hw);
-	if (IS_ERR(clk))
+	if (IS_ERR(clk)) {
 		kfree(psc);
-
+		return ERR_CAST(clk);
+	}
 	return &psc->hw;
 }
 
@@ -452,9 +453,10 @@ static struct clk_hw *clk_hw_register_div(const char *name,
 	psc->hw.init = &init;
 
 	clk = clk_register(NULL, &psc->hw);
-	if (IS_ERR(clk))
+	if (IS_ERR(clk)) {
 		kfree(psc);
-
+		return ERR_CAST(clk);
+	}
 	return &psc->hw;
 }
 
arch/arm64/net/bpf_jit_comp.c +1 -0
index fcc675aa1670..c779e604edac 100644
@@ -1261,6 +1261,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 			bpf_jit_binary_free(header);
 			prog->bpf_func = NULL;
 			prog->jited = 0;
+			prog->jited_len = 0;
 			goto out_off;
 		}
 		bpf_jit_binary_lock_ro(header);
arch/m68k/Kconfig.machine +1 -0
index eeab4f3e6c19..946853a08502 100644
@@ -335,6 +335,7 @@ comment "Machine Options"
 
 config UBOOT
 	bool "Support for U-Boot command line parameters"
+	depends on COLDFIRE
 	help
 	  If you say Y here kernel will try to collect command
 	  line parameters from the initial u-boot stack.
arch/m68k/include/asm/pgtable_no.h +2 -1
index 87151d67d91e..bce5ca56c388 100644
@@ -42,7 +42,8 @@ extern void paging_init(void);
  * ZERO_PAGE is a global shared page that is always zero: used
  * for zero-mapped memory areas etc..
  */
-#define ZERO_PAGE(vaddr)	(virt_to_page(0))
+extern void *empty_zero_page;
+#define ZERO_PAGE(vaddr)	(virt_to_page(empty_zero_page))
 
 /*
  * All 32bit addresses are effectively valid for vmalloc...
arch/m68k/kernel/setup_mm.c +0 -7
index 8f94feed969c..07317367ead8 100644
@@ -87,15 +87,8 @@ void (*mach_sched_init) (void) __initdata = NULL;
 void (*mach_init_IRQ) (void) __initdata = NULL;
 void (*mach_get_model) (char *model);
 void (*mach_get_hardware_list) (struct seq_file *m);
-/* machine dependent timer functions */
-int (*mach_hwclk) (int, struct rtc_time*);
-EXPORT_SYMBOL(mach_hwclk);
 unsigned int (*mach_get_ss)(void);
-int (*mach_get_rtc_pll)(struct rtc_pll_info *);
-int (*mach_set_rtc_pll)(struct rtc_pll_info *);
 EXPORT_SYMBOL(mach_get_ss);
-EXPORT_SYMBOL(mach_get_rtc_pll);
-EXPORT_SYMBOL(mach_set_rtc_pll);
 void (*mach_reset)( void );
 void (*mach_halt)( void );
 void (*mach_power_off)( void );
arch/m68k/kernel/setup_no.c +0 -1
index 5e4104f07a44..19eea73d3c17 100644
@@ -50,7 +50,6 @@ char __initdata command_line[COMMAND_LINE_SIZE];
 
 /* machine dependent timer functions */
 void (*mach_sched_init)(void) __initdata = NULL;
-int (*mach_hwclk) (int, struct rtc_time*);
 
 /* machine dependent reboot functions */
 void (*mach_reset)(void);
arch/m68k/kernel/time.c +9 -0
index 340ffeea0a9d..a97600b2af50 100644
@@ -63,6 +63,15 @@ void timer_heartbeat(void)
 #endif /* CONFIG_HEARTBEAT */
 
 #ifdef CONFIG_M68KCLASSIC
+/* machine dependent timer functions */
+int (*mach_hwclk) (int, struct rtc_time*);
+EXPORT_SYMBOL(mach_hwclk);
+
+int (*mach_get_rtc_pll)(struct rtc_pll_info *);
+int (*mach_set_rtc_pll)(struct rtc_pll_info *);
+EXPORT_SYMBOL(mach_get_rtc_pll);
+EXPORT_SYMBOL(mach_set_rtc_pll);
+
 #if !IS_BUILTIN(CONFIG_RTC_DRV_GENERIC)
 void read_persistent_clock64(struct timespec64 *ts)
 {
arch/mips/kernel/mips-cpc.c +1 -0
index 17aff13cd7ce..3e386f7e1545 100644
@@ -28,6 +28,7 @@ phys_addr_t __weak mips_cpc_default_phys_base(void)
 	cpc_node = of_find_compatible_node(of_root, NULL, "mti,mips-cpc");
 	if (cpc_node) {
 		err = of_address_to_resource(cpc_node, 0, &res);
+		of_node_put(cpc_node);
 		if (!err)
 			return res.start;
 	}
arch/powerpc/Kconfig +0 -2
index 174edabb74fa..500f2a0831ef 100644
@@ -218,7 +218,6 @@ config PPC
 	select HAVE_HARDLOCKUP_DETECTOR_PERF	if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
 	select HAVE_HW_BREAKPOINT		if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
 	select HAVE_IOREMAP_PROT
-	select HAVE_IRQ_EXIT_ON_IRQ_STACK
 	select HAVE_IRQ_TIME_ACCOUNTING
 	select HAVE_KERNEL_GZIP
 	select HAVE_KERNEL_LZMA			if DEFAULT_UIMAGE
@@ -771,7 +770,6 @@ config THREAD_SHIFT
 	range 13 15
 	default "15" if PPC_256K_PAGES
 	default "14" if PPC64
-	default "14" if KASAN
 	default "13"
 	help
 	  Used to define the stack size. The default is almost always what you
arch/powerpc/include/asm/thread_info.h +8 -2
index 125328d1b980..af58f1ed3952 100644
@@ -14,10 +14,16 @@
 
 #ifdef __KERNEL__
 
-#if defined(CONFIG_VMAP_STACK) && CONFIG_THREAD_SHIFT < PAGE_SHIFT
+#ifdef CONFIG_KASAN
+#define MIN_THREAD_SHIFT	(CONFIG_THREAD_SHIFT + 1)
+#else
+#define MIN_THREAD_SHIFT	CONFIG_THREAD_SHIFT
+#endif
+
+#if defined(CONFIG_VMAP_STACK) && MIN_THREAD_SHIFT < PAGE_SHIFT
 #define THREAD_SHIFT		PAGE_SHIFT
 #else
-#define THREAD_SHIFT		CONFIG_THREAD_SHIFT
+#define THREAD_SHIFT		MIN_THREAD_SHIFT
 #endif
 
 #define THREAD_SIZE		(1 << THREAD_SHIFT)
arch/powerpc/kernel/ptrace/ptrace-fpu.c +14 -6
index 5dca19361316..09c49632bfe5 100644
@@ -17,9 +17,13 @@ int ptrace_get_fpr(struct task_struct *child, int index, unsigned long *data)
 
 #ifdef CONFIG_PPC_FPU_REGS
 	flush_fp_to_thread(child);
-	if (fpidx < (PT_FPSCR - PT_FPR0))
-		memcpy(data, &child->thread.TS_FPR(fpidx), sizeof(long));
-	else
+	if (fpidx < (PT_FPSCR - PT_FPR0)) {
+		if (IS_ENABLED(CONFIG_PPC32))
+			// On 32-bit the index we are passed refers to 32-bit words
+			*data = ((u32 *)child->thread.fp_state.fpr)[fpidx];
+		else
+			memcpy(data, &child->thread.TS_FPR(fpidx), sizeof(long));
+	} else
 		*data = child->thread.fp_state.fpscr;
 #else
 	*data = 0;
@@ -39,9 +43,13 @@ int ptrace_put_fpr(struct task_struct *child, int index, unsigned long data)
 
 #ifdef CONFIG_PPC_FPU_REGS
 	flush_fp_to_thread(child);
-	if (fpidx < (PT_FPSCR - PT_FPR0))
-		memcpy(&child->thread.TS_FPR(fpidx), &data, sizeof(long));
-	else
+	if (fpidx < (PT_FPSCR - PT_FPR0)) {
+		if (IS_ENABLED(CONFIG_PPC32))
+			// On 32-bit the index we are passed refers to 32-bit words
+			((u32 *)child->thread.fp_state.fpr)[fpidx] = data;
+		else
+			memcpy(&child->thread.TS_FPR(fpidx), &data, sizeof(long));
+	} else
 		child->thread.fp_state.fpscr = data;
 #endif
 
arch/powerpc/kernel/ptrace/ptrace.c +3 -0
index 6d5026a9db4f..eab6fa59d9d2 100644
@@ -450,4 +450,7 @@ void __init pt_regs_check(void)
 #else
 	BUILD_BUG_ON(IS_ENABLED(CONFIG_HAVE_FUNCTION_DESCRIPTORS));
 #endif
+
+	// ptrace_get/put_fpr() rely on PPC32 and VSX being incompatible
+	BUILD_BUG_ON(IS_ENABLED(CONFIG_PPC32) && IS_ENABLED(CONFIG_VSX));
 }
arch/powerpc/platforms/pseries/papr_scm.c +3 -0
index 181b855b3050..82cae08976bc 100644
@@ -465,6 +465,9 @@ static int papr_scm_pmu_check_events(struct papr_scm_priv *p, struct nvdimm_pmu
 	u32 available_events;
 	int index, rc = 0;
 
+	if (!p->stat_buffer_len)
+		return -ENOENT;
+
 	available_events = (p->stat_buffer_len  - sizeof(struct papr_scm_perf_stats))
 			/ sizeof(struct papr_scm_perf_stat);
 	if (available_events == 0)
arch/riscv/kernel/efi.c +1 -1
index 024159298231..1aa540350abd 100644
@@ -65,7 +65,7 @@ static int __init set_permissions(pte_t *ptep, unsigned long addr, void *data)
 
 	if (md->attribute & EFI_MEMORY_RO) {
 		val = pte_val(pte) & ~_PAGE_WRITE;
-		val = pte_val(pte) | _PAGE_READ;
+		val |= _PAGE_READ;
 		pte = __pte(val);
 	}
 	if (md->attribute & EFI_MEMORY_XP) {
arch/riscv/kernel/machine_kexec.c +3 -1
index cbef0fc73afa..df8e24559035 100644
@@ -65,7 +65,9 @@ machine_kexec_prepare(struct kimage *image)
 		if (image->segment[i].memsz <= sizeof(fdt))
 			continue;
 
-		if (copy_from_user(&fdt, image->segment[i].buf, sizeof(fdt)))
+		if (image->file_mode)
+			memcpy(&fdt, image->segment[i].buf, sizeof(fdt));
+		else if (copy_from_user(&fdt, image->segment[i].buf, sizeof(fdt)))
 			continue;
 
 		if (fdt_check_header(&fdt))
arch/s390/crypto/aes_s390.c +2 -2
index 54c7536f2482..1023e9d43d44 100644
@@ -701,7 +701,7 @@ static inline void _gcm_sg_unmap_and_advance(struct gcm_sg_walk *gw,
 					     unsigned int nbytes)
 {
 	gw->walk_bytes_remain -= nbytes;
-	scatterwalk_unmap(&gw->walk);
+	scatterwalk_unmap(gw->walk_ptr);
 	scatterwalk_advance(&gw->walk, nbytes);
 	scatterwalk_done(&gw->walk, 0, gw->walk_bytes_remain);
 	gw->walk_ptr = NULL;
@@ -776,7 +776,7 @@ static int gcm_out_walk_go(struct gcm_sg_walk *gw, unsigned int minbytesneeded)
 		goto out;
 	}
 
-	scatterwalk_unmap(&gw->walk);
+	scatterwalk_unmap(gw->walk_ptr);
 	gw->walk_ptr = NULL;
 
 	gw->ptr = gw->buf;
arch/s390/kernel/entry.S +5 -1
index 59b69c8ab5e1..85e9703e52a8 100644
@@ -258,6 +258,10 @@ ENTRY(sie64a)
 	BPEXIT	__SF_SIE_FLAGS(%r15),(_TIF_ISOLATE_BP|_TIF_ISOLATE_BP_GUEST)
 .Lsie_entry:
 	sie	0(%r14)
+# Let the next instruction be NOP to avoid triggering a machine check
+# and handling it in a guest as result of the instruction execution.
+	nopr	7
+.Lsie_leave:
 	BPOFF
 	BPENTER	__SF_SIE_FLAGS(%r15),(_TIF_ISOLATE_BP|_TIF_ISOLATE_BP_GUEST)
 .Lsie_skip:
@@ -557,7 +561,7 @@ ENTRY(mcck_int_handler)
 	jno	.Lmcck_panic
 #if IS_ENABLED(CONFIG_KVM)
 	OUTSIDE	%r9,.Lsie_gmap,.Lsie_done,6f
-	OUTSIDE	%r9,.Lsie_entry,.Lsie_skip,4f
+	OUTSIDE	%r9,.Lsie_entry,.Lsie_leave,4f
 	oi	__LC_CPU_FLAGS+7, _CIF_MCCK_GUEST
 	j	5f
 4:	CHKSTG	.Lmcck_panic
arch/s390/mm/gmap.c +14 -0
index 1ac73917a8d3..b8ae4a4aa2ba 100644
@@ -2608,6 +2608,18 @@ static int __s390_enable_skey_pte(pte_t *pte, unsigned long addr,
 	return 0;
 }
 
+/*
+ * Give a chance to schedule after setting a key to 256 pages.
+ * We only hold the mm lock, which is a rwsem and the kvm srcu.
+ * Both can sleep.
+ */
+static int __s390_enable_skey_pmd(pmd_t *pmd, unsigned long addr,
+				  unsigned long next, struct mm_walk *walk)
+{
+	cond_resched();
+	return 0;
+}
+
 static int __s390_enable_skey_hugetlb(pte_t *pte, unsigned long addr,
 				      unsigned long hmask, unsigned long next,
 				      struct mm_walk *walk)
@@ -2630,12 +2642,14 @@ static int __s390_enable_skey_hugetlb(pte_t *pte, unsigned long addr,
 	end = start + HPAGE_SIZE - 1;
 	__storage_key_init_range(start, end);
 	set_bit(PG_arch_1, &page->flags);
+	cond_resched();
 	return 0;
 }
 
 static const struct mm_walk_ops enable_skey_walk_ops = {
 	.hugetlb_entry		= __s390_enable_skey_hugetlb,
 	.pte_entry		= __s390_enable_skey_pte,
+	.pmd_entry		= __s390_enable_skey_pmd,
 };
 
 int s390_enable_skey(void)
arch/um/drivers/chan_kern.c +5 -5
index 62997055c454..26a702a06515 100644
@@ -133,7 +133,7 @@ static void line_timer_cb(struct work_struct *work)
 	struct line *line = container_of(work, struct line, task.work);
 
 	if (!line->throttled)
-		chan_interrupt(line, line->driver->read_irq);
+		chan_interrupt(line, line->read_irq);
 }
 
 int enable_chan(struct line *line)
@@ -195,9 +195,9 @@ void free_irqs(void)
 		chan = list_entry(ele, struct chan, free_list);
 
 		if (chan->input && chan->enabled)
-			um_free_irq(chan->line->driver->read_irq, chan);
+			um_free_irq(chan->line->read_irq, chan);
 		if (chan->output && chan->enabled)
-			um_free_irq(chan->line->driver->write_irq, chan);
+			um_free_irq(chan->line->write_irq, chan);
 		chan->enabled = 0;
 	}
 }
@@ -215,9 +215,9 @@ static void close_one_chan(struct chan *chan, int delay_free_irq)
 		spin_unlock_irqrestore(&irqs_to_free_lock, flags);
 	} else {
 		if (chan->input && chan->enabled)
-			um_free_irq(chan->line->driver->read_irq, chan);
+			um_free_irq(chan->line->read_irq, chan);
 		if (chan->output && chan->enabled)
-			um_free_irq(chan->line->driver->write_irq, chan);
+			um_free_irq(chan->line->write_irq, chan);
 		chan->enabled = 0;
 	}
 	if (chan->ops->close != NULL)
arch/um/drivers/line.c +13 -9
index 8febf95da96e..02b0befd6763 100644
@@ -139,7 +139,7 @@ static int flush_buffer(struct line *line)
 		count = line->buffer + LINE_BUFSIZE - line->head;
 
 		n = write_chan(line->chan_out, line->head, count,
-			       line->driver->write_irq);
+			       line->write_irq);
 		if (n < 0)
 			return n;
 		if (n == count) {
@@ -156,7 +156,7 @@ static int flush_buffer(struct line *line)
 
 	count = line->tail - line->head;
 	n = write_chan(line->chan_out, line->head, count,
-		       line->driver->write_irq);
+		       line->write_irq);
 
 	if (n < 0)
 		return n;
@@ -195,7 +195,7 @@ int line_write(struct tty_struct *tty, const unsigned char *buf, int len)
 		ret = buffer_data(line, buf, len);
 	else {
 		n = write_chan(line->chan_out, buf, len,
-			       line->driver->write_irq);
+			       line->write_irq);
 		if (n < 0) {
 			ret = n;
 			goto out_up;
@@ -215,7 +215,7 @@ void line_throttle(struct tty_struct *tty)
 {
 	struct line *line = tty->driver_data;
 
-	deactivate_chan(line->chan_in, line->driver->read_irq);
+	deactivate_chan(line->chan_in, line->read_irq);
 	line->throttled = 1;
 }
 
@@ -224,7 +224,7 @@ void line_unthrottle(struct tty_struct *tty)
 	struct line *line = tty->driver_data;
 
 	line->throttled = 0;
-	chan_interrupt(line, line->driver->read_irq);
+	chan_interrupt(line, line->read_irq);
 }
 
 static irqreturn_t line_write_interrupt(int irq, void *data)
@@ -260,19 +260,23 @@ int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
 	int err;
 
 	if (input) {
-		err = um_request_irq(driver->read_irq, fd, IRQ_READ,
-				     line_interrupt, IRQF_SHARED,
+		err = um_request_irq(UM_IRQ_ALLOC, fd, IRQ_READ,
+				     line_interrupt, 0,
 				     driver->read_irq_name, data);
 		if (err < 0)
 			return err;
+
+		line->read_irq = err;
 	}
 
 	if (output) {
-		err = um_request_irq(driver->write_irq, fd, IRQ_WRITE,
-				     line_write_interrupt, IRQF_SHARED,
+		err = um_request_irq(UM_IRQ_ALLOC, fd, IRQ_WRITE,
+				     line_write_interrupt, 0,
 				     driver->write_irq_name, data);
 		if (err < 0)
 			return err;
+
+		line->write_irq = err;
 	}
 
 	return 0;
arch/um/drivers/line.h +2 -2
index bdb16b96e76f..f15be75a3bf3 100644
@@ -23,9 +23,7 @@ struct line_driver {
 	const short minor_start;
 	const short type;
 	const short subtype;
-	const int read_irq;
 	const char *read_irq_name;
-	const int write_irq;
 	const char *write_irq_name;
 	struct mc_device mc;
 	struct tty_driver *driver;
@@ -35,6 +33,8 @@ struct line {
 	struct tty_port port;
 	int valid;
 
+	int read_irq, write_irq;
+
 	char *init_str;
 	struct list_head chan_list;
 	struct chan *chan_in, *chan_out;
arch/um/drivers/ssl.c +0 -2
index 41eae2e8fb65..8514966778d5 100644
@@ -47,9 +47,7 @@ static struct line_driver driver = {
 	.minor_start 		= 64,
 	.type 		 	= TTY_DRIVER_TYPE_SERIAL,
 	.subtype 	 	= 0,
-	.read_irq 		= SSL_IRQ,
 	.read_irq_name 		= "ssl",
-	.write_irq 		= SSL_WRITE_IRQ,
 	.write_irq_name 	= "ssl-write",
 	.mc  = {
 		.list		= LIST_HEAD_INIT(driver.mc.list),
arch/um/drivers/stdio_console.c +0 -2
index e8b762f4d8c2..489d5a746ed3 100644
@@ -53,9 +53,7 @@ static struct line_driver driver = {
 	.minor_start 		= 0,
 	.type 		 	= TTY_DRIVER_TYPE_CONSOLE,
 	.subtype 	 	= SYSTEM_TYPE_CONSOLE,
-	.read_irq 		= CONSOLE_IRQ,
 	.read_irq_name 		= "console",
-	.write_irq 		= CONSOLE_WRITE_IRQ,
 	.write_irq_name 	= "console-write",
 	.mc  = {
 		.list		= LIST_HEAD_INIT(driver.mc.list),
arch/um/include/asm/irq.h +9 -13
index e187c789369d..749dfe8512e8 100644
@@ -4,19 +4,15 @@
 
 #define TIMER_IRQ		0
 #define UMN_IRQ			1
-#define CONSOLE_IRQ		2
-#define CONSOLE_WRITE_IRQ	3
-#define UBD_IRQ			4
-#define UM_ETH_IRQ		5
-#define SSL_IRQ			6
-#define SSL_WRITE_IRQ		7
-#define ACCEPT_IRQ		8
-#define MCONSOLE_IRQ		9
-#define WINCH_IRQ		10
-#define SIGIO_WRITE_IRQ 	11
-#define TELNETD_IRQ 		12
-#define XTERM_IRQ 		13
-#define RANDOM_IRQ 		14
+#define UBD_IRQ			2
+#define UM_ETH_IRQ		3
+#define ACCEPT_IRQ		4
+#define MCONSOLE_IRQ		5
+#define WINCH_IRQ		6
+#define SIGIO_WRITE_IRQ 	7
+#define TELNETD_IRQ 		8
+#define XTERM_IRQ 		9
+#define RANDOM_IRQ 		10
 
 #ifdef CONFIG_UML_NET_VECTOR
 
arch/x86/include/asm/cpufeature.h +1 -1
index 1261842d006c..49a3b122279e 100644
@@ -51,7 +51,7 @@ extern const char * const x86_power_flags[32];
 extern const char * const x86_bug_flags[NBUGINTS*32];
 
 #define test_cpu_cap(c, bit)						\
-	 test_bit(bit, (unsigned long *)((c)->x86_capability))
+	 arch_test_bit(bit, (unsigned long *)((c)->x86_capability))
 
 /*
  * There are 32 bits/features in each mask word.  The high bits
arch/x86/include/asm/uaccess.h +1 -1
index 35f222aa66bf..913e593a3b45 100644
@@ -439,7 +439,7 @@ do {									\
 		       [ptr] "+m" (*_ptr),				\
 		       [old] "+a" (__old)				\
 		     : [new] ltype (__new)				\
-		     : "memory", "cc");					\
+		     : "memory");					\
 	if (unlikely(__err))						\
 		goto label;						\
 	if (unlikely(!success))						\
arch/x86/kvm/mmu/mmu.c +1 -1
index cf48ac96ceec..7f9c3b0fcd0b 100644
@@ -5168,7 +5168,7 @@ static void __kvm_mmu_free_obsolete_roots(struct kvm *kvm, struct kvm_mmu *mmu)
 		roots_to_free |= KVM_MMU_ROOT_CURRENT;
 
 	for (i = 0; i < KVM_MMU_NUM_PREV_ROOTS; i++) {
-		if (is_obsolete_root(kvm, mmu->root.hpa))
+		if (is_obsolete_root(kvm, mmu->prev_roots[i].hpa))
 			roots_to_free |= KVM_MMU_ROOT_PREVIOUS(i);
 	}
 
arch/x86/kvm/svm/nested.c +2 -2
index 1a9b60cb6bcb..9a5963bff0f9 100644
@@ -896,7 +896,7 @@ int nested_svm_vmexit(struct vcpu_svm *svm)
 	if (svm->tsc_ratio_msr != kvm_default_tsc_scaling_ratio) {
 		WARN_ON(!svm->tsc_scaling_enabled);
 		vcpu->arch.tsc_scaling_ratio = vcpu->arch.l1_tsc_scaling_ratio;
-		svm_write_tsc_multiplier(vcpu, vcpu->arch.tsc_scaling_ratio);
+		__svm_write_tsc_multiplier(vcpu->arch.tsc_scaling_ratio);
 	}
 
 	svm->nested.ctl.nested_cr3 = 0;
@@ -1293,7 +1293,7 @@ void nested_svm_update_tsc_ratio_msr(struct kvm_vcpu *vcpu)
 	vcpu->arch.tsc_scaling_ratio =
 		kvm_calc_nested_tsc_multiplier(vcpu->arch.l1_tsc_scaling_ratio,
 					       svm->tsc_ratio_msr);
-	svm_write_tsc_multiplier(vcpu, vcpu->arch.tsc_scaling_ratio);
+	__svm_write_tsc_multiplier(vcpu->arch.tsc_scaling_ratio);
 }
 
 /* Inverse operation of nested_copy_vmcb_control_to_cache(). asid is copied too. */
arch/x86/kvm/svm/svm.c +20 -12
index 7e45d03cd018..0c0a09b43b10 100644
@@ -463,11 +463,24 @@ static int has_svm(void)
 	return 1;
 }
 
+void __svm_write_tsc_multiplier(u64 multiplier)
+{
+	preempt_disable();
+
+	if (multiplier == __this_cpu_read(current_tsc_ratio))
+		goto out;
+
+	wrmsrl(MSR_AMD64_TSC_RATIO, multiplier);
+	__this_cpu_write(current_tsc_ratio, multiplier);
+out:
+	preempt_enable();
+}
+
 static void svm_hardware_disable(void)
 {
 	/* Make sure we clean up behind us */
 	if (tsc_scaling)
-		wrmsrl(MSR_AMD64_TSC_RATIO, SVM_TSC_RATIO_DEFAULT);
+		__svm_write_tsc_multiplier(SVM_TSC_RATIO_DEFAULT);
 
 	cpu_svm_disable();
 
@@ -513,8 +526,7 @@ static int svm_hardware_enable(void)
 		 * Set the default value, even if we don't use TSC scaling
 		 * to avoid having stale value in the msr
 		 */
-		wrmsrl(MSR_AMD64_TSC_RATIO, SVM_TSC_RATIO_DEFAULT);
-		__this_cpu_write(current_tsc_ratio, SVM_TSC_RATIO_DEFAULT);
+		__svm_write_tsc_multiplier(SVM_TSC_RATIO_DEFAULT);
 	}
 
 
@@ -915,11 +927,12 @@ static void svm_write_tsc_offset(struct kvm_vcpu *vcpu, u64 offset)
 	vmcb_mark_dirty(svm->vmcb, VMCB_INTERCEPTS);
 }
 
-void svm_write_tsc_multiplier(struct kvm_vcpu *vcpu, u64 multiplier)
+static void svm_write_tsc_multiplier(struct kvm_vcpu *vcpu, u64 multiplier)
 {
-	wrmsrl(MSR_AMD64_TSC_RATIO, multiplier);
+	__svm_write_tsc_multiplier(multiplier);
 }
 
+
 /* Evaluate instruction intercepts that depend on guest CPUID features. */
 static void svm_recalc_instruction_intercepts(struct kvm_vcpu *vcpu,
 					      struct vcpu_svm *svm)
@@ -1276,13 +1289,8 @@ static void svm_prepare_switch_to_guest(struct kvm_vcpu *vcpu)
 		sev_es_prepare_switch_to_guest(hostsa);
 	}
 
-	if (tsc_scaling) {
-		u64 tsc_ratio = vcpu->arch.tsc_scaling_ratio;
-		if (tsc_ratio != __this_cpu_read(current_tsc_ratio)) {
-			__this_cpu_write(current_tsc_ratio, tsc_ratio);
-			wrmsrl(MSR_AMD64_TSC_RATIO, tsc_ratio);
-		}
-	}
+	if (tsc_scaling)
+		__svm_write_tsc_multiplier(vcpu->arch.tsc_scaling_ratio);
 
 	if (likely(tsc_aux_uret_slot >= 0))
 		kvm_set_user_return_msr(tsc_aux_uret_slot, svm->tsc_aux, -1ull);
arch/x86/kvm/svm/svm.h +1 -1
index f76deff71002..34babf9185fe 100644
@@ -558,7 +558,7 @@ int nested_svm_check_exception(struct vcpu_svm *svm, unsigned nr,
 			       bool has_error_code, u32 error_code);
 int nested_svm_exit_special(struct vcpu_svm *svm);
 void nested_svm_update_tsc_ratio_msr(struct kvm_vcpu *vcpu);
-void svm_write_tsc_multiplier(struct kvm_vcpu *vcpu, u64 multiplier);
+void __svm_write_tsc_multiplier(u64 multiplier);
 void nested_copy_vmcb_control_to_cache(struct vcpu_svm *svm,
 				       struct vmcb_control_area *control);
 void nested_copy_vmcb_save_to_cache(struct vcpu_svm *svm,
block/bio.c +6 -3
index 4259125e16ab..d3ca79c3ebdf 100644
@@ -693,6 +693,7 @@ static void bio_alloc_cache_destroy(struct bio_set *bs)
 		bio_alloc_cache_prune(cache, -1U);
 	}
 	free_percpu(bs->cache);
+	bs->cache = NULL;
 }
 
 /**
@@ -1336,10 +1337,12 @@ void bio_copy_data_iter(struct bio *dst, struct bvec_iter *dst_iter,
 		struct bio_vec src_bv = bio_iter_iovec(src, *src_iter);
 		struct bio_vec dst_bv = bio_iter_iovec(dst, *dst_iter);
 		unsigned int bytes = min(src_bv.bv_len, dst_bv.bv_len);
-		void *src_buf;
+		void *src_buf = bvec_kmap_local(&src_bv);
+		void *dst_buf = bvec_kmap_local(&dst_bv);
 
-		src_buf = bvec_kmap_local(&src_bv);
-		memcpy_to_bvec(&dst_bv, src_buf);
+		memcpy(dst_buf, src_buf, bytes);
+
+		kunmap_local(dst_buf);
 		kunmap_local(src_buf);
 
 		bio_advance_iter_single(src, src_iter, bytes);
block/blk-core.c +1 -1
index bc0506772152..84f7b7884d07 100644
@@ -948,7 +948,7 @@ int bio_poll(struct bio *bio, struct io_comp_batch *iob, unsigned int flags)
 
 	blk_flush_plug(current->plug, false);
 
-	if (blk_queue_enter(q, BLK_MQ_REQ_NOWAIT))
+	if (bio_queue_enter(bio))
 		return 0;
 	if (queue_is_mq(q)) {
 		ret = blk_mq_poll(q, cookie, iob, flags);
block/blk-mq.c +5 -5
index 84d749511f55..de7fc6957271 100644
@@ -133,7 +133,8 @@ static bool blk_mq_check_inflight(struct request *rq, void *priv,
 {
 	struct mq_inflight *mi = priv;
 
-	if ((!mi->part->bd_partno || rq->part == mi->part) &&
+	if (rq->part && blk_do_io_stat(rq) &&
+	    (!mi->part->bd_partno || rq->part == mi->part) &&
 	    blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT)
 		mi->inflight[rq_data_dir(rq)]++;
 
@@ -2123,8 +2124,7 @@ static bool blk_mq_has_sqsched(struct request_queue *q)
  */
 static struct blk_mq_hw_ctx *blk_mq_get_sq_hctx(struct request_queue *q)
 {
-	struct blk_mq_hw_ctx *hctx;
-
+	struct blk_mq_ctx *ctx = blk_mq_get_ctx(q);
 	/*
 	 * If the IO scheduler does not respect hardware queues when
 	 * dispatching, we just don't bother with multiple HW queues and
@@ -2132,8 +2132,8 @@ static struct blk_mq_hw_ctx *blk_mq_get_sq_hctx(struct request_queue *q)
 	 * just causes lock contention inside the scheduler and pointless cache
 	 * bouncing.
 	 */
-	hctx = blk_mq_map_queue_type(q, HCTX_TYPE_DEFAULT,
-				     raw_smp_processor_id());
+	struct blk_mq_hw_ctx *hctx = blk_mq_map_queue(q, 0, ctx);
+
 	if (!blk_mq_hctx_stopped(hctx))
 		return hctx;
 	return NULL;
block/genhd.c +2 -0
index b8b6759d670f..3008ec213654 100644
@@ -385,6 +385,8 @@ int disk_scan_partitions(struct gendisk *disk, fmode_t mode)
 
 	if (disk->flags & (GENHD_FL_NO_PART | GENHD_FL_HIDDEN))
 		return -EINVAL;
+	if (test_bit(GD_SUPPRESS_PART_SCAN, &disk->state))
+		return -EINVAL;
 	if (disk->open_partitions)
 		return -EBUSY;
 
drivers/ata/libata-core.c +13 -8
index ca64837641be..3d57fa84e2be 100644
@@ -2003,16 +2003,16 @@ unsigned int ata_read_log_page(struct ata_device *dev, u8 log,
 	return err_mask;
 }
 
-static bool ata_log_supported(struct ata_device *dev, u8 log)
+static int ata_log_supported(struct ata_device *dev, u8 log)
 {
 	struct ata_port *ap = dev->link->ap;
 
 	if (dev->horkage & ATA_HORKAGE_NO_LOG_DIR)
-		return false;
+		return 0;
 
 	if (ata_read_log_page(dev, ATA_LOG_DIRECTORY, 0, ap->sector_buf, 1))
-		return false;
-	return get_unaligned_le16(&ap->sector_buf[log * 2]) ? true : false;
+		return 0;
+	return get_unaligned_le16(&ap->sector_buf[log * 2]);
 }
 
 static bool ata_identify_page_supported(struct ata_device *dev, u8 page)
@@ -2448,15 +2448,20 @@ static void ata_dev_config_cpr(struct ata_device *dev)
 	struct ata_cpr_log *cpr_log = NULL;
 	u8 *desc, *buf = NULL;
 
-	if (ata_id_major_version(dev->id) < 11 ||
-	    !ata_log_supported(dev, ATA_LOG_CONCURRENT_POSITIONING_RANGES))
+	if (ata_id_major_version(dev->id) < 11)
+		goto out;
+
+	buf_len = ata_log_supported(dev, ATA_LOG_CONCURRENT_POSITIONING_RANGES);
+	if (buf_len == 0)
 		goto out;
 
 	/*
 	 * Read the concurrent positioning ranges log (0x47). We can have at
-	 * most 255 32B range descriptors plus a 64B header.
+	 * most 255 32B range descriptors plus a 64B header. This log varies in
+	 * size, so use the size reported in the GPL directory. Reading beyond
+	 * the supported length will result in an error.
 	 */
-	buf_len = (64 + 255 * 32 + 511) & ~511;
+	buf_len <<= 9;
 	buf = kzalloc(buf_len, GFP_KERNEL);
 	if (!buf)
 		goto out;
drivers/ata/libata-scsi.c +1 -1
index 06c9d90238d9..0ea9c3115529 100644
@@ -2101,7 +2101,7 @@ static unsigned int ata_scsiop_inq_b9(struct ata_scsi_args *args, u8 *rbuf)
 
 	/* SCSI Concurrent Positioning Ranges VPD page: SBC-5 rev 1 or later */
 	rbuf[1] = 0xb9;
-	put_unaligned_be16(64 + (int)cpr_log->nr_cpr * 32 - 4, &rbuf[3]);
+	put_unaligned_be16(64 + (int)cpr_log->nr_cpr * 32 - 4, &rbuf[2]);
 
 	for (i = 0; i < cpr_log->nr_cpr; i++, desc += 32) {
 		desc[0] = cpr_log->cpr[i].num;
drivers/ata/libata-transport.c +1 -1
index ca129854a88c..c38027887499 100644
@@ -196,7 +196,7 @@ static struct {
 	{ XFER_PIO_0,			"XFER_PIO_0" },
 	{ XFER_PIO_SLOW,		"XFER_PIO_SLOW" }
 };
-ata_bitfield_name_match(xfer,ata_xfer_names)
+ata_bitfield_name_search(xfer, ata_xfer_names)
 
 /*
  * ATA Port attributes
drivers/ata/pata_octeon_cf.c +3 -0
index 6b5ed3046b44..35608a0cf552 100644
@@ -856,12 +856,14 @@ static int octeon_cf_probe(struct platform_device *pdev)
 				int i;
 				res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
 				if (!res_dma) {
+					put_device(&dma_dev->dev);
 					of_node_put(dma_node);
 					return -EINVAL;
 				}
 				cf_port->dma_base = (u64)devm_ioremap(&pdev->dev, res_dma->start,
 									 resource_size(res_dma));
 				if (!cf_port->dma_base) {
+					put_device(&dma_dev->dev);
 					of_node_put(dma_node);
 					return -EINVAL;
 				}
@@ -871,6 +873,7 @@ static int octeon_cf_probe(struct platform_device *pdev)
 					irq = i;
 					irq_handler = octeon_cf_interrupt;
 				}
+				put_device(&dma_dev->dev);
 			}
 			of_node_put(dma_node);
 		}
drivers/base/bus.c +3 -1
index 97936ec49bde..7ca47e5b3c1f 100644
@@ -617,7 +617,7 @@ int bus_add_driver(struct device_driver *drv)
 	if (drv->bus->p->drivers_autoprobe) {
 		error = driver_attach(drv);
 		if (error)
-			goto out_unregister;
+			goto out_del_list;
 	}
 	module_add_driver(drv->owner, drv);
 
@@ -644,6 +644,8 @@ int bus_add_driver(struct device_driver *drv)
 
 	return 0;
 
+out_del_list:
+	klist_del(&priv->knode_bus);
 out_unregister:
 	kobject_put(&priv->kobj);
 	/* drv->p is freed in driver_release()  */
drivers/base/dd.c +4 -6
index 3fc3b5940bb3..d6980f33afc4 100644
@@ -257,7 +257,6 @@ DEFINE_SHOW_ATTRIBUTE(deferred_devs);
 
 int driver_deferred_probe_timeout;
 EXPORT_SYMBOL_GPL(driver_deferred_probe_timeout);
-static DECLARE_WAIT_QUEUE_HEAD(probe_timeout_waitqueue);
 
 static int __init deferred_probe_timeout_setup(char *str)
 {
@@ -312,7 +311,6 @@ static void deferred_probe_timeout_work_func(struct work_struct *work)
 	list_for_each_entry(p, &deferred_probe_pending_list, deferred_probe)
 		dev_info(p->device, "deferred probe pending\n");
 	mutex_unlock(&deferred_probe_mutex);
-	wake_up_all(&probe_timeout_waitqueue);
 }
 static DECLARE_DELAYED_WORK(deferred_probe_timeout_work, deferred_probe_timeout_work_func);
 
@@ -716,9 +714,6 @@ int driver_probe_done(void)
  */
 void wait_for_device_probe(void)
 {
-	/* wait for probe timeout */
-	wait_event(probe_timeout_waitqueue, !driver_deferred_probe_timeout);
-
 	/* wait for the deferred probe workqueue to finish */
 	flush_work(&deferred_probe_work);
 
@@ -941,6 +936,7 @@ static void __device_attach_async_helper(void *_dev, async_cookie_t cookie)
 static int __device_attach(struct device *dev, bool allow_async)
 {
 	int ret = 0;
+	bool async = false;
 
 	device_lock(dev);
 	if (dev->p->dead) {
@@ -979,7 +975,7 @@ static int __device_attach(struct device *dev, bool allow_async)
 			 */
 			dev_dbg(dev, "scheduling asynchronous probe\n");
 			get_device(dev);
-			async_schedule_dev(__device_attach_async_helper, dev);
+			async = true;
 		} else {
 			pm_request_idle(dev);
 		}
@@ -989,6 +985,8 @@ static int __device_attach(struct device *dev, bool allow_async)
 	}
 out_unlock:
 	device_unlock(dev);
+	if (async)
+		async_schedule_dev(__device_attach_async_helper, dev);
 	return ret;
 }
 
drivers/block/loop.c +4 -4
index ed7bec11948c..4e1dce3beab0 100644
@@ -1066,7 +1066,7 @@ static int loop_configure(struct loop_device *lo, fmode_t mode,
 		lo->lo_flags |= LO_FLAGS_PARTSCAN;
 	partscan = lo->lo_flags & LO_FLAGS_PARTSCAN;
 	if (partscan)
-		lo->lo_disk->flags &= ~GENHD_FL_NO_PART;
+		clear_bit(GD_SUPPRESS_PART_SCAN, &lo->lo_disk->state);
 
 	loop_global_unlock(lo, is_loop);
 	if (partscan)
@@ -1185,7 +1185,7 @@ static void __loop_clr_fd(struct loop_device *lo, bool release)
 	 */
 	lo->lo_flags = 0;
 	if (!part_shift)
-		lo->lo_disk->flags |= GENHD_FL_NO_PART;
+		set_bit(GD_SUPPRESS_PART_SCAN, &lo->lo_disk->state);
 	mutex_lock(&lo->lo_mutex);
 	lo->lo_state = Lo_unbound;
 	mutex_unlock(&lo->lo_mutex);
@@ -1295,7 +1295,7 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
 
 	if (!err && (lo->lo_flags & LO_FLAGS_PARTSCAN) &&
 	     !(prev_lo_flags & LO_FLAGS_PARTSCAN)) {
-		lo->lo_disk->flags &= ~GENHD_FL_NO_PART;
+		clear_bit(GD_SUPPRESS_PART_SCAN, &lo->lo_disk->state);
 		partscan = true;
 	}
 out_unlock:
@@ -2054,7 +2054,7 @@ static int loop_add(int i)
 	 * userspace tools. Parameters like this in general should be avoided.
 	 */
 	if (!part_shift)
-		disk->flags |= GENHD_FL_NO_PART;
+		set_bit(GD_SUPPRESS_PART_SCAN, &disk->state);
 	atomic_set(&lo->lo_refcnt, 0);
 	mutex_init(&lo->lo_mutex);
 	lo->lo_number		= i;
drivers/block/nbd.c +52 -26

177 lines not on this page · raw message

drivers/bus/ti-sysc.c +3 -1
index 7a1b1f9e4933..70d00cea9d22 100644
@@ -3395,7 +3395,9 @@ static int sysc_remove(struct platform_device *pdev)
 	struct sysc *ddata = platform_get_drvdata(pdev);
 	int error;
 
-	cancel_delayed_work_sync(&ddata->idle_work);
+	/* Device can still be enabled, see deferred idle quirk in probe */
+	if (cancel_delayed_work_sync(&ddata->idle_work))
+		ti_sysc_idle(&ddata->idle_work.work);
 
 	error = pm_runtime_resume_and_get(ddata->dev);
 	if (error < 0) {
drivers/char/hw_random/virtio-rng.c +2 -0
index e856df7e285c..a6f3a8a2aca6 100644
@@ -159,6 +159,8 @@ static int probe_common(struct virtio_device *vdev)
 		goto err_find;
 	}
 
+	virtio_device_ready(vdev);
+
 	/* we always have a pending entropy request */
 	request_entropy(vi);
 
drivers/char/random.c +7 -8
index 0cfbfa8d5b50..1f3072ee6b7c 100644
@@ -793,8 +793,8 @@ static void __cold _credit_init_bits(size_t bits)
  *
  **********************************************************************/
 
-static bool trust_cpu __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU);
-static bool trust_bootloader __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER);
+static bool trust_cpu __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU);
+static bool trust_bootloader __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER);
 static int __init parse_trust_cpu(char *arg)
 {
 	return kstrtobool(arg, &trust_cpu);
@@ -817,7 +817,7 @@ early_param("random.trust_bootloader", parse_trust_bootloader);
 int __init random_init(const char *command_line)
 {
 	ktime_t now = ktime_get_real();
-	unsigned int i, arch_bytes;
+	unsigned int i, arch_bits;
 	unsigned long entropy;
 
 #if defined(LATENT_ENTROPY_PLUGIN)
@@ -825,12 +825,12 @@ int __init random_init(const char *command_line)
 	_mix_pool_bytes(compiletime_seed, sizeof(compiletime_seed));
 #endif
 
-	for (i = 0, arch_bytes = BLAKE2S_BLOCK_SIZE;
+	for (i = 0, arch_bits = BLAKE2S_BLOCK_SIZE * 8;
 	     i < BLAKE2S_BLOCK_SIZE; i += sizeof(entropy)) {
 		if (!arch_get_random_seed_long_early(&entropy) &&
 		    !arch_get_random_long_early(&entropy)) {
 			entropy = random_get_entropy();
-			arch_bytes -= sizeof(entropy);
+			arch_bits -= sizeof(entropy) * 8;
 		}
 		_mix_pool_bytes(&entropy, sizeof(entropy));
 	}
@@ -842,7 +842,7 @@ int __init random_init(const char *command_line)
 	if (crng_ready())
 		crng_reseed();
 	else if (trust_cpu)
-		credit_init_bits(arch_bytes * 8);
+		_credit_init_bits(arch_bits);
 
 	return 0;
 }
@@ -890,13 +890,12 @@ EXPORT_SYMBOL_GPL(add_hwgenerator_randomness);
  * Handle random seed passed by bootloader, and credit it if
  * CONFIG_RANDOM_TRUST_BOOTLOADER is set.
  */
-void __cold add_bootloader_randomness(const void *buf, size_t len)
+void __init add_bootloader_randomness(const void *buf, size_t len)
 {
 	mix_pool_bytes(buf, len);
 	if (trust_bootloader)
 		credit_init_bits(len * 8);
 }
-EXPORT_SYMBOL_GPL(add_bootloader_randomness);
 
 #if IS_ENABLED(CONFIG_VMGENID)
 static BLOCKING_NOTIFIER_HEAD(vmfork_chain);
drivers/char/xillybus/xillyusb.c +1 -0
index dc3551796e5e..39bcbfd908b4 100644
@@ -549,6 +549,7 @@ static void cleanup_dev(struct kref *kref)
 	if (xdev->workq)
 		destroy_workqueue(xdev->workq);
 
+	usb_put_dev(xdev->udev);
 	kfree(xdev->channels); /* Argument may be NULL, and that's fine */
 	kfree(xdev);
 }
drivers/clocksource/timer-oxnas-rps.c +1 -1
index 56c0cc32d0ac..d514b44e67dd 100644
@@ -236,7 +236,7 @@ static int __init oxnas_rps_timer_init(struct device_node *np)
 	}
 
 	rps->irq = irq_of_parse_and_map(np, 0);
-	if (rps->irq < 0) {
+	if (!rps->irq) {
 		ret = -EINVAL;
 		goto err_iomap;
 	}
drivers/clocksource/timer-riscv.c +1 -1
index 1767f8bf2013..593d5a957b69 100644
@@ -34,7 +34,7 @@ static int riscv_clock_next_event(unsigned long delta,
 static unsigned int riscv_clock_event_irq;
 static DEFINE_PER_CPU(struct clock_event_device, riscv_clock_event) = {
 	.name			= "riscv_timer_clockevent",
-	.features		= CLOCK_EVT_FEAT_ONESHOT,
+	.features		= CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_C3STOP,
 	.rating			= 100,
 	.set_next_event		= riscv_clock_next_event,
 };
drivers/clocksource/timer-sp804.c +5 -5
index 401d592e85f5..e6a87f4af2b5 100644
@@ -259,6 +259,11 @@ static int __init sp804_of_init(struct device_node *np, struct sp804_timer *time
 	struct clk *clk1, *clk2;
 	const char *name = of_get_property(np, "compatible", NULL);
 
+	if (initialized) {
+		pr_debug("%pOF: skipping further SP804 timer device\n", np);
+		return 0;
+	}
+
 	base = of_iomap(np, 0);
 	if (!base)
 		return -ENXIO;
@@ -270,11 +275,6 @@ static int __init sp804_of_init(struct device_node *np, struct sp804_timer *time
 	writel(0, timer1_base + timer->ctrl);
 	writel(0, timer2_base + timer->ctrl);
 
-	if (initialized || !of_device_is_available(np)) {
-		ret = -EINVAL;
-		goto err;
-	}
-
 	clk1 = of_clk_get(np, 0);
 	if (IS_ERR(clk1))
 		clk1 = NULL;
drivers/dma/idxd/dma.c +23 -0
index bfff59617d04..f9ed55011775 100644
@@ -87,6 +87,27 @@ static inline void idxd_prep_desc_common(struct idxd_wq *wq,
 	hw->completion_addr = compl;
 }
 
+static struct dma_async_tx_descriptor *
+idxd_dma_prep_interrupt(struct dma_chan *c, unsigned long flags)
+{
+	struct idxd_wq *wq = to_idxd_wq(c);
+	u32 desc_flags;
+	struct idxd_desc *desc;
+
+	if (wq->state != IDXD_WQ_ENABLED)
+		return NULL;
+
+	op_flag_setup(flags, &desc_flags);
+	desc = idxd_alloc_desc(wq, IDXD_OP_BLOCK);
+	if (IS_ERR(desc))
+		return NULL;
+
+	idxd_prep_desc_common(wq, desc->hw, DSA_OPCODE_NOOP,
+			      0, 0, 0, desc->compl_dma, desc_flags);
+	desc->txd.flags = flags;
+	return &desc->txd;
+}
+
 static struct dma_async_tx_descriptor *
 idxd_dma_submit_memcpy(struct dma_chan *c, dma_addr_t dma_dest,
 		       dma_addr_t dma_src, size_t len, unsigned long flags)
@@ -193,10 +214,12 @@ int idxd_register_dma_device(struct idxd_device *idxd)
 	INIT_LIST_HEAD(&dma->channels);
 	dma->dev = dev;
 
+	dma_cap_set(DMA_INTERRUPT, dma->cap_mask);
 	dma_cap_set(DMA_PRIVATE, dma->cap_mask);
 	dma_cap_set(DMA_COMPLETION_NO_ORDER, dma->cap_mask);
 	dma->device_release = idxd_dma_release;
 
+	dma->device_prep_dma_interrupt = idxd_dma_prep_interrupt;
 	if (idxd->hw.opcap.bits[0] & IDXD_OPCAP_MEMMOVE) {
 		dma_cap_set(DMA_MEMCPY, dma->cap_mask);
 		dma->device_prep_dma_memcpy = idxd_dma_submit_memcpy;
drivers/dma/xilinx/zynqmp_dma.c +3 -2
index 7aa63b652027..3ffa7f37c701 100644
@@ -229,7 +229,7 @@ struct zynqmp_dma_chan {
 	bool is_dmacoherent;
 	struct tasklet_struct tasklet;
 	bool idle;
-	u32 desc_size;
+	size_t desc_size;
 	bool err;
 	u32 bus_width;
 	u32 src_burst_len;
@@ -486,7 +486,8 @@ static int zynqmp_dma_alloc_chan_resources(struct dma_chan *dchan)
 	}
 
 	chan->desc_pool_v = dma_alloc_coherent(chan->dev,
-					       (2 * chan->desc_size * ZYNQMP_DMA_NUM_DESCS),
+					       (2 * ZYNQMP_DMA_DESC_SIZE(chan) *
+					       ZYNQMP_DMA_NUM_DESCS),
 					       &chan->desc_pool_p, GFP_KERNEL);
 	if (!chan->desc_pool_v)
 		return -ENOMEM;
drivers/extcon/extcon-axp288.c +2 -2
index 7c6d5857ff25..180be768c215 100644
@@ -394,8 +394,8 @@ static int axp288_extcon_probe(struct platform_device *pdev)
 		if (adev) {
 			info->id_extcon = extcon_get_extcon_dev(acpi_dev_name(adev));
 			put_device(&adev->dev);
-			if (!info->id_extcon)
-				return -EPROBE_DEFER;
+			if (IS_ERR(info->id_extcon))
+				return PTR_ERR(info->id_extcon);
 
 			dev_info(dev, "controlling USB role\n");
 		} else {
drivers/extcon/extcon-ptn5150.c +11 -0
index 5b9a3cf8df26..2a7874108df8 100644
@@ -194,6 +194,13 @@ static int ptn5150_init_dev_type(struct ptn5150_info *info)
 	return 0;
 }
 
+static void ptn5150_work_sync_and_put(void *data)
+{
+	struct ptn5150_info *info = data;
+
+	cancel_work_sync(&info->irq_work);
+}
+
 static int ptn5150_i2c_probe(struct i2c_client *i2c)
 {
 	struct device *dev = &i2c->dev;
@@ -284,6 +291,10 @@ static int ptn5150_i2c_probe(struct i2c_client *i2c)
 	if (ret)
 		return -EINVAL;
 
+	ret = devm_add_action_or_reset(dev, ptn5150_work_sync_and_put, info);
+	if (ret)
+		return ret;
+
 	/*
 	 * Update current extcon state if for example OTG connection was there
 	 * before the probe
drivers/extcon/extcon.c +20 -13
index a09e704fd0fa..97e35c32bfa5 100644
@@ -851,6 +851,8 @@ EXPORT_SYMBOL_GPL(extcon_set_property_capability);
  * @extcon_name:	the extcon name provided with extcon_dev_register()
  *
  * Return the pointer of extcon device if success or ERR_PTR(err) if fail.
+ * NOTE: This function returns -EPROBE_DEFER so it may only be called from
+ * probe() functions.
  */
 struct extcon_dev *extcon_get_extcon_dev(const char *extcon_name)
 {
@@ -864,7 +866,7 @@ struct extcon_dev *extcon_get_extcon_dev(const char *extcon_name)
 		if (!strcmp(sd->name, extcon_name))
 			goto out;
 	}
-	sd = NULL;
+	sd = ERR_PTR(-EPROBE_DEFER);
 out:
 	mutex_unlock(&extcon_dev_list_lock);
 	return sd;
@@ -1218,19 +1220,14 @@ int extcon_dev_register(struct extcon_dev *edev)
 		edev->dev.type = &edev->extcon_dev_type;
 	}
 
-	ret = device_register(&edev->dev);
-	if (ret) {
-		put_device(&edev->dev);
-		goto err_dev;
-	}
-
 	spin_lock_init(&edev->lock);
-	edev->nh = devm_kcalloc(&edev->dev, edev->max_supported,
-				sizeof(*edev->nh), GFP_KERNEL);
-	if (!edev->nh) {
-		ret = -ENOMEM;
-		device_unregister(&edev->dev);
-		goto err_dev;
+	if (edev->max_supported) {
+		edev->nh = kcalloc(edev->max_supported, sizeof(*edev->nh),
+				GFP_KERNEL);
+		if (!edev->nh) {
+			ret = -ENOMEM;
+			goto err_alloc_nh;
+		}
 	}
 
 	for (index = 0; index < edev->max_supported; index++)
@@ -1241,6 +1238,12 @@ int extcon_dev_register(struct extcon_dev *edev)
 	dev_set_drvdata(&edev->dev, edev);
 	edev->state = 0;
 
+	ret = device_register(&edev->dev);
+	if (ret) {
+		put_device(&edev->dev);
+		goto err_dev;
+	}
+
 	mutex_lock(&extcon_dev_list_lock);
 	list_add(&edev->entry, &extcon_dev_list);
 	mutex_unlock(&extcon_dev_list_lock);
@@ -1248,6 +1251,9 @@ int extcon_dev_register(struct extcon_dev *edev)
 	return 0;
 
 err_dev:
+	if (edev->max_supported)
+		kfree(edev->nh);
+err_alloc_nh:
 	if (edev->max_supported)
 		kfree(edev->extcon_dev_type.groups);
 err_alloc_groups:
@@ -1308,6 +1314,7 @@ void extcon_dev_unregister(struct extcon_dev *edev)
 	if (edev->max_supported) {
 		kfree(edev->extcon_dev_type.groups);
 		kfree(edev->cables);
+		kfree(edev->nh);
 	}
 
 	put_device(&edev->dev);
drivers/firmware/dmi-sysfs.c +1 -1
index 3a353776bd34..66727ad3361b 100644
@@ -604,7 +604,7 @@ static void __init dmi_sysfs_register_handle(const struct dmi_header *dh,
 				    "%d-%d", dh->type, entry->instance);
 
 	if (*ret) {
-		kfree(entry);
+		kobject_put(&entry->kobj);
 		return;
 	}
 
drivers/firmware/stratix10-svc.c +6 -6
index 8177a0fae11d..14663f671323 100644
@@ -948,17 +948,17 @@ EXPORT_SYMBOL_GPL(stratix10_svc_allocate_memory);
 void stratix10_svc_free_memory(struct stratix10_svc_chan *chan, void *kaddr)
 {
 	struct stratix10_svc_data_mem *pmem;
-	size_t size = 0;
 
 	list_for_each_entry(pmem, &svc_data_mem, node)
 		if (pmem->vaddr == kaddr) {
-			size = pmem->size;
-			break;
+			gen_pool_free(chan->ctrl->genpool,
+				       (unsigned long)kaddr, pmem->size);
+			pmem->vaddr = NULL;
+			list_del(&pmem->node);
+			return;
 		}
 
-	gen_pool_free(chan->ctrl->genpool, (unsigned long)kaddr, size);
-	pmem->vaddr = NULL;
-	list_del(&pmem->node);
+	list_del(&svc_data_mem);
 }
 EXPORT_SYMBOL_GPL(stratix10_svc_free_memory);
 
drivers/gpio/gpio-pca953x.c +11 -8
index 8726921a1129..33683295a0bf 100644
@@ -1108,20 +1108,21 @@ static int pca953x_regcache_sync(struct device *dev)
 {
 	struct pca953x_chip *chip = dev_get_drvdata(dev);
 	int ret;
+	u8 regaddr;
 
 	/*
 	 * The ordering between direction and output is important,
 	 * sync these registers first and only then sync the rest.
 	 */
-	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));
 	if (ret) {
 		dev_err(dev, "Failed to sync GPIO dir registers: %d\n", ret);
 		return 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));
 	if (ret) {
 		dev_err(dev, "Failed to sync GPIO out registers: %d\n", ret);
 		return ret;
@@ -1129,16 +1130,18 @@ static int pca953x_regcache_sync(struct device *dev)
 
 #ifdef CONFIG_GPIO_PCA953X_IRQ
 	if (chip->driver_data & PCA_PCAL) {
-		ret = regcache_sync_region(chip->regmap, PCAL953X_IN_LATCH,
-					   PCAL953X_IN_LATCH + NBANK(chip));
+		regaddr = pca953x_recalc_addr(chip, PCAL953X_IN_LATCH, 0);
+		ret = regcache_sync_region(chip->regmap, regaddr,
+					   regaddr + NBANK(chip));
 		if (ret) {
 			dev_err(dev, "Failed to sync INT latch registers: %d\n",
 				ret);
 			return ret;
 		}
 
-		ret = regcache_sync_region(chip->regmap, PCAL953X_INT_MASK,
-					   PCAL953X_INT_MASK + NBANK(chip));
+		regaddr = pca953x_recalc_addr(chip, PCAL953X_INT_MASK, 0);
+		ret = regcache_sync_region(chip->regmap, regaddr,
+					   regaddr + NBANK(chip));
 		if (ret) {
 			dev_err(dev, "Failed to sync INT mask registers: %d\n",
 				ret);
drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c +5 -1
index 299de1d131d8..5ac1a43a16b4 100644
@@ -535,6 +535,10 @@ void jpeg_v2_0_dec_ring_emit_ib(struct amdgpu_ring *ring,
 {
 	unsigned vmid = AMDGPU_JOB_GET_VMID(job);
 
+	amdgpu_ring_write(ring,	PACKETJ(mmUVD_JPEG_IH_CTRL_INTERNAL_OFFSET,
+		0, 0, PACKETJ_TYPE0));
+	amdgpu_ring_write(ring, (vmid << JPEG_IH_CTRL__IH_VMID__SHIFT));
+
 	amdgpu_ring_write(ring, PACKETJ(mmUVD_LMI_JRBC_IB_VMID_INTERNAL_OFFSET,
 		0, 0, PACKETJ_TYPE0));
 	amdgpu_ring_write(ring, (vmid | (vmid << 4)));
@@ -768,7 +772,7 @@ static const struct amdgpu_ring_funcs jpeg_v2_0_dec_ring_vm_funcs = {
 		8 + /* jpeg_v2_0_dec_ring_emit_vm_flush */
 		18 + 18 + /* jpeg_v2_0_dec_ring_emit_fence x2 vm fence */
 		8 + 16,
-	.emit_ib_size = 22, /* jpeg_v2_0_dec_ring_emit_ib */
+	.emit_ib_size = 24, /* jpeg_v2_0_dec_ring_emit_ib */
 	.emit_ib = jpeg_v2_0_dec_ring_emit_ib,
 	.emit_fence = jpeg_v2_0_dec_ring_emit_fence,
 	.emit_vm_flush = jpeg_v2_0_dec_ring_emit_vm_flush,
drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.h +1 -0
index 1a03baa59755..654e43e83e2c 100644
@@ -41,6 +41,7 @@
 #define mmUVD_JRBC_RB_REF_DATA_INTERNAL_OFFSET				0x4084
 #define mmUVD_JRBC_STATUS_INTERNAL_OFFSET				0x4089
 #define mmUVD_JPEG_PITCH_INTERNAL_OFFSET				0x401f
+#define mmUVD_JPEG_IH_CTRL_INTERNAL_OFFSET				0x4149
 
 #define JRBC_DEC_EXTERNAL_REG_WRITE_ADDR				0x18000
 
drivers/gpu/drm/amd/amdgpu/nv.c +1 -0
index e19f14c3ef59..8af685fd8531 100644
@@ -170,6 +170,7 @@ static const struct amdgpu_video_codec_info yc_video_codecs_decode_array[] = {
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
 	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
+	{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1, 8192, 4352, 0)},
 };
 
 static const struct amdgpu_video_codecs yc_video_codecs_decode = {
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c +7 -10
index cb5f0a12333f..57a34e775da3 100644
@@ -1821,23 +1821,21 @@ static const struct amdgpu_ring_funcs vcn_v3_0_dec_sw_ring_vm_funcs = {
 	.emit_reg_write_reg_wait = amdgpu_ring_emit_reg_write_reg_wait_helper,
 };
 
-static int vcn_v3_0_limit_sched(struct amdgpu_cs_parser *p,
-				struct amdgpu_job *job)
+static int vcn_v3_0_limit_sched(struct amdgpu_cs_parser *p)
 {
 	struct drm_gpu_scheduler **scheds;
 
 	/* The create msg must be in the first IB submitted */
-	if (atomic_read(&job->base.entity->fence_seq))
+	if (atomic_read(&p->entity->fence_seq))
 		return -EINVAL;
 
 	scheds = p->adev->gpu_sched[AMDGPU_HW_IP_VCN_DEC]
 		[AMDGPU_RING_PRIO_DEFAULT].sched;
-	drm_sched_entity_modify_sched(job->base.entity, scheds, 1);
+	drm_sched_entity_modify_sched(p->entity, scheds, 1);
 	return 0;
 }
 
-static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, struct amdgpu_job *job,
-			    uint64_t addr)
+static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, uint64_t addr)
 {
 	struct ttm_operation_ctx ctx = { false, false };
 	struct amdgpu_bo_va_mapping *map;
@@ -1908,7 +1906,7 @@ static int vcn_v3_0_dec_msg(struct amdgpu_cs_parser *p, struct amdgpu_job *job,
 		if (create[0] == 0x7 || create[0] == 0x10 || create[0] == 0x11)
 			continue;
 
-		r = vcn_v3_0_limit_sched(p, job);
+		r = vcn_v3_0_limit_sched(p);
 		if (r)
 			goto out;
 	}
@@ -1922,7 +1920,7 @@ static int vcn_v3_0_ring_patch_cs_in_place(struct amdgpu_cs_parser *p,
 					   struct amdgpu_job *job,
 					   struct amdgpu_ib *ib)
 {
-	struct amdgpu_ring *ring = to_amdgpu_ring(job->base.sched);
+	struct amdgpu_ring *ring = to_amdgpu_ring(p->entity->rq->sched);
 	uint32_t msg_lo = 0, msg_hi = 0;
 	unsigned i;
 	int r;
@@ -1941,8 +1939,7 @@ static int vcn_v3_0_ring_patch_cs_in_place(struct amdgpu_cs_parser *p,
 			msg_hi = val;
 		} else if (reg == PACKET0(p->adev->vcn.internal.cmd, 0) &&
 			   val == 0) {
-			r = vcn_v3_0_dec_msg(p, job,
-					     ((u64)msg_hi) << 32 | msg_lo);
+			r = vcn_v3_0_dec_msg(p, ((u64)msg_hi) << 32 | msg_lo);
 			if (r)
 				return r;
 		}
drivers/gpu/drm/amd/amdkfd/kfd_device.c +3 -1
index c96d521447fc..651498bfecc8 100644
@@ -156,7 +156,9 @@ static void kfd_device_info_init(struct kfd_dev *kfd,
 
 		if (gc_version < IP_VERSION(11, 0, 0)) {
 			/* Navi2x+, Navi1x+ */
-			if (gc_version >= IP_VERSION(10, 3, 0))
+			if (gc_version == IP_VERSION(10, 3, 6))
+				kfd->device_info.no_atomic_fw_version = 14;
+			else if (gc_version >= IP_VERSION(10, 3, 0))
 				kfd->device_info.no_atomic_fw_version = 92;
 			else if (gc_version >= IP_VERSION(10, 1, 1))
 				kfd->device_info.no_atomic_fw_version = 145;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1 -1
index 62139ff35476..8dd03de7c277 100644
@@ -771,7 +771,7 @@ static void dm_dmub_outbox1_low_irq(void *interrupt_params)
 
 		do {
 			dc_stat_get_dmub_notification(adev->dm.dc, &notify);
-			if (notify.type > ARRAY_SIZE(dm->dmub_thread_offload)) {
+			if (notify.type >= ARRAY_SIZE(dm->dmub_thread_offload)) {
 				DRM_ERROR("DM: notify type %d invalid!", notify.type);
 				continue;
 			}
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c +2 -3
index 8be4c1970628..2918ad07d489 100644
@@ -41,9 +41,7 @@
 
 #include "dc_dmub_srv.h"
 
-#if defined (CONFIG_DRM_AMD_DC_DP2_0)
 #include "dc_link_dp.h"
-#endif
 
 #define TO_CLK_MGR_DCN315(clk_mgr)\
 	container_of(clk_mgr, struct clk_mgr_dcn315, base)
@@ -91,7 +89,8 @@ static void dcn315_disable_otg_wa(struct clk_mgr *clk_mgr_base, bool disable)
 
 		if (pipe->top_pipe || pipe->prev_odm_pipe)
 			continue;
-		if (pipe->stream && (pipe->stream->dpms_off || dc_is_virtual_signal(pipe->stream->signal))) {
+		if (pipe->stream && (pipe->stream->dpms_off || pipe->plane_state == NULL ||
+				     dc_is_virtual_signal(pipe->stream->signal))) {
 			if (disable)
 				pipe->stream_res.tg->funcs->immediate_disable_crtc(pipe->stream_res.tg);
 			else
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_clk_mgr.c +2 -1
index 3121dd2d2a91..fc3af81ed6c6 100644
@@ -122,7 +122,8 @@ static void dcn316_disable_otg_wa(struct clk_mgr *clk_mgr_base, bool disable)
 
 		if (pipe->top_pipe || pipe->prev_odm_pipe)
 			continue;
-		if (pipe->stream && (pipe->stream->dpms_off || dc_is_virtual_signal(pipe->stream->signal))) {
+		if (pipe->stream && (pipe->stream->dpms_off || pipe->plane_state == NULL ||
+				     dc_is_virtual_signal(pipe->stream->signal))) {
 			if (disable)
 				pipe->stream_res.tg->funcs->immediate_disable_crtc(pipe->stream_res.tg);
 			else
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +6 -3
index cc5128e67daf..8e9a7409c17a 100644
@@ -1105,9 +1105,12 @@ static bool get_pixel_clk_frequency_100hz(
 			 * not be programmed equal to DPREFCLK
 			 */
 			modulo_hz = REG_READ(MODULO[inst]);
-			*pixel_clk_khz = div_u64((uint64_t)clock_hz*
-				clock_source->ctx->dc->clk_mgr->dprefclk_khz*10,
-				modulo_hz);
+			if (modulo_hz)
+				*pixel_clk_khz = div_u64((uint64_t)clock_hz*
+					clock_source->ctx->dc->clk_mgr->dprefclk_khz*10,
+					modulo_hz);
+			else
+				*pixel_clk_khz = 0;
 		} else {
 			/* NOTE: There is agreement with VBIOS here that MODULO is
 			 * programmed equal to DPREFCLK, in which case PHASE will be
drivers/gpu/drm/amd/display/dc/dml/dml_wrapper.c +0 -2
index 789f7562cdc7..d2273674e872 100644
@@ -1284,10 +1284,8 @@ static bool is_dtbclk_required(struct dc *dc, struct dc_state *context)
 	for (i = 0; i < dc->res_pool->pipe_count; i++) {
 		if (!context->res_ctx.pipe_ctx[i].stream)
 			continue;
-#if defined (CONFIG_DRM_AMD_DC_DP2_0)
 		if (is_dp_128b_132b_signal(&context->res_ctx.pipe_ctx[i]))
 			return true;
-#endif
 	}
 	return false;
 }
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c +44 -13

69 lines not on this page · raw message

drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +1 -1
index b87f550af26b..5f8809f6990d 100644
@@ -781,7 +781,7 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
 		goto failed;
 	}
 
-	bitmap_copy((unsigned long *)feature_mask, feature->allowed, 64);
+	bitmap_to_arr32(feature_mask, feature->allowed, 64);
 
 	ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetAllowedFeaturesMaskHigh,
 					  feature_mask[1], NULL);
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c +1 -0
index cd81f848d45a..7f998f24af81 100644
@@ -1664,6 +1664,7 @@ static const struct throttling_logging_label {
 	uint32_t feature_mask;
 	const char *label;
 } logging_label[] = {
+	{(1U << THROTTLER_TEMP_GPU_BIT), "GPU"},
 	{(1U << THROTTLER_TEMP_MEM_BIT), "HBM"},
 	{(1U << THROTTLER_TEMP_VR_GFX_BIT), "VR of GFX rail"},
 	{(1U << THROTTLER_TEMP_VR_MEM_BIT), "VR of HBM rail"},
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +1 -1
index cf09e30bdfe0..747430ce6394 100644
@@ -730,7 +730,7 @@ int smu_v13_0_set_allowed_mask(struct smu_context *smu)
 	    feature->feature_num < 64)
 		return -EINVAL;
 
-	bitmap_copy((unsigned long *)feature_mask, feature->allowed, 64);
+	bitmap_to_arr32(feature_mask, feature->allowed, 64);
 
 	ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetAllowedFeaturesMaskHigh,
 					      feature_mask[1], NULL);
drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c +3 -0
index 87257b1b028f..feff4f8c927c 100644
@@ -190,6 +190,9 @@ static int yellow_carp_fini_smc_tables(struct smu_context *smu)
 	kfree(smu_table->watermarks_table);
 	smu_table->watermarks_table = NULL;
 
+	kfree(smu_table->gpu_metrics_table);
+	smu_table->gpu_metrics_table = NULL;
+
 	return 0;
 }
 
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +38 -4

64 lines not on this page · raw message

drivers/gpu/drm/bridge/ti-sn65dsi83.c +1 -1
index 19daaddd29a4..3d58110465fe 100644
@@ -573,7 +573,7 @@ static int sn65dsi83_parse_dt(struct sn65dsi83 *ctx, enum sn65dsi83_model model)
 	ctx->host_node = of_graph_get_remote_port_parent(endpoint);
 	of_node_put(endpoint);
 
-	if (ctx->dsi_lanes < 0 || ctx->dsi_lanes > 4) {
+	if (ctx->dsi_lanes <= 0 || ctx->dsi_lanes > 4) {
 		ret = -EINVAL;
 		goto err_put_node;
 	}
drivers/gpu/drm/drm_atomic_helper.c +13 -3
index 9603193d2fa1..987e4b212e9f 100644
@@ -1011,9 +1011,19 @@ crtc_needs_disable(struct drm_crtc_state *old_state,
 		return drm_atomic_crtc_effectively_active(old_state);
 
 	/*
-	 * We need to run through the crtc_funcs->disable() function if the CRTC
-	 * is currently on, if it's transitioning to self refresh mode, or if
-	 * it's in self refresh mode and needs to be fully disabled.
+	 * We need to disable bridge(s) and CRTC if we're transitioning out of
+	 * self-refresh and changing CRTCs at the same time, because the
+	 * bridge tracks self-refresh status via CRTC state.
+	 */
+	if (old_state->self_refresh_active &&
+	    old_state->crtc != new_state->crtc)
+		return true;
+
+	/*
+	 * We also need to run through the crtc_funcs->disable() function if
+	 * the CRTC is currently on, if it's transitioning to self refresh
+	 * mode, or if it's in self refresh mode and needs to be fully
+	 * disabled.
 	 */
 	return old_state->active ||
 	       (old_state->self_refresh_active && !new_state->active) ||
drivers/gpu/drm/imx/ipuv3-crtc.c +1 -1
index 9c8829f945b2..f7863d6dea80 100644
@@ -69,7 +69,7 @@ static void ipu_crtc_disable_planes(struct ipu_crtc *ipu_crtc,
 	drm_atomic_crtc_state_for_each_plane(plane, old_crtc_state) {
 		if (plane == &ipu_crtc->plane[0]->base)
 			disable_full = true;
-		if (&ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base)
+		if (ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base)
 			disable_partial = true;
 	}
 
drivers/gpu/drm/msm/dp/dp_ctrl.c +7 -2
index 08cc48af03b7..de1974916ad2 100644
@@ -1380,8 +1380,13 @@ void dp_ctrl_reset_irq_ctrl(struct dp_ctrl *dp_ctrl, bool enable)
 
 	dp_catalog_ctrl_reset(ctrl->catalog);
 
-	if (enable)
-		dp_catalog_ctrl_enable_irq(ctrl->catalog, enable);
+	/*
+	 * all dp controller programmable registers will not
+	 * be reset to default value after DP_SW_RESET
+	 * therefore interrupt mask bits have to be updated
+	 * to enable/disable interrupts
+	 */
+	dp_catalog_ctrl_enable_irq(ctrl->catalog, enable);
 }
 
 void dp_ctrl_phy_init(struct dp_ctrl *dp_ctrl)
drivers/gpu/drm/panfrost/panfrost_drv.c +3 -2
index 94b6f0a19c83..47780fe597f2 100644
@@ -233,6 +233,7 @@ static int panfrost_ioctl_submit(struct drm_device *dev, void *data,
 		struct drm_file *file)
 {
 	struct panfrost_device *pfdev = dev->dev_private;
+	struct panfrost_file_priv *file_priv = file->driver_priv;
 	struct drm_panfrost_submit *args = data;
 	struct drm_syncobj *sync_out = NULL;
 	struct panfrost_job *job;
@@ -262,12 +263,12 @@ static int panfrost_ioctl_submit(struct drm_device *dev, void *data,
 	job->jc = args->jc;
 	job->requirements = args->requirements;
 	job->flush_id = panfrost_gpu_get_latest_flush_id(pfdev);
-	job->file_priv = file->driver_priv;
+	job->mmu = file_priv->mmu;
 
 	slot = panfrost_job_get_slot(job);
 
 	ret = drm_sched_job_init(&job->base,
-				 &job->file_priv->sched_entity[slot],
+				 &file_priv->sched_entity[slot],
 				 NULL);
 	if (ret)
 		goto out_put_job;
drivers/gpu/drm/panfrost/panfrost_job.c +3 -3
index a6925dbb6224..22c2af1a4627 100644
@@ -201,7 +201,7 @@ static void panfrost_job_hw_submit(struct panfrost_job *job, int js)
 		return;
 	}
 
-	cfg = panfrost_mmu_as_get(pfdev, job->file_priv->mmu);
+	cfg = panfrost_mmu_as_get(pfdev, job->mmu);
 
 	job_write(pfdev, JS_HEAD_NEXT_LO(js), lower_32_bits(jc_head));
 	job_write(pfdev, JS_HEAD_NEXT_HI(js), upper_32_bits(jc_head));
@@ -431,7 +431,7 @@ static void panfrost_job_handle_err(struct panfrost_device *pfdev,
 		job->jc = 0;
 	}
 
-	panfrost_mmu_as_put(pfdev, job->file_priv->mmu);
+	panfrost_mmu_as_put(pfdev, job->mmu);
 	panfrost_devfreq_record_idle(&pfdev->pfdevfreq);
 
 	if (signal_fence)
@@ -452,7 +452,7 @@ static void panfrost_job_handle_done(struct panfrost_device *pfdev,
 	 * happen when we receive the DONE interrupt while doing a GPU reset).
 	 */
 	job->jc = 0;
-	panfrost_mmu_as_put(pfdev, job->file_priv->mmu);
+	panfrost_mmu_as_put(pfdev, job->mmu);
 	panfrost_devfreq_record_idle(&pfdev->pfdevfreq);
 
 	dma_fence_signal_locked(job->done_fence);
drivers/gpu/drm/panfrost/panfrost_job.h +1 -1
index 77e6d0e6f612..8becc1ba0eb9 100644
@@ -17,7 +17,7 @@ struct panfrost_job {
 	struct kref refcount;
 
 	struct panfrost_device *pfdev;
-	struct panfrost_file_priv *file_priv;
+	struct panfrost_mmu *mmu;
 
 	/* Fence to be signaled by IRQ handler when the job is complete. */
 	struct dma_fence *done_fence;
drivers/gpu/drm/radeon/radeon_connectors.c +4 -0
index 0cb1345c6ba4..fabe4f4ca124 100644
@@ -473,6 +473,8 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode
 	    native_mode->vdisplay != 0 &&
 	    native_mode->clock != 0) {
 		mode = drm_mode_duplicate(dev, native_mode);
+		if (!mode)
+			return NULL;
 		mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER;
 		drm_mode_set_name(mode);
 
@@ -487,6 +489,8 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode
 		 * simpler.
 		 */
 		mode = drm_cvt_mode(dev, native_mode->hdisplay, native_mode->vdisplay, 60, true, false, false);
+		if (!mode)
+			return NULL;
 		mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER;
 		DRM_DEBUG_KMS("Adding cvt approximation of native panel mode %s\n", mode->name);
 	}
drivers/hwtracing/coresight/coresight-cpu-debug.c +4 -3
index 8845ec4b4402..1874df7c6a73 100644
@@ -380,9 +380,10 @@ static int debug_notifier_call(struct notifier_block *self,
 	int cpu;
 	struct debug_drvdata *drvdata;
 
-	mutex_lock(&debug_lock);
+	/* Bail out if we can't acquire the mutex or the functionality is off */
+	if (!mutex_trylock(&debug_lock))
+		return NOTIFY_DONE;
 
-	/* Bail out if the functionality is disabled */
 	if (!debug_enable)
 		goto skip_dump;
 
@@ -401,7 +402,7 @@ static int debug_notifier_call(struct notifier_block *self,
 
 skip_dump:
 	mutex_unlock(&debug_lock);
-	return 0;
+	return NOTIFY_DONE;
 }
 
 static struct notifier_block debug_notifier = {
drivers/i2c/busses/i2c-cadence.c +10 -2
index 805c77143a0f..b4c1ad19cdae 100644
@@ -760,7 +760,7 @@ static void cdns_i2c_master_reset(struct i2c_adapter *adap)
 static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
 		struct i2c_adapter *adap)
 {
-	unsigned long time_left;
+	unsigned long time_left, msg_timeout;
 	u32 reg;
 
 	id->p_msg = msg;
@@ -785,8 +785,16 @@ static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
 	else
 		cdns_i2c_msend(id);
 
+	/* Minimal time to execute this message */
+	msg_timeout = msecs_to_jiffies((1000 * msg->len * BITS_PER_BYTE) / id->i2c_clk);
+	/* Plus some wiggle room */
+	msg_timeout += msecs_to_jiffies(500);
+
+	if (msg_timeout < adap->timeout)
+		msg_timeout = adap->timeout;
+
 	/* Wait for the signal of completion */
-	time_left = wait_for_completion_timeout(&id->xfer_done, adap->timeout);
+	time_left = wait_for_completion_timeout(&id->xfer_done, msg_timeout);
 	if (time_left == 0) {
 		cdns_i2c_master_reset(adap);
 		dev_err(id->adap.dev.parent,
drivers/i2c/busses/i2c-mt65xx.c +7 -4
index f651d3e124d6..bdecb78bfc26 100644
@@ -1177,7 +1177,7 @@ static int mtk_i2c_transfer(struct i2c_adapter *adap,
 	int left_num = num;
 	struct mtk_i2c *i2c = i2c_get_adapdata(adap);
 
-	ret = clk_bulk_prepare_enable(I2C_MT65XX_CLK_MAX, i2c->clocks);
+	ret = clk_bulk_enable(I2C_MT65XX_CLK_MAX, i2c->clocks);
 	if (ret)
 		return ret;
 
@@ -1231,7 +1231,7 @@ static int mtk_i2c_transfer(struct i2c_adapter *adap,
 	ret = num;
 
 err_exit:
-	clk_bulk_disable_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
+	clk_bulk_disable(I2C_MT65XX_CLK_MAX, i2c->clocks);
 	return ret;
 }
 
@@ -1412,7 +1412,7 @@ static int mtk_i2c_probe(struct platform_device *pdev)
 		return ret;
 	}
 	mtk_i2c_init_hw(i2c);
-	clk_bulk_disable_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
+	clk_bulk_disable(I2C_MT65XX_CLK_MAX, i2c->clocks);
 
 	ret = devm_request_irq(&pdev->dev, irq, mtk_i2c_irq,
 			       IRQF_NO_SUSPEND | IRQF_TRIGGER_NONE,
@@ -1439,6 +1439,8 @@ static int mtk_i2c_remove(struct platform_device *pdev)
 
 	i2c_del_adapter(&i2c->adap);
 
+	clk_bulk_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
+
 	return 0;
 }
 
@@ -1448,6 +1450,7 @@ static int mtk_i2c_suspend_noirq(struct device *dev)
 	struct mtk_i2c *i2c = dev_get_drvdata(dev);
 
 	i2c_mark_adapter_suspended(&i2c->adap);
+	clk_bulk_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
 
 	return 0;
 }
@@ -1465,7 +1468,7 @@ static int mtk_i2c_resume_noirq(struct device *dev)
 
 	mtk_i2c_init_hw(i2c);
 
-	clk_bulk_disable_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
+	clk_bulk_disable(I2C_MT65XX_CLK_MAX, i2c->clocks);
 
 	i2c_mark_adapter_resumed(&i2c->adap);
 
drivers/idle/intel_idle.c +25 -7
index 47551ab73ca8..c5a019eab5ec 100644
@@ -115,6 +115,18 @@ static unsigned int mwait_substates __initdata;
 #define flg2MWAIT(flags) (((flags) >> 24) & 0xFF)
 #define MWAIT2flg(eax) ((eax & 0xFF) << 24)
 
+static __always_inline int __intel_idle(struct cpuidle_device *dev,
+					struct cpuidle_driver *drv, int index)
+{
+	struct cpuidle_state *state = &drv->states[index];
+	unsigned long eax = flg2MWAIT(state->flags);
+	unsigned long ecx = 1; /* break on interrupt flag */
+
+	mwait_idle_with_hints(eax, ecx);
+
+	return index;
+}
+
 /**
  * intel_idle - Ask the processor to enter the given idle state.
  * @dev: cpuidle device of the target CPU.
@@ -132,16 +144,19 @@ static unsigned int mwait_substates __initdata;
 static __cpuidle int intel_idle(struct cpuidle_device *dev,
 				struct cpuidle_driver *drv, int index)
 {
-	struct cpuidle_state *state = &drv->states[index];
-	unsigned long eax = flg2MWAIT(state->flags);
-	unsigned long ecx = 1; /* break on interrupt flag */
+	return __intel_idle(dev, drv, index);
+}
 
-	if (state->flags & CPUIDLE_FLAG_IRQ_ENABLE)
-		local_irq_enable();
+static __cpuidle int intel_idle_irq(struct cpuidle_device *dev,
+				    struct cpuidle_driver *drv, int index)
+{
+	int ret;
 
-	mwait_idle_with_hints(eax, ecx);
+	raw_local_irq_enable();
+	ret = __intel_idle(dev, drv, index);
+	raw_local_irq_disable();
 
-	return index;
+	return ret;
 }
 
 /**
@@ -1668,6 +1683,9 @@ static void __init intel_idle_init_cstates_icpu(struct cpuidle_driver *drv)
 		/* Structure copy. */
 		drv->states[drv->state_count] = cpuidle_state_table[cstate];
 
+		if (cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_IRQ_ENABLE)
+			drv->states[drv->state_count].enter = intel_idle_irq;
+
 		if ((disabled_states_mask & BIT(drv->state_count)) ||
 		    ((icpu->use_acpi || force_use_acpi) &&
 		     intel_idle_off_by_default(mwait_hint) &&
drivers/iio/adc/ad7124.c +0 -1
index c47ead15f6e5..3752b2c88959 100644
@@ -188,7 +188,6 @@ static const struct iio_chan_spec ad7124_channel_template = {
 		.sign = 'u',
 		.realbits = 24,
 		.storagebits = 32,
-		.shift = 8,
 		.endianness = IIO_BE,
 	},
 };
drivers/iio/adc/sc27xx_adc.c +10 -10
index 00098caf6d9e..cfe003cc4f0b 100644
@@ -36,8 +36,8 @@
 
 /* Bits and mask definition for SC27XX_ADC_CH_CFG register */
 #define SC27XX_ADC_CHN_ID_MASK		GENMASK(4, 0)
-#define SC27XX_ADC_SCALE_MASK		GENMASK(10, 8)
-#define SC27XX_ADC_SCALE_SHIFT		8
+#define SC27XX_ADC_SCALE_MASK		GENMASK(10, 9)
+#define SC27XX_ADC_SCALE_SHIFT		9
 
 /* Bits definitions for SC27XX_ADC_INT_EN registers */
 #define SC27XX_ADC_IRQ_EN		BIT(0)
@@ -103,14 +103,14 @@ static struct sc27xx_adc_linear_graph small_scale_graph = {
 	100, 341,
 };
 
-static const struct sc27xx_adc_linear_graph big_scale_graph_calib = {
-	4200, 856,
-	3600, 733,
+static const struct sc27xx_adc_linear_graph sc2731_big_scale_graph_calib = {
+	4200, 850,
+	3600, 728,
 };
 
-static const struct sc27xx_adc_linear_graph small_scale_graph_calib = {
-	1000, 833,
-	100, 80,
+static const struct sc27xx_adc_linear_graph sc2731_small_scale_graph_calib = {
+	1000, 838,
+	100, 84,
 };
 
 static int sc27xx_adc_get_calib_data(u32 calib_data, int calib_adc)
@@ -130,11 +130,11 @@ static int sc27xx_adc_scale_calibration(struct sc27xx_adc_data *data,
 	size_t len;
 
 	if (big_scale) {
-		calib_graph = &big_scale_graph_calib;
+		calib_graph = &sc2731_big_scale_graph_calib;
 		graph = &big_scale_graph;
 		cell_name = "big_scale_calib";
 	} else {
-		calib_graph = &small_scale_graph_calib;
+		calib_graph = &sc2731_small_scale_graph_calib;
 		graph = &small_scale_graph;
 		cell_name = "small_scale_calib";
 	}
drivers/iio/adc/stmpe-adc.c +4 -4
index d2d405388499..83e0ac4467ca 100644
@@ -61,7 +61,7 @@ struct stmpe_adc {
 static int stmpe_read_voltage(struct stmpe_adc *info,
 		struct iio_chan_spec const *chan, int *val)
 {
-	long ret;
+	unsigned long ret;
 
 	mutex_lock(&info->lock);
 
@@ -79,7 +79,7 @@ static int stmpe_read_voltage(struct stmpe_adc *info,
 
 	ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT);
 
-	if (ret <= 0) {
+	if (ret == 0) {
 		stmpe_reg_write(info->stmpe, STMPE_REG_ADC_INT_STA,
 				STMPE_ADC_CH(info->channel));
 		mutex_unlock(&info->lock);
@@ -96,7 +96,7 @@ static int stmpe_read_voltage(struct stmpe_adc *info,
 static int stmpe_read_temp(struct stmpe_adc *info,
 		struct iio_chan_spec const *chan, int *val)
 {
-	long ret;
+	unsigned long ret;
 
 	mutex_lock(&info->lock);
 
@@ -114,7 +114,7 @@ static int stmpe_read_temp(struct stmpe_adc *info,
 
 	ret = wait_for_completion_timeout(&info->completion, STMPE_ADC_TIMEOUT);
 
-	if (ret <= 0) {
+	if (ret == 0) {
 		mutex_unlock(&info->lock);
 		return -ETIMEDOUT;
 	}
drivers/iio/common/st_sensors/st_sensors_core.c +18 -6
index fa9bcdf0d190..b92de90a125c 100644
@@ -71,16 +71,18 @@ static int st_sensors_match_odr(struct st_sensor_settings *sensor_settings,
 
 int st_sensors_set_odr(struct iio_dev *indio_dev, unsigned int odr)
 {
-	int err;
+	int err = 0;
 	struct st_sensor_odr_avl odr_out = {0, 0};
 	struct st_sensor_data *sdata = iio_priv(indio_dev);
 
+	mutex_lock(&sdata->odr_lock);
+
 	if (!sdata->sensor_settings->odr.mask)
-		return 0;
+		goto unlock_mutex;
 
 	err = st_sensors_match_odr(sdata->sensor_settings, odr, &odr_out);
 	if (err < 0)
-		goto st_sensors_match_odr_error;
+		goto unlock_mutex;
 
 	if ((sdata->sensor_settings->odr.addr ==
 					sdata->sensor_settings->pw.addr) &&
@@ -103,7 +105,9 @@ int st_sensors_set_odr(struct iio_dev *indio_dev, unsigned int odr)
 	if (err >= 0)
 		sdata->odr = odr_out.hz;
 
-st_sensors_match_odr_error:
+unlock_mutex:
+	mutex_unlock(&sdata->odr_lock);
+
 	return err;
 }
 EXPORT_SYMBOL_NS(st_sensors_set_odr, IIO_ST_SENSORS);
@@ -361,6 +365,8 @@ int st_sensors_init_sensor(struct iio_dev *indio_dev,
 	struct st_sensors_platform_data *of_pdata;
 	int err = 0;
 
+	mutex_init(&sdata->odr_lock);
+
 	/* If OF/DT pdata exists, it will take precedence of anything else */
 	of_pdata = st_sensors_dev_probe(indio_dev->dev.parent, pdata);
 	if (IS_ERR(of_pdata))
@@ -554,18 +560,24 @@ int st_sensors_read_info_raw(struct iio_dev *indio_dev,
 		err = -EBUSY;
 		goto out;
 	} else {
+		mutex_lock(&sdata->odr_lock);
 		err = st_sensors_set_enable(indio_dev, true);
-		if (err < 0)
+		if (err < 0) {
+			mutex_unlock(&sdata->odr_lock);
 			goto out;
+		}
 
 		msleep((sdata->sensor_settings->bootime * 1000) / sdata->odr);
 		err = st_sensors_read_axis_data(indio_dev, ch, val);
-		if (err < 0)
+		if (err < 0) {
+			mutex_unlock(&sdata->odr_lock);
 			goto out;
+		}
 
 		*val = *val >> ch->scan_type.shift;
 
 		err = st_sensors_set_enable(indio_dev, false);
+		mutex_unlock(&sdata->odr_lock);
 	}
 out:
 	mutex_unlock(&indio_dev->mlock);
drivers/iio/dummy/iio_simple_dummy.c +12 -8
index c0b7ef900735..c24f609c2ade 100644
@@ -575,10 +575,9 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	 */
 
 	swd = kzalloc(sizeof(*swd), GFP_KERNEL);
-	if (!swd) {
-		ret = -ENOMEM;
-		goto error_kzalloc;
-	}
+	if (!swd)
+		return ERR_PTR(-ENOMEM);
+
 	/*
 	 * Allocate an IIO device.
 	 *
@@ -590,7 +589,7 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	indio_dev = iio_device_alloc(parent, sizeof(*st));
 	if (!indio_dev) {
 		ret = -ENOMEM;
-		goto error_ret;
+		goto error_free_swd;
 	}
 
 	st = iio_priv(indio_dev);
@@ -616,6 +615,10 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	 *    indio_dev->name = spi_get_device_id(spi)->name;
 	 */
 	indio_dev->name = kstrdup(name, GFP_KERNEL);
+	if (!indio_dev->name) {
+		ret = -ENOMEM;
+		goto error_free_device;
+	}
 
 	/* Provide description of available channels */
 	indio_dev->channels = iio_dummy_channels;
@@ -632,7 +635,7 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 
 	ret = iio_simple_dummy_events_register(indio_dev);
 	if (ret < 0)
-		goto error_free_device;
+		goto error_free_name;
 
 	ret = iio_simple_dummy_configure_buffer(indio_dev);
 	if (ret < 0)
@@ -649,11 +652,12 @@ static struct iio_sw_device *iio_dummy_probe(const char *name)
 	iio_simple_dummy_unconfigure_buffer(indio_dev);
 error_unregister_events:
 	iio_simple_dummy_events_unregister(indio_dev);
+error_free_name:
+	kfree(indio_dev->name);
 error_free_device:
 	iio_device_free(indio_dev);
-error_ret:
+error_free_swd:
 	kfree(swd);
-error_kzalloc:
 	return ERR_PTR(ret);
 }
 
drivers/iio/proximity/vl53l0x-i2c.c +3 -4
index 661a79ea200d..a284b20529fb 100644
@@ -104,6 +104,7 @@ static int vl53l0x_read_proximity(struct vl53l0x_data *data,
 	u16 tries = 20;
 	u8 buffer[12];
 	int ret;
+	unsigned long time_left;
 
 	ret = i2c_smbus_write_byte_data(client, VL_REG_SYSRANGE_START, 1);
 	if (ret < 0)
@@ -112,10 +113,8 @@ static int vl53l0x_read_proximity(struct vl53l0x_data *data,
 	if (data->client->irq) {
 		reinit_completion(&data->completion);
 
-		ret = wait_for_completion_timeout(&data->completion, HZ/10);
-		if (ret < 0)
-			return ret;
-		else if (ret == 0)
+		time_left = wait_for_completion_timeout(&data->completion, HZ/10);
+		if (time_left == 0)
 			return -ETIMEDOUT;
 
 		vl53l0x_clear_irq(data);
drivers/input/mouse/bcm5974.c +6 -1
index 59a14505b9cd..ca150618d32f 100644
@@ -942,17 +942,22 @@ static int bcm5974_probe(struct usb_interface *iface,
 	if (!dev->tp_data)
 		goto err_free_bt_buffer;
 
-	if (dev->bt_urb)
+	if (dev->bt_urb) {
 		usb_fill_int_urb(dev->bt_urb, udev,
 				 usb_rcvintpipe(udev, cfg->bt_ep),
 				 dev->bt_data, dev->cfg.bt_datalen,
 				 bcm5974_irq_button, dev, 1);
 
+		dev->bt_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+	}
+
 	usb_fill_int_urb(dev->tp_urb, udev,
 			 usb_rcvintpipe(udev, cfg->tp_ep),
 			 dev->tp_data, dev->cfg.tp_datalen,
 			 bcm5974_irq_trackpad, dev, 1);
 
+	dev->tp_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+
 	/* create bcm5974 device */
 	usb_make_path(udev, dev->phys, sizeof(dev->phys));
 	strlcat(dev->phys, "/input0", sizeof(dev->phys));
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +2 -0
index 627a3ed5ee8f..88817a3376ef 100644
@@ -3770,6 +3770,8 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 
 	/* Base address */
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!res)
+		return -EINVAL;
 	if (resource_size(res) < arm_smmu_resource_size(smmu)) {
 		dev_err(dev, "MMIO region too small (%pr)\n", res);
 		return -EINVAL;
drivers/iommu/arm/arm-smmu/arm-smmu.c +2 -3
index 568cce590ccc..52b71f6aee3f 100644
@@ -2092,11 +2092,10 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	if (err)
 		return err;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	ioaddr = res->start;
-	smmu->base = devm_ioremap_resource(dev, res);
+	smmu->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
 	if (IS_ERR(smmu->base))
 		return PTR_ERR(smmu->base);
+	ioaddr = res->start;
 	/*
 	 * The resource size should effectively match the value of SMMU_TOP;
 	 * stash that temporarily until we know PAGESIZE to validate it with.
drivers/md/md.c +10 -5
index 066f792b374e..f79cab8c7700 100644
@@ -7960,17 +7960,22 @@ EXPORT_SYMBOL(md_register_thread);
 
 void md_unregister_thread(struct md_thread **threadp)
 {
-	struct md_thread *thread = *threadp;
-	if (!thread)
-		return;
-	pr_debug("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk));
-	/* Locking ensures that mddev_unlock does not wake_up a
+	struct md_thread *thread;
+
+	/*
+	 * Locking ensures that mddev_unlock does not wake_up a
 	 * non-existent thread
 	 */
 	spin_lock(&pers_lock);
+	thread = *threadp;
+	if (!thread) {
+		spin_unlock(&pers_lock);
+		return;
+	}
 	*threadp = NULL;
 	spin_unlock(&pers_lock);
 
+	pr_debug("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk));
 	kthread_stop(thread->tsk);
 	kfree(thread);
 }
drivers/md/raid0.c +16 -15
index 46c30fb538a4..0566def9764d 100644
@@ -128,21 +128,6 @@ static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
 	pr_debug("md/raid0:%s: FINAL %d zones\n",
 		 mdname(mddev), conf->nr_strip_zones);
 
-	if (conf->nr_strip_zones == 1) {
-		conf->layout = RAID0_ORIG_LAYOUT;
-	} else if (mddev->layout == RAID0_ORIG_LAYOUT ||
-		   mddev->layout == RAID0_ALT_MULTIZONE_LAYOUT) {
-		conf->layout = mddev->layout;
-	} else if (default_layout == RAID0_ORIG_LAYOUT ||
-		   default_layout == RAID0_ALT_MULTIZONE_LAYOUT) {
-		conf->layout = default_layout;
-	} else {
-		pr_err("md/raid0:%s: cannot assemble multi-zone RAID0 with default_layout setting\n",
-		       mdname(mddev));
-		pr_err("md/raid0: please set raid0.default_layout to 1 or 2\n");
-		err = -ENOTSUPP;
-		goto abort;
-	}
 	/*
 	 * now since we have the hard sector sizes, we can make sure
 	 * chunk size is a multiple of that sector size
@@ -273,6 +258,22 @@ static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
 			 (unsigned long long)smallest->sectors);
 	}
 
+	if (conf->nr_strip_zones == 1 || conf->strip_zone[1].nb_dev == 1) {
+		conf->layout = RAID0_ORIG_LAYOUT;
+	} else if (mddev->layout == RAID0_ORIG_LAYOUT ||
+		   mddev->layout == RAID0_ALT_MULTIZONE_LAYOUT) {
+		conf->layout = mddev->layout;
+	} else if (default_layout == RAID0_ORIG_LAYOUT ||
+		   default_layout == RAID0_ALT_MULTIZONE_LAYOUT) {
+		conf->layout = default_layout;
+	} else {
+		pr_err("md/raid0:%s: cannot assemble multi-zone RAID0 with default_layout setting\n",
+		       mdname(mddev));
+		pr_err("md/raid0: please set raid0.default_layout to 1 or 2\n");
+		err = -EOPNOTSUPP;
+		goto abort;
+	}
+
 	pr_debug("md/raid0:%s: done.\n", mdname(mddev));
 	*private_conf = conf;
 
drivers/misc/cardreader/rtsx_usb.c +1 -0
index 59eda55d92a3..1ef9b61077c4 100644
@@ -667,6 +667,7 @@ static int rtsx_usb_probe(struct usb_interface *intf,
 	return 0;
 
 out_init_fail:
+	usb_set_intfdata(ucr->pusb_intf, NULL);
 	usb_free_coherent(ucr->pusb_dev, IOBUF_SIZE, ucr->iobuf,
 			ucr->iobuf_dma);
 	return ret;
drivers/misc/fastrpc.c +5 -4
index 29cf292c0aba..93ebd174d848 100644
@@ -1606,17 +1606,18 @@ static int fastrpc_req_munmap_impl(struct fastrpc_user *fl,
 				   struct fastrpc_req_munmap *req)
 {
 	struct fastrpc_invoke_args args[1] = { [0] = { 0 } };
-	struct fastrpc_buf *buf, *b;
+	struct fastrpc_buf *buf = NULL, *iter, *b;
 	struct fastrpc_munmap_req_msg req_msg;
 	struct device *dev = fl->sctx->dev;
 	int err;
 	u32 sc;
 
 	spin_lock(&fl->lock);
-	list_for_each_entry_safe(buf, b, &fl->mmaps, node) {
-		if ((buf->raddr == req->vaddrout) && (buf->size == req->size))
+	list_for_each_entry_safe(iter, b, &fl->mmaps, node) {
+		if ((iter->raddr == req->vaddrout) && (iter->size == req->size)) {
+			buf = iter;
 			break;
-		buf = NULL;
+		}
 	}
 	spin_unlock(&fl->lock);
 
drivers/misc/lkdtm/bugs.c +9 -1
index f21854ac5cc2..8cb342c562af 100644
@@ -327,6 +327,11 @@ void lkdtm_ARRAY_BOUNDS(void)
 
 	not_checked = kmalloc(sizeof(*not_checked) * 2, GFP_KERNEL);
 	checked = kmalloc(sizeof(*checked) * 2, GFP_KERNEL);
+	if (!not_checked || !checked) {
+		kfree(not_checked);
+		kfree(checked);
+		return;
+	}
 
 	pr_info("Array access within bounds ...\n");
 	/* For both, touch all bytes in the actual member size. */
@@ -346,7 +351,10 @@ void lkdtm_ARRAY_BOUNDS(void)
 	kfree(not_checked);
 	kfree(checked);
 	pr_err("FAIL: survived array bounds overflow!\n");
-	pr_expected_config(CONFIG_UBSAN_BOUNDS);
+	if (IS_ENABLED(CONFIG_UBSAN_BOUNDS))
+		pr_expected_config(CONFIG_UBSAN_TRAP);
+	else
+		pr_expected_config(CONFIG_UBSAN_BOUNDS);
 }
 
 void lkdtm_CORRUPT_LIST_ADD(void)
drivers/misc/lkdtm/lkdtm.h +4 -4
index 305fc2ec3f25..90f87b193c1e 100644
@@ -9,19 +9,19 @@
 extern char *lkdtm_kernel_info;
 
 #define pr_expected_config(kconfig)				\
-{								\
+do {								\
 	if (IS_ENABLED(kconfig)) 				\
 		pr_err("Unexpected! This %s was built with " #kconfig "=y\n", \
 			lkdtm_kernel_info);			\
 	else							\
 		pr_warn("This is probably expected, since this %s was built *without* " #kconfig "=y\n", \
 			lkdtm_kernel_info);			\
-}
+} while (0)
 
 #ifndef MODULE
 int lkdtm_check_bool_cmdline(const char *param);
 #define pr_expected_config_param(kconfig, param)		\
-{								\
+do {								\
 	if (IS_ENABLED(kconfig)) {				\
 		switch (lkdtm_check_bool_cmdline(param)) {	\
 		case 0:						\
@@ -52,7 +52,7 @@ int lkdtm_check_bool_cmdline(const char *param);
 			break;					\
 		}						\
 	}							\
-}
+} while (0)
 #else
 #define pr_expected_config_param(kconfig, param) pr_expected_config(kconfig)
 #endif
drivers/misc/lkdtm/usercopy.c +14 -3
index 9161ce7ed47a..3fead5efe523 100644
@@ -30,12 +30,12 @@ static const unsigned char test_text[] = "This is a test.\n";
  */
 static noinline unsigned char *trick_compiler(unsigned char *stack)
 {
-	return stack + 0;
+	return stack + unconst;
 }
 
 static noinline unsigned char *do_usercopy_stack_callee(int value)
 {
-	unsigned char buf[32];
+	unsigned char buf[128];
 	int i;
 
 	/* Exercise stack to avoid everything living in registers. */
@@ -43,7 +43,12 @@ static noinline unsigned char *do_usercopy_stack_callee(int value)
 		buf[i] = value & 0xff;
 	}
 
-	return trick_compiler(buf);
+	/*
+	 * Put the target buffer in the middle of stack allocation
+	 * so that we don't step on future stack users regardless
+	 * of stack growth direction.
+	 */
+	return trick_compiler(&buf[(128/2)-32]);
 }
 
 static noinline void do_usercopy_stack(bool to_user, bool bad_frame)
@@ -66,6 +71,12 @@ static noinline void do_usercopy_stack(bool to_user, bool bad_frame)
 		bad_stack -= sizeof(unsigned long);
 	}
 
+#ifdef ARCH_HAS_CURRENT_STACK_POINTER
+	pr_info("stack     : %px\n", (void *)current_stack_pointer);
+#endif
+	pr_info("good_stack: %px-%px\n", good_stack, good_stack + sizeof(good_stack));
+	pr_info("bad_stack : %px-%px\n", bad_stack, bad_stack + sizeof(good_stack));
+
 	user_addr = vm_mmap(NULL, 0, PAGE_SIZE,
 			    PROT_READ | PROT_WRITE | PROT_EXEC,
 			    MAP_ANONYMOUS | MAP_PRIVATE, 0);
drivers/misc/pvpanic/pvpanic.c +8 -2
index 4b8f1c7d726d..049a12006348 100644
@@ -34,7 +34,9 @@ pvpanic_send_event(unsigned int event)
 {
 	struct pvpanic_instance *pi_cur;
 
-	spin_lock(&pvpanic_lock);
+	if (!spin_trylock(&pvpanic_lock))
+		return;
+
 	list_for_each_entry(pi_cur, &pvpanic_list, list) {
 		if (event & pi_cur->capability & pi_cur->events)
 			iowrite8(event, pi_cur->base);
@@ -55,9 +57,13 @@ pvpanic_panic_notify(struct notifier_block *nb, unsigned long code, void *unused
 	return NOTIFY_DONE;
 }
 
+/*
+ * Call our notifier very early on panic, deferring the
+ * action taken to the hypervisor.
+ */
 static struct notifier_block pvpanic_panic_nb = {
 	.notifier_call = pvpanic_panic_notify,
-	.priority = 1, /* let this called before broken drm_fb_helper() */
+	.priority = INT_MAX,
 };
 
 static void pvpanic_remove(void *param)
drivers/mmc/core/block.c +1 -2
index 5235b03c6cff..23fcb7a16605 100644
@@ -1482,8 +1482,7 @@ void mmc_blk_cqe_recovery(struct mmc_queue *mq)
 	err = mmc_cqe_recovery(host);
 	if (err)
 		mmc_blk_reset(mq->blkdata, host, MMC_BLK_CQE_RECOVERY);
-	else
-		mmc_blk_reset_success(mq->blkdata, MMC_BLK_CQE_RECOVERY);
+	mmc_blk_reset_success(mq->blkdata, MMC_BLK_CQE_RECOVERY);
 
 	pr_debug("%s: CQE recovery done\n", mmc_hostname(host));
 }
drivers/mmc/host/sdhci-pci-gli.c +3 -0
index d09728c37d03..d81e5dc90e15 100644
@@ -972,6 +972,9 @@ static int gl9763e_runtime_resume(struct sdhci_pci_chip *chip)
 	struct sdhci_host *host = slot->host;
 	u16 clock;
 
+	if (host->mmc->ios.power_mode != MMC_POWER_ON)
+		return 0;
+
 	clock = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
 
 	clock |= SDHCI_CLOCK_PLL_EN;
drivers/mtd/ubi/fastmap-wl.c +46 -23

112 lines not on this page · raw message

drivers/mtd/ubi/fastmap.c +0 -11
index 6b5f1ffd961b..6e95c4b1473e 100644
@@ -1230,17 +1230,6 @@ static int ubi_write_fastmap(struct ubi_device *ubi,
 		fm_pos += sizeof(*fec);
 		ubi_assert(fm_pos <= ubi->fm_size);
 	}
-	if (ubi->fm_next_anchor) {
-		fec = (struct ubi_fm_ec *)(fm_raw + fm_pos);
-
-		fec->pnum = cpu_to_be32(ubi->fm_next_anchor->pnum);
-		set_seen(ubi, ubi->fm_next_anchor->pnum, seen_pebs);
-		fec->ec = cpu_to_be32(ubi->fm_next_anchor->ec);
-
-		free_peb_count++;
-		fm_pos += sizeof(*fec);
-		ubi_assert(fm_pos <= ubi->fm_size);
-	}
 	fmh->free_peb_count = cpu_to_be32(free_peb_count);
 
 	ubi_for_each_used_peb(ubi, wl_e, tmp_rb) {
drivers/mtd/ubi/ubi.h +1 -3
index 7c083ad58274..078112e23dfd 100644
@@ -489,8 +489,7 @@ struct ubi_debug_info {
  * @fm_work: fastmap work queue
  * @fm_work_scheduled: non-zero if fastmap work was scheduled
  * @fast_attach: non-zero if UBI was attached by fastmap
- * @fm_anchor: The new anchor PEB used during fastmap update
- * @fm_next_anchor: An anchor PEB candidate for the next time fastmap is updated
+ * @fm_anchor: The next anchor PEB to use for fastmap
  * @fm_do_produce_anchor: If true produce an anchor PEB in wl
  *
  * @used: RB-tree of used physical eraseblocks
@@ -601,7 +600,6 @@ struct ubi_device {
 	int fm_work_scheduled;
 	int fast_attach;
 	struct ubi_wl_entry *fm_anchor;
-	struct ubi_wl_entry *fm_next_anchor;
 	int fm_do_produce_anchor;
 
 	/* Wear-leveling sub-system's stuff */
drivers/mtd/ubi/vmt.c +0 -1
index 1bc7b3a05604..6ea95ade4ca6 100644
@@ -309,7 +309,6 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req)
 	ubi->volumes[vol_id] = NULL;
 	ubi->vol_count -= 1;
 	spin_unlock(&ubi->volumes_lock);
-	ubi_eba_destroy_table(eba_tbl);
 out_acc:
 	spin_lock(&ubi->volumes_lock);
 	ubi->rsvd_pebs -= vol->reserved_pebs;
drivers/mtd/ubi/wl.c +10 -9
index 8455f1d47f3c..afcdacb9d0e9 100644
@@ -689,16 +689,16 @@ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
 
 #ifdef CONFIG_MTD_UBI_FASTMAP
 	e1 = find_anchor_wl_entry(&ubi->used);
-	if (e1 && ubi->fm_next_anchor &&
-	    (ubi->fm_next_anchor->ec - e1->ec >= UBI_WL_THRESHOLD)) {
+	if (e1 && ubi->fm_anchor &&
+	    (ubi->fm_anchor->ec - e1->ec >= UBI_WL_THRESHOLD)) {
 		ubi->fm_do_produce_anchor = 1;
-		/* fm_next_anchor is no longer considered a good anchor
-		 * candidate.
+		/*
+		 * fm_anchor is no longer considered a good anchor.
 		 * NULL assignment also prevents multiple wear level checks
 		 * of this PEB.
 		 */
-		wl_tree_add(ubi->fm_next_anchor, &ubi->free);
-		ubi->fm_next_anchor = NULL;
+		wl_tree_add(ubi->fm_anchor, &ubi->free);
+		ubi->fm_anchor = NULL;
 		ubi->free_count++;
 	}
 
@@ -1085,12 +1085,13 @@ static int __erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk)
 	if (!err) {
 		spin_lock(&ubi->wl_lock);
 
-		if (!ubi->fm_disabled && !ubi->fm_next_anchor &&
+		if (!ubi->fm_disabled && !ubi->fm_anchor &&
 		    e->pnum < UBI_FM_MAX_START) {
-			/* Abort anchor production, if needed it will be
+			/*
+			 * Abort anchor production, if needed it will be
 			 * enabled again in the wear leveling started below.
 			 */
-			ubi->fm_next_anchor = e;
+			ubi->fm_anchor = e;
 			ubi->fm_do_produce_anchor = 0;
 		} else {
 			wl_tree_add(e, &ubi->free);
drivers/net/amt.c +40 -19

162 lines not on this page · raw message

drivers/net/bonding/bond_main.c +2 -0
index b5c5196e03ee..26a6573adf0f 100644
@@ -6159,7 +6159,9 @@ static int bond_check_params(struct bond_params *params)
 		strscpy_pad(params->primary, primary, sizeof(params->primary));
 
 	memcpy(params->arp_targets, arp_target, sizeof(arp_target));
+#if IS_ENABLED(CONFIG_IPV6)
 	memset(params->ns_targets, 0, sizeof(struct in6_addr) * BOND_MAX_NS_TARGETS);
+#endif
 
 	return 0;
 }
drivers/net/bonding/bond_netlink.c +0 -5
index f427fa1737c7..6f404f9c34e3 100644
@@ -290,11 +290,6 @@ static int bond_changelink(struct net_device *bond_dev, struct nlattr *tb[],
 
 			addr6 = nla_get_in6_addr(attr);
 
-			if (ipv6_addr_type(&addr6) & IPV6_ADDR_LINKLOCAL) {
-				NL_SET_ERR_MSG(extack, "Invalid IPv6 addr6");
-				return -EINVAL;
-			}
-
 			bond_opt_initextra(&newval, &addr6, sizeof(addr6));
 			err = __bond_opt_set(bond, BOND_OPT_NS_TARGETS,
 					     &newval);
drivers/net/bonding/bond_options.c +6 -4
index 64f7db2627ce..1f8323ad5282 100644
@@ -34,10 +34,8 @@ static int bond_option_arp_ip_target_add(struct bonding *bond, __be32 target);
 static int bond_option_arp_ip_target_rem(struct bonding *bond, __be32 target);
 static int bond_option_arp_ip_targets_set(struct bonding *bond,
 					  const struct bond_opt_value *newval);
-#if IS_ENABLED(CONFIG_IPV6)
 static int bond_option_ns_ip6_targets_set(struct bonding *bond,
 					  const struct bond_opt_value *newval);
-#endif
 static int bond_option_arp_validate_set(struct bonding *bond,
 					const struct bond_opt_value *newval);
 static int bond_option_arp_all_targets_set(struct bonding *bond,
@@ -299,7 +297,6 @@ static const struct bond_option bond_opts[BOND_OPT_LAST] = {
 		.flags = BOND_OPTFLAG_RAWVAL,
 		.set = bond_option_arp_ip_targets_set
 	},
-#if IS_ENABLED(CONFIG_IPV6)
 	[BOND_OPT_NS_TARGETS] = {
 		.id = BOND_OPT_NS_TARGETS,
 		.name = "ns_ip6_target",
@@ -307,7 +304,6 @@ static const struct bond_option bond_opts[BOND_OPT_LAST] = {
 		.flags = BOND_OPTFLAG_RAWVAL,
 		.set = bond_option_ns_ip6_targets_set
 	},
-#endif
 	[BOND_OPT_DOWNDELAY] = {
 		.id = BOND_OPT_DOWNDELAY,
 		.name = "downdelay",
@@ -1254,6 +1250,12 @@ static int bond_option_ns_ip6_targets_set(struct bonding *bond,
 
 	return 0;
 }
+#else
+static int bond_option_ns_ip6_targets_set(struct bonding *bond,
+					  const struct bond_opt_value *newval)
+{
+	return -EPERM;
+}
 #endif
 
 static int bond_option_arp_validate_set(struct bonding *bond,
drivers/net/bonding/bond_procfs.c +15 -0
index cfe37be42be4..43be458422b3 100644
@@ -129,6 +129,21 @@ static void bond_info_show_master(struct seq_file *seq)
 			printed = 1;
 		}
 		seq_printf(seq, "\n");
+
+#if IS_ENABLED(CONFIG_IPV6)
+		printed = 0;
+		seq_printf(seq, "NS IPv6 target/s (xx::xx form):");
+
+		for (i = 0; (i < BOND_MAX_NS_TARGETS); i++) {
+			if (ipv6_addr_any(&bond->params.ns_targets[i]))
+				break;
+			if (printed)
+				seq_printf(seq, ",");
+			seq_printf(seq, " %pI6c", &bond->params.ns_targets[i]);
+			printed = 1;
+		}
+		seq_printf(seq, "\n");
+#endif
 	}
 
 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
drivers/net/dsa/lantiq_gswip.c +3 -1
index 12c15da55664..9284373222fa 100644
@@ -2069,8 +2069,10 @@ static int gswip_gphy_fw_list(struct gswip_priv *priv,
 	for_each_available_child_of_node(gphy_fw_list_np, gphy_fw_np) {
 		err = gswip_gphy_fw_probe(priv, &priv->gphy_fw[i],
 					  gphy_fw_np, i);
-		if (err)
+		if (err) {
+			of_node_put(gphy_fw_np);
 			goto remove_gphy;
+		}
 		i++;
 	}
 
drivers/net/dsa/mv88e6xxx/chip.c +1 -0
index 64f4fdd02902..732570fb97b1 100644
@@ -3960,6 +3960,7 @@ static int mv88e6xxx_mdios_register(struct mv88e6xxx_chip *chip,
 	 */
 	child = of_get_child_by_name(np, "mdio");
 	err = mv88e6xxx_mdio_register(chip, child, false);
+	of_node_put(child);
 	if (err)
 		return err;
 
drivers/net/dsa/mv88e6xxx/serdes.c +11 -16
index 7b37d45bc9fb..1a19c5284f2c 100644
@@ -50,22 +50,17 @@ static int mv88e6390_serdes_write(struct mv88e6xxx_chip *chip,
 }
 
 static int mv88e6xxx_serdes_pcs_get_state(struct mv88e6xxx_chip *chip,
-					  u16 ctrl, u16 status, u16 lpa,
+					  u16 bmsr, u16 lpa, u16 status,
 					  struct phylink_link_state *state)
 {
 	state->link = !!(status & MV88E6390_SGMII_PHY_STATUS_LINK);
+	state->an_complete = !!(bmsr & BMSR_ANEGCOMPLETE);
 
 	if (status & MV88E6390_SGMII_PHY_STATUS_SPD_DPL_VALID) {
 		/* The Spped and Duplex Resolved register is 1 if AN is enabled
 		 * and complete, or if AN is disabled. So with disabled AN we
-		 * still get here on link up. But we want to set an_complete
-		 * only if AN was enabled, thus we look at BMCR_ANENABLE.
-		 * (According to 802.3-2008 section 22.2.4.2.10, we should be
-		 *  able to get this same value from BMSR_ANEGCAPABLE, but tests
-		 *  show that these Marvell PHYs don't conform to this part of
-		 *  the specificaion - BMSR_ANEGCAPABLE is simply always 1.)
+		 * still get here on link up.
 		 */
-		state->an_complete = !!(ctrl & BMCR_ANENABLE);
 		state->duplex = status &
 				MV88E6390_SGMII_PHY_STATUS_DUPLEX_FULL ?
 			                         DUPLEX_FULL : DUPLEX_HALF;
@@ -191,12 +186,12 @@ int mv88e6352_serdes_pcs_config(struct mv88e6xxx_chip *chip, int port,
 int mv88e6352_serdes_pcs_get_state(struct mv88e6xxx_chip *chip, int port,
[… more lines in the raw message]

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

drivers/net/dsa/realtek/rtl8365mb.c +9 -29
index 3d70e8a77ecf..907c743370e3 100644

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

drivers/net/ethernet/altera/altera_tse_main.c +5 -1
index a3816264c35c..8c5828582c21 100644

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

drivers/net/ethernet/broadcom/bgmac-bcma-mdio.c +1 -0
index 086739e4f40a..9b83d5361699 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +4 -4
index 7f11c0a8e7a9..d4e63f0644c3 100644

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

drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c +1 -1
index a79201a9a6f0..a9da85e418a4 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.c +3 -0
index f02d07ec5ccb..a50090e62c8f 100644

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

drivers/net/ethernet/mellanox/mlx4/en_ethtool.c +1 -1
index ed5038d98ef6..6400a827173c 100644

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

drivers/net/ethernet/mellanox/mlx5/core/dev.c +40 -14

54 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +5 -2
index eae9aa9c0811..978a2bb8e122 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en.h +4 -0
index ee34e861d3af..d0d14325a0d9 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/fs.h +2 -0
index 678ffbb48a25..e3e8c1c3ff24 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c +1 -0
index 335b20b6383b..047f88f09203 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/reporter_rx.c +6 -0
index 2684e9da9f41..fc366e66d0b0 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c +11 -8
index ab4b0f3ee2a0..1ff7a07bcd06 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/trap.c +1 -0
index 857840ab1e91..11f2a7fb72a9 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c +1 -0
index 279cd8f4e79f..2c520394aa1d 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c +1 -4
index 3ad7f1301fa8..98ed9ef3a6bd 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_main.c +22 -7
index 72867a8ff48b..58b6c8b82fd0 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +16 -15
index a464461f1418..52caefdbabb1 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +36 -2
index ac0f73074f7a..ec2dfecd7f0f 100644

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

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +7 -3
index 3b151332e2f8..796d97bcf1aa 100644

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

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +33 -4
index 89ba72e8d109..beedaf5b03ee 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +6 -6
index 6cad3b72c133..a8b98242edb1 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h +10 -0
index cbf9a9003e55..d58df1e9c13f 100644

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

drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h +1 -1
index 9026be1d6223..9cc7afea2758 100644

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

drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c +4 -5
index 728f81882589..6a9abba92df6 100644

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

drivers/net/ethernet/microchip/lan966x/lan966x_main.c +7 -2
index 05f6dcc9dfd5..f180a157eea4 100644

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

drivers/net/ethernet/netronome/nfp/flower/conntrack.c +16 -16
index bfd7d1c35076..7e9fcc16286e 100644

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

drivers/net/ethernet/netronome/nfp/flower/match.c +8 -8
index 9d86eea4dc16..fb8bd2135c63 100644

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

drivers/net/ethernet/netronome/nfp/nfdk/dp.c +6 -6
index e3da9ac20e57..e509d6dcba5c 100644

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

drivers/net/ethernet/netronome/nfp/nfdk/nfdk.h +1 -2
index c41e0975eb73..0ea51d9f2325 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net.h +10 -1
index 428783b7018b..3dd3a92d2e7f 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +2 -2
index 61c8b450aafb..df0afd271a21 100644

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

drivers/net/ethernet/sfc/efx_channels.c +2 -4
index 40df910aa140..b9cf873e1e42 100644

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

drivers/net/ethernet/sfc/net_driver.h +1 -1
index c75dc75e2857..d7255d54707c 100644

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

drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +1 -3
index 0b0be0898ac5..f6d8109e7edc 100644

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

drivers/net/ethernet/ti/am65-cpsw-nuss.c +6 -2
index d2747e9db286..6d978dbf708f 100644

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

drivers/net/phy/at803x.c +22 -11
index 73926006d319..6a467e7817a6 100644

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

drivers/net/phy/dp83867.c +29 -0
index 8561f2d4443b..13dafe7a29bd 100644

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

drivers/net/phy/mdio_bus.c +0 -1
index 58d602985877..8a2dbe849866 100644

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

drivers/nfc/st21nfca/se.c +30 -23

53 lines not on this page · raw message

drivers/pci/controller/pcie-brcmstb.c +30 -227

257 lines not on this page · raw message

drivers/pcmcia/Kconfig +1 -1
index 2ce261cfff8e..89e4511e9c43 100644

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

drivers/phy/qualcomm/phy-qcom-qmp.c +1 -1
index 9afac02e0eaa..4d50a6925600 100644

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

drivers/phy/rockchip/phy-rockchip-inno-usb2.c +8 -2
index eca77e44a4c1..cba5c32cbaee 100644

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

drivers/platform/x86/barco-p50-gpio.c +4 -1
index 05534287bc26..8dd672339485 100644

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

drivers/platform/x86/hp-wmi.c +19 -10
index 0e9a25b56e0e..0e6ed75c70f3 100644

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

drivers/power/supply/ab8500_fg.c +10 -9
index 97ac588a9e9c..ec8a404d71b4 100644

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

drivers/power/supply/axp288_charger.c +10 -7
index 19746e658a6a..15219ed43ce9 100644

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

drivers/power/supply/axp288_fuel_gauge.c +36 -5

41 lines not on this page · raw message

drivers/power/supply/charger-manager.c +2 -5
index d67edb760c94..92db79400a6a 100644

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

drivers/power/supply/max8997_charger.c +4 -4
index 127c73b0b3bd..1ec3535a257d 100644

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

drivers/power/supply/power_supply_core.c +1 -1
index d925cb137e12..fad5890c899e 100644

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

drivers/pwm/pwm-lp3943.c +1 -0
index ea17d446a627..2bd04ecb508c 100644

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

drivers/pwm/pwm-raspberrypi-poe.c +1 -1
index e52e29fc8231..6ff73029f367 100644

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

drivers/remoteproc/imx_rproc.c +3 -0
index 7a096f1891e6..91eb037089ef 100644

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

drivers/remoteproc/mtk_common.h +2 -0
index 71ce4977cb0b..ea6fa1100a00 100644

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

drivers/remoteproc/mtk_scp.c +52 -18

70 lines not on this page · raw message

drivers/rpmsg/qcom_smd.c +2 -2
index 764c980507be..1957b27c4cf3 100644

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

drivers/rpmsg/virtio_rpmsg_bus.c +4 -5
index 3ede25b1f2e4..905ac7910c98 100644

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

drivers/rtc/rtc-ftrtc010.c +24 -10
index 53bb08fe1cd4..25c6e7d9570f 100644

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

drivers/rtc/rtc-mt6397.c +2 -0
index 80dc479a6ff0..1d297af80f87 100644

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

drivers/scsi/lpfc/lpfc_crtn.h +1 -3
index 9897a1aa387b..9ed67fdd77f9 100644

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

drivers/scsi/lpfc/lpfc_ct.c +1 -1
index 4b024aa03c1b..87124fd65272 100644

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

drivers/scsi/lpfc/lpfc_init.c +1 -1
index 011849c1ed3c..a83e820de587 100644

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

drivers/scsi/lpfc/lpfc_nvme.c +4 -2
index 8d26f207ebd2..d3a542466e98 100644

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

drivers/scsi/lpfc/lpfc_scsi.c +6 -0
index f617a2ef6b0f..add238dc599b 100644

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

drivers/scsi/lpfc/lpfc_sli.c +12 -13
index 331241a71452..123a18784aa4 100644

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

drivers/scsi/myrb.c +8 -3
index 71585528e8db..e885c1dbf61f 100644

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

drivers/scsi/sd.c +2 -3
index dc6e55761fd1..edc27a88a057 100644

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

drivers/soc/rockchip/grf.c +2 -0
index 494cf2b5bf7b..343ff61ccccb 100644

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

drivers/soundwire/intel.c +3 -0
index 63101f1ba271..32e5fdb823c4 100644

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

drivers/soundwire/qcom.c +4 -2
index da1ad7ebb1aa..7b8ef45abee4 100644

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

drivers/spi/spi-fsi.c +6 -6
index d403a7a3021d..72ab066ce552 100644

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

drivers/staging/fieldbus/anybuss/host.c +1 -1
index a344410e48fe..cd86b9c9e345 100644

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

drivers/staging/greybus/audio_codec.c +2 -2
index b589cf6b1d03..e19b91e7a72e 100644

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

drivers/staging/r8188eu/core/rtw_fw.c +1 -1
index 625d186c3647..ce431d8ffea0 100644

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

drivers/staging/r8188eu/core/rtw_mlme.c +4 -2
index 6f0bff186477..76cf6a69bf0f 100644

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

drivers/staging/r8188eu/core/rtw_xmit.c +11 -2
index c2a550e7250e..2ee92bbe66a0 100644

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

drivers/staging/r8188eu/include/rtw_xmit.h +1 -1
index b2df1480d66b..e73632972900 100644

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

drivers/staging/rtl8192e/rtllib_softmac.c +1 -1
index 4b6c2295a3cf..b5a38f0a8d79 100644

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

drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c +1 -1
index 1a43979939a8..79f3fbe25556 100644

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

drivers/staging/rtl8712/os_intfs.c +0 -1
index d15d52c0d1a7..003e97205124 100644

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

drivers/staging/rtl8712/usb_intf.c +6 -6
index ee4c61f85a07..1ff3e2658e77 100644

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

drivers/staging/rtl8712/usb_ops.c +18 -9
index e64845e6adf3..af9966d03979 100644

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

drivers/staging/rtl8723bs/core/rtw_mlme.c +8 -4
index ed2d3b7d44d9..24d6af886f72 100644

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

drivers/thunderbolt/tb.c +17 -2
index 9beb47b31c75..44d04b651a8b 100644

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

drivers/thunderbolt/test.c +8 -8
index 1f69bab236ee..66b6e665e96f 100644

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

drivers/thunderbolt/tunnel.c +6 -5
index 118742ec93ed..8ccd70920b6a 100644

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

drivers/thunderbolt/tunnel.h +2 -2
index 03e56076b5bc..bb4d1f1d6d0b 100644

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

drivers/tty/goldfish.c +2 -0
index 9e8ccb8ed6d6..c7968aecd870 100644

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

drivers/tty/n_tty.c +37 -1
index efc72104c840..bdc314aeab88 100644

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

drivers/tty/serial/8250/8250_aspeed_vuart.c +2 -0
index 93fe10c680fb..9d2a7856784f 100644

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

drivers/tty/serial/8250/8250_fintek.c +4 -4
index 251f0018ae8c..dba5950b8d0e 100644

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

drivers/tty/serial/8250/8250_mtk.c +0 -7
index 21053db93ff1..54051ec7b499 100644

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

drivers/tty/serial/cpm_uart/cpm_uart_core.c +1 -1
index d6d3db9c3b1f..db07d6a5d764 100644

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

drivers/tty/serial/digicolor-usart.c +2 -0
index e37a917b9dbb..af951e6a2ef4 100644

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

drivers/tty/serial/fsl_lpuart.c +4 -20
index be12fee94db5..2cb89491dd09 100644

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

drivers/tty/serial/icom.c +1 -1
index 03a2fe9f4c9a..02b375ba2f07 100644

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

drivers/tty/serial/meson_uart.c +13 -0
index 2bf1c57e0981..39021dac09cc 100644

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

drivers/tty/serial/msm_serial.c +5 -0
index 23c94b927776..e676ec761f18 100644

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

drivers/tty/serial/owl-uart.c +1 -0
index 5250bd7d390a..0866d749a9f4 100644

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

drivers/tty/serial/rda-uart.c +2 -0
index e5f1fded423a..f556b4955f59 100644

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

drivers/tty/serial/sa1100.c +2 -2
index 5fe6cccfc1ae..e64e42a19d1a 100644

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

drivers/tty/serial/serial_txx9.c +2 -0
index 2213e6b841d3..228e380db080 100644

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

drivers/tty/serial/sh-sci.c +5 -1
index 0f9b8bd23500..0075a1420005 100644

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

drivers/tty/serial/sifive.c +6 -2
index f5ac14c384c4..776aec6516c4 100644

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

drivers/tty/serial/st-asc.c +4 -0
index d7fd692286cf..1b0da603ab54 100644

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

drivers/tty/serial/stm32-usart.c +12 -3
index 87b5cd4c9743..3c551fd4f3ff 100644

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

drivers/tty/serial/uartlite.c +2 -1
index 007db67292a2..880e2afbb97b 100644

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

drivers/tty/synclink_gt.c +2 -0
index 25c558e65ece..9bc2a9265277 100644

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

drivers/tty/sysrq.c +9 -4
index bbfd004449b5..34cfdda4aff5 100644

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

drivers/usb/core/hcd-pci.c +2 -2
index 8176bc81a635..ae5e6d572376 100644

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

drivers/usb/dwc2/gadget.c +0 -1
index eee3504397e6..fe2a58c75861 100644

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

drivers/usb/dwc3/drd.c +2 -7
index 8cad9e7d3368..4982edd13047 100644

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

drivers/usb/dwc3/dwc3-pci.c +1 -1
index 2e19e0e4ea53..ba51de7dd760 100644

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

drivers/usb/dwc3/gadget.c +27 -4
index 026fc360cc50..bf2eaa09d73c 100644

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

drivers/usb/dwc3/host.c +0 -2
index eda871973d6c..f56c30cf151e 100644

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

drivers/usb/host/isp116x-hcd.c +4 -2
index 8835f6bd528e..8c7f0991c21b 100644

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

drivers/usb/host/oxu210hp-hcd.c +2 -0
index b741670525e3..ee403df33093 100644

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

drivers/usb/musb/omap2430.c +1 -0
index d2b7e613eb34..f571a65ae6ee 100644

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

drivers/usb/phy/phy-omap-otg.c +2 -2
index ee0863c6553e..6e6ef8c0bc7e 100644

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

drivers/usb/storage/karma.c +8 -7
index 05cec81dcd3f..38ddfedef629 100644

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

drivers/usb/typec/mux.c +10 -4
index c8340de0ed49..d2aaf294b649 100644

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

drivers/usb/typec/tcpm/fusb302.c +2 -2
index 72f9001b0792..96c55eaf3f80 100644

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

drivers/usb/usbip/stub_dev.c +1 -1
index d8d3892e5a69..3c6d452e3bf4 100644

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

drivers/usb/usbip/stub_rx.c +2 -0
index 325c22008e53..5dd41e8215e0 100644

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

drivers/vdpa/ifcvf/ifcvf_main.c +2 -1
index 4366320fb68d..197d52e7b801 100644

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

drivers/vdpa/vdpa.c +9 -4
index 2b75c00b1005..fac89a0d8178 100644

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

drivers/vdpa/vdpa_user/vduse_dev.c +3 -4
index f85d1a08ed87..160e40d03084 100644

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

drivers/vhost/vringh.c +8 -2
index 14e2043d7685..eab55accf381 100644

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

drivers/video/fbdev/hyperv_fb.c +1 -18
index c8e0ea27caf1..58c304a3b7c4 100644

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

drivers/video/fbdev/pxa3xx-gcu.c +7 -5
index 350b3139c863..043cc8f9ef1c 100644

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

drivers/virtio/virtio_pci_modern_dev.c +1 -0
index 591738ad3d56..4093f9cca7a6 100644

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

drivers/watchdog/rti_wdt.c +1 -1
index db843f825860..00ebeffc674f 100644

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

drivers/watchdog/rzg2l_wdt.c +17 -29

46 lines not on this page · raw message

drivers/watchdog/ts4800_wdt.c +4 -1
index c137ad2bd5c3..0ea554c7cda5 100644

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

drivers/watchdog/wdat_wdt.c +1 -0
index 195c8c004b69..4fac8148a8e6 100644

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

drivers/xen/xlate_mmu.c +0 -1
index 34742c6e189e..f17c4c03db30 100644

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

fs/afs/dir.c +4 -1
index 932e61e28e5d..bdac73554e6e 100644

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

fs/ceph/addr.c +19 -14
index b6edcf89a429..adef10a6e5c7 100644

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

fs/ceph/mds_client.c +27 -6
index 1bd3e1bb0fdf..8c249511344d 100644

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

fs/ceph/xattr.c +9 -1
index afec84088471..8c2dc2c762a4 100644

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

fs/cifs/cifs_swn.c +2 -2
index 180c234c2f46..1e4c7cc5287f 100644

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

fs/cifs/cifsencrypt.c +4 -4
index 0912d8bbbac1..663cb9db4908 100644

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

fs/cifs/cifsfs.c +1 -1
index 6d150bb87aaf..9b4fd7686699 100644

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

fs/cifs/cifsfs.h +1 -1
index c0542bdcd06b..cc40a55fbfac 100644

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

fs/cifs/cifsglob.h +22 -2
index 5024b6792dab..a6cade2aebd9 100644

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

fs/cifs/connect.c +17 -13
index aa2d4c49e2a5..98e4a1aa898e 100644

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

fs/cifs/dfs_cache.c +2 -2
index c5dd6f7305bd..aa7d00b5b3e7 100644

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

fs/cifs/misc.c +16 -11
index 5a803d686146..4abf36b3b345 100644

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

fs/cifs/sess.c +7 -4
index 1a0995bb5d90..83b9047c945a 100644

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

fs/cifs/smb1ops.c +3 -3
index c71c9a44bef4..2e20ee4dab7b 100644

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

fs/cifs/smb2ops.c +6 -1
index 861291662c95..6e26edbffc48 100644

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

fs/cifs/smb2pdu.c +6 -3
index f5321a3500f3..179c1630bf56 100644

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

fs/cifs/smbdirect.c +2 -2
index 31ef64eb7fbb..35829d2a0918 100644

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

fs/cifs/transport.c +20 -20
index c667e6ddfe2f..71750cf7bf55 100644

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

fs/erofs/zdata.c +1 -1
index e6dea6dfca16..3e3e96043b5b 100644

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

fs/f2fs/checkpoint.c +3 -9
index 909085a78f9c..beceac9885c3 100644

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

fs/f2fs/f2fs.h +19 -4
index 6ec8c6d4711f..9b89f26af1f3 100644

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

fs/f2fs/file.c +1 -0
index 176e97b985e6..5d1b97e852e7 100644

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

fs/f2fs/node.c +12 -11
index c45d341dcf6e..a8d0fa2731cb 100644

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

fs/fs-writeback.c +28 -9
index a1074a26e784..90050b4add7a 100644

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

fs/inode.c +1 -1
index 9d9b422504d1..bd4da9c5207e 100644

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

fs/jffs2/fs.c +1 -0
index 71f03a5d36ed..f83a468b6488 100644

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

fs/kernfs/dir.c +19 -12
index e205fde7163a..6eca72cfa1f2 100644

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

fs/ksmbd/smbacl.c +1 -0
index 6ecf55ea1fed..38f23bf981ac 100644

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

fs/ksmbd/transport_rdma.c +1 -0
index e646d79554b8..3f5d13571694 100644

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

fs/nfs/nfs4proc.c +4 -0
index 8c5907287c16..d1eaaeb7f713 100644

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

fs/nfsd/filecache.c +5 -4
index 2c1b027774d4..0326bdec5de7 100644

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

fs/zonefs/super.c +6 -5
index e20e7c841489..1c2ece961128 100644

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

include/linux/blkdev.h +1 -0
index 60d016138997..108e3d114bfc 100644

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

include/linux/export.h +4 -3
index 27d848712b90..5910ccb66ca2 100644

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

include/linux/extcon.h +1 -1
index 0c19010da77f..685401d94d39 100644

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

include/linux/iio/common/st_sensors.h +3 -0
index 22f67845cdd3..db4a1b260348 100644

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

include/linux/jump_label.h +2 -2
index 107751cc047b..bf1eef337a07 100644

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

include/linux/mlx5/mlx5_ifc.h +2 -3
index 7d2d0ba82144..2e162ec2a3d3 100644

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

include/linux/nodemask.h +19 -19
index c6199dbe2591..0f233b76c9ce 100644

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

include/linux/random.h +1 -1
index 4364de2300be..e5a543fd29c8 100644

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

include/linux/xarray.h +1 -0
index 72feab5ea8d4..c29e11b2c073 100644

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

include/net/ax25.h +1 -0
index 0f9790c455bb..a427a05672e2 100644

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

include/net/bluetooth/hci_core.h +7 -10
index 5a52a2018b56..c0ea2a4892b1 100644

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

include/net/bonding.h +6 -0
index b14f4c0b4e9e..cb904d356e31 100644

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

include/net/flow_offload.h +1 -0
index 021778a7e1af..6484095a8c01 100644

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

include/net/netfilter/nf_tables.h +0 -1
index 20af9d3557b9..279ae0fff7ad 100644

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

include/net/netfilter/nf_tables_offload.h +1 -1
index 797147843958..3568b6a2f5f0 100644

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

include/net/sch_generic.h +14 -28

42 lines not on this page · raw message

include/net/tcp.h +15 -4
index cc1295037533..2d9a78b3beaa 100644

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

include/trace/events/tcp.h +1 -1
index 521059d8dc0a..edcd6369de10 100644

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

kernel/bpf/core.c +5 -9
index 05e701f0da81..1e92b52fc814 100644

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

kernel/sched/autogroup.c +1 -1
index 16092b49ff6a..4ebaf97f7bd8 100644

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

kernel/trace/trace.c +10 -3
index f6fb04d79eba..114c31bdf8f9 100644

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

kernel/trace/trace_syscalls.c +11 -24
index f755bde42fd0..b69e207012c9 100644

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

lib/Makefile +1 -1
index 6b9ffc1bd1ee..08053df16c7c 100644

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

lib/iov_iter.c +4 -16
index 6dd5330f7a99..0b64695ab632 100644

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

lib/nodemask.c +2 -2
index 3aa454c54c0d..e22647f5181b 100644

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

lib/xarray.c +3 -2
index 54e646e8e6ee..ea9ce1f0b386 100644

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

mm/filemap.c +5 -4
index 9a1eef6c5d35..61dd39990fda 100644

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

mm/huge_memory.c +1 -2
index 910a138e9859..b7d0697b1f26 100644

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

net/ax25/af_ax25.c +17 -10
index 363d47f94532..289f355e1853 100644

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

net/ax25/ax25_dev.c +1 -0
index d2a244e1c260..5451be15e072 100644

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

net/ax25/ax25_subr.c +1 -1
index 3a476e4f6cd0..9ff98f46dc6b 100644

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

net/bluetooth/hci_core.c +2 -2
index 45c2dd2e1590..19df3905c5f8 100644

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

net/bluetooth/hci_request.c +1 -1
index f4afe482e300..95689982eedb 100644

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

net/bluetooth/hci_sync.c +45 -17

62 lines not on this page · raw message

net/bluetooth/mgmt.c +27 -18

45 lines not on this page · raw message

net/core/filter.c +1 -1
index 966796b345e7..8847316ee20e 100644

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

net/core/flow_offload.c +6 -0
index 73f68d4625f3..929f6379a279 100644

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

net/core/neighbour.c +1 -1
index f64ebd050f6c..fd69133dc7c5 100644

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

net/ipv4/inet_hashtables.c +6 -4
index a5d57fa679ca..55654e335d43 100644

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

net/ipv4/ip_gre.c +5 -6
index aacee9dd771b..bc8dfdf1c48a 100644

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

net/ipv4/tcp.c +4 -4
index cf18fbcbf123..e31cf137c614 100644

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

net/ipv4/tcp_bbr.c +10 -10
index 02e8626ccb27..c7d30a3bbd81 100644

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

net/ipv4/tcp_bic.c +7 -7
index f5f588b1f6e9..58358bf92e1b 100644

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

net/ipv4/tcp_cdg.c +15 -15
index 709d23801823..ddc7ba0554bd 100644

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

net/ipv4/tcp_cong.c +9 -9
index dc95572163df..d854bcfb9906 100644

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

net/ipv4/tcp_cubic.c +11 -11
index 24d562dd6225..b0918839bee7 100644

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

net/ipv4/tcp_dctcp.c +6 -5
index 1943a6630341..ab034a4e9324 100644

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

net/ipv4/tcp_highspeed.c +9 -9
index 349069d6cd0a..c6de5ce79ad3 100644

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

net/ipv4/tcp_htcp.c +5 -5
index 55adcfcf96fe..52b1f2665dfa 100644

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

net/ipv4/tcp_hybla.c +9 -9
index be39327e04e6..abd7d91807e5 100644

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

net/ipv4/tcp_illinois.c +7 -5
index 00e54873213e..c0c81a2c77fa 100644

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

net/ipv4/tcp_input.c +22 -19

41 lines not on this page · raw message

net/ipv4/tcp_ipv4.c +1 -1
index 457f5b5d5d4a..30a74e4eeab4 100644

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

net/ipv4/tcp_lp.c +3 -3
index 82b36ec3f2f8..ae36780977d2 100644

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

net/ipv4/tcp_metrics.c +6 -6
index 0588b004ddac..7029b0e98edb 100644

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

net/ipv4/tcp_nv.c +12 -12
index ab552356bdba..a60662f4bdf9 100644

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

net/ipv4/tcp_output.c +17 -17
index 1ca2f28c9981..6b00c17c72aa 100644

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

net/ipv4/tcp_rate.c +1 -1
index 9a8e014d9b5b..a8f6d9d06f2e 100644

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

net/ipv4/tcp_scalable.c +2 -2
index 5842081bc8a2..862b96248a92 100644

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

net/ipv4/tcp_vegas.c +11 -10
index c8003c8aad2c..786848ad37ea 100644

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

net/ipv4/tcp_veno.c +12 -12
index cd50a61c9976..366ff6f214b2 100644

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

net/ipv4/tcp_westwood.c +2 -1
index b2e05c4cea00..c6e97141eef2 100644

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

net/ipv4/tcp_yeah.c +15 -15
index 07c4c93b9fdb..18b07ff5d20e 100644

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

net/ipv4/xfrm4_protocol.c +0 -1
index 2fe5860c21d6..b146ce88c5d0 100644

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

net/ipv6/ping.c +4 -4
index ff033d16549e..ecf3a553a0dc 100644

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

net/ipv6/seg6_hmac.c +0 -1
index 29bc4e7c3046..6de01185cc68 100644

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

net/ipv6/seg6_local.c +1 -0
index 9fbe243a0e81..98a34287439c 100644

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

net/ipv6/tcp_ipv6.c +1 -1
index faaddaf43c90..cbc5fff3d846 100644

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

net/key/af_key.c +6 -4
index 339d95df19d3..d93bde657359 100644

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

net/netfilter/nf_tables_api.c +23 -31

54 lines not on this page · raw message

net/netfilter/nf_tables_offload.c +22 -1
index 2d36952b1392..910ef881c3b8 100644

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

net/netfilter/nft_nat.c +2 -1
index 4394df4bc99b..e5fd6995e4bf 100644

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

net/openvswitch/actions.c +6 -0
index 1b5d73079dc9..868db4669a29 100644

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

net/openvswitch/conntrack.c +3 -1
index 4a947c13c813..4e70df91d0f2 100644

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

net/sched/act_ct.c +1 -1
index b1f502fce595..b3ca837fd4e8 100644

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

net/smc/af_smc.c +1 -0
index 45a24d24210f..540b32d86d9b 100644

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

net/smc/smc_cdc.c +1 -1
index 5c731f27996e..53f63bfbaf5f 100644

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

net/sunrpc/xdr.c +5 -1
index df194cc07035..b57cf9df4de8 100644

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

net/sunrpc/xprtrdma/rpc_rdma.c +5 -0
index 281ddb87ac8d..190a4de239c8 100644

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

net/sunrpc/xprtrdma/svc_rdma_rw.c +2 -2
index 5f0155fdefc7..11cf7c646644 100644

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

net/tipc/bearer.c +1 -2
index 6d39ca05f249..932c87b98eca 100644

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

net/unix/af_unix.c +1 -1
index e71a312faa1e..4aed12e94221 100644

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

net/xdp/xsk.c +3 -2
index 3a9348030e20..d6bcdbfd0fc5 100644

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

net/xdp/xsk_queue.h +0 -8
index 801cda5d1938..64b43f31942f 100644

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

scripts/gdb/linux/config.py +3 -3
index 90e1565b1967..8843ab3cbadd 100644

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

scripts/get_abi.pl +2 -2
index 1389db76cff3..0ffd5531242a 100755

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

scripts/mod/modpost.c +3 -2
index ed9d056d2108..b28344fd7408 100644

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

security/keys/trusted-keys/trusted_tpm2.c +2 -2
index 0165da386289..2b2c8eb258d5 100644

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

sound/pci/hda/patch_conexant.c +7 -0
index 0515137a75b0..bce2cef80000 100644

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

sound/pci/hda/patch_realtek.c +2 -0
index 323c74a04268..8d2d29880716 100644

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

sound/soc/amd/acp/acp-pci.c +1 -0
index 340e39d7f420..c893963ee2d0 100644

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

sound/soc/codecs/rt5640.c +9 -2
index 30c2e7cb7ed2..3559d9ecfa07 100644

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

sound/soc/codecs/rt5640.h +2 -0
index 9e49b9a0ccaa..505c93514051 100644

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

sound/soc/fsl/fsl_sai.h +2 -2
index 7310fd02cc3c..bd0b56589bdb 100644

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

sound/soc/intel/boards/bytcr_rt5640.c +2 -0
index f81ae742faa7..75ec4a9322bb 100644

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

sound/usb/pcm.c +4 -1
index b470404a5376..e692ae04436a 100644

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

sound/usb/quirks-table.h +6 -1
index 78eb41b621d6..4f56e1784932 100644

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

tools/objtool/check.c +2 -1
index 8a0971a620f0..f66e4ac0af94 100644

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

tools/perf/arch/x86/util/evlist.c +3 -2
index 75564a7df15b..68f681ad54c1 100644

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

tools/perf/arch/x86/util/evsel.c +22 -2
index 0c9e56ab07b5..3501399cef35 100644

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

tools/perf/arch/x86/util/evsel.h new file +7 -0
new file mode 100644
index 000000000000..19ad1691374d

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

tools/perf/arch/x86/util/topdown.c +29 -17

46 lines not on this page · raw message

tools/perf/arch/x86/util/topdown.h new file +7 -0
new file mode 100644
index 000000000000..46bf9273e572

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

tools/perf/builtin-c2c.c +2 -2
index 8c9ffacbdd28..157533d451e3 100644

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

tools/testing/selftests/bpf/progs/test_stacktrace_build_id.c +1 -1
index 6c62bfb8bb6f..0c4426592a26 100644

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

tools/testing/selftests/net/bpf/Makefile +2 -2
index f91bf14bbee7..8a69c91fcca0 100644

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

tools/testing/selftests/netfilter/nft_nat.sh +43 -0

43 lines not on this page · raw message

tools/tracing/rtla/Makefile +35 -0
index 523f0a8c38c2..3822f4ea5f49 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.