Skip to contentSkip to conversation

Linux 5.4.285

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Nov 8, 2024 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.285 kernel.

All users of the 5.4 kernel series must upgrade.

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

thanks,

greg k-h

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

 .gitignore                                                          |    1 
 Documentation/IPMI.txt                                              |    2 
 Documentation/admin-guide/kernel-parameters.txt                     |   10 
 Documentation/arm64/silicon-errata.rst                              |    4 
 Documentation/devicetree/bindings/gpu/samsung-rotator.txt           |   28 
 Documentation/devicetree/bindings/gpu/samsung-rotator.yaml          |   48 
 Makefile                                                            |    2 
 arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts                           |    2 
 arch/arm/boot/dts/imx7d-zii-rmu2.dts                                |    2 
 arch/arm/mach-realview/platsmp-dt.c                                 |    1 
 arch/arm64/Kconfig                                                  |    2 
 arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi                       |   23 
 arch/arm64/include/asm/cputype.h                                    |    4 
 arch/arm64/include/asm/uprobes.h                                    |   12 
 arch/arm64/kernel/cpu_errata.c                                      |    2 
 arch/arm64/kernel/probes/decode-insn.c                              |   16 
 arch/arm64/kernel/probes/simulate-insn.c                            |   18 
 arch/arm64/kernel/probes/uprobes.c                                  |    4 
 arch/microblaze/mm/init.c                                           |    5 
 arch/parisc/kernel/entry.S                                          |    6 
 arch/parisc/kernel/syscall.S                                        |   14 
 arch/riscv/Kconfig                                                  |    5 
 arch/riscv/kernel/asm-offsets.c                                     |    2 
 arch/riscv/kernel/perf_callchain.c                                  |    2 
 arch/s390/include/asm/facility.h                                    |    6 
 arch/s390/kernel/perf_cpum_sf.c                                     |   12 
 arch/s390/kvm/diag.c                                                |    2 
 arch/s390/kvm/gaccess.c                                             |  162 
 arch/s390/kvm/gaccess.h                                             |   14 
 arch/s390/mm/cmm.c                                                  |   18 
 arch/x86/include/asm/cpufeatures.h                                  |    3 
 arch/x86/include/asm/syscall.h                                      |    7 
 arch/x86/kernel/apic/apic.c                                         |   14 
 arch/x86/kernel/cpu/mshyperv.c                                      |    1 
 arch/x86/kernel/cpu/resctrl/core.c                                  |    4 
 arch/x86/xen/setup.c                                                |    2 
 block/bfq-iosched.c                                                 |   13 
 block/blk-rq-qos.c                                                  |    2 
 crypto/aead.c                                                       |    3 
 crypto/cipher.c                                                     |    3 
 drivers/acpi/acpica/dbconvert.c                                     |    2 
 drivers/acpi/acpica/exprep.c                                        |    3 
 drivers/acpi/acpica/psargs.c                                        |   47 
 drivers/acpi/battery.c                                              |   28 
 drivers/acpi/button.c                                               |   11 
 drivers/acpi/device_sysfs.c                                         |    5 
 drivers/acpi/ec.c                                                   |   55 
 drivers/acpi/pmic/tps68470_pmic.c                                   |    6 
 drivers/acpi/resource.c                                             |   27 
 drivers/ata/sata_sil.c                                              |   12 
 drivers/base/bus.c                                                  |    6 
 drivers/base/core.c                                                 |   13 
 drivers/base/firmware_loader/main.c                                 |   30 
 drivers/base/module.c                                               |    4 
 drivers/block/aoe/aoecmd.c                                          |   13 
 drivers/block/drbd/drbd_main.c                                      |    6 
 drivers/block/drbd/drbd_state.c                                     |    2 
 drivers/bluetooth/btmrvl_sdio.c                                     |   16 
 drivers/bluetooth/btusb.c                                           |   10 
 drivers/char/hw_random/mtk-rng.c                                    |    2 
 drivers/char/tpm/tpm-dev-common.c                                   |    2 
 drivers/char/tpm/tpm2-space.c                                       |    3 
 drivers/char/virtio_console.c                                       |   18 
 drivers/clk/bcm/clk-bcm53573-ilp.c                                  |    2 
 drivers/clk/qcom/clk-rpmh.c                                         |   33 
 drivers/clk/rockchip/clk-rk3228.c                                   |    2 
 drivers/clk/rockchip/clk.c                                          |    3 
 drivers/clk/ti/clk-dra7-atl.c                                       |    1 
 drivers/clocksource/timer-qcom.c                                    |    7 
 drivers/firmware/arm_sdei.c                                         |    2 
 drivers/firmware/tegra/bpmp.c                                       |    6 
 drivers/gpio/gpio-aspeed.c                                          |    4 
 drivers/gpio/gpio-davinci.c                                         |    8 
 drivers/gpio/gpiolib.c                                              |    3 
 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c                            |   15 
 drivers/gpu/drm/amd/amdgpu/atombios_encoders.c                      |   26 
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c                   |    2 
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c              |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn21/display_rq_dlg_calc_21.c   |    2 
 drivers/gpu/drm/amd/display/modules/freesync/freesync.c             |    2 
 drivers/gpu/drm/amd/include/atombios.h                              |    2 
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c                     |   10 
 drivers/gpu/drm/drm_atomic_uapi.c                                   |    2 
 drivers/gpu/drm/drm_crtc.c                                          |    1 
 drivers/gpu/drm/drm_mipi_dsi.c                                      |    2 
 drivers/gpu/drm/drm_print.c                                         |   13 
 drivers/gpu/drm/exynos/exynos_drm_gsc.c                             |    2 
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c                               |    8 
 drivers/gpu/drm/msm/adreno/a5xx_gpu.h                               |    1 
 drivers/gpu/drm/msm/adreno/a5xx_preempt.c                           |   26 
 drivers/gpu/drm/msm/adreno/adreno_gpu.c                             |    2 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c                            |    2 
 drivers/gpu/drm/msm/dsi/dsi_host.c                                  |    2 
 drivers/gpu/drm/nouveau/nouveau_dmem.c                              |    2 
 drivers/gpu/drm/omapdrm/omap_drv.c                                  |    5 
 drivers/gpu/drm/radeon/atombios.h                                   |    2 
 drivers/gpu/drm/radeon/evergreen_cs.c                               |   62 
 drivers/gpu/drm/radeon/r100.c                                       |   70 
 drivers/gpu/drm/radeon/radeon_atombios.c                            |   26 
 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c                         |    2 
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c                         |    4 
 drivers/gpu/drm/stm/drv.c                                           |    4 
 drivers/gpu/drm/vboxvideo/hgsmi_base.c                              |   10 
 drivers/gpu/drm/vboxvideo/vboxvideo.h                               |    4 
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c                                 |    1 
 drivers/hid/hid-ids.h                                               |    2 
 drivers/hid/hid-plantronics.c                                       |   23 
 drivers/hid/intel-ish-hid/ishtp-fw-loader.c                         |    2 
 drivers/hwmon/max16065.c                                            |    5 
 drivers/hwmon/ntc_thermistor.c                                      |    1 
 drivers/hwtracing/coresight/coresight-tmc-etr.c                     |    2 
 drivers/i2c/busses/i2c-aspeed.c                                     |   16 
 drivers/i2c/busses/i2c-i801.c                                       |    9 
 drivers/i2c/busses/i2c-isch.c                                       |    3 
 drivers/i2c/busses/i2c-qcom-geni.c                                  |   59 
 drivers/i2c/busses/i2c-stm32f7.c                                    |    6 
 drivers/i2c/busses/i2c-xiic.c                                       |   19 
 drivers/iio/adc/Kconfig                                             |    4 
 drivers/iio/adc/ad7606.c                                            |    8 
 drivers/iio/adc/ad7606_spi.c                                        |    5 
 drivers/iio/common/hid-sensors/hid-sensor-trigger.c                 |    2 
 drivers/iio/dac/Kconfig                                             |    2 
 drivers/iio/light/opt3001.c                                         |    4 
 drivers/iio/magnetometer/ak8975.c                                   |   32 
 drivers/iio/proximity/Kconfig                                       |    2 
 drivers/infiniband/core/iwcm.c                                      |    2 
 drivers/infiniband/hw/bnxt_re/qplib_fp.h                            |    2 
 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c                          |    2 
 drivers/infiniband/hw/cxgb4/cm.c                                    |   14 
 drivers/infiniband/hw/hns/hns_roce_hem.c                            |   10 
 drivers/infiniband/sw/rxe/rxe_comp.c                                |    6 
 drivers/input/keyboard/adp5589-keys.c                               |   13 
 drivers/input/rmi4/rmi_driver.c                                     |    6 
 drivers/mailbox/bcm2835-mailbox.c                                   |    3 
 drivers/mailbox/rockchip-mailbox.c                                  |    2 
 drivers/media/common/videobuf2/videobuf2-core.c                     |    8 
 drivers/media/dvb-frontends/rtl2830.c                               |    2 
 drivers/media/dvb-frontends/rtl2832.c                               |    2 
 drivers/media/platform/qcom/venus/core.c                            |    1 
 drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c                  |    5 
 drivers/misc/sgi-gru/grukservices.c                                 |    2 
 drivers/misc/sgi-gru/grumain.c                                      |    4 
 drivers/misc/sgi-gru/grutlbpurge.c                                  |    2 
 drivers/misc/ti-st/st_core.c                                        |    4 
 drivers/mtd/devices/powernv_flash.c                                 |    3 
 drivers/mtd/devices/slram.c                                         |    2 
 drivers/net/Kconfig                                                 |   64 
 drivers/net/caif/Kconfig                                            |   36 
 drivers/net/ethernet/aeroflex/greth.c                               |    3 
 drivers/net/ethernet/amd/mvme147.c                                  |    7 
 drivers/net/ethernet/broadcom/bcmsysport.c                          |    1 
 drivers/net/ethernet/cortina/gemini.c                               |   15 
 drivers/net/ethernet/emulex/benet/be_main.c                         |   10 
 drivers/net/ethernet/faraday/ftgmac100.c                            |   26 
 drivers/net/ethernet/faraday/ftgmac100.h                            |    2 
 drivers/net/ethernet/freescale/dpaa/dpaa_eth.c                      |    9 
 drivers/net/ethernet/freescale/fs_enet/Kconfig                      |    8 
 drivers/net/ethernet/hisilicon/hip04_eth.c                          |    1 
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c                   |    1 
 drivers/net/ethernet/hisilicon/hns_mdio.c                           |    1 
 drivers/net/ethernet/i825xx/sun3_82586.c                            |    1 
 drivers/net/ethernet/ibm/emac/mal.c                                 |    2 
 drivers/net/ethernet/intel/ice/ice_sched.c                          |    6 
 drivers/net/ethernet/intel/ice/ice_switch.c                         |    4 
 drivers/net/ethernet/intel/igb/igb_main.c                           |    4 
 drivers/net/ethernet/jme.c                                          |   10 
 drivers/net/ethernet/lantiq_etop.c                                  |    4 
 drivers/net/ethernet/marvell/mvpp2/mvpp2.h                          |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c                |    4 
 drivers/net/ethernet/mellanox/mlx5/core/lib/pci_vsc.c               |   10 
 drivers/net/ethernet/netronome/nfp/nfp_net_common.c                 |    5 
 drivers/net/ethernet/realtek/r8169_main.c                           |   35 
 drivers/net/ethernet/seeq/ether3.c                                  |    2 
 drivers/net/gtp.c                                                   |   27 
 drivers/net/hyperv/netvsc_drv.c                                     |   30 
 drivers/net/ieee802154/Kconfig                                      |   13 
 drivers/net/ieee802154/mcr20a.c                                     |    5 
 drivers/net/macsec.c                                                |   18 
 drivers/net/phy/vitesse.c                                           |   14 
 drivers/net/ppp/ppp_async.c                                         |    2 
 drivers/net/slip/slhc.c                                             |   57 
 drivers/net/usb/cdc_ncm.c                                           |    8 
 drivers/net/usb/ipheth.c                                            |    5 
 drivers/net/usb/usbnet.c                                            |    3 
 drivers/net/wireless/ath/Kconfig                                    |   12 
 drivers/net/wireless/ath/ar5523/Kconfig                             |   14 
 drivers/net/wireless/ath/ath10k/wmi-tlv.c                           |    7 
 drivers/net/wireless/ath/ath10k/wmi.c                               |    2 
 drivers/net/wireless/ath/ath9k/Kconfig                              |   58 
 drivers/net/wireless/ath/ath9k/debug.c                              |    6 
 drivers/net/wireless/ath/ath9k/hif_usb.c                            |    6 
 drivers/net/wireless/ath/ath9k/htc_drv_debug.c                      |    2 
 drivers/net/wireless/atmel/Kconfig                                  |   42 
 drivers/net/wireless/intel/iwlegacy/common.c                        |    2 
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c                         |   22 
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c                   |    9 
 drivers/net/wireless/intel/iwlwifi/mvm/scan.c                       |    8 
 drivers/net/wireless/marvell/mwifiex/fw.h                           |    2 
 drivers/net/wireless/marvell/mwifiex/scan.c                         |    3 
 drivers/net/wireless/ralink/rt2x00/Kconfig                          |   44 
 drivers/net/wireless/realtek/rtw88/Kconfig                          |    1 
 drivers/net/wireless/realtek/rtw88/rtw8822c.c                       |   10 
 drivers/net/wireless/ti/wl12xx/Kconfig                              |    8 
 drivers/ntb/hw/intel/ntb_hw_gen1.c                                  |    2 
 drivers/ntb/hw/mscc/ntb_hw_switchtec.c                              |    1 
 drivers/nvdimm/nd_virtio.c                                          |    9 
 drivers/of/irq.c                                                    |   38 
 drivers/parport/procfs.c                                            |   22 
 drivers/pci/controller/dwc/pci-keystone.c                           |    2 
 drivers/pci/controller/pcie-xilinx-nwl.c                            |   24 
 drivers/pci/quirks.c                                                |    8 
 drivers/pinctrl/mvebu/pinctrl-dove.c                                |   42 
 drivers/pinctrl/pinctrl-at91.c                                      |    5 
 drivers/pinctrl/pinctrl-single.c                                    |    3 
 drivers/power/reset/brcmstb-reboot.c                                |    3 
 drivers/power/supply/axp20x_battery.c                               |   31 
 drivers/power/supply/max17042_battery.c                             |    5 
 drivers/pps/clients/pps_parport.c                                   |   14 
 drivers/reset/reset-berlin.c                                        |    3 
 drivers/rtc/rtc-at91sam9.c                                          |    1 
 drivers/s390/char/sclp_vt220.c                                      |    4 
 drivers/scsi/aacraid/aacraid.h                                      |    2 
 drivers/soc/versatile/soc-integrator.c                              |    1 
 drivers/soc/versatile/soc-realview.c                                |   20 
 drivers/soundwire/stream.c                                          |    8 
 drivers/spi/spi-bcm63xx.c                                           |    2 
 drivers/spi/spi-nxp-fspi.c                                          |    5 
 drivers/spi/spi-ppc4xx.c                                            |    7 
 drivers/spi/spi-s3c64xx.c                                           |    4 
 drivers/staging/iio/frequency/ad9832.c                              |    7 
 drivers/staging/wilc1000/wilc_hif.c                                 |    4 
 drivers/target/target_core_user.c                                   |    2 
 drivers/tty/serial/rp2.c                                            |    2 
 drivers/tty/vt/vt.c                                                 |    2 
 drivers/usb/chipidea/udc.c                                          |    8 
 drivers/usb/class/cdc-acm.c                                         |    2 
 drivers/usb/class/usbtmc.c                                          |    2 
 drivers/usb/dwc2/platform.c                                         |   26 
 drivers/usb/dwc3/core.c                                             |   22 
 drivers/usb/dwc3/core.h                                             |    4 
 drivers/usb/dwc3/gadget.c                                           |   11 
 drivers/usb/host/xhci-pci.c                                         |    5 
 drivers/usb/host/xhci-ring.c                                        |   16 
 drivers/usb/host/xhci.h                                             |    2 
 drivers/usb/misc/appledisplay.c                                     |   15 
 drivers/usb/misc/cypress_cy7c63.c                                   |    4 
 drivers/usb/misc/yurex.c                                            |    5 
 drivers/usb/phy/phy.c                                               |    2 
 drivers/usb/serial/option.c                                         |    8 
 drivers/usb/serial/pl2303.c                                         |    1 
 drivers/usb/serial/pl2303.h                                         |    4 
 drivers/usb/storage/unusual_devs.h                                  |   11 
 drivers/usb/typec/class.c                                           |    3 
 drivers/video/fbdev/hpfb.c                                          |    1 
 drivers/video/fbdev/pxafb.c                                         |    1 
 drivers/video/fbdev/sis/sis_main.c                                  |    2 
 drivers/watchdog/imx_sc_wdt.c                                       |   24 
 drivers/xen/swiotlb-xen.c                                           |    6 
 fs/btrfs/disk-io.c                                                  |   11 
 fs/btrfs/relocation.c                                               |    2 
 fs/ceph/addr.c                                                      |    1 
 fs/cifs/smb2pdu.c                                                   |    9 
 fs/erofs/decompressor.c                                             |   24 
 fs/exec.c                                                           |    3 
 fs/ext4/extents.c                                                   |    5 
 fs/ext4/ialloc.c                                                    |    2 
 fs/ext4/inline.c                                                    |   35 
 fs/ext4/inode.c                                                     |   11 
 fs/ext4/mballoc.c                                                   |   10 
 fs/ext4/migrate.c                                                   |    2 
 fs/ext4/namei.c                                                     |   14 
 fs/ext4/xattr.c                                                     |    4 
 fs/f2fs/acl.c                                                       |   23 
 fs/f2fs/dir.c                                                       |    3 
 fs/f2fs/f2fs.h                                                      |    4 
 fs/f2fs/file.c                                                      |   24 
 fs/f2fs/super.c                                                     |    4 
 fs/f2fs/xattr.c                                                     |   27 
 fs/fat/namei_vfat.c                                                 |    2 
 fs/fcntl.c                                                          |   14 
 fs/inode.c                                                          |    4 
 fs/jbd2/checkpoint.c                                                |   14 
 fs/jbd2/commit.c                                                    |   36 
 fs/jbd2/journal.c                                                   |    2 
 fs/jfs/jfs_discard.c                                                |   11 
 fs/jfs/jfs_dmap.c                                                   |   11 
 fs/jfs/jfs_imap.c                                                   |    2 
 fs/jfs/xattr.c                                                      |    2 
 fs/namespace.c                                                      |   23 
 fs/nfs/callback_xdr.c                                               |    2 
 fs/nfs/nfs4state.c                                                  |    1 
 fs/nfsd/nfs4idmap.c                                                 |   13 
 fs/nfsd/nfs4recover.c                                               |    8 
 fs/nfsd/nfs4state.c                                                 |   15 
 fs/nilfs2/btree.c                                                   |   12 
 fs/nilfs2/dir.c                                                     |   50 
 fs/nilfs2/namei.c                                                   |   42 
 fs/nilfs2/nilfs.h                                                   |    2 
 fs/nilfs2/page.c                                                    |    7 
 fs/ocfs2/aops.c                                                     |    5 
 fs/ocfs2/buffer_head_io.c                                           |    4 
 fs/ocfs2/file.c                                                     |    8 
 fs/ocfs2/journal.c                                                  |    7 
 fs/ocfs2/localalloc.c                                               |   19 
 fs/ocfs2/quota_local.c                                              |    8 
 fs/ocfs2/refcounttree.c                                             |   26 
 fs/ocfs2/xattr.c                                                    |   38 
 fs/proc/base.c                                                      |   61 
 fs/super.c                                                          |    3 
 fs/udf/inode.c                                                      |    9 
 fs/unicode/mkutf8data.c                                             |   70 
 fs/unicode/utf8data.h_shipped                                       | 6703 ++++------
 include/drm/drm_print.h                                             |   54 
 include/linux/fs.h                                                  |    2 
 include/linux/jbd2.h                                                |    4 
 include/linux/pci_ids.h                                             |    2 
 include/linux/skbuff.h                                              |    5 
 include/net/genetlink.h                                             |    3 
 include/net/mac80211.h                                              |   24 
 include/net/sch_generic.h                                           |    1 
 include/net/sock.h                                                  |    8 
 include/net/tcp.h                                                   |   21 
 include/trace/events/f2fs.h                                         |    3 
 include/trace/events/sched.h                                        |   84 
 include/uapi/linux/cec.h                                            |    6 
 include/uapi/linux/netfilter/nf_tables.h                            |    2 
 kernel/bpf/arraymap.c                                               |    3 
 kernel/bpf/devmap.c                                                 |    9 
 kernel/bpf/hashtab.c                                                |    3 
 kernel/bpf/helpers.c                                                |    4 
 kernel/bpf/lpm_trie.c                                               |    2 
 kernel/cgroup/cgroup.c                                              |    4 
 kernel/events/core.c                                                |    6 
 kernel/events/uprobes.c                                             |    2 
 kernel/kthread.c                                                    |   19 
 kernel/locking/lockdep.c                                            |  215 
 kernel/resource.c                                                   |   58 
 kernel/signal.c                                                     |   11 
 kernel/time/posix-clock.c                                           |    3 
 kernel/trace/trace.c                                                |   18 
 kernel/trace/trace_kprobe.c                                         |   76 
 kernel/trace/trace_output.c                                         |    6 
 kernel/trace/trace_probe.c                                          |    2 
 kernel/trace/trace_probe.h                                          |    1 
 lib/debugobjects.c                                                  |    5 
 lib/xz/xz_crc32.c                                                   |    2 
 lib/xz/xz_private.h                                                 |    4 
 mm/shmem.c                                                          |    2 
 mm/slab_common.c                                                    |    7 
 mm/swapfile.c                                                       |    2 
 mm/util.c                                                           |    2 
 net/bluetooth/af_bluetooth.c                                        |    1 
 net/bluetooth/bnep/core.c                                           |    3 
 net/bluetooth/rfcomm/sock.c                                         |    2 
 net/bridge/br_netfilter_hooks.c                                     |    5 
 net/can/bcm.c                                                       |    4 
 net/can/j1939/transport.c                                           |    8 
 net/core/dev.c                                                      |   29 
 net/core/sock_destructor.h                                          |   12 
 net/core/sock_map.c                                                 |    1 
 net/dccp/proto.c                                                    |    2 
 net/ipv4/af_inet.c                                                  |    2 
 net/ipv4/devinet.c                                                  |   41 
 net/ipv4/fib_frontend.c                                             |    2 
 net/ipv4/inet_connection_sock.c                                     |    2 
 net/ipv4/inet_fragment.c                                            |   70 
 net/ipv4/ip_fragment.c                                              |    2 
 net/ipv4/ip_gre.c                                                   |    6 
 net/ipv4/netfilter/nf_dup_ipv4.c                                    |    7 
 net/ipv4/tcp.c                                                      |    4 
 net/ipv4/tcp_diag.c                                                 |    4 
 net/ipv4/tcp_input.c                                                |   31 
 net/ipv4/tcp_ipv4.c                                                 |    5 
 net/ipv6/netfilter/nf_conntrack_reasm.c                             |    2 
 net/ipv6/netfilter/nf_dup_ipv6.c                                    |    7 
 net/ipv6/netfilter/nf_reject_ipv6.c                                 |   14 
 net/ipv6/tcp_ipv6.c                                                 |    2 
 net/l2tp/l2tp_netlink.c                                             |    4 
 net/mac80211/cfg.c                                                  |    6 
 net/mac80211/ieee80211_i.h                                          |    3 
 net/mac80211/iface.c                                                |   32 
 net/mac80211/key.c                                                  |   44 
 net/mac80211/mlme.c                                                 |   14 
 net/mac80211/tx.c                                                   |   78 
 net/mac80211/util.c                                                 |   45 
 net/netfilter/nf_conntrack_netlink.c                                |    7 
 net/netfilter/nf_tables_api.c                                       |    8 
 net/netfilter/nft_payload.c                                         |    3 
 net/netlink/af_netlink.c                                            |    3 
 net/netlink/genetlink.c                                             |   28 
 net/qrtr/qrtr.c                                                     |    2 
 net/sched/em_meta.c                                                 |    4 
 net/sched/sch_api.c                                                 |    9 
 net/sched/sch_taprio.c                                              |    7 
 net/sctp/diag.c                                                     |    4 
 net/sctp/socket.c                                                   |   24 
 net/tipc/bcast.c                                                    |    2 
 net/tipc/bearer.c                                                   |    8 
 net/wireless/nl80211.c                                              |   11 
 net/wireless/scan.c                                                 |    6 
 net/wireless/sme.c                                                  |    3 
 net/xfrm/xfrm_user.c                                                |    6 
 scripts/kconfig/merge_config.sh                                     |    2 
 security/Kconfig                                                    |   32 
 security/selinux/selinuxfs.c                                        |   31 
 security/smack/smackfs.c                                            |    2 
 security/tomoyo/domain.c                                            |    9 
 sound/core/init.c                                                   |   14 
 sound/firewire/amdtp-stream.c                                       |    3 
 sound/pci/asihpi/hpimsgx.c                                          |    2 
 sound/pci/hda/hda_generic.c                                         |    4 
 sound/pci/hda/patch_conexant.c                                      |   24 
 sound/pci/hda/patch_realtek.c                                       |  125 
 sound/pci/rme9652/hdsp.c                                            |    6 
 sound/pci/rme9652/hdspm.c                                           |    6 
 sound/soc/au1x/db1200.c                                             |    1 
 sound/soc/codecs/cs42l51.c                                          |    7 
 sound/soc/codecs/tda7419.c                                          |    1 
 sound/soc/meson/Kconfig                                             |    4 
 sound/soc/meson/Makefile                                            |    2 
 sound/soc/meson/axg-card.c                                          |  406 
 sound/soc/meson/meson-card-utils.c                                  |  385 
 sound/soc/meson/meson-card.h                                        |   55 
 tools/iio/iio_generic_buffer.c                                      |    4 
 tools/perf/builtin-sched.c                                          |    8 
 tools/perf/util/time-utils.c                                        |    4 
 tools/testing/ktest/ktest.pl                                        |    2 
 tools/testing/selftests/bpf/map_tests/sk_storage_map.c              |    2 
 tools/testing/selftests/bpf/prog_tests/flow_dissector.c             |    1 
 tools/testing/selftests/bpf/prog_tests/tcp_rtt.c                    |    1 
 tools/testing/selftests/bpf/test_lru_map.c                          |    3 
 tools/testing/selftests/breakpoints/breakpoint_test_arm64.c         |    2 
 tools/testing/selftests/breakpoints/step_after_suspend_test.c       |    5 
 tools/testing/selftests/vDSO/parse_vdso.c                           |    3 
 tools/usb/usbip/src/usbip_detach.c                                  |    1 
 virt/kvm/kvm_main.c                                                 |    5 
 437 files changed, 7154 insertions(+), 5445 deletions(-)

Aaron Thompson (1):
Bluetooth: Remove debugfs directory on module init failure

Abhishek Pandit-Subedi (1):
Bluetooth: btmrvl_sdio: Refactor irq wakeup

Adrian Ratiu (1):
proc: add config & param to block forcing mem writes

Aleksander Jan Bajkowski (1):
net: ethernet: lantiq_etop: fix memory disclosure

Aleksandr Mishin (3):
ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe() drm/msm: Fix incorrect file name output in adreno_request_fw()
ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node()

Aleksandrs Vinarskis (1):
ACPICA: iasl: handle empty connection_node

Alex Bee (1):
drm/rockchip: vop: Allow 4096px width scaling

Alex Deucher (2):
drm/amdgpu: properly handle vbios fake edid sizing drm/radeon: properly handle vbios fake edid sizing

Alex Hung (2):
drm/amd/display: Check stream before comparing them drm/amd/display: Initialize get_bytes_per_element's default to 1

Alex Williamson (1):
PCI: Mark Creative Labs EMU20k2 INTx masking as broken

Anastasia Kovaleva (1):
net: Fix an unsafe loop on the list

Anders Roxell (1):
scripts: kconfig: merge_config: config files: add a trailing newline

Andrew Davis (1):
power: reset: brcmstb: Do not go into infinite loop if reset fails

Andrew Jones (1):
of/irq: Support #msi-cells=<0> in of_msi_get_domain

Andrey Shumilin (2):
fbdev: sisfb: Fix strbuf array overflow
ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()

Andrii Nakryiko (1):
tracing/kprobes: Fix symbol counting logic by looking at modules as well

Andy Roulin (1):
netfilter: br_netfilter: fix panic with metadata_dst skb

Andy Shevchenko (3):
fs/namespace: fnic: Switch to use %ptTd
spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ
i2c: isch: Add missed 'else'

Ankit Agrawal (1):
clocksource/drivers/qcom: Add missing iounmap() on errors in msm_dt_timer_init()

Anshuman Khandual (1):
arm64: Add Cortex-715 CPU part definition

Anthony Iliopoulos (1):
mount: warn only once about timestamp range expiration

Anton Danilov (1):
ipv4: ip_gre: Fix drops of small packets in ipgre_xmit

Anumula Murali Mohan Reddy (1):
RDMA/cxgb4: Fix RDMA_CM_EVENT_UNREACHABLE error for iWARP

Armin Wolf (4):
ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails
ACPICA: Fix memory leak if acpi_ps_get_next_field() fails
ACPI: battery: Simplify battery hook locking
ACPI: battery: Fix possible crash when unregistering a battery hook

Arnd Bergmann (1):
nfsd: use ktime_get_seconds() for timestamps

Arseniy Krasnov (1):
ASoC: meson: axg-card: fix 'use-after-free'

Artem Sadovnikov (1):
ext4: fix i_data_sem unlock order in ext4_ind_migrate()

Artur Weber (1):
power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense

Baokun Li (4):
ext4: propagate errors from ext4_find_extent() in ext4_insert_range()
ext4: aovid use-after-free in ext4_ext_insert_extent()
ext4: fix double brelse() the buffer of the extents path
jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error

Barnabás Czémán (1):
iio: magnetometer: ak8975: Fix reading for ak099xx sensors

Ben Dooks (1):
spi: s3c64xx: fix timeout counters in flush_fifo

Benjamin B. Frost (1):
USB: serial: option: add support for Quectel EG916Q-GL

Benoît Monin (1):
net: skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension

Billy Tsai (2):
gpio: aspeed: Add the flush write to ensure the write complete.
gpio: aspeed: Use devm_clk api to manage clock source

Bitterblue Smith (1):
wifi: rtw88: 8822c: Fix reported RX band width

Bob Pearson (1):
RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt

Breno Leitao (1):
KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()

Byeonguk Jeong (1):
bpf: Fix out-of-bounds write in trie_get_next_key()

Chao Yu (4):
f2fs: enhance to update i_mode and acl atomically in f2fs_setattr()
f2fs: fix to update i_ctime in __f2fs_setxattr()
f2fs: remove unneeded check condition in __f2fs_setxattr()
f2fs: reduce expensive checkpoint trigger frequency

Charles Han (1):
mtd: powernv: Add check devm_kasprintf() returned value

Chen Yu (1):
kthread: fix task state in kthread worker if being frozen

Chris Morgan (1):

      power: supply: axp20x_battery: Remove design from min and max voltage

Christian Heusel (1):

      ACPI: resource: Add LG 16T90SP to irq1_level_low_skip_override[]

Christoph Hellwig (1):
fs: explicitly unregister per-superblock BDIs

Christophe JAILLET (6):
fbdev: hpfb: Fix an error handling path in hpfb_dio_probe() drm/stm: Fix an error handling path in stm_drm_platform_probe()
pps: remove usage of the deprecated ida_simple_xx() API
iio: hid-sensors: Fix an error handling path in _hid_sensor_set_report_latency()
ASoC: cs42l51: Fix some error handling paths in cs42l51_probe()
gtp: simplify error handling code in 'gtp_encap_enable()'

Christophe Leroy (1):
selftests: vDSO: fix vDSO symbols lookup for powerpc64

Chun-Yi Lee (1):
aoe: fix the potential use-after-free problem in more places

Chunyan Zhang (1):
riscv: Remove unused GENERATING_ASM_OFFSETS

Colin Ian King (1):

      r8169: Fix spelling mistake: "tx_underun" -> "tx_underrun"

Damien Le Moal (1):
ata: sata_sil: Rename sil_blacklist to sil_quirks

Dan Carpenter (2):
PCI: keystone: Fix if-statement expression in ks_pcie_quirk()
SUNRPC: Fix integer overflow in decode_rc_list()

Daniel Borkmann (1):
bpf: Fix bpf_strtol and bpf_strtoul helpers for 32bit

Daniel Gabay (2):
wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()
wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd()

Daniel Jordan (1):
ktest.pl: Avoid false positives with grub2 skip regex

Daniel Palmer (1):
net: amd: mvme147: Fix probe banner message

Daniele Palmas (1):
USB: serial: option: add Telit FN920C04 MBIM compositions

Danilo Krummrich (1):
mm: krealloc: consider spare memory for __GFP_ZERO

Dave Ertman (1):
ice: fix VLAN replay after reset

Dave Kleikamp (1):
jfs: Fix sanity check in dbMount

David Gow (1):
mm: only enforce minimum stack gap size if it's sensible

David Lechner (1):
clk: ti: dra7-atl: Fix leak of of_nodes

Dimitri Sivanich (1):
misc: sgi-gru: Don't disable preemption in GRU driver

Dmitry Antipov (5):
wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan()
wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors
wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()
net: sched: consistently use rcu_replace_pointer() in taprio_change()
net: sched: fix use-after-free in taprio_change()

Dmitry Kandybka (1):
wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()

Edward Adam Davis (5):
USB: usbtmc: prevent kernel-usb-infoleak
jfs: Fix uaf in dbFreeBits
jfs: check if leafidx greater than num leaves per dmap tree
ext4: no need to continue when the number of entries is 1
ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow

Emanuele Ghidoli (1):
gpio: davinci: fix lazy disable

Emil Gedenryd (1):
iio: light: opt3001: add missing full-scale range value

Emmanuel Grumbach (2):
wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead
wifi: iwlwifi: mvm: disconnect station vifs if recovery failed

Eric Dumazet (11):
sock_map: Add a cond_resched() in sock_hash_free()
netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()
netfilter: nf_tables: prevent nf_skb_duplicated corruption
net: avoid potential underflow in qdisc_pkt_len_init() with UFO
net: add more sanity checks to qdisc_pkt_len_init() net/sched: accept TCA_STAB only for root qdisc
net: annotate lockless accesses to sk->sk_ack_backlog
net: annotate lockless accesses to sk->sk_max_ack_backlog
ppp: fix ppp_async_encode() illegal access
slip: make slhc_remember() more robust against malicious packets
genetlink: hold RCU in genlmsg_mcast()

Faisal Hassan (1):
xhci: Fix Link TRB DMA in command ring stopped completion event

Felix Fietkau (2):
wifi: mac80211: skip non-uploaded keys in ieee80211_iter_keys
wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower

Ferry Meng (2):
ocfs2: add bounds checking to ocfs2_xattr_find_entry()
ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()

Filipe Manana (1):
btrfs: wait for fixup workers before stopping cleaner kthread during umount

Florian Fainelli (1):
tty: rp2: Fix reset with non forgiving PCIe host bridges

Florian Klink (1):
ARM: dts: bcm2837-rpi-cm3-io3: Fix HDMI hpd-gpio pin

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

Foster Snowhill (1):
usbnet: ipheth: fix carrier detection in modes 1 and 4

Francis Laniel (1):
tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols

Gabriel Krisman Bertazi (1):
unicode: Don't special case ignorable code points

Gao Xiang (1):
erofs: fix lz4 inplace decompression

Gautham Ananthakrishna (1):
ocfs2: reserve space for inline xattr before attaching reflink tree

Geert Uytterhoeven (2):
drm/radeon/r100: Handle unknown family in r100_cp_init_microcode() of/irq: Refer to actual buffer size in of_irq_parse_one()

Gerald Schaefer (1):
s390/mm: Add cond_resched() to cmm_alloc/free_pages()

Gianfranco Trad (1):
udf: fix uninit-value use in udf_get_fileshortad

Greg Kroah-Hartman (2):
Revert "driver core: Fix uevent_show() vs driver detach race" Linux 5.4.285

Guenter Roeck (1):
hwmon: (max16065) Fix overflows seen when writing limits

Guillaume Stols (2):
iio: adc: ad7606: fix oversampling gpio array
iio: adc: ad7606: fix standby gpio state to match the documentation

Guoqing Jiang (2):
nfsd: call cache_put if xdr_reserve_space returns NULL
hwrng: mtk - Use devm_pm_runtime_enable

Gustavo A. R. Silva (1):
wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()

Hagar Hemdan (1):
gpio: prevent potential speculation leaks in gpio_device_get_desc()

Hailey Mothershead (1):
crypto: aead,cipher - zeroize key buffer after use

Haiyang Zhang (1):
hv_netvsc: Fix VF namespace also in synthetic NIC NETDEV_REGISTER event

Han Xu (1):
spi: nxp-fspi: fix the KASAN report out-of-bounds bug

Hans Verkuil (1):
media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags

Hans de Goede (4):
ACPI: resource: Add Asus Vivobook X1704VAP to irq1_level_low_skip_override[]
ACPI: resource: Add Asus ExpertBook B2502CVA to irq1_level_low_skip_override[]
i2c: i801: Use a different adapter-name for IDF adapters drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA

Harshit Mogalapalli (1):
usb: yurex: Fix inconsistent locking bug in yurex_read()

Heiko Carstens (1):
s390/facility: Disable compile time optimization for decompressor code

Heiner Kallweit (2):
r8169: add tally counter fields added with RTL8125
r8169: avoid unsolicited interrupts

Helge Deller (3):
parisc: Fix itlb miss handler for 64-bit programs
parisc: Fix 64-bit userspace syscall path
parisc: Fix stack start for ADDR_NO_RANDOMIZE personality

Heming Zhao (1):
ocfs2: fix the la space leak when unmounting an ocfs2 volume

Hermann Lauer (1):

      power: supply: axp20x_battery: allow disabling battery charging

Hongbo Li (1):
ASoC: allow module autoloading for table db1200_pids

Huang Ying (1):
resource: fix region_intersects() vs add_memory_driver_managed()

Ian Rogers (1):
perf time-utils: Fix 32-bit nsec parsing

Icenowy Zheng (1):
usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip

Ido Schimmel (1):
ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family

Jacky Chou (2):
net: ftgmac100: Enable TX interrupt to avoid TX timeout
net: ftgmac100: Ensure tx descriptor updates are visible

Jacob Keller (1):
ice: fix accounting for filters shared by multiple VSIs

Janis Schoetterl-Glausch (3):
KVM: s390: gaccess: Refactor gpa and length calculation
KVM: s390: gaccess: Refactor access address range check
KVM: s390: gaccess: Cleanup access to guest pages

Jann Horn (2):
firmware_loader: Block path traversal
f2fs: Require FMODE_WRITE for atomic write ioctls

Jaroslav Kysela (1):
ALSA: core: add isascii() check to card ID generator

Jason Xing (1):
tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process

Jason-JH.Lin (1):
Revert "drm/mipi-dsi: Set the fwnode for mipi_dsi_device"

Javier Carrasco (5):
iio: dac: ltc1660: add missing select REGMAP_SPI in Kconfig
iio: dac: stm32-dac-core: add missing select REGMAP_MMIO in Kconfig
iio: adc: ti-ads8688: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
iio: proximity: mb1232: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
iio: adc: ti-ads124s08: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig

Jeongjun Park (3):
jfs: fix out-of-bounds in dbNextAG() and diAlloc()
mm: shmem: fix data-race in shmem_getattr()
vt: prevent kernel-infoleak in con_font_get()

Jerome Brunet (1):
ASoC: meson: axg: extract sound card utils

Jiawei Ye (2):
wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param
smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso

Jim Mattson (1):
x86/cpufeatures: Define X86_FEATURE_AMD_IBPB_RET

Jinjie Ruan (10):
riscv: Fix fp alignment bug in perf_callchain_user()
ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()
ieee802154: Fix build error
net: ieee802154: mcr20a: Use IRQF_NO_AUTOEN flag in request_irq()
Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq()
nfp: Use IRQF_NO_AUTOEN flag in request_irq()
spi: bcm63xx: Fix module autoloading
i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq()
posix-clock: Fix missing timespec64 check in pc_clock_settime()
posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()

Jisheng Zhang (1):
riscv: define ILLEGAL_POINTER_VALUE for 64bit

Johannes Berg (3):
wifi: mac80211: fix potential key use-after-free
mac80211: do drv_reconfig_complete() before restarting all
mac80211: always have ieee80211_sta_restart()

Jonas Blixt (1):
watchdog: imx_sc_wdt: Don't disable WDT in suspend

Jonas Karlman (2):
drm/rockchip: dw_hdmi: Fix reading EDID when using a forced mode
clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228

Jonathan Marek (1):
drm/msm/dsi: fix 32-bit signed integer extension in pclk_rate calculation

Jonathan McDowell (1):
tpm: Clean up TPM space after command failure

Jose Alberto Reguero (1):
usb: xhci: Fix problem with xhci resume from suspend

Joseph Qi (2):
ocfs2: fix uninit-value in ocfs2_get_block()
ocfs2: cancel dqi_sync_work before freeing oinfo

Josh Hunt (1):
tcp: check skb is non-NULL in tcp_rto_delta_us()

José Relvas (1):
ALSA: hda/realtek: Add subwoofer quirk for Acer Predator G9-593

Juergen Gross (2):
xen: use correct end address of kernel for conflict checking xen/swiotlb: add alignment check for dma buffers

Julian Sun (2):
vfs: fix race between evice_inodes() and find_inode()&iput()
ocfs2: fix null-ptr-deref when journal load failed.

Junhao Xie (1):
USB: serial: pl2303: add device id for Macrosilicon MS3020

Junlin Li (2):
drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error
drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error

Junxian Huang (1):
RDMA/hns: Optimize hem allocation performance

Kailang Yang (3):
ALSA: hda/realtek - Fixed ALC256 headphone no sound
ALSA: hda/realtek - FIxed ALC285 headphone no sound
ALSA: hda/realtek: Update default depop procedure

Kaixin Wang (3):
net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition
fbdev: pxafb: Fix possible use after free in pxafb_task()
ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition

Kalesh AP (1):
RDMA/bnxt_re: Return more meaningful error

Kees Cook (2):
x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments()
scsi: aacraid: Rearrange order of struct aac_srb_unit

Kemeng Shi (1):
ext4: avoid negative min_clusters in find_group_orlov()

Krzysztof Kozlowski (14):
soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps"
ARM: dts: imx7d-zii-rmu2: fix Ethernet PHY pinctrl property
ARM: versatile: fix OF node leak in CPUs prepare
reset: berlin: fix OF node leak in probe() error path
soc: versatile: integrator: fix OF node leak in probe() error path
soc: versatile: realview: fix memory leak during device remove
soc: versatile: realview: fix soc_dev leak during device remove
drivers: net: Fix Kconfig indentation, continued
net: hisilicon: hip04: fix OF node leak in probe()
net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info()
net: hisilicon: hns_mdio: fix OF node leak in probe()
firmware: tegra: bpmp: Drop unused mbox_client_to_bpmp()
rtc: at91sam9: fix OF node leak in probe() error path
clk: bcm: bcm53573: fix OF node leak in init

Kuniyuki Iwashima (2):
can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().
ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR).

Lasse Collin (1):
xz: cleanup CRC32 edits from 2018

Laurent Pinchart (2):
Remove *.orig pattern from .gitignore
media: sun4i_csi: Implement link validate for sun4i_csi subdev

Lee Jones (1):
usb: yurex: Replace snprintf() with the safer scnprintf() variant

Leo Yan (1):
tracing: Consider the NULL character when validating the event length

Li Lingfeng (2):
nfsd: return -EINVAL when namelen is 0
nfs: fix memory leak in error path of nfs4_do_reclaim

Liao Chen (3):
ASoC: tda7419: fix module autoloading
spi: bcm63xx: Enable module autoloading
mailbox: rockchip: fix a typo in module autoloading

Linus Walleij (1):
net: ethernet: cortina: Drop TSO support

Liu Shixin (1):
mm/swapfile: skip HugeTLB pages for unuse_vma

Lizhi Xu (2):
ocfs2: remove unreasonable unlock in ocfs2_read_blocks
ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate

Luis Henriques (SUSE) (2):
ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()
ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()

Luiz Augusto von Dentz (3):
Bluetooth: btusb: Fix not handling ZPL/short-transfer
Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change
Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001

Luo Gengkun (1):
perf/core: Fix small negative period being ignored

Ma Ke (3):
spi: ppc4xx: handle irq_of_parse_and_map() errors
pps: add an error check in parport_attach
drm: omapdrm: Add missing check for alloc_ordered_workqueue

Maciej Falkowski (1):
dt-bindings: gpu: Convert Samsung Image Rotator to dt-schema

Manikanta Pubbisetty (1):
wifi: ath10k: Fix memory leak in management tx

Marek Vasut (1):
i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume

Mario Limonciello (1):
drm/amd: Guard against bad data for ATIF ACPI method

Mark Rutland (5):
arm64: cputype: Add Neoverse-N3 definitions
arm64: errata: Expand speculative SSBS workaround once more
arm64: probes: Remove broken LDR (literal) uprobe support
arm64: probes: Fix simulate_ldr*_literal()
arm64: probes: Fix uprobes for big-endian kernels

Masami Hiramatsu (1):
selftests: breakpoints: Fix a typo of function name

Mathias Krause (1):
Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal

Mathias Nyman (1):
xhci: Fix incorrect stream context type macro

Mathy Vanhoef (2):
mac80211: parse radiotap header when selecting Tx queue
mac80211: Fix NULL ptr deref for injected rate info

Matthew Brost (1):
drm/printer: Allow NULL data in devcoredump printer

Mauricio Faria de Oliveira (1):
jbd2: introduce/export functions jbd2_journal_submit|finish_inode_data_buffers()

Michael Kelley (1):
x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency

Michael Mueller (1):

      KVM: s390: Change virtual to physical address access in diag 0x258 handler

Michael S. Tsirkin (1):
virtio_console: fix misc probe bugs

Mickaël Salaün (1):
fs: Fix file_set_fowner LSM hook inconsistencies

Mike Rapoport (1):
microblaze: don't treat zero reserved memory regions as error

Mike Tipton (1):
clk: qcom: clk-rpmh: Fix overflow in BCM vote

Mikhail Lobanov (2):
RDMA/cxgb4: Added NULL check for lookup_atid
drbd: Add NULL check for net_conf to prevent dereference in state validation

Minjie Du (1):
wifi: ath9k: fix parameter check in ath9k_init_debug()

Mirsad Todorovac (1):
mtd: slram: insert break after errors in parsing the map

Mohamed Khalfella (2):
net/mlx5: Added cond_resched() to crdump collection
igb: Do not bring the device up after non-fatal error

Moon Yeounsu (1):
net: ethernet: use ip_hdrlen() instead of bit shift

Nathan Chancellor (1):
x86/resctrl: Annotate get_mem_config() functions as __init

Neal Cardwell (2):
tcp: fix to allow timestamp undo if no retransmits were sent
tcp: fix tcp_enter_recovery() to zero retrans_stamp when it's safe

NeilBrown (1):
nfsd: fix delegation_blocked() to block correctly for at least 30 seconds

Nico Boehr (1):
KVM: s390: gaccess: Check if guest address is in memslot

Nikita Zhandarovich (3):
drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets
f2fs: prevent possible int overflow in dir_block_index()
f2fs: avoid potential int overflow in sanity_check_area_boundary()

Nikolay Kuratov (1):
drm/vmwgfx: Handle surface check failure correctly

Nuno Sa (1):

      Input: adp5589-keys - fix adp5589_gpio_get_value()

OGAWA Hirofumi (1):
fat: fix uninitialized variable

Oder Chiou (1):
ALSA: hda/realtek: Fix the push button function for the ALC257

Olaf Hering (1):
mount: handle OOM on mnt_warn_timestamp_expiry

Oleg Nesterov (1):
uprobes: fix kernel info leak via "[uprobes]" vma

Oliver Neukum (7):
USB: appledisplay: close race between probe and completion handler
USB: misc: cypress_cy7c63: check for short transfer
USB: class: CDC-ACM: fix race between get_serial and set_serial
USB: misc: yurex: fix race between read and write
CDC-NCM: avoid overflow in sanity checking
Revert "usb: yurex: Replace snprintf() with the safer scnprintf() variant"
net: usb: usbnet: fix name regression

Omar Sandoval (1):
blk-rq-qos: fix crash on rq_qos_wait vs. rq_qos_wake_function race

Pablo Neira Ayuso (5):
netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire
netfilter: nf_tables: reject element expiration with no timeout
netfilter: nf_tables: reject expiration higher than timeout
gtp: allow -1 to be specified as file description from userspace
netfilter: nft_payload: sanitize offset and length before calling skb_checksum()

Paul Moore (1):
selinux: improve error checking in sel_write_load()

Paulo Alcantara (1):
smb: client: fix OOBs when building SMB2_IOCTL request

Paulo Miguel Almeida (2):
drm/amdgpu: Replace one-element array with flexible-array member drm/radeon: Replace one-element array with flexible-array member

Pawel Dembicki (1):
net: phy: vitesse: repair vsc73xx autonegotiation

Pedro Tammela (1):
net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT

Pei Xiao (1):
ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()

Peter Zijlstra (2):
locking/lockdep: Fix bad recursion pattern
locking/lockdep: Rework lockdep_lock

Phil Sutter (1):
netfilter: uapi: NFTA_FLOWTABLE_HOOK is NLA_NESTED

Philip Chen (1):
virtio_pmem: Check device status before requesting flush

Qiu-ji Chen (1):
drbd: Fix atomicity violation in drbd_uuid_set_bm()

Qu Wenruo (1):
btrfs: fix a NULL pointer dereference when failed to start a new trasacntion

Quentin Schulz (1):
arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma

Qun-Wei Lin (1):
mm: krealloc: Fix MTE false alarm in __do_krealloc

Rafael J. Wysocki (1):
ACPI: EC: Do not release locks during operation region accesses

Remington Brasga (1):
jfs: UBSAN: shift-out-of-bounds in dbFindBits

Rob Clark (2):
kthread: add kthread_work tracepoints drm/crtc: fix uninitialized variable use even harder

Robert Hancock (1):
i2c: xiic: Wait for TX empty to avoid missed TX NAKs

Robin Chen (1):
drm/amd/display: Round calculated vtotal

Rosen Penev (1):
net: ibm: emac: mal: fix wrong goto

Ryusuke Konishi (7):
nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()
nilfs2: determine empty node blocks as corrupted
nilfs2: fix potential oob read in nilfs_btree_check_delete()
nilfs2: propagate directory read errors from nilfs_find_entry()
nilfs2: fix kernel bug due to missing clearing of buffer delay flag
nilfs2: fix potential deadlock with newly created symlinks
nilfs2: fix kernel bug due to missing clearing of checked flag

Sabrina Dubroca (2):
macsec: don't increment counters for an unrelated SA
xfrm: validate new SA's prefixlen using SA family when sel.family is unset

Saravanan Vajravel (1):
RDMA/bnxt_re: Fix incorrect AVID type in WQE structure

Sean Anderson (3):
net: dpaa: Pad packets to ETH_ZLEN
PCI: xilinx-nwl: Fix register misspelling
PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler

Sebastian Reichel (1):
clk: rockchip: fix error for unknown clocks

Selvarasu Ganesan (1):
usb: dwc3: core: Stop processing of pending events if controller is halted

Shahar Shitrit (1):
net/mlx5e: Add missing link modes to ptys2ethtool_map

Shawn Shao (1):
usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the Crashkernel Scenario

Sherry Yang (1):
drm/msm: fix %s null argument error

Shubham Panwar (1):
ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid detection issue

Simon Horman (3):
netfilter: ctnetlink: compile ctnetlink_label_size with CONFIG_NF_CONNTRACK_EVENTS
tipc: guard against string buffer overrun
net: mvpp2: Increase size of queue_name buffer

Srinivasan Shanmugam (1):
drm/amd/display: Fix index out of bounds in degamma hardware format translation

Stefan Wahren (1):
mailbox: bcm2835: Fix timeout during suspend mode

Stephen Boyd (3):
i2c: qcom-geni: Let firmware specify irq trigger flags
i2c: qcom-geni: Grow a dev pointer to simplify code
clk: qcom: rpmh: Simplify clk_rpmh_bcm_send_cmd()

Steven Rostedt (Google) (2):
tracing: Remove precision vsnprintf() check from print event
tracing: Have saved_cmdlines arrays all in one allocation

Su Hui (1):
net: tipc: avoid possible garbage value

Subramanian Ananthanarayanan (1):
PCI: Add ACS quirk for Qualcomm SA8775P

SurajSonawane2415 (1):
hid: intel-ish-hid: Fix uninitialized variable 'rv' in ish_fw_xfer_direct_dma

Suzuki K Poulose (1):
coresight: tmc: sg: Do not leak sg_table

Takashi Iwai (5):
ALSA: hda/generic: Unconditionally prefer preferred_dacs pairs
ALSA: hda/conexant: Fix conflicting quirk for System76 Pangolin
ALSA: asihpi: Fix potential OOB array access
ALSA: hdsp: Break infinite MIDI input flush loop
parport: Proper fix for array out-of-bounds access

Tao Chen (1):
bpf: Check percpu map value size first

Tetsuo Handa (1):
tomoyo: fallback to realpath if symlink's pathname does not exist

Thadeu Lima de Souza Cascardo (4):
ext4: return error on ext4_find_inline_entry
ext4: avoid OOB when system.data xattr changes underneath the filesystem
ext4: ext4_search_dir should return a proper error
usb: typec: altmode should keep reference to parent

Thomas Blocher (1):
pinctrl: at91: make it work with current gpiolib

Thomas Gleixner (2):
PCI: xilinx-nwl: Use irq_data_get_irq_chip_data()
signal: Replace BUG_ON()s

Thomas Richter (1):
s390/cpum_sf: Remove WARN_ON_ONCE statements

Thomas Weißschuh (2):
ACPI: sysfs: validate return type of _STR method s390/sclp_vt220: Convert newlines to CRLF instead of LFCR

Thomas Zimmermann (1):
drm: Consistently use struct drm_mode_rect for FB_DAMAGE_CLIPS

Toke Høiland-Jørgensen (3):
bpf: Fix DEVMAP_HASH overflow check on 32-bit arches
wifi: ath9k: Remove error checks when creating debugfs entries
wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit

Tommy Huang (1):
i2c: aspeed: Update the stop sw state when the bus recovery occurs

Tony Ambardar (4):
selftests/bpf: Fix compile error from rlim_t in sk_storage_map.c selftests/bpf: Fix compiling flow_dissector.c with musl-libc selftests/bpf: Fix compiling tcp_rtt.c with musl-libc selftests/bpf: Fix error compiling test_lru_map.c

Ville Syrjälä (1):
wifi: iwlegacy: Clear stale interrupts before resuming device

Vladimir Lypak (3):
drm/msm/a5xx: disable preemption in submits by default drm/msm/a5xx: properly clear preemption records on resume drm/msm/a5xx: fix races in preemption evaluation stage

Wade Wang (1):
HID: plantronics: Workaround for an unexcepted opposite volume key

Waiman Long (1):
locking/lockdep: Avoid potential access of invalid memory in lock_class

Wang Hai (4):
net: ethernet: aeroflex: fix potential memory leak in greth_start_xmit_gbit()
net: systemport: fix potential memory leak in bcm_sysport_xmit() net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()
be2net: fix potential memory leak in be_xmit()

Wang Jianzheng (1):
pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function

WangYuli (1):
PCI: Add function 0 DMA alias quirk for Glenfly Arise chip

Werner Sembach (1):
ACPI: resource: Add another DMI match for the TongFang GMxXGxx

Wojciech Gładysz (1):
ext4: nested locking for xattr inode

Wolfram Sang (1):
ipmi: docs: don't advertise deprecated sysfs entries

Xin Long (4):
sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start
sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start
ipv4: give an IPv4 dev to blackhole_netdev
net: support ip generic csum processing in skb_csum_hwoffload_help

Xiongfeng Wang (1):
firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state()

Xiu Jianfeng (1):
cgroup: Fix potential overflow issue when checking max_depth

Xiubo Li (1):
ceph: remove the incorrect Fw reference check when dirtying pages

Xu Yang (1):
usb: chipidea: udc: enable suspend interrupt after usb reset

Yang Jihong (2):
perf sched timehist: Fix missing free of session in perf_sched__timehist() perf sched timehist: Fixed timestamp error when unable to confirm event sched_in time

Yang Yingliang (1):
pinctrl: single: fix missing error code in pcs_probe()

Ye Bin (1):
Bluetooth: bnep: fix wild-memory-access in proto_unregister

Yifei Liu (1):
selftests: breakpoints: use remaining time to check if suspend succeed

Yonatan Maman (1):
nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error

Yonggil Song (1):
f2fs: fix typo

Youghandhar Chintala (1):
mac80211: Add support to trigger sta disconnect on hardware restart

Youssef Samir (1):
net: qrtr: Update packets cloning when broadcasting

Yu Kuai (3):
block, bfq: fix possible UAF for bfqq->bic with merge chain block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator() block, bfq: don't break merge chain in bfq_split_bfqq()

Yuesong Li (1):
drivers:drm:exynos_drm_gsc:Fix wrong assignment in gsc_bind()

Yunke Cao (1):
media: videobuf2-core: clear memory related fields in __vb2_plane_dmabuf_put()

Yuntao Liu (1):
hwmon: (ntc_thermistor) fix module autoloading

Zhang Changzhong (1):
can: j1939: use correct function name in comment

Zhang Rui (1):
x86/apic: Always explicitly disarm TSC-deadline timer

Zhao Mengmeng (1):
jfs: Fix uninit-value access of new_ea in ea_buffer

Zhen Lei (1):
debugobjects: Fix conditions in fill_pool()

Zheng Wang (1):
media: venus: fix use after free bug in venus_remove due to race condition

Zhiguo Niu (1):
lockdep: fix deadlock issue between lockdep and rcu

Zhu Jun (1):
tools/iio: Add memory allocation failure check for trigger_name

Zhu Yanjun (1):
RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency

Zicheng Qu (1):
staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()

Zijun Hu (2):
driver core: bus: Return -EIO instead of 0 when show/store invalid bus attribute
usb: phy: Fix API devm_usb_put_phy() can not release the phy

Zong-Zhe Yang (1):
wifi: rtw88: select WANT_DEV_COREDUMP

Zongmin Zhou (1):
usbip: tools: Fix detach_port() invalid port error path

hongchi.peng (1):
drm: komeda: Fix an issue related to normalized zpos

junhua huang (2):
arm64:uprobe fix the uprobe SWBP_INSN in big-endian arm64/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning

[email protected] (1):
Minor fixes to the CAIF Transport drivers Kconfig file

yangerkun (1):
ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard

zhanchengbin (1):
ext4: fix inode tree inconsistency caused by ENOMEM

zhong jiang (1):
drivers/misc: ti-st: Remove unneeded variable in st_tty_open

author maintainer
#1 lore raw
.gitignore +0 -1
index 70580bdd352c..9875d8f3090f 100644
@@ -120,7 +120,6 @@ GTAGS
 # id-utils files
 ID
 
-*.orig
 *~
 \#*#
 
Documentation/IPMI.txt +1 -1
index 5ef1047e2e66..f3c6530d9f35 100644
@@ -518,7 +518,7 @@ at module load time (for a module) with::
 	[dbg_probe=1]
 
 The addresses are normal I2C addresses.  The adapter is the string
-name of the adapter, as shown in /sys/class/i2c-adapter/i2c-<n>/name.
+name of the adapter, as shown in /sys/bus/i2c/devices/i2c-<n>/name.
 It is *NOT* i2c-<n> itself.  Also, the comparison is done ignoring
 spaces, so if the name is "This is an I2C chip" you can say
 adapter_name=ThisisanI2cchip.  This is because it's hard to pass in
Documentation/admin-guide/kernel-parameters.txt +10 -0
index 6143c4cb7e98..9975dcab99c3 100644
@@ -3812,6 +3812,16 @@
 	printk.time=	Show timing data prefixed to each printk message line
 			Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
 
+	proc_mem.force_override= [KNL]
+			Format: {always | ptrace | never}
+			Traditionally /proc/pid/mem allows memory permissions to be
+			overridden without restrictions. This option may be set to
+			restrict that. Can be one of:
+			- 'always': traditional behavior always allows mem overrides.
+			- 'ptrace': only allow mem overrides for active ptracers.
+			- 'never':  never allow mem overrides.
+			If not specified, default is the CONFIG_PROC_MEM_* choice.
+
 	processor.max_cstate=	[HW,ACPI]
 			Limit processor to maximum C-state
 			max_cstate=9 overrides any DMI blacklist limit.
Documentation/arm64/silicon-errata.rst +4 -0
index 00755541a9c5..17da97209976 100644
@@ -98,6 +98,8 @@ stable kernels.
 +----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Cortex-A710     | #3324338        | ARM64_ERRATUM_3194386       |
 +----------------+-----------------+-----------------+-----------------------------+
+| ARM            | Cortex-A715     | #3456084        | ARM64_ERRATUM_3194386       |
++----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Cortex-A720     | #3456091        | ARM64_ERRATUM_3194386       |
 +----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Cortex-A725     | #3456106        | ARM64_ERRATUM_3194386       |
@@ -124,6 +126,8 @@ stable kernels.
 +----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Neoverse-N2     | #3324339        | ARM64_ERRATUM_3194386       |
 +----------------+-----------------+-----------------+-----------------------------+
+| ARM            | Neoverse-N3     | #3456111        | ARM64_ERRATUM_3194386       |
++----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Neoverse-V1     | #3324341        | ARM64_ERRATUM_3194386       |
 +----------------+-----------------+-----------------+-----------------------------+
 | ARM            | Neoverse-V2     | #3324336        | ARM64_ERRATUM_3194386       |
Documentation/devicetree/bindings/gpu/samsung-rotator.txt deleted +0 -28
deleted file mode 100644
index 3aca2578da0b..000000000000
@@ -1,28 +0,0 @@
-* Samsung Image Rotator
-
-Required properties:
-  - compatible : value should be one of the following:
-	* "samsung,s5pv210-rotator" for Rotator IP in S5PV210
-	* "samsung,exynos4210-rotator" for Rotator IP in Exynos4210
-	* "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412
-	* "samsung,exynos5250-rotator" for Rotator IP in Exynos5250
-
-  - reg : Physical base address of the IP registers and length of memory
-	  mapped region.
-
-  - interrupts : Interrupt specifier for rotator interrupt, according to format
-		 specific to interrupt parent.
-
-  - clocks : Clock specifier for rotator clock, according to generic clock
-	     bindings. (See Documentation/devicetree/bindings/clock/exynos*.txt)
-
-  - clock-names : Names of clocks. For exynos rotator, it should be "rotator".
-
-Example:
-	rotator@12810000 {
-		compatible = "samsung,exynos4210-rotator";
-		reg = <0x12810000 0x1000>;
-		interrupts = <0 83 0>;
-		clocks = <&clock 278>;
-		clock-names = "rotator";
-	};
Documentation/devicetree/bindings/gpu/samsung-rotator.yaml new file +48 -0

48 lines not on this page · raw message

Makefile +1 -1
index 6a4587f51d00..831fc4cffbbc 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 284
+SUBLEVEL = 285
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts +1 -1
index 3dfce4312dfc..a2ef43c2105a 100644
@@ -77,7 +77,7 @@
 };
 
 &hdmi {
-	hpd-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
+	hpd-gpios = <&expgpio 0 GPIO_ACTIVE_LOW>;
 	power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
 	status = "okay";
 };
arch/arm/boot/dts/imx7d-zii-rmu2.dts +1 -1
index 2b8d6cc45a53..7d9209cd4c31 100644
@@ -350,7 +350,7 @@
 
 &iomuxc_lpsr {
 	pinctrl_enet1_phy_interrupt: enet1phyinterruptgrp {
-		fsl,phy = <
+		fsl,pins = <
 			MX7D_PAD_LPSR_GPIO1_IO02__GPIO1_IO2	0x08
 		>;
 	};
arch/arm/mach-realview/platsmp-dt.c +1 -0
index 5ae783767a5d..083e6a6f7520 100644
@@ -66,6 +66,7 @@ static void __init realview_smp_prepare_cpus(unsigned int max_cpus)
 		return;
 	}
 	map = syscon_node_to_regmap(np);
+	of_node_put(np);
 	if (IS_ERR(map)) {
 		pr_err("PLATSMP: No syscon regmap\n");
 		return;
arch/arm64/Kconfig +2 -0
index 562558e0915c..82eba7ffa1d5 100644
@@ -602,6 +602,7 @@ config ARM64_ERRATUM_3194386
 	  * ARM Cortex-A78C erratum 3324346
 	  * ARM Cortex-A78C erratum 3324347
 	  * ARM Cortex-A710 erratam 3324338
+	  * ARM Cortex-A715 errartum 3456084
 	  * ARM Cortex-A720 erratum 3456091
 	  * ARM Cortex-A725 erratum 3456106
 	  * ARM Cortex-X1 erratum 3324344
@@ -612,6 +613,7 @@ config ARM64_ERRATUM_3194386
 	  * ARM Cortex-X925 erratum 3324334
 	  * ARM Neoverse-N1 erratum 3324349
 	  * ARM Neoverse N2 erratum 3324339
+	  * ARM Neoverse-N3 erratum 3456111
 	  * ARM Neoverse-V1 erratum 3324341
 	  * ARM Neoverse V2 erratum 3324336
 	  * ARM Neoverse-V3 erratum 3312417
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +22 -1
index 7fea9d6fbdcf..a5aef31ada30 100644
@@ -148,6 +148,22 @@
 	drive-impedance-ohm = <33>;
 };
 
+&gpio3 {
+	/*
+	 * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module
+	 * eMMC and SPI flash powered-down initially (in fact it keeps the
+	 * reset signal asserted). BIOS_DISABLE_OVERRIDE pin allows to override
+	 * that signal so that eMMC and SPI can be used regardless of the state
+	 * of the signal.
+	 */
+	bios-disable-override-hog {
+		gpios = <RK_PD5 GPIO_ACTIVE_LOW>;
+		gpio-hog;
+		line-name = "bios_disable_override";
+		output-high;
+	};
+};
+
 &gmac {
 	assigned-clocks = <&cru SCLK_RMII_SRC>;
 	assigned-clock-parents = <&clkin_gmac>;
@@ -432,9 +448,14 @@
 
 &pinctrl {
 	pinctrl-names = "default";
-	pinctrl-0 = <&q7_thermal_pin>;
+	pinctrl-0 = <&q7_thermal_pin &bios_disable_override_hog_pin>;
 
 	gpios {
+		bios_disable_override_hog_pin: bios-disable-override-hog-pin {
+			rockchip,pins =
+				<3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down>;
+		};
+
 		q7_thermal_pin: q7-thermal-pin {
 			rockchip,pins =
 				<0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
arch/arm64/include/asm/cputype.h +4 -0
index 18b5267ff48e..bd2c9057fba9 100644
@@ -77,6 +77,7 @@
 #define ARM_CPU_PART_CORTEX_A78		0xD41
 #define ARM_CPU_PART_CORTEX_X1		0xD44
 #define ARM_CPU_PART_CORTEX_A710	0xD47
+#define ARM_CPU_PART_CORTEX_A715	0xD4D
 #define ARM_CPU_PART_CORTEX_X2		0xD48
 #define ARM_CPU_PART_NEOVERSE_N2	0xD49
 #define ARM_CPU_PART_CORTEX_A78C	0xD4B
@@ -88,6 +89,7 @@
 #define ARM_CPU_PART_NEOVERSE_V3	0xD84
 #define ARM_CPU_PART_CORTEX_X925	0xD85
 #define ARM_CPU_PART_CORTEX_A725	0xD87
+#define ARM_CPU_PART_NEOVERSE_N3	0xD8E
 
 #define APM_CPU_PART_POTENZA		0x000
 
@@ -126,6 +128,7 @@
 #define MIDR_CORTEX_A78	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78)
 #define MIDR_CORTEX_X1	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1)
 #define MIDR_CORTEX_A710 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A710)
+#define MIDR_CORTEX_A715 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A715)
 #define MIDR_CORTEX_X2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X2)
 #define MIDR_NEOVERSE_N2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N2)
 #define MIDR_CORTEX_A78C	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78C)
@@ -137,6 +140,7 @@
 #define MIDR_NEOVERSE_V3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3)
 #define MIDR_CORTEX_X925 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X925)
 #define MIDR_CORTEX_A725 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A725)
+#define MIDR_NEOVERSE_N3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N3)
 #define MIDR_THUNDERX	MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX)
 #define MIDR_THUNDERX_81XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_81XX)
 #define MIDR_THUNDERX_83XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_83XX)
arch/arm64/include/asm/uprobes.h +5 -7
index 315eef654e39..014b02897f8e 100644
@@ -10,21 +10,19 @@
 #include <asm/insn.h>
 #include <asm/probes.h>
 
-#define MAX_UINSN_BYTES		AARCH64_INSN_SIZE
-
-#define UPROBE_SWBP_INSN	BRK64_OPCODE_UPROBES
+#define UPROBE_SWBP_INSN	cpu_to_le32(BRK64_OPCODE_UPROBES)
 #define UPROBE_SWBP_INSN_SIZE	AARCH64_INSN_SIZE
-#define UPROBE_XOL_SLOT_BYTES	MAX_UINSN_BYTES
+#define UPROBE_XOL_SLOT_BYTES	AARCH64_INSN_SIZE
 
-typedef u32 uprobe_opcode_t;
+typedef __le32 uprobe_opcode_t;
 
 struct arch_uprobe_task {
 };
 
 struct arch_uprobe {
 	union {
-		u8 insn[MAX_UINSN_BYTES];
-		u8 ixol[MAX_UINSN_BYTES];
+		__le32 insn;
+		__le32 ixol;
 	};
 	struct arch_probe_insn api;
 	bool simulate;
arch/arm64/kernel/cpu_errata.c +2 -0
index 20c8d39b71cd..1e1dfe59a469 100644
@@ -848,6 +848,7 @@ static const struct midr_range erratum_spec_ssbs_list[] = {
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A78),
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A78C),
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A710),
+	MIDR_ALL_VERSIONS(MIDR_CORTEX_A715),
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A720),
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_A725),
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_X1),
@@ -858,6 +859,7 @@ static const struct midr_range erratum_spec_ssbs_list[] = {
 	MIDR_ALL_VERSIONS(MIDR_CORTEX_X925),
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N1),
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N2),
+	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N3),
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V1),
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2),
 	MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V3),
arch/arm64/kernel/probes/decode-insn.c +11 -5
index b78fac9e546c..327e42fa797c 100644
@@ -96,10 +96,6 @@ arm_probe_decode_insn(probe_opcode_t insn, struct arch_probe_insn *api)
 	    aarch64_insn_is_blr(insn) ||
 	    aarch64_insn_is_ret(insn)) {
 		api->handler = simulate_br_blr_ret;
-	} else if (aarch64_insn_is_ldr_lit(insn)) {
-		api->handler = simulate_ldr_literal;
-	} else if (aarch64_insn_is_ldrsw_lit(insn)) {
-		api->handler = simulate_ldrsw_literal;
 	} else {
 		/*
 		 * Instruction cannot be stepped out-of-line and we don't
@@ -137,6 +133,17 @@ arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi)
 	probe_opcode_t insn = le32_to_cpu(*addr);
 	probe_opcode_t *scan_end = NULL;
 	unsigned long size = 0, offset = 0;
+	struct arch_probe_insn *api = &asi->api;
+
+	if (aarch64_insn_is_ldr_lit(insn)) {
+		api->handler = simulate_ldr_literal;
+		decoded = INSN_GOOD_NO_SLOT;
+	} else if (aarch64_insn_is_ldrsw_lit(insn)) {
+		api->handler = simulate_ldrsw_literal;
+		decoded = INSN_GOOD_NO_SLOT;
+	} else {
+		decoded = arm_probe_decode_insn(insn, &asi->api);
+	}
 
 	/*
 	 * If there's a symbol defined in front of and near enough to
@@ -154,7 +161,6 @@ arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi)
 		else
 			scan_end = addr - MAX_ATOMIC_CONTEXT_SIZE;
 	}
-	decoded = arm_probe_decode_insn(insn, &asi->api);
 
 	if (decoded != INSN_REJECTED && scan_end)
 		if (is_probed_address_atomic(addr - 1, scan_end))
arch/arm64/kernel/probes/simulate-insn.c +7 -11
index 25f67ec59635..7d63423eafc2 100644
@@ -170,17 +170,15 @@ simulate_tbz_tbnz(u32 opcode, long addr, struct pt_regs *regs)
 void __kprobes
 simulate_ldr_literal(u32 opcode, long addr, struct pt_regs *regs)
 {
-	u64 *load_addr;
+	unsigned long load_addr;
 	int xn = opcode & 0x1f;
-	int disp;
 
-	disp = ldr_displacement(opcode);
-	load_addr = (u64 *) (addr + disp);
+	load_addr = addr + ldr_displacement(opcode);
 
 	if (opcode & (1 << 30))	/* x0-x30 */
-		set_x_reg(regs, xn, *load_addr);
+		set_x_reg(regs, xn, READ_ONCE(*(u64 *)load_addr));
 	else			/* w0-w30 */
-		set_w_reg(regs, xn, *load_addr);
+		set_w_reg(regs, xn, READ_ONCE(*(u32 *)load_addr));
 
 	instruction_pointer_set(regs, instruction_pointer(regs) + 4);
 }
@@ -188,14 +186,12 @@ simulate_ldr_literal(u32 opcode, long addr, struct pt_regs *regs)
 void __kprobes
 simulate_ldrsw_literal(u32 opcode, long addr, struct pt_regs *regs)
 {
-	s32 *load_addr;
+	unsigned long load_addr;
 	int xn = opcode & 0x1f;
-	int disp;
 
-	disp = ldr_displacement(opcode);
-	load_addr = (s32 *) (addr + disp);
+	load_addr = addr + ldr_displacement(opcode);
 
-	set_x_reg(regs, xn, *load_addr);
+	set_x_reg(regs, xn, READ_ONCE(*(s32 *)load_addr));
 
 	instruction_pointer_set(regs, instruction_pointer(regs) + 4);
 }
arch/arm64/kernel/probes/uprobes.c +2 -2
index 2c247634552b..8a02c549e57f 100644
@@ -42,7 +42,7 @@ int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm,
 	else if (!IS_ALIGNED(addr, AARCH64_INSN_SIZE))
 		return -EINVAL;
 
-	insn = *(probe_opcode_t *)(&auprobe->insn[0]);
+	insn = le32_to_cpu(auprobe->insn);
 
 	switch (arm_probe_decode_insn(insn, &auprobe->api)) {
 	case INSN_REJECTED:
@@ -108,7 +108,7 @@ bool arch_uprobe_skip_sstep(struct arch_uprobe *auprobe, struct pt_regs *regs)
 	if (!auprobe->simulate)
 		return false;
 
-	insn = *(probe_opcode_t *)(&auprobe->insn[0]);
+	insn = le32_to_cpu(auprobe->insn);
 	addr = instruction_pointer(regs);
 
 	if (auprobe->api.handler)
arch/microblaze/mm/init.c +0 -5
index a015a951c8b7..0a190c55577e 100644
@@ -276,11 +276,6 @@ asmlinkage void __init mmu_init(void)
 {
 	unsigned int kstart, ksize;
 
-	if (!memblock.reserved.cnt) {
-		pr_emerg("Error memory count\n");
-		machine_restart(NULL);
-	}
-
 	if ((u32) memblock.memory.regions[0].size < 0x400000) {
 		pr_emerg("Memory must be greater than 4MB\n");
 		machine_restart(NULL);
arch/parisc/kernel/entry.S +2 -4
index 9ce4e525b392..684a19d38198 100644
@@ -1078,8 +1078,7 @@ ENTRY_CFI(intr_save)		/* for os_hpmc */
 	STREG           %r16, PT_ISR(%r29)
 	STREG           %r17, PT_IOR(%r29)
 
-#if 0 && defined(CONFIG_64BIT)
-	/* Revisit when we have 64-bit code above 4Gb */
+#if defined(CONFIG_64BIT)
 	b,n		intr_save2
 
 skip_save_ior:
@@ -1087,8 +1086,7 @@ skip_save_ior:
 	 * need to adjust iasq/iaoq here in the same way we adjusted isr/ior
 	 * above.
 	 */
-	extrd,u,*	%r8,PSW_W_BIT,1,%r1
-	cmpib,COND(=),n	1,%r1,intr_save2
+	bb,COND(>=),n	%r8,PSW_W_BIT,intr_save2
 	LDREG		PT_IASQ0(%r29), %r16
 	LDREG		PT_IAOQ0(%r29), %r17
 	/* adjust iasq/iaoq */
arch/parisc/kernel/syscall.S +8 -6
index 8b616aada649..3c928b5a815e 100644
@@ -217,10 +217,10 @@ linux_gateway_entry:
 
 #ifdef CONFIG_64BIT
 	ldil	L%sys_call_table, %r1
-	or,=	%r2,%r2,%r2
-	addil	L%(sys_call_table64-sys_call_table), %r1
+	or,ev	%r2,%r2,%r2
+	ldil	L%sys_call_table64, %r1
 	ldo	R%sys_call_table(%r1), %r19
-	or,=	%r2,%r2,%r2
+	or,ev	%r2,%r2,%r2
 	ldo	R%sys_call_table64(%r1), %r19
 #else
 	load32	sys_call_table, %r19
@@ -355,10 +355,10 @@ tracesys_next:
 	extrd,u	%r19,63,1,%r2			/* W hidden in bottom bit */
 
 	ldil	L%sys_call_table, %r1
-	or,=	%r2,%r2,%r2
-	addil	L%(sys_call_table64-sys_call_table), %r1
+	or,ev	%r2,%r2,%r2
+	ldil	L%sys_call_table64, %r1
 	ldo	R%sys_call_table(%r1), %r19
-	or,=	%r2,%r2,%r2
+	or,ev	%r2,%r2,%r2
 	ldo	R%sys_call_table64(%r1), %r19
 #else
 	load32	sys_call_table, %r19
@@ -931,6 +931,8 @@ ENTRY(sys_call_table)
 END(sys_call_table)
 
 #ifdef CONFIG_64BIT
+#undef __SYSCALL_WITH_COMPAT
+#define __SYSCALL_WITH_COMPAT(nr, native, compat)	__SYSCALL(nr, native)
 	.align 8
 ENTRY(sys_call_table64)
 #include <asm/syscall_table_64.h>    /* 64-bit native syscalls */
arch/riscv/Kconfig +5 -0
index e0a77af5c130..42138882667d 100644
@@ -139,6 +139,11 @@ config GENERIC_HWEIGHT
 config FIX_EARLYCON_MEM
 	def_bool y
 
+config ILLEGAL_POINTER_VALUE
+	hex
+	default 0 if 32BIT
+	default 0xdead000000000000 if 64BIT
+
 config PGTABLE_LEVELS
 	int
 	default 3 if 64BIT
arch/riscv/kernel/asm-offsets.c +0 -2
index 9f5628c38ac9..42c69d5554e4 100644
@@ -4,8 +4,6 @@
  * Copyright (C) 2017 SiFive
  */
 
-#define GENERATING_ASM_OFFSETS
-
 #include <linux/kbuild.h>
 #include <linux/sched.h>
 #include <asm/thread_info.h>
arch/riscv/kernel/perf_callchain.c +1 -1
index 1de5991916eb..11541cbe26b3 100644
@@ -71,7 +71,7 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
 	perf_callchain_store(entry, regs->sepc);
 
 	fp = user_backtrace(entry, fp, regs->ra);
-	while (fp && !(fp & 0x3) && entry->nr < entry->max_stack)
+	while (fp && !(fp & 0x7) && entry->nr < entry->max_stack)
 		fp = user_backtrace(entry, fp, 0);
 }
 
arch/s390/include/asm/facility.h +4 -2
index 68c476b20b57..c7031d9ada29 100644
@@ -53,8 +53,10 @@ static inline int test_facility(unsigned long nr)
 	unsigned long facilities_als[] = { FACILITIES_ALS };
 
 	if (__builtin_constant_p(nr) && nr < sizeof(facilities_als) * 8) {
-		if (__test_facility(nr, &facilities_als))
-			return 1;
+		if (__test_facility(nr, &facilities_als)) {
+			if (!__is_defined(__DECOMPRESSOR))
+				return 1;
+		}
 	}
 	return __test_facility(nr, &S390_lowcore.stfle_fac_list);
 }
arch/s390/kernel/perf_cpum_sf.c +4 -8
index b83bddf35e06..4f251cd624d7 100644
@@ -1412,7 +1412,7 @@ static int aux_output_begin(struct perf_output_handle *handle,
 	unsigned long head, base, offset;
 	struct hws_trailer_entry *te;
 
-	if (WARN_ON_ONCE(handle->head & ~PAGE_MASK))
+	if (handle->head & ~PAGE_MASK)
 		return -EINVAL;
 
 	aux->head = handle->head >> PAGE_SHIFT;
@@ -1580,7 +1580,7 @@ static void hw_collect_aux(struct cpu_hw_sf *cpuhw)
 	unsigned long num_sdb;
 
 	aux = perf_get_aux(handle);
-	if (WARN_ON_ONCE(!aux))
+	if (!aux)
 		return;
 
 	/* Inform user space new data arrived */
@@ -1599,7 +1599,7 @@ static void hw_collect_aux(struct cpu_hw_sf *cpuhw)
 			debug_sprintf_event(sfdbg, 1, "AUX buffer used up\n");
 			break;
 		}
-		if (WARN_ON_ONCE(!aux))
+		if (!aux)
 			return;
 
 		/* Update head and alert_mark to new position */
@@ -1836,12 +1836,8 @@ static void cpumsf_pmu_start(struct perf_event *event, int flags)
 {
 	struct cpu_hw_sf *cpuhw = this_cpu_ptr(&cpu_hw_sf);
 
-	if (WARN_ON_ONCE(!(event->hw.state & PERF_HES_STOPPED)))
+	if (!(event->hw.state & PERF_HES_STOPPED))
 		return;
-
-	if (flags & PERF_EF_RELOAD)
-		WARN_ON_ONCE(!(event->hw.state & PERF_HES_UPTODATE));
-
 	perf_pmu_disable(event->pmu);
 	event->hw.state = 0;
 	cpuhw->lsctl.cs = 1;
arch/s390/kvm/diag.c +1 -1
index 45634b3d2e0a..584c5da9b3fe 100644
@@ -78,7 +78,7 @@ static int __diag_page_ref_service(struct kvm_vcpu *vcpu)
 	vcpu->stat.diagnose_258++;
 	if (vcpu->run->s.regs.gprs[rx] & 7)
 		return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION);
-	rc = read_guest(vcpu, vcpu->run->s.regs.gprs[rx], rx, &parm, sizeof(parm));
+	rc = read_guest_real(vcpu, vcpu->run->s.regs.gprs[rx], &parm, sizeof(parm));
 	if (rc)
 		return kvm_s390_inject_prog_cond(vcpu, rc);
 	if (parm.parm_version != 2 || parm.parm_len < 5 || parm.code != 0x258)
arch/s390/kvm/gaccess.c +96 -66

240 lines not on this page · raw message

arch/s390/kvm/gaccess.h +8 -6
index 4c56de542960..6c97cde8623a 100644
@@ -344,11 +344,12 @@ int read_guest_abs(struct kvm_vcpu *vcpu, unsigned long gpa, void *data,
  * @len: number of bytes to copy
  *
  * Copy @len bytes from @data (kernel space) to @gra (guest real address).
- * It is up to the caller to ensure that the entire guest memory range is
- * valid memory before calling this function.
  * Guest low address and key protection are not checked.
  *
- * Returns zero on success or -EFAULT on error.
+ * Returns zero on success, -EFAULT when copying from @data failed, or
+ * PGM_ADRESSING in case @gra is outside a memslot. In this case, pgm check info
+ * is also stored to allow injecting into the guest (if applicable) using
+ * kvm_s390_inject_prog_cond().
  *
  * If an error occurs data may have been copied partially to guest memory.
  */
@@ -367,11 +368,12 @@ int write_guest_real(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
  * @len: number of bytes to copy
  *
  * Copy @len bytes from @gra (guest real address) to @data (kernel space).
- * It is up to the caller to ensure that the entire guest memory range is
- * valid memory before calling this function.
  * Guest key protection is not checked.
  *
- * Returns zero on success or -EFAULT on error.
+ * Returns zero on success, -EFAULT when copying to @data failed, or
+ * PGM_ADRESSING in case @gra is outside a memslot. In this case, pgm check info
+ * is also stored to allow injecting into the guest (if applicable) using
+ * kvm_s390_inject_prog_cond().
  *
  * If an error occurs data may have been copied partially to kernel space.
  */
arch/s390/mm/cmm.c +17 -1
index a51c892f14f3..756aefbd0524 100644
@@ -98,11 +98,12 @@ static long cmm_alloc_pages(long nr, long *counter,
 		(*counter)++;
 		spin_unlock(&cmm_lock);
 		nr--;
+		cond_resched();
 	}
 	return nr;
 }
 
-static long cmm_free_pages(long nr, long *counter, struct cmm_page_array **list)
+static long __cmm_free_pages(long nr, long *counter, struct cmm_page_array **list)
 {
 	struct cmm_page_array *pa;
 	unsigned long addr;
@@ -126,6 +127,21 @@ static long cmm_free_pages(long nr, long *counter, struct cmm_page_array **list)
 	return nr;
 }
 
+static long cmm_free_pages(long nr, long *counter, struct cmm_page_array **list)
+{
+	long inc = 0;
+
+	while (nr) {
+		inc = min(256L, nr);
+		nr -= inc;
+		inc = __cmm_free_pages(inc, counter, list);
+		if (inc)
+			break;
+		cond_resched();
+	}
+	return nr + inc;
+}
+
 static int cmm_oom_notify(struct notifier_block *self,
 			  unsigned long dummy, void *parm)
 {
arch/x86/include/asm/cpufeatures.h +2 -1
index e717faeb9858..f2f49bde7566 100644
@@ -217,7 +217,7 @@
 #define X86_FEATURE_SPEC_STORE_BYPASS_DISABLE	( 7*32+23) /* "" Disable Speculative Store Bypass. */
 #define X86_FEATURE_LS_CFG_SSBD		( 7*32+24)  /* "" AMD SSBD implementation via LS_CFG MSR */
 #define X86_FEATURE_IBRS		( 7*32+25) /* Indirect Branch Restricted Speculation */
-#define X86_FEATURE_IBPB		( 7*32+26) /* Indirect Branch Prediction Barrier */
+#define X86_FEATURE_IBPB		( 7*32+26) /* "ibpb" Indirect Branch Prediction Barrier without a guaranteed RSB flush */
 #define X86_FEATURE_STIBP		( 7*32+27) /* Single Thread Indirect Branch Predictors */
 #define X86_FEATURE_ZEN			( 7*32+28) /* "" CPU is AMD family 0x17 (Zen) */
 #define X86_FEATURE_L1TF_PTEINV		( 7*32+29) /* "" L1TF workaround PTE inversion */
@@ -308,6 +308,7 @@
 #define X86_FEATURE_VIRT_SSBD		(13*32+25) /* Virtualized Speculative Store Bypass Disable */
 #define X86_FEATURE_AMD_SSB_NO		(13*32+26) /* "" Speculative Store Bypass is fixed in hardware. */
 #define X86_FEATURE_BTC_NO		(13*32+29) /* "" Not vulnerable to Branch Type Confusion */
+#define X86_FEATURE_AMD_IBPB_RET	(13*32+30) /* "" IBPB clears return address predictor */
 
 /* Thermal and Power Management Leaf, CPUID level 0x00000006 (EAX), word 14 */
 #define X86_FEATURE_DTHERM		(14*32+ 0) /* Digital Thermal Sensor */
arch/x86/include/asm/syscall.h +6 -1
index 8db3fdb6102e..2e7bffe9ae7d 100644
@@ -94,7 +94,12 @@ static inline void syscall_get_arguments(struct task_struct *task,
 					 struct pt_regs *regs,
 					 unsigned long *args)
 {
-	memcpy(args, &regs->bx, 6 * sizeof(args[0]));
+	args[0] = regs->bx;
+	args[1] = regs->cx;
+	args[2] = regs->dx;
+	args[3] = regs->si;
+	args[4] = regs->di;
+	args[5] = regs->bp;
 }
 
 static inline void syscall_set_arguments(struct task_struct *task,
arch/x86/kernel/apic/apic.c +13 -1
index a3b7b2fb04cb..c7912fc072b1 100644
@@ -491,7 +491,19 @@ static int lapic_timer_shutdown(struct clock_event_device *evt)
 	v = apic_read(APIC_LVTT);
 	v |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR);
 	apic_write(APIC_LVTT, v);
-	apic_write(APIC_TMICT, 0);
+
+	/*
+	 * Setting APIC_LVT_MASKED (above) should be enough to tell
+	 * the hardware that this timer will never fire. But AMD
+	 * erratum 411 and some Intel CPU behavior circa 2024 say
+	 * otherwise.  Time for belt and suspenders programming: mask
+	 * the timer _and_ zero the counter registers:
+	 */
+	if (v & APIC_LVT_TIMER_TSCDEADLINE)
+		wrmsrl(MSR_IA32_TSC_DEADLINE, 0);
+	else
+		apic_write(APIC_TMICT, 0);
+
 	return 0;
 }
 
arch/x86/kernel/cpu/mshyperv.c +1 -0
index 51d95c4b692c..cebbcc6c36ae 100644
@@ -256,6 +256,7 @@ static void __init ms_hyperv_init_platform(void)
 	    ms_hyperv.misc_features & HV_FEATURE_FREQUENCY_MSRS_AVAILABLE) {
 		x86_platform.calibrate_tsc = hv_get_tsc_khz;
 		x86_platform.calibrate_cpu = hv_get_tsc_khz;
+		setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
 	}
 
 	if (ms_hyperv.hints & HV_X64_ENLIGHTENED_VMCS_RECOMMENDED) {
arch/x86/kernel/cpu/resctrl/core.c +2 -2
index 130c3c7f56d4..fdee4de79cb1 100644
@@ -250,7 +250,7 @@ static inline bool rdt_get_mb_table(struct rdt_resource *r)
 	return false;
 }
 
-static bool __get_mem_config_intel(struct rdt_resource *r)
+static __init bool __get_mem_config_intel(struct rdt_resource *r)
 {
 	union cpuid_0x10_3_eax eax;
 	union cpuid_0x10_x_edx edx;
@@ -277,7 +277,7 @@ static bool __get_mem_config_intel(struct rdt_resource *r)
 	return true;
 }
 
-static bool __rdt_get_mem_config_amd(struct rdt_resource *r)
+static __init bool __rdt_get_mem_config_amd(struct rdt_resource *r)
 {
 	union cpuid_0x10_3_eax eax;
 	union cpuid_0x10_x_edx edx;
arch/x86/xen/setup.c +1 -1
index 548d1e0a5ba1..d19fcca0b30b 100644
@@ -875,7 +875,7 @@ char * __init xen_memory_setup(void)
 	 * to relocating (and even reusing) pages with kernel text or data.
 	 */
 	if (xen_is_e820_reserved(__pa_symbol(_text),
-			__pa_symbol(__bss_stop) - __pa_symbol(_text))) {
+				 __pa_symbol(_end) - __pa_symbol(_text))) {
 		xen_raw_console_write("Xen hypervisor allocated kernel memory conflicts with E820 map\n");
 		BUG();
 	}
block/bfq-iosched.c +9 -4
index c73c8b0f5e40..897a3aae12b8 100644
@@ -2610,8 +2610,12 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq,
 	struct bfq_queue *in_service_bfqq, *new_bfqq;
 
 	/* if a merge has already been setup, then proceed with that first */
-	if (bfqq->new_bfqq)
-		return bfqq->new_bfqq;
+	new_bfqq = bfqq->new_bfqq;
+	if (new_bfqq) {
+		while (new_bfqq->new_bfqq)
+			new_bfqq = new_bfqq->new_bfqq;
+		return new_bfqq;
+	}
 
 	/*
 	 * Do not perform queue merging if the device is non
@@ -5990,7 +5994,7 @@ bfq_split_bfqq(struct bfq_io_cq *bic, struct bfq_queue *bfqq)
 {
 	bfq_log_bfqq(bfqq->bfqd, bfqq, "splitting queue");
 
-	if (bfqq_process_refs(bfqq) == 1) {
+	if (bfqq_process_refs(bfqq) == 1 && !bfqq->new_bfqq) {
 		bfqq->pid = current->pid;
 		bfq_clear_bfqq_coop(bfqq);
 		bfq_clear_bfqq_split_coop(bfqq);
@@ -6175,7 +6179,8 @@ static struct bfq_queue *bfq_init_rq(struct request *rq)
 	 * addition, if the queue has also just been split, we have to
 	 * resume its state.
 	 */
-	if (likely(bfqq != &bfqd->oom_bfqq) && bfqq_process_refs(bfqq) == 1) {
+	if (likely(bfqq != &bfqd->oom_bfqq) && !bfqq->new_bfqq &&
+	    bfqq_process_refs(bfqq) == 1) {
 		bfqq->bic = bic;
 		if (split) {
 			/*
block/blk-rq-qos.c +1 -1
index e83af7bc7591..26dd3e7bd00d 100644
@@ -225,8 +225,8 @@ static int rq_qos_wake_function(struct wait_queue_entry *curr,
 
 	data->got_token = true;
 	smp_wmb();
-	list_del_init(&curr->entry);
 	wake_up_process(data->task);
+	list_del_init_careful(&curr->entry);
 	return 1;
 }
 
crypto/aead.c +1 -2
index ce035589cf57..8f60b48a835b 100644
@@ -40,8 +40,7 @@ static int setkey_unaligned(struct crypto_aead *tfm, const u8 *key,
 	alignbuffer = (u8 *)ALIGN((unsigned long)buffer, alignmask + 1);
 	memcpy(alignbuffer, key, keylen);
 	ret = crypto_aead_alg(tfm)->setkey(tfm, alignbuffer, keylen);
-	memset(alignbuffer, 0, keylen);
-	kfree(buffer);
+	kzfree(buffer);
 	return ret;
 }
 
crypto/cipher.c +1 -2
index 108427026e7c..18bf9c425ae2 100644
@@ -33,8 +33,7 @@ static int setkey_unaligned(struct crypto_tfm *tfm, const u8 *key,
 	alignbuffer = (u8 *)ALIGN((unsigned long)buffer, alignmask + 1);
 	memcpy(alignbuffer, key, keylen);
 	ret = cia->cia_setkey(tfm, alignbuffer, keylen);
-	memset(alignbuffer, 0, keylen);
-	kfree(buffer);
+	kzfree(buffer);
 	return ret;
 
 }
drivers/acpi/acpica/dbconvert.c +2 -0
index 9fd9a98a9cbe..5255a0837c82 100644
@@ -170,6 +170,8 @@ acpi_status acpi_db_convert_to_package(char *string, union acpi_object *object)
 	elements =
 	    ACPI_ALLOCATE_ZEROED(DB_DEFAULT_PKG_ELEMENTS *
 				 sizeof(union acpi_object));
+	if (!elements)
+		return (AE_NO_MEMORY);
 
 	this = string;
 	for (i = 0; i < (DB_DEFAULT_PKG_ELEMENTS - 1); i++) {
drivers/acpi/acpica/exprep.c +3 -0
index 85f799c9c25c..512a15d77d75 100644
@@ -437,6 +437,9 @@ acpi_status acpi_ex_prep_field_value(struct acpi_create_field_info *info)
 
 		if (info->connection_node) {
 			second_desc = info->connection_node->object;
+			if (second_desc == NULL) {
+				break;
+			}
 			if (!(second_desc->common.flags & AOPOBJ_DATA_VALID)) {
 				status =
 				    acpi_ds_get_buffer_arguments(second_desc);
drivers/acpi/acpica/psargs.c +47 -0

77 lines not on this page · raw message

drivers/acpi/battery.c +17 -11
index af78f76a2872..cf853e985d6d 100644
@@ -706,27 +706,34 @@ static LIST_HEAD(acpi_battery_list);
 static LIST_HEAD(battery_hook_list);
 static DEFINE_MUTEX(hook_mutex);
 
-static void __battery_hook_unregister(struct acpi_battery_hook *hook, int lock)
+static void battery_hook_unregister_unlocked(struct acpi_battery_hook *hook)
 {
 	struct acpi_battery *battery;
+
 	/*
 	 * In order to remove a hook, we first need to
 	 * de-register all the batteries that are registered.
 	 */
-	if (lock)
-		mutex_lock(&hook_mutex);
 	list_for_each_entry(battery, &acpi_battery_list, list) {
 		hook->remove_battery(battery->bat);
 	}
-	list_del(&hook->list);
-	if (lock)
-		mutex_unlock(&hook_mutex);
+	list_del_init(&hook->list);
+
 	pr_info("extension unregistered: %s\n", hook->name);
 }
 
 void battery_hook_unregister(struct acpi_battery_hook *hook)
 {
-	__battery_hook_unregister(hook, 1);
+	mutex_lock(&hook_mutex);
+	/*
+	 * Ignore already unregistered battery hooks. This might happen
+	 * if a battery hook was previously unloaded due to an error when
+	 * adding a new battery.
+	 */
+	if (!list_empty(&hook->list))
+		battery_hook_unregister_unlocked(hook);
+
+	mutex_unlock(&hook_mutex);
 }
 EXPORT_SYMBOL_GPL(battery_hook_unregister);
 
@@ -735,7 +742,6 @@ void battery_hook_register(struct acpi_battery_hook *hook)
 	struct acpi_battery *battery;
 
 	mutex_lock(&hook_mutex);
-	INIT_LIST_HEAD(&hook->list);
 	list_add(&hook->list, &battery_hook_list);
 	/*
 	 * Now that the driver is registered, we need
@@ -752,7 +758,7 @@ void battery_hook_register(struct acpi_battery_hook *hook)
 			 * hooks.
 			 */
 			pr_err("extension failed to load: %s", hook->name);
-			__battery_hook_unregister(hook, 0);
+			battery_hook_unregister_unlocked(hook);
 			goto end;
 		}
 	}
@@ -789,7 +795,7 @@ static void battery_hook_add_battery(struct acpi_battery *battery)
 			 */
 			pr_err("error in extension, unloading: %s",
 					hook_node->name);
-			__battery_hook_unregister(hook_node, 0);
+			battery_hook_unregister_unlocked(hook_node);
 		}
 	}
 	mutex_unlock(&hook_mutex);
@@ -822,7 +828,7 @@ static void __exit battery_hook_exit(void)
 	 * need to remove the hooks.
 	 */
 	list_for_each_entry_safe(hook, ptr, &battery_hook_list, list) {
-		__battery_hook_unregister(hook, 1);
+		battery_hook_unregister(hook);
 	}
 	mutex_destroy(&hook_mutex);
 }
drivers/acpi/button.c +11 -0
index ee7a7da276dd..8011a085f4b2 100644
@@ -111,6 +111,17 @@ static const struct dmi_system_id lid_blacklst[] = {
 		},
 		.driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
 	},
+	{
+		/*
+		 * Samsung galaxybook2 ,initial _LID device notification returns
+		 * lid closed.
+		 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "750XED"),
+		},
+		.driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
+	},
 	{}
 };
 
drivers/acpi/device_sysfs.c +3 -2
index 566067a855a1..57ee8314dfb8 100644
@@ -533,8 +533,9 @@ int acpi_device_setup_files(struct acpi_device *dev)
 	 * If device has _STR, 'description' file is created
 	 */
 	if (acpi_has_method(dev->handle, "_STR")) {
-		status = acpi_evaluate_object(dev->handle, "_STR",
-					NULL, &buffer);
+		status = acpi_evaluate_object_typed(dev->handle, "_STR",
+						    NULL, &buffer,
+						    ACPI_TYPE_BUFFER);
 		if (ACPI_FAILURE(status))
 			buffer.pointer = NULL;
 		dev->pnp.str_obj = buffer.pointer;
drivers/acpi/ec.c +49 -6

114 lines not on this page · raw message

drivers/acpi/pmic/tps68470_pmic.c +2 -4
index ebd03e472955..0d1a82eeb4b0 100644
@@ -376,10 +376,8 @@ static int tps68470_pmic_opregion_probe(struct platform_device *pdev)
 	struct tps68470_pmic_opregion *opregion;
 	acpi_status status;
 
-	if (!dev || !tps68470_regmap) {
-		dev_warn(dev, "dev or regmap is NULL\n");
-		return -EINVAL;
-	}
+	if (!tps68470_regmap)
+		return dev_err_probe(dev, -EINVAL, "regmap is missing\n");
 
 	if (!handle) {
 		dev_warn(dev, "acpi handle is NULL\n");
drivers/acpi/resource.c +27 -0
index cc7320f040da..5e59344270ba 100644
@@ -442,6 +442,13 @@ static const struct dmi_system_id asus_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "B2402CBA"),
 		},
 	},
+	{
+		/* Asus Vivobook X1704VAP */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_BOARD_NAME, "X1704VAP"),
+		},
+	},
 	{
 		/* TongFang GMxXGxx/TUXEDO Polaris 15 Gen5 AMD */
 		.matches = {
@@ -455,6 +462,12 @@ static const struct dmi_system_id asus_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "B1402CVA"),
 		},
 	},
+	{
+		/* TongFang GMxXGxX/TUXEDO Polaris 15 Gen5 AMD */
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "GMxXGxX"),
+		},
+	},
 	{
 		/* TongFang GMxXGxx sold as Eluktronics Inc. RP-15 */
 		.matches = {
@@ -481,12 +494,26 @@ static const struct dmi_system_id asus_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "GXxHRXx"),
 		},
 	},
+	{
+		/* Asus ExpertBook B2502CVA */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_BOARD_NAME, "B2502CVA"),
+		},
+	},
 	{
 		/* TongFang GMxHGxx/TUXEDO Stellaris Slim Gen1 AMD */
 		.matches = {
 			DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
 		},
 	},
+	{
+		/* LG Electronics 16T90SP */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "LG Electronics"),
+			DMI_MATCH(DMI_BOARD_NAME, "16T90SP"),
+		},
+	},
 	{ }
 };
 
drivers/ata/sata_sil.c +6 -6
index 75321f1ceba5..fc438c4518fb 100644
@@ -128,7 +128,7 @@ static const struct pci_device_id sil_pci_tbl[] = {
 static const struct sil_drivelist {
 	const char *product;
 	unsigned int quirk;
-} sil_blacklist [] = {
+} sil_quirks[] = {
 	{ "ST320012AS",		SIL_QUIRK_MOD15WRITE },
 	{ "ST330013AS",		SIL_QUIRK_MOD15WRITE },
 	{ "ST340017AS",		SIL_QUIRK_MOD15WRITE },
@@ -601,8 +601,8 @@ static void sil_thaw(struct ata_port *ap)
  *	list, and apply the fixups to only the specific
  *	devices/hosts/firmwares that need it.
  *
- *	20040111 - Seagate drives affected by the Mod15Write bug are blacklisted
- *	The Maxtor quirk is in the blacklist, but I'm keeping the original
+ *	20040111 - Seagate drives affected by the Mod15Write bug are quirked
+ *	The Maxtor quirk is in sil_quirks, but I'm keeping the original
  *	pessimistic fix for the following reasons...
  *	- There seems to be less info on it, only one device gleaned off the
  *	Windows	driver, maybe only one is affected.  More info would be greatly
@@ -621,9 +621,9 @@ static void sil_dev_config(struct ata_device *dev)
 
 	ata_id_c_string(dev->id, model_num, ATA_ID_PROD, sizeof(model_num));
 
-	for (n = 0; sil_blacklist[n].product; n++)
-		if (!strcmp(sil_blacklist[n].product, model_num)) {
-			quirks = sil_blacklist[n].quirk;
+	for (n = 0; sil_quirks[n].product; n++)
+		if (!strcmp(sil_quirks[n].product, model_num)) {
+			quirks = sil_quirks[n].quirk;
 			break;
 		}
 
drivers/base/bus.c +4 -2
index 7d7d28f498ed..f970a40a2f7a 100644
@@ -103,7 +103,8 @@ static ssize_t bus_attr_show(struct kobject *kobj, struct attribute *attr,
 {
 	struct bus_attribute *bus_attr = to_bus_attr(attr);
 	struct subsys_private *subsys_priv = to_subsys_private(kobj);
-	ssize_t ret = 0;
+	/* return -EIO for reading a bus attribute without show() */
+	ssize_t ret = -EIO;
 
 	if (bus_attr->show)
 		ret = bus_attr->show(subsys_priv->bus, buf);
@@ -115,7 +116,8 @@ static ssize_t bus_attr_store(struct kobject *kobj, struct attribute *attr,
 {
 	struct bus_attribute *bus_attr = to_bus_attr(attr);
 	struct subsys_private *subsys_priv = to_subsys_private(kobj);
-	ssize_t ret = 0;
+	/* return -EIO for writing a bus attribute without store() */
+	ssize_t ret = -EIO;
 
 	if (bus_attr->store)
 		ret = bus_attr->store(subsys_priv->bus, buf, count);
drivers/base/core.c +5 -8
index 16475ca16766..60de73c67991 100644
@@ -25,7 +25,6 @@
 #include <linux/mutex.h>
 #include <linux/pm_runtime.h>
 #include <linux/netdevice.h>
-#include <linux/rcupdate.h>
 #include <linux/sched/signal.h>
 #include <linux/sysfs.h>
 
@@ -1175,7 +1174,6 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
 		      struct kobj_uevent_env *env)
 {
 	struct device *dev = kobj_to_dev(kobj);
-	struct device_driver *driver;
 	int retval = 0;
 
 	/* add device node properties if present */
@@ -1204,12 +1202,8 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
 	if (dev->type && dev->type->name)
 		add_uevent_var(env, "DEVTYPE=%s", dev->type->name);
 
-	/* Synchronize with module_remove_driver() */
-	rcu_read_lock();
-	driver = READ_ONCE(dev->driver);
-	if (driver)
-		add_uevent_var(env, "DRIVER=%s", driver->name);
-	rcu_read_unlock();
+	if (dev->driver)
+		add_uevent_var(env, "DRIVER=%s", dev->driver->name);
 
 	/* Add common DT information about the device */
 	of_device_uevent(dev, env);
@@ -1279,8 +1273,11 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr,
 	if (!env)
 		return -ENOMEM;
 
+	/* Synchronize with really_probe() */
+	device_lock(dev);
 	/* let the kset specific function add its keys */
 	retval = kset->uevent_ops->uevent(kset, &dev->kobj, env);
+	device_unlock(dev);
 	if (retval)
 		goto out;
 
drivers/base/firmware_loader/main.c +30 -0
index 12ab50d29548..4524600ef4ef 100644
@@ -754,6 +754,26 @@ static void fw_abort_batch_reqs(struct firmware *fw)
 	mutex_unlock(&fw_lock);
 }
 
+/*
+ * Reject firmware file names with ".." path components.
+ * There are drivers that construct firmware file names from device-supplied
+ * strings, and we don't want some device to be able to tell us "I would like to
+ * be sent my firmware from ../../../etc/shadow, please".
+ *
+ * Search for ".." surrounded by either '/' or start/end of string.
+ *
+ * This intentionally only looks at the firmware name, not at the firmware base
+ * directory or at symlink contents.
+ */
+static bool name_contains_dotdot(const char *name)
+{
+	size_t name_len = strlen(name);
+
+	return strcmp(name, "..") == 0 || strncmp(name, "../", 3) == 0 ||
+	       strstr(name, "/../") != NULL ||
+	       (name_len >= 3 && strcmp(name+name_len-3, "/..") == 0);
+}
+
 /* called from request_firmware() and request_firmware_work_func() */
 static int
 _request_firmware(const struct firmware **firmware_p, const char *name,
@@ -773,6 +793,14 @@ _request_firmware(const struct firmware **firmware_p, const char *name,
 		goto out;
 	}
 
+	if (name_contains_dotdot(name)) {
+		dev_warn(device,
+			 "Firmware load for '%s' refused, path contains '..' component\n",
+			 name);
+		ret = -EINVAL;
+		goto out;
+	}
+
 	ret = _request_firmware_prepare(&fw, name, device, buf, size,
 					opt_flags);
 	if (ret <= 0) /* error or already assigned */
@@ -834,6 +862,8 @@ _request_firmware(const struct firmware **firmware_p, const char *name,
  *      @name will be used as $FIRMWARE in the uevent environment and
  *      should be distinctive enough not to be confused with any other
  *      firmware image for this or any other device.
+ *	It must not contain any ".." path components - "foo/bar..bin" is
+ *	allowed, but "foo/../bar.bin" is not.
  *
  *	Caller must hold the reference count of @device.
  *
drivers/base/module.c +0 -4
index 851cc5367c04..46ad4d636731 100644
@@ -7,7 +7,6 @@
 #include <linux/errno.h>
 #include <linux/slab.h>
 #include <linux/string.h>
-#include <linux/rcupdate.h>
 #include "base.h"
 
 static char *make_driver_name(struct device_driver *drv)
@@ -78,9 +77,6 @@ void module_remove_driver(struct device_driver *drv)
 	if (!drv)
 		return;
 
-	/* Synchronize with dev_uevent() */
-	synchronize_rcu();
-
 	sysfs_remove_link(&drv->p->kobj, "module");
 
 	if (drv->owner)
drivers/block/aoe/aoecmd.c +12 -1
index 3d5117be57f9..ff10f4f6e833 100644
@@ -362,6 +362,7 @@ ata_rw_frameinit(struct frame *f)
 	}
 
 	ah->cmdstat = ATA_CMD_PIO_READ | writebit | extbit;
+	dev_hold(t->ifp->nd);
 	skb->dev = t->ifp->nd;
 }
 
@@ -402,6 +403,8 @@ aoecmd_ata_rw(struct aoedev *d)
 		__skb_queue_head_init(&queue);
 		__skb_queue_tail(&queue, skb);
 		aoenet_xmit(&queue);
+	} else {
+		dev_put(f->t->ifp->nd);
 	}
 	return 1;
 }
@@ -484,10 +487,13 @@ resend(struct aoedev *d, struct frame *f)
 	memcpy(h->dst, t->addr, sizeof h->dst);
 	memcpy(h->src, t->ifp->nd->dev_addr, sizeof h->src);
 
+	dev_hold(t->ifp->nd);
 	skb->dev = t->ifp->nd;
 	skb = skb_clone(skb, GFP_ATOMIC);
-	if (skb == NULL)
+	if (skb == NULL) {
+		dev_put(t->ifp->nd);
 		return;
+	}
 	f->sent = ktime_get();
 	__skb_queue_head_init(&queue);
 	__skb_queue_tail(&queue, skb);
@@ -618,6 +624,8 @@ probe(struct aoetgt *t)
 		__skb_queue_head_init(&queue);
 		__skb_queue_tail(&queue, skb);
 		aoenet_xmit(&queue);
+	} else {
+		dev_put(f->t->ifp->nd);
 	}
 }
 
@@ -1405,6 +1413,7 @@ aoecmd_ata_id(struct aoedev *d)
 	ah->cmdstat = ATA_CMD_ID_ATA;
 	ah->lba3 = 0xa0;
 
+	dev_hold(t->ifp->nd);
 	skb->dev = t->ifp->nd;
 
 	d->rttavg = RTTAVG_INIT;
@@ -1414,6 +1423,8 @@ aoecmd_ata_id(struct aoedev *d)
 	skb = skb_clone(skb, GFP_ATOMIC);
 	if (skb)
 		f->sent = ktime_get();
+	else
+		dev_put(t->ifp->nd);
 
 	return skb;
 }
drivers/block/drbd/drbd_main.c +4 -2
index f3a96c76f5a4..682bc4e79177 100644
@@ -3509,10 +3509,12 @@ void drbd_uuid_new_current(struct drbd_device *device) __must_hold(local)
 void drbd_uuid_set_bm(struct drbd_device *device, u64 val) __must_hold(local)
 {
 	unsigned long flags;
-	if (device->ldev->md.uuid[UI_BITMAP] == 0 && val == 0)
+	spin_lock_irqsave(&device->ldev->md.uuid_lock, flags);
+	if (device->ldev->md.uuid[UI_BITMAP] == 0 && val == 0) {
+		spin_unlock_irqrestore(&device->ldev->md.uuid_lock, flags);
 		return;
+	}
 
-	spin_lock_irqsave(&device->ldev->md.uuid_lock, flags);
 	if (val == 0) {
 		drbd_uuid_move_history(device);
 		device->ldev->md.uuid[UI_HISTORY_START] = device->ldev->md.uuid[UI_BITMAP];
drivers/block/drbd/drbd_state.c +1 -1
index 4dad4dd0ceb6..33861c12d6bb 100644
@@ -876,7 +876,7 @@ is_valid_state(struct drbd_device *device, union drbd_state ns)
 		  ns.disk == D_OUTDATED)
 		rv = SS_CONNECTED_OUTDATES;
 
-	else if ((ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T) &&
+	else if (nc && (ns.conn == C_VERIFY_S || ns.conn == C_VERIFY_T) &&
 		 (nc->verify_alg[0] == 0))
 		rv = SS_NO_VERIFY_ALG;
 
drivers/bluetooth/btmrvl_sdio.c +11 -5
index 4c7978cb1786..be7145d43570 100644
@@ -105,13 +105,15 @@ static int btmrvl_sdio_probe_of(struct device *dev,
 		} else {
 			ret = devm_request_irq(dev, cfg->irq_bt,
 					       btmrvl_wake_irq_bt,
-					       0, "bt_wake", card);
+					       IRQF_NO_AUTOEN, "bt_wake", card);
 			if (ret) {
 				dev_err(dev,
 					"Failed to request irq_bt %d (%d)\n",
 					cfg->irq_bt, ret);
 			}
-			disable_irq(cfg->irq_bt);
+
+			/* Configure wakeup (enabled by default) */
+			device_init_wakeup(dev, true);
 		}
 	}
 
@@ -1654,6 +1656,7 @@ static void btmrvl_sdio_remove(struct sdio_func *func)
 							MODULE_SHUTDOWN_REQ);
 				btmrvl_sdio_disable_host_int(card);
 			}
+
 			BT_DBG("unregister dev");
 			card->priv->surprise_removed = true;
 			btmrvl_sdio_unregister_dev(card);
@@ -1690,7 +1693,8 @@ static int btmrvl_sdio_suspend(struct device *dev)
 	}
 
 	/* Enable platform specific wakeup interrupt */
-	if (card->plt_wake_cfg && card->plt_wake_cfg->irq_bt >= 0) {
+	if (card->plt_wake_cfg && card->plt_wake_cfg->irq_bt >= 0 &&
+	    device_may_wakeup(dev)) {
 		card->plt_wake_cfg->wake_by_bt = false;
 		enable_irq(card->plt_wake_cfg->irq_bt);
 		enable_irq_wake(card->plt_wake_cfg->irq_bt);
@@ -1707,7 +1711,8 @@ static int btmrvl_sdio_suspend(struct device *dev)
 			BT_ERR("HS not activated, suspend failed!");
 			/* Disable platform specific wakeup interrupt */
 			if (card->plt_wake_cfg &&
-			    card->plt_wake_cfg->irq_bt >= 0) {
+			    card->plt_wake_cfg->irq_bt >= 0 &&
+			    device_may_wakeup(dev)) {
 				disable_irq_wake(card->plt_wake_cfg->irq_bt);
 				disable_irq(card->plt_wake_cfg->irq_bt);
 			}
@@ -1767,7 +1772,8 @@ static int btmrvl_sdio_resume(struct device *dev)
 	hci_resume_dev(hcidev);
 
 	/* Disable platform specific wakeup interrupt */
-	if (card->plt_wake_cfg && card->plt_wake_cfg->irq_bt >= 0) {
+	if (card->plt_wake_cfg && card->plt_wake_cfg->irq_bt >= 0 &&
+	    device_may_wakeup(dev)) {
 		disable_irq_wake(card->plt_wake_cfg->irq_bt);
 		disable_irq(card->plt_wake_cfg->irq_bt);
 		if (card->plt_wake_cfg->wake_by_bt)
drivers/bluetooth/btusb.c +9 -1
index b9752625c88b..6616671dfd32 100644
@@ -834,7 +834,15 @@ static int btusb_submit_intr_urb(struct hci_dev *hdev, gfp_t mem_flags)
 	if (!urb)
 		return -ENOMEM;
 
-	size = le16_to_cpu(data->intr_ep->wMaxPacketSize);
+	if (le16_to_cpu(data->udev->descriptor.idVendor)  == 0x0a12 &&
+	    le16_to_cpu(data->udev->descriptor.idProduct) == 0x0001)
+		/* Fake CSR devices don't seem to support sort-transter */
+		size = le16_to_cpu(data->intr_ep->wMaxPacketSize);
+	else
+		/* Use maximum HCI Event size so the USB stack handles
+		 * ZPL/short-transfer automatically.
+		 */
+		size = HCI_MAX_EVENT_SIZE;
 
 	buf = kmalloc(size, mem_flags);
 	if (!buf) {
drivers/char/hw_random/mtk-rng.c +1 -1
index 6670516fa194..6c21eb749b51 100644
@@ -149,7 +149,7 @@ static int mtk_rng_probe(struct platform_device *pdev)
 	dev_set_drvdata(&pdev->dev, priv);
 	pm_runtime_set_autosuspend_delay(&pdev->dev, RNG_AUTOSUSPEND_TIMEOUT);
 	pm_runtime_use_autosuspend(&pdev->dev);
-	pm_runtime_enable(&pdev->dev);
+	devm_pm_runtime_enable(&pdev->dev);
 
 	dev_info(&pdev->dev, "registered RNG driver\n");
 
drivers/char/tpm/tpm-dev-common.c +2 -0
index b99e1941c52c..fde81ecbd6a3 100644
@@ -48,6 +48,8 @@ static ssize_t tpm_dev_transmit(struct tpm_chip *chip, struct tpm_space *space,
 
 	if (!ret)
 		ret = tpm2_commit_space(chip, space, buf, &len);
+	else
+		tpm2_flush_space(chip);
 
 out_rc:
 	return ret ? ret : len;
drivers/char/tpm/tpm2-space.c +3 -0
index ffb35f0154c1..c57404c6b98c 100644
@@ -166,6 +166,9 @@ void tpm2_flush_space(struct tpm_chip *chip)
 	struct tpm_space *space = &chip->work_space;
 	int i;
 
+	if (!space)
+		return;
+
 	for (i = 0; i < ARRAY_SIZE(space->context_tbl); i++)
 		if (space->context_tbl[i] && ~space->context_tbl[i])
 			tpm2_flush_context(chip, space->context_tbl[i]);
drivers/char/virtio_console.c +10 -8
index c736adef9d3c..8cba4c251373 100644
@@ -2051,25 +2051,27 @@ static int virtcons_probe(struct virtio_device *vdev)
 		multiport = true;
 	}
 
-	err = init_vqs(portdev);
-	if (err < 0) {
-		dev_err(&vdev->dev, "Error %d initializing vqs\n", err);
-		goto free_chrdev;
-	}
-
 	spin_lock_init(&portdev->ports_lock);
 	INIT_LIST_HEAD(&portdev->ports);
 	INIT_LIST_HEAD(&portdev->list);
 
-	virtio_device_ready(portdev->vdev);
-
 	INIT_WORK(&portdev->config_work, &config_work_handler);
 	INIT_WORK(&portdev->control_work, &control_work_handler);
 
 	if (multiport) {
 		spin_lock_init(&portdev->c_ivq_lock);
 		spin_lock_init(&portdev->c_ovq_lock);
+	}
 
+	err = init_vqs(portdev);
+	if (err < 0) {
+		dev_err(&vdev->dev, "Error %d initializing vqs\n", err);
+		goto free_chrdev;
+	}
+
+	virtio_device_ready(portdev->vdev);
+
+	if (multiport) {
 		err = fill_queue(portdev->c_ivq, &portdev->c_ivq_lock);
 		if (err < 0) {
 			dev_err(&vdev->dev,
drivers/clk/bcm/clk-bcm53573-ilp.c +1 -1
index 84f2af736ee8..83ef41d618be 100644
@@ -112,7 +112,7 @@ static void bcm53573_ilp_init(struct device_node *np)
 		goto err_free_ilp;
 	}
 
-	ilp->regmap = syscon_node_to_regmap(of_get_parent(np));
+	ilp->regmap = syscon_node_to_regmap(np->parent);
 	if (IS_ERR(ilp->regmap)) {
 		err = PTR_ERR(ilp->regmap);
 		goto err_free_ilp;
drivers/clk/qcom/clk-rpmh.c +15 -18
index d7586e26acd8..a1cd64d71cec 100644
@@ -259,38 +259,35 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable)
 {
 	struct tcs_cmd cmd = { 0 };
 	u32 cmd_state;
-	int ret;
+	int ret = 0;
 
 	mutex_lock(&rpmh_clk_lock);
-
-	cmd_state = 0;
 	if (enable) {
 		cmd_state = 1;
 		if (c->aggr_state)
 			cmd_state = c->aggr_state;
+	} else {
+		cmd_state = 0;
 	}
 
-	if (c->last_sent_aggr_state == cmd_state) {
-		mutex_unlock(&rpmh_clk_lock);
-		return 0;
-	}
+	cmd_state = min(cmd_state, BCM_TCS_CMD_VOTE_MASK);
 
-	cmd.addr = c->res_addr;
-	cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
+	if (c->last_sent_aggr_state != cmd_state) {
+		cmd.addr = c->res_addr;
+		cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
 
-	ret = clk_rpmh_send(c, RPMH_ACTIVE_ONLY_STATE, &cmd, enable);
-	if (ret) {
-		dev_err(c->dev, "set active state of %s failed: (%d)\n",
-			c->res_name, ret);
-		mutex_unlock(&rpmh_clk_lock);
-		return ret;
+		ret = clk_rpmh_send(c, RPMH_ACTIVE_ONLY_STATE, &cmd, enable);
+		if (ret) {
+			dev_err(c->dev, "set active state of %s failed: (%d)\n",
+				c->res_name, ret);
+		} else {
+			c->last_sent_aggr_state = cmd_state;
+		}
 	}
 
-	c->last_sent_aggr_state = cmd_state;
-
 	mutex_unlock(&rpmh_clk_lock);
 
-	return 0;
+	return ret;
 }
 
 static int clk_rpmh_bcm_prepare(struct clk_hw *hw)
drivers/clk/rockchip/clk-rk3228.c +1 -1
index 47d6482dda9d..a2b4d5487514 100644
@@ -408,7 +408,7 @@ static struct rockchip_clk_branch rk3228_clk_branches[] __initdata = {
 			RK2928_CLKSEL_CON(29), 0, 3, DFLAGS),
 	DIV(0, "sclk_vop_pre", "sclk_vop_src", 0,
 			RK2928_CLKSEL_CON(27), 8, 8, DFLAGS),
-	MUX(DCLK_VOP, "dclk_vop", mux_dclk_vop_p, 0,
+	MUX(DCLK_VOP, "dclk_vop", mux_dclk_vop_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT,
 			RK2928_CLKSEL_CON(27), 1, 1, MFLAGS),
 
 	FACTOR(0, "xin12m", "xin24m", 0, 1, 2),
drivers/clk/rockchip/clk.c +2 -1
index 546e810c3560..9497ffad9bc9 100644
@@ -439,12 +439,13 @@ void __init rockchip_clk_register_branches(
 				      struct rockchip_clk_branch *list,
 				      unsigned int nr_clk)
 {
-	struct clk *clk = NULL;
+	struct clk *clk;
 	unsigned int idx;
 	unsigned long flags;
 
 	for (idx = 0; idx < nr_clk; idx++, list++) {
 		flags = list->flags;
+		clk = NULL;
 
 		/* catch simple muxes */
 		switch (list->branch_type) {
drivers/clk/ti/clk-dra7-atl.c +1 -0
index 62ea790d79f9..640642b3e9a2 100644
@@ -257,6 +257,7 @@ static int of_dra7_atl_clk_probe(struct platform_device *pdev)
 		}
 
 		clk = of_clk_get_from_provider(&clkspec);
+		of_node_put(clkspec.np);
 		if (IS_ERR(clk)) {
 			pr_err("%s: failed to get atl clock %d from provider\n",
 			       __func__, i);
drivers/clocksource/timer-qcom.c +6 -1
index b4afe3a67583..eac4c95c6127 100644
@@ -233,6 +233,7 @@ static int __init msm_dt_timer_init(struct device_node *np)
 	}
 
 	if (of_property_read_u32(np, "clock-frequency", &freq)) {
+		iounmap(cpu0_base);
 		pr_err("Unknown frequency\n");
 		return -EINVAL;
 	}
@@ -243,7 +244,11 @@ static int __init msm_dt_timer_init(struct device_node *np)
 	freq /= 4;
 	writel_relaxed(DGT_CLK_CTL_DIV_4, source_base + DGT_CLK_CTL);
 
-	return msm_timer_init(freq, 32, irq, !!percpu_offset);
+	ret = msm_timer_init(freq, 32, irq, !!percpu_offset);
+	if (ret)
+		iounmap(cpu0_base);
+
+	return ret;
 }
 TIMER_OF_DECLARE(kpss_timer, "qcom,kpss-timer", msm_dt_timer_init);
 TIMER_OF_DECLARE(scss_timer, "qcom,scss-timer", msm_dt_timer_init);
drivers/firmware/arm_sdei.c +1 -1
index b0e8752174c6..f6627ccbc2d8 100644
@@ -802,7 +802,7 @@ static int sdei_device_freeze(struct device *dev)
 	int err;
 
 	/* unregister private events */
-	cpuhp_remove_state(sdei_entry_point);
+	cpuhp_remove_state(sdei_hp_state);
 
 	err = sdei_unregister_shared();
 	if (err)
drivers/firmware/tegra/bpmp.c +0 -6
index afde06b31387..17f8d23d073c 100644
@@ -24,12 +24,6 @@
 #define MSG_RING	BIT(1)
 #define TAG_SZ		32
 
-static inline struct tegra_bpmp *
-mbox_client_to_bpmp(struct mbox_client *client)
-{
-	return container_of(client, struct tegra_bpmp, mbox.client);
-}
-
 static inline const struct tegra_bpmp_ops *
 channel_to_ops(struct tegra_bpmp_channel *channel)
 {
drivers/gpio/gpio-aspeed.c +3 -1
index b7e93d10a6ab..9df73ae84841 100644
@@ -404,6 +404,8 @@ static void __aspeed_gpio_set(struct gpio_chip *gc, unsigned int offset,
 	gpio->dcache[GPIO_BANK(offset)] = reg;
 
 	iowrite32(reg, addr);
+	/* Flush write */
+	ioread32(addr);
 }
 
 static void aspeed_gpio_set(struct gpio_chip *gc, unsigned int offset,
@@ -1157,7 +1159,7 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
 	if (!gpio_id)
 		return -EINVAL;
 
-	gpio->clk = of_clk_get(pdev->dev.of_node, 0);
+	gpio->clk = devm_clk_get_enabled(&pdev->dev, NULL);
 	if (IS_ERR(gpio->clk)) {
 		dev_warn(&pdev->dev,
 				"Failed to get clock from devicetree, debouncing disabled\n");
drivers/gpio/gpio-davinci.c +4 -4
index ae5c3080ec3c..9d234844a9e1 100644
@@ -300,7 +300,7 @@ static int davinci_gpio_probe(struct platform_device *pdev)
  * serve as EDMA event triggers.
  */
 
-static void gpio_irq_disable(struct irq_data *d)
+static void gpio_irq_mask(struct irq_data *d)
 {
 	struct davinci_gpio_regs __iomem *g = irq2regs(d);
 	uintptr_t mask = (uintptr_t)irq_data_get_irq_handler_data(d);
@@ -309,7 +309,7 @@ static void gpio_irq_disable(struct irq_data *d)
 	writel_relaxed(mask, &g->clr_rising);
 }
 
-static void gpio_irq_enable(struct irq_data *d)
+static void gpio_irq_unmask(struct irq_data *d)
 {
 	struct davinci_gpio_regs __iomem *g = irq2regs(d);
 	uintptr_t mask = (uintptr_t)irq_data_get_irq_handler_data(d);
@@ -335,8 +335,8 @@ static int gpio_irq_type(struct irq_data *d, unsigned trigger)
 
 static struct irq_chip gpio_irqchip = {
 	.name		= "GPIO",
-	.irq_enable	= gpio_irq_enable,
-	.irq_disable	= gpio_irq_disable,
+	.irq_unmask	= gpio_irq_unmask,
+	.irq_mask	= gpio_irq_mask,
 	.irq_set_type	= gpio_irq_type,
 	.flags		= IRQCHIP_SET_TYPE_MASKED | IRQCHIP_SKIP_SET_WAKE,
 };
drivers/gpio/gpiolib.c +2 -1
index abdf448b11a3..f83b2214d704 100644
@@ -4,6 +4,7 @@
 #include <linux/module.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
+#include <linux/nospec.h>
 #include <linux/spinlock.h>
 #include <linux/list.h>
 #include <linux/device.h>
@@ -147,7 +148,7 @@ struct gpio_desc *gpiochip_get_desc(struct gpio_chip *chip,
 	if (hwnum >= gdev->ngpio)
 		return ERR_PTR(-EINVAL);
 
-	return &gdev->descs[hwnum];
+	return &gdev->descs[array_index_nospec(hwnum, gdev->ngpio)];
 }
 
 /**
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c +12 -3
index 1e41367ef74e..4597d441198d 100644
@@ -85,6 +85,7 @@ static union acpi_object *amdgpu_atif_call(struct amdgpu_atif *atif,
 					   struct acpi_buffer *params)
 {
 	acpi_status status;
+	union acpi_object *obj;
 	union acpi_object atif_arg_elements[2];
 	struct acpi_object_list atif_arg;
 	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
@@ -107,16 +108,24 @@ static union acpi_object *amdgpu_atif_call(struct amdgpu_atif *atif,
 
 	status = acpi_evaluate_object(atif->handle, NULL, &atif_arg,
 				      &buffer);
+	obj = (union acpi_object *)buffer.pointer;
 
-	/* Fail only if calling the method fails and ATIF is supported */
+	/* Fail if calling the method fails and ATIF is supported */
 	if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
 		DRM_DEBUG_DRIVER("failed to evaluate ATIF got %s\n",
 				 acpi_format_exception(status));
-		kfree(buffer.pointer);
+		kfree(obj);
 		return NULL;
 	}
 
-	return buffer.pointer;
+	if (obj->type != ACPI_TYPE_BUFFER) {
+		DRM_DEBUG_DRIVER("bad object returned from ATIF: %d\n",
+				 obj->type);
+		kfree(obj);
+		return NULL;
+	}
+
+	return obj;
 }
 
 /**
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c +16 -10
index 1e94a9b652f7..74951666733a 100644
@@ -2098,23 +2098,29 @@ amdgpu_atombios_encoder_get_lcd_info(struct amdgpu_encoder *encoder)
 					fake_edid_record = (ATOM_FAKE_EDID_PATCH_RECORD *)record;
 					if (fake_edid_record->ucFakeEDIDLength) {
 						struct edid *edid;
-						int edid_size =
-							max((int)EDID_LENGTH, (int)fake_edid_record->ucFakeEDIDLength);
-						edid = kmalloc(edid_size, GFP_KERNEL);
+						int edid_size;
+
+						if (fake_edid_record->ucFakeEDIDLength == 128)
+							edid_size = fake_edid_record->ucFakeEDIDLength;
+						else
+							edid_size = fake_edid_record->ucFakeEDIDLength * 128;
+						edid = kmemdup(&fake_edid_record->ucFakeEDIDString[0],
+							       edid_size, GFP_KERNEL);
 						if (edid) {
-							memcpy((u8 *)edid, (u8 *)&fake_edid_record->ucFakeEDIDString[0],
-							       fake_edid_record->ucFakeEDIDLength);
-
 							if (drm_edid_is_valid(edid)) {
 								adev->mode_info.bios_hardcoded_edid = edid;
 								adev->mode_info.bios_hardcoded_edid_size = edid_size;
-							} else
+							} else {
 								kfree(edid);
+							}
 						}
+						record += struct_size(fake_edid_record,
+								      ucFakeEDIDString,
+								      edid_size);
+					} else {
+						/* empty fake edid record must be 3 bytes long */
+						record += sizeof(ATOM_FAKE_EDID_PATCH_RECORD) + 1;
 					}
-					record += fake_edid_record->ucFakeEDIDLength ?
-						fake_edid_record->ucFakeEDIDLength + 2 :
-						sizeof(ATOM_FAKE_EDID_PATCH_RECORD);
 					break;
 				case LCD_PANEL_RESOLUTION_RECORD_TYPE:
 					panel_res_record = (ATOM_PANEL_RESOLUTION_PATCH_RECORD *)record;
drivers/gpu/drm/amd/display/dc/core/dc_resource.c +2 -0
index 2f56684780eb..b498f2f48582 100644
@@ -1542,6 +1542,8 @@ static bool are_stream_backends_same(
 bool dc_is_stream_unchanged(
 	struct dc_stream_state *old_stream, struct dc_stream_state *stream)
 {
+	if (!old_stream || !stream)
+		return false;
 
 	if (!are_stream_backends_same(old_stream, stream))
 		return false;
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c +2 -0
index f1b1bc8da175..9a053feff0e2 100644
@@ -551,6 +551,8 @@ bool cm_helper_translate_curve_to_degamma_hw_format(
 				i += increment) {
 			if (j == hw_points - 1)
 				break;
+			if (i >= TRANSFER_FUNC_POINTS)
+				return false;
 			rgb_resulted[j].red = output_tf->tf_pts.red[i];
 			rgb_resulted[j].green = output_tf->tf_pts.green[i];
 			rgb_resulted[j].blue = output_tf->tf_pts.blue[i];
drivers/gpu/drm/amd/display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c +1 -1
index ed8bf5f723c9..3278a3f46296 100644
@@ -78,7 +78,7 @@ static void calculate_ttu_cursor(struct display_mode_lib *mode_lib,
 
 static unsigned int get_bytes_per_element(enum source_format_class source_format, bool is_chroma)
 {
-	unsigned int ret_val = 0;
+	unsigned int ret_val = 1;
 
 	if (source_format == dm_444_16) {
 		if (!is_chroma)
drivers/gpu/drm/amd/display/dc/dml/dcn21/display_rq_dlg_calc_21.c +1 -1
index a1f207cbb966..a52cee502a26 100644
@@ -54,7 +54,7 @@ static void calculate_ttu_cursor(
 
 static unsigned int get_bytes_per_element(enum source_format_class source_format, bool is_chroma)
 {
-	unsigned int ret_val = 0;
+	unsigned int ret_val = 1;
 
 	if (source_format == dm_444_16) {
 		if (!is_chroma)
drivers/gpu/drm/amd/display/modules/freesync/freesync.c +1 -1
index ed5c9edfdcc5..c305bbe1c641 100644
@@ -131,7 +131,7 @@ static unsigned int calc_v_total_from_refresh(
 
 	v_total = div64_u64(div64_u64(((unsigned long long)(
 			frame_duration_in_ns) * (stream->timing.pix_clk_100hz / 10)),
-			stream->timing.h_total), 1000000);
+			stream->timing.h_total) + 500000, 1000000);
 
 	/* v_total cannot be less than nominal */
 	if (v_total < stream->timing.v_total) {
drivers/gpu/drm/amd/include/atombios.h +1 -1
index 8ba21747b40a..c9f70accd46d 100644
@@ -4107,7 +4107,7 @@ typedef struct _ATOM_FAKE_EDID_PATCH_RECORD
 {
   UCHAR ucRecordType;
   UCHAR ucFakeEDIDLength;       // = 128 means EDID length is 128 bytes, otherwise the EDID length = ucFakeEDIDLength*128
-  UCHAR ucFakeEDIDString[1];    // This actually has ucFakeEdidLength elements.
+  UCHAR ucFakeEDIDString[];     // This actually has ucFakeEdidLength elements.
 } ATOM_FAKE_EDID_PATCH_RECORD;
 
 typedef struct  _ATOM_PANEL_RESOLUTION_PATCH_RECORD
drivers/gpu/drm/arm/display/komeda/komeda_kms.c +7 -3
index ae274902ff92..4e9c3184a906 100644
@@ -148,6 +148,7 @@ static int komeda_crtc_normalize_zpos(struct drm_crtc *crtc,
 	struct drm_plane *plane;
 	struct list_head zorder_list;
 	int order = 0, err;
+	u32 slave_zpos = 0;
 
 	DRM_DEBUG_ATOMIC("[CRTC:%d:%s] calculating normalized zpos values\n",
 			 crtc->base.id, crtc->name);
@@ -187,10 +188,13 @@ static int komeda_crtc_normalize_zpos(struct drm_crtc *crtc,
 				 plane_st->zpos, plane_st->normalized_zpos);
 
 		/* calculate max slave zorder */
-		if (has_bit(drm_plane_index(plane), kcrtc->slave_planes))
+		if (has_bit(drm_plane_index(plane), kcrtc->slave_planes)) {
+			slave_zpos = plane_st->normalized_zpos;
+			if (to_kplane_st(plane_st)->layer_split)
+				slave_zpos++;
 			kcrtc_st->max_slave_zorder =
-				max(plane_st->normalized_zpos,
-				    kcrtc_st->max_slave_zorder);
+				max(slave_zpos, kcrtc_st->max_slave_zorder);
+		}
 	}
 
 	crtc_st->zpos_changed = true;
drivers/gpu/drm/drm_atomic_uapi.c +1 -1
index 000fc820638a..2b07de235e0d 100644
@@ -582,7 +582,7 @@ static int drm_atomic_plane_set_property(struct drm_plane *plane,
 					&state->fb_damage_clips,
 					val,
 					-1,
-					sizeof(struct drm_rect),
+					sizeof(struct drm_mode_rect),
 					&replaced);
 		return ret;
 	} else if (plane->funcs->atomic_set_property) {
drivers/gpu/drm/drm_crtc.c +1 -0
index 85d85a0ba85f..da45cfd2939c 100644
@@ -727,6 +727,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
 	connector_set = NULL;
 	fb = NULL;
 	mode = NULL;
+	num_connectors = 0;
 
 	DRM_MODESET_LOCK_ALL_END(ctx, ret);
 	mutex_unlock(&crtc->dev->mode_config.mutex);
drivers/gpu/drm/drm_mipi_dsi.c +1 -1
index 963918dc8ad8..aaf8e7b8ee1d 100644
@@ -221,7 +221,7 @@ mipi_dsi_device_register_full(struct mipi_dsi_host *host,
 		return dsi;
 	}
 
-	device_set_node(&dsi->dev, of_fwnode_handle(info->node));
+	dsi->dev.of_node = info->node;
 	dsi->channel = info->channel;
 	strlcpy(dsi->name, info->type, sizeof(dsi->name));
 
drivers/gpu/drm/drm_print.c +8 -5
index a17c8a14dba4..898a08b481ed 100644
@@ -59,8 +59,9 @@ void __drm_puts_coredump(struct drm_printer *p, const char *str)
 			copy = iterator->remain;
 
 		/* Copy out the bit of the string that we need */
-		memcpy(iterator->data,
-			str + (iterator->start - iterator->offset), copy);
+		if (iterator->data)
+			memcpy(iterator->data,
+			       str + (iterator->start - iterator->offset), copy);
 
 		iterator->offset = iterator->start + copy;
 		iterator->remain -= copy;
@@ -69,7 +70,8 @@ void __drm_puts_coredump(struct drm_printer *p, const char *str)
 
 		len = min_t(ssize_t, strlen(str), iterator->remain);
 
-		memcpy(iterator->data + pos, str, len);
+		if (iterator->data)
+			memcpy(iterator->data + pos, str, len);
 
 		iterator->offset += len;
 		iterator->remain -= len;
@@ -99,8 +101,9 @@ void __drm_printfn_coredump(struct drm_printer *p, struct va_format *vaf)
 	if ((iterator->offset >= iterator->start) && (len < iterator->remain)) {
 		ssize_t pos = iterator->offset - iterator->start;
 
-		snprintf(((char *) iterator->data) + pos,
-			iterator->remain, "%pV", vaf);
+		if (iterator->data)
+			snprintf(((char *) iterator->data) + pos,
+				 iterator->remain, "%pV", vaf);
 
 		iterator->offset += len;
 		iterator->remain -= len;
drivers/gpu/drm/exynos/exynos_drm_gsc.c +1 -1
index bcf830c5b8ea..1bc2afcf9f08 100644
@@ -1169,7 +1169,7 @@ static int gsc_bind(struct device *dev, struct device *master, void *data)
 	struct exynos_drm_ipp *ipp = &ctx->ipp;
 
 	ctx->drm_dev = drm_dev;
-	ctx->drm_dev = drm_dev;
+	ipp->drm_dev = drm_dev;
 	exynos_drm_register_dma(drm_dev, dev, &ctx->dma_priv);
 
 	exynos_drm_ipp_register(dev, ipp, &ipp_funcs,
drivers/gpu/drm/msm/adreno/a5xx_gpu.c +6 -2
index 65c2c5361e5f..c3f35bee9b8d 100644
@@ -134,9 +134,13 @@ static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit,
 	OUT_PKT7(ring, CP_SET_PROTECTED_MODE, 1);
 	OUT_RING(ring, 1);
 
-	/* Enable local preemption for finegrain preemption */
+	/*
+	 * Disable local preemption by default because it requires
+	 * user-space to be aware of it and provide additional handling
+	 * to restore rendering state or do various flushes on switch.
+	 */
 	OUT_PKT7(ring, CP_PREEMPT_ENABLE_LOCAL, 1);
-	OUT_RING(ring, 0x1);
+	OUT_RING(ring, 0x0);
 
 	/* Allow CP_CONTEXT_SWITCH_YIELD packets in the IB2 */
 	OUT_PKT7(ring, CP_YIELD_ENABLE, 1);
drivers/gpu/drm/msm/adreno/a5xx_gpu.h +1 -0
index 833468ce6b6d..cf29cc6238c7 100644
@@ -35,6 +35,7 @@ struct a5xx_gpu {
 	uint64_t preempt_iova[MSM_GPU_MAX_RINGS];
 
 	atomic_t preempt_state;
+	spinlock_t preempt_start_lock;
 	struct timer_list preempt_timer;
 };
 
drivers/gpu/drm/msm/adreno/a5xx_preempt.c +24 -2
index 9cf9353a7ff1..e55a6a068c39 100644
@@ -98,12 +98,19 @@ void a5xx_preempt_trigger(struct msm_gpu *gpu)
 	if (gpu->nr_rings == 1)
 		return;
 
+	/*
+	 * Serialize preemption start to ensure that we always make
+	 * decision on latest state. Otherwise we can get stuck in
+	 * lower priority or empty ring.
+	 */
+	spin_lock_irqsave(&a5xx_gpu->preempt_start_lock, flags);
+
 	/*
 	 * Try to start preemption by moving from NONE to START. If
 	 * unsuccessful, a preemption is already in flight
 	 */
 	if (!try_preempt_state(a5xx_gpu, PREEMPT_NONE, PREEMPT_START))
-		return;
+		goto out;
 
 	/* Get the next ring to preempt to */
 	ring = get_next_ring(gpu);
@@ -128,9 +135,11 @@ void a5xx_preempt_trigger(struct msm_gpu *gpu)
 		set_preempt_state(a5xx_gpu, PREEMPT_ABORT);
 		update_wptr(gpu, a5xx_gpu->cur_ring);
 		set_preempt_state(a5xx_gpu, PREEMPT_NONE);
-		return;
+		goto out;
 	}
 
+	spin_unlock_irqrestore(&a5xx_gpu->preempt_start_lock, flags);
+
 	/* Make sure the wptr doesn't update while we're in motion */
 	spin_lock_irqsave(&ring->lock, flags);
 	a5xx_gpu->preempt[ring->id]->wptr = get_wptr(ring);
@@ -154,6 +163,10 @@ void a5xx_preempt_trigger(struct msm_gpu *gpu)
 
 	/* And actually start the preemption */
 	gpu_write(gpu, REG_A5XX_CP_CONTEXT_SWITCH_CNTL, 1);
+	return;
+
+out:
+	spin_unlock_irqrestore(&a5xx_gpu->preempt_start_lock, flags);
 }
 
 void a5xx_preempt_irq(struct msm_gpu *gpu)
@@ -191,6 +204,12 @@ void a5xx_preempt_irq(struct msm_gpu *gpu)
 	update_wptr(gpu, a5xx_gpu->cur_ring);
 
 	set_preempt_state(a5xx_gpu, PREEMPT_NONE);
+
+	/*
+	 * Try to trigger preemption again in case there was a submit or
+	 * retire during ring switch
+	 */
+	a5xx_preempt_trigger(gpu);
 }
 
 void a5xx_preempt_hw_init(struct msm_gpu *gpu)
@@ -207,6 +226,8 @@ void a5xx_preempt_hw_init(struct msm_gpu *gpu)
 		return;
 
 	for (i = 0; i < gpu->nr_rings; i++) {
+		a5xx_gpu->preempt[i]->data = 0;
+		a5xx_gpu->preempt[i]->info = 0;
 		a5xx_gpu->preempt[i]->wptr = 0;
 		a5xx_gpu->preempt[i]->rptr = 0;
 		a5xx_gpu->preempt[i]->rbase = gpu->rb[i]->iova;
@@ -287,5 +308,6 @@ void a5xx_preempt_init(struct msm_gpu *gpu)
 		}
 	}
 
+	spin_lock_init(&a5xx_gpu->preempt_start_lock);
 	timer_setup(&a5xx_gpu->preempt_timer, a5xx_preempt_timer, 0);
 }
drivers/gpu/drm/msm/adreno/adreno_gpu.c +1 -1
index 6f83253a8c58..3edecd4fc8f6 100644
@@ -247,7 +247,7 @@ adreno_request_fw(struct adreno_gpu *adreno_gpu, const char *fwname)
 		ret = request_firmware_direct(&fw, fwname, drm->dev);
 		if (!ret) {
 			DRM_DEV_INFO(drm->dev, "loaded %s from legacy location\n",
-				newname);
+				fwname);
 			adreno_gpu->fwloc = FW_LOCATION_LEGACY;
 			goto out;
 		} else if (adreno_gpu->fwloc != FW_LOCATION_UNKNOWN) {
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c +1 -1
index b31cfb554fa2..a1cc205192f3 100644
@@ -358,7 +358,7 @@ void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p)
 
 			drm_printf(p, "%s:%d\t%d\t%s\n",
 				pipe2name(pipe), j, inuse,
-				plane ? plane->name : NULL);
+				plane ? plane->name : "(null)");
 
 			total += inuse;
 		}
drivers/gpu/drm/msm/dsi/dsi_host.c +1 -1
index 419cad31830e..41b68047bf61 100644
@@ -663,7 +663,7 @@ static u32 dsi_get_pclk_rate(struct msm_dsi_host *msm_host, bool is_dual_dsi)
 	struct drm_display_mode *mode = msm_host->mode;
 	u32 pclk_rate;
 
-	pclk_rate = mode->clock * 1000;
+	pclk_rate = mode->clock * 1000u;
 
 	/*
 	 * For dual DSI mode, the current DRM mode has the complete width of the
drivers/gpu/drm/nouveau/nouveau_dmem.c +1 -1
index 0ad5d87b5a8e..7c8f77ed0549 100644
@@ -139,7 +139,7 @@ static vm_fault_t nouveau_dmem_fault_copy_one(struct nouveau_drm *drm,
 	if (!spage || !(args->src[0] & MIGRATE_PFN_MIGRATE))
 		return 0;
 
-	dpage = alloc_page_vma(GFP_HIGHUSER, vmf->vma, vmf->address);
+	dpage = alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO, vmf->vma, vmf->address);
 	if (!dpage)
 		return VM_FAULT_SIGBUS;
 	lock_page(dpage);
drivers/gpu/drm/omapdrm/omap_drv.c +5 -0
index a4645b78f737..dd258045e05d 100644
@@ -580,6 +580,10 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
 	soc = soc_device_match(omapdrm_soc_devices);
 	priv->omaprev = soc ? (unsigned int)soc->data : 0;
 	priv->wq = alloc_ordered_workqueue("omapdrm", 0);
+	if (!priv->wq) {
+		ret = -ENOMEM;
+		goto err_alloc_workqueue;
+	}
 
 	mutex_init(&priv->list_lock);
 	INIT_LIST_HEAD(&priv->obj_list);
@@ -633,6 +637,7 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
 err_gem_deinit:
 	omap_gem_deinit(ddev);
 	destroy_workqueue(priv->wq);
+err_alloc_workqueue:
 	omap_disconnect_pipelines(ddev);
 	omap_crtc_pre_uninit(priv);
 	drm_dev_put(ddev);
drivers/gpu/drm/radeon/atombios.h +1 -1
index 4b86e8b45009..e3f496464764 100644
@@ -3615,7 +3615,7 @@ typedef struct _ATOM_FAKE_EDID_PATCH_RECORD
 {
   UCHAR ucRecordType;
   UCHAR ucFakeEDIDLength;
-  UCHAR ucFakeEDIDString[1];    // This actually has ucFakeEdidLength elements.
+  UCHAR ucFakeEDIDString[];    // This actually has ucFakeEdidLength elements.
 } ATOM_FAKE_EDID_PATCH_RECORD;
 
 typedef struct  _ATOM_PANEL_RESOLUTION_PATCH_RECORD
drivers/gpu/drm/radeon/evergreen_cs.c +31 -31

166 lines not on this page · raw message

drivers/gpu/drm/radeon/r100.c +45 -25

90 lines not on this page · raw message

drivers/gpu/drm/radeon/radeon_atombios.c +16 -10
index 9e0aa357585f..657fb1362419 100644
@@ -1730,23 +1730,29 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
 					fake_edid_record = (ATOM_FAKE_EDID_PATCH_RECORD *)record;
 					if (fake_edid_record->ucFakeEDIDLength) {
 						struct edid *edid;
-						int edid_size =
-							max((int)EDID_LENGTH, (int)fake_edid_record->ucFakeEDIDLength);
-						edid = kmalloc(edid_size, GFP_KERNEL);
+						int edid_size;
+
+						if (fake_edid_record->ucFakeEDIDLength == 128)
+							edid_size = fake_edid_record->ucFakeEDIDLength;
+						else
+							edid_size = fake_edid_record->ucFakeEDIDLength * 128;
+						edid = kmemdup(&fake_edid_record->ucFakeEDIDString[0],
+							       edid_size, GFP_KERNEL);
 						if (edid) {
-							memcpy((u8 *)edid, (u8 *)&fake_edid_record->ucFakeEDIDString[0],
-							       fake_edid_record->ucFakeEDIDLength);
-
 							if (drm_edid_is_valid(edid)) {
 								rdev->mode_info.bios_hardcoded_edid = edid;
 								rdev->mode_info.bios_hardcoded_edid_size = edid_size;
-							} else
+							} else {
 								kfree(edid);
+							}
 						}
+						record += struct_size(fake_edid_record,
+								      ucFakeEDIDString,
+								      edid_size);
+					} else {
+						/* empty fake edid record must be 3 bytes long */
+						record += sizeof(ATOM_FAKE_EDID_PATCH_RECORD) + 1;
 					}
-					record += fake_edid_record->ucFakeEDIDLength ?
-						fake_edid_record->ucFakeEDIDLength + 2 :
-						sizeof(ATOM_FAKE_EDID_PATCH_RECORD);
 					break;
 				case LCD_PANEL_RESOLUTION_RECORD_TYPE:
 					panel_res_record = (ATOM_PANEL_RESOLUTION_PATCH_RECORD *)record;
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +2 -0
index 7805091bac32..51ac0a0cd995 100644
@@ -390,6 +390,8 @@ static void dw_hdmi_rk3328_setup_hpd(struct dw_hdmi *dw_hdmi, void *data)
 		HIWORD_UPDATE(RK3328_HDMI_SDAIN_MSK | RK3328_HDMI_SCLIN_MSK,
 			      RK3328_HDMI_SDAIN_MSK | RK3328_HDMI_SCLIN_MSK |
 			      RK3328_HDMI_HPD_IOE));
+
+	dw_hdmi_rk3328_read_hpd(dw_hdmi, data);
 }
 
 static const struct dw_hdmi_phy_ops rk3228_hdmi_phy_ops = {
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +2 -2
index f2edb9421476..20da0c993039 100644
@@ -333,8 +333,8 @@ static void scl_vop_cal_scl_fac(struct vop *vop, const struct vop_win_data *win,
 	if (info->is_yuv)
 		is_yuv = true;
 
-	if (dst_w > 3840) {
-		DRM_DEV_ERROR(vop->dev, "Maximum dst width (3840) exceeded\n");
+	if (dst_w > 4096) {
+		DRM_DEV_ERROR(vop->dev, "Maximum dst width (4096) exceeded\n");
 		return;
 	}
 
drivers/gpu/drm/stm/drv.c +3 -1
index 5a9f9aca8bc2..c7203fd7c85e 100644
@@ -208,12 +208,14 @@ static int stm_drm_platform_probe(struct platform_device *pdev)
 
 	ret = drm_dev_register(ddev, 0);
 	if (ret)
-		goto err_put;
+		goto err_unload;
 
 	drm_fbdev_generic_setup(ddev, 16);
 
 	return 0;
 
+err_unload:
+	drv_unload(ddev);
 err_put:
 	drm_dev_put(ddev);
 
drivers/gpu/drm/vboxvideo/hgsmi_base.c +9 -1
index 361d3193258e..7edc9cf6a606 100644
@@ -135,7 +135,15 @@ int hgsmi_update_pointer_shape(struct gen_pool *ctx, u32 flags,
 		flags |= VBOX_MOUSE_POINTER_VISIBLE;
 	}
 
-	p = hgsmi_buffer_alloc(ctx, sizeof(*p) + pixel_len, HGSMI_CH_VBVA,
+	/*
+	 * The 4 extra bytes come from switching struct vbva_mouse_pointer_shape
+	 * from having a 4 bytes fixed array at the end to using a proper VLA
+	 * at the end. These 4 extra bytes were not subtracted from sizeof(*p)
+	 * before the switch to the VLA, so this way the behavior is unchanged.
+	 * Chances are these 4 extra bytes are not necessary but they are kept
+	 * to avoid regressions.
+	 */
+	p = hgsmi_buffer_alloc(ctx, sizeof(*p) + pixel_len + 4, HGSMI_CH_VBVA,
 			       VBVA_MOUSE_POINTER_SHAPE);
 	if (!p)
 		return -ENOMEM;
drivers/gpu/drm/vboxvideo/vboxvideo.h +1 -3
index 0592004f71aa..a03695939c62 100644
@@ -351,10 +351,8 @@ struct vbva_mouse_pointer_shape {
 	 * Bytes in the gap between the AND and the XOR mask are undefined.
 	 * XOR mask scanlines have no gap between them and size of XOR mask is:
 	 * xor_len = width * 4 * height.
-	 *
-	 * Preallocate 4 bytes for accessing actual data as p->data.
 	 */
-	u8 data[4];
+	u8 data[];
 } __packed;
 
 /* pointer is visible */
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +1 -0
index 2492d3a19f36..85783ef45dbf 100644
@@ -1410,6 +1410,7 @@ static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev,
 		DRM_ERROR("Surface size cannot exceed %dx%d",
 			dev_priv->texture_max_width,
 			dev_priv->texture_max_height);
+		ret = -EINVAL;
 		goto err_out;
 	}
 
drivers/hid/hid-ids.h +2 -0
index 6fbb2a387460..bc0115548a57 100644
@@ -954,6 +954,8 @@
 #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES	0xc056
 #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3215_SERIES	0xc057
 #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES	0xc058
+#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3325_SERIES	0x430c
+#define USB_DEVICE_ID_PLANTRONICS_ENCOREPRO_500_SERIES		0x431e
 
 #define USB_VENDOR_ID_PANASONIC		0x04da
 #define USB_DEVICE_ID_PANABOARD_UBT780	0x1044
drivers/hid/hid-plantronics.c +23 -0
index 3d414ae194ac..25cfd964dc25 100644
@@ -38,8 +38,10 @@
 			    (usage->hid & HID_USAGE_PAGE) == HID_UP_CONSUMER)
 
 #define PLT_QUIRK_DOUBLE_VOLUME_KEYS BIT(0)
+#define PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS BIT(1)
 
 #define PLT_DOUBLE_KEY_TIMEOUT 5 /* ms */
+#define PLT_FOLLOWED_OPPOSITE_KEY_TIMEOUT 220 /* ms */
 
 struct plt_drv_data {
 	unsigned long device_type;
@@ -137,6 +139,21 @@ static int plantronics_event(struct hid_device *hdev, struct hid_field *field,
 
 		drv_data->last_volume_key_ts = cur_ts;
 	}
+	if (drv_data->quirks & PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS) {
+		unsigned long prev_ts, cur_ts;
+
+		/* Usages are filtered in plantronics_usages. */
+
+		if (!value) /* Handle key presses only. */
+			return 0;
+
+		prev_ts = drv_data->last_volume_key_ts;
+		cur_ts = jiffies;
+		if (jiffies_to_msecs(cur_ts - prev_ts) <= PLT_FOLLOWED_OPPOSITE_KEY_TIMEOUT)
+			return 1; /* Ignore the followed opposite volume key. */
+
+		drv_data->last_volume_key_ts = cur_ts;
+	}
 
 	return 0;
 }
@@ -210,6 +227,12 @@ static const struct hid_device_id plantronics_devices[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
 					 USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES),
 		.driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
+					 USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3325_SERIES),
+		.driver_data = PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
+					 USB_DEVICE_ID_PLANTRONICS_ENCOREPRO_500_SERIES),
+		.driver_data = PLT_QUIRK_FOLLOWED_OPPOSITE_VOLUME_KEYS },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
 	{ }
 };
drivers/hid/intel-ish-hid/ishtp-fw-loader.c +1 -1
index b6d6d119035c..1bb5316c2a8b 100644
@@ -630,7 +630,7 @@ static int ish_fw_xfer_direct_dma(struct ishtp_cl_data *client_data,
 				  const struct firmware *fw,
 				  const struct shim_fw_info fw_info)
 {
-	int rv;
+	int rv = 0;
 	void *dma_buf;
 	dma_addr_t dma_buf_phy;
 	u32 fragment_offset, fragment_size, payload_max_size;
drivers/hwmon/max16065.c +3 -2
index 49b7e0b6d1bb..5d0ecc8d56af 100644
@@ -114,9 +114,10 @@ static inline int LIMIT_TO_MV(int limit, int range)
 	return limit * range / 256;
 }
 
-static inline int MV_TO_LIMIT(int mv, int range)
+static inline int MV_TO_LIMIT(unsigned long mv, int range)
 {
-	return clamp_val(DIV_ROUND_CLOSEST(mv * 256, range), 0, 255);
+	mv = clamp_val(mv, 0, ULONG_MAX / 256);
+	return DIV_ROUND_CLOSEST(clamp_val(mv * 256, 0, range * 255), range);
 }
 
 static inline int ADC_TO_CURR(int adc, int gain)
drivers/hwmon/ntc_thermistor.c +1 -0
index 3aad62a0e661..7e20beb8b11f 100644
@@ -58,6 +58,7 @@ static const struct platform_device_id ntc_thermistor_id[] = {
 	[NTC_NCP21WB473]      = { "ncp21wb473",      TYPE_NCPXXWB473 },
 	[NTC_LAST]            = { },
 };
+MODULE_DEVICE_TABLE(platform, ntc_thermistor_id);
 
 /*
  * A compensation table should be sorted by the values of .ohm
drivers/hwtracing/coresight/coresight-tmc-etr.c +1 -1
index 2a0a12c194c0..17a5ceff48f2 100644
@@ -257,6 +257,7 @@ void tmc_free_sg_table(struct tmc_sg_table *sg_table)
 {
 	tmc_free_table_pages(sg_table);
 	tmc_free_data_pages(sg_table);
+	kfree(sg_table);
 }
 
 /*
@@ -337,7 +338,6 @@ struct tmc_sg_table *tmc_alloc_sg_table(struct device *dev,
 		rc = tmc_alloc_table_pages(sg_table);
 	if (rc) {
 		tmc_free_sg_table(sg_table);
-		kfree(sg_table);
 		return ERR_PTR(rc);
 	}
 
drivers/i2c/busses/i2c-aspeed.c +8 -8
index 3f0b072a4cc8..51e92dd640a5 100644
@@ -172,6 +172,13 @@ struct aspeed_i2c_bus {
 
 static int aspeed_i2c_reset(struct aspeed_i2c_bus *bus);
 
+/* precondition: bus.lock has been acquired. */
+static void aspeed_i2c_do_stop(struct aspeed_i2c_bus *bus)
+{
+	bus->master_state = ASPEED_I2C_MASTER_STOP;
+	writel(ASPEED_I2CD_M_STOP_CMD, bus->base + ASPEED_I2C_CMD_REG);
+}
+
 static int aspeed_i2c_recover_bus(struct aspeed_i2c_bus *bus)
 {
 	unsigned long time_left, flags;
@@ -189,7 +196,7 @@ static int aspeed_i2c_recover_bus(struct aspeed_i2c_bus *bus)
 			command);
 
 		reinit_completion(&bus->cmd_complete);
-		writel(ASPEED_I2CD_M_STOP_CMD, bus->base + ASPEED_I2C_CMD_REG);
+		aspeed_i2c_do_stop(bus);
 		spin_unlock_irqrestore(&bus->lock, flags);
 
 		time_left = wait_for_completion_timeout(
@@ -385,13 +392,6 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
 	writel(command, bus->base + ASPEED_I2C_CMD_REG);
 }
 
-/* precondition: bus.lock has been acquired. */
-static void aspeed_i2c_do_stop(struct aspeed_i2c_bus *bus)
-{
-	bus->master_state = ASPEED_I2C_MASTER_STOP;
-	writel(ASPEED_I2CD_M_STOP_CMD, bus->base + ASPEED_I2C_CMD_REG);
-}
-
 /* precondition: bus.lock has been acquired. */
 static void aspeed_i2c_next_msg_or_stop(struct aspeed_i2c_bus *bus)
 {
drivers/i2c/busses/i2c-i801.c +8 -1
index 2c077ffcee60..6b960cbd045b 100644
@@ -1861,8 +1861,15 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
 
 	i801_add_tco(priv);
 
+	/*
+	 * adapter.name is used by platform code to find the main I801 adapter
+	 * to instantiante i2c_clients, do not change.
+	 */
 	snprintf(priv->adapter.name, sizeof(priv->adapter.name),
-		"SMBus I801 adapter at %04lx", priv->smba);
+		 "SMBus %s adapter at %04lx",
+		 (priv->features & FEATURE_IDF) ? "I801 IDF" : "I801",
+		 priv->smba);
+
 	err = i2c_add_adapter(&priv->adapter);
 	if (err) {
 		platform_device_unregister(priv->tco_pdev);
drivers/i2c/busses/i2c-isch.c +1 -2
index 2dc7ada06ac5..d283e6bb1ff8 100644
@@ -99,8 +99,7 @@ static int sch_transaction(void)
 	if (retries > MAX_RETRIES) {
 		dev_err(&sch_adapter.dev, "SMBus Timeout!\n");
 		result = -ETIMEDOUT;
-	}
-	if (temp & 0x04) {
+	} else if (temp & 0x04) {
 		result = -EIO;
 		dev_dbg(&sch_adapter.dev, "Bus collision! SMBus may be "
 			"locked until next hard reset. (sorry!)\n");
drivers/i2c/busses/i2c-qcom-geni.c +26 -33

123 lines not on this page · raw message

drivers/i2c/busses/i2c-stm32f7.c +3 -3
index 74dd2c15e34c..02f0f9eeb59f 100644
@@ -2070,7 +2070,7 @@ static int stm32f7_i2c_runtime_suspend(struct device *dev)
 	struct stm32f7_i2c_dev *i2c_dev = dev_get_drvdata(dev);
 
 	if (!stm32f7_i2c_is_slave_registered(i2c_dev))
-		clk_disable_unprepare(i2c_dev->clk);
+		clk_disable(i2c_dev->clk);
 
 	return 0;
 }
@@ -2081,9 +2081,9 @@ static int stm32f7_i2c_runtime_resume(struct device *dev)
 	int ret;
 
 	if (!stm32f7_i2c_is_slave_registered(i2c_dev)) {
-		ret = clk_prepare_enable(i2c_dev->clk);
+		ret = clk_enable(i2c_dev->clk);
 		if (ret) {
-			dev_err(dev, "failed to prepare_enable clock\n");
+			dev_err(dev, "failed to enable clock\n");
 			return ret;
 		}
 	}
drivers/i2c/busses/i2c-xiic.c +9 -10
index 6bcb46cc28cd..f4ac765f1f80 100644
@@ -469,14 +469,17 @@ static irqreturn_t xiic_process(int irq, void *dev_id)
 			goto out;
 		}
 
-		xiic_fill_tx_fifo(i2c);
-
-		/* current message sent and there is space in the fifo */
-		if (!xiic_tx_space(i2c) && xiic_tx_fifo_space(i2c) >= 2) {
+		if (xiic_tx_space(i2c)) {
+			xiic_fill_tx_fifo(i2c);
+		} else {
+			/* current message fully written */
 			dev_dbg(i2c->adap.dev.parent,
 				"%s end of message sent, nmsgs: %d\n",
 				__func__, i2c->nmsgs);
-			if (i2c->nmsgs > 1) {
+			/* Don't move onto the next message until the TX FIFO empties,
+			 * to ensure that a NAK is not missed.
+			 */
+			if (i2c->nmsgs > 1 && (pend & XIIC_INTR_TX_EMPTY_MASK)) {
 				i2c->nmsgs--;
 				i2c->tx_msg++;
 				xfer_more = 1;
@@ -487,11 +490,7 @@ static irqreturn_t xiic_process(int irq, void *dev_id)
 					"%s Got TX IRQ but no more to do...\n",
 					__func__);
 			}
-		} else if (!xiic_tx_space(i2c) && (i2c->nmsgs == 1))
-			/* current frame is sent and is last,
-			 * make sure to disable tx half
-			 */
-			xiic_irq_dis(i2c, XIIC_INTR_TX_HALF_MASK);
+		}
 	}
 out:
 	dev_dbg(i2c->adap.dev.parent, "%s clr: 0x%x\n", __func__, clr);
drivers/iio/adc/Kconfig +4 -0
index b39d5ad15744..a830a5265a3a 100644
@@ -980,6 +980,8 @@ config TI_ADS8344
 config TI_ADS8688
 	tristate "Texas Instruments ADS8688"
 	depends on SPI && OF
+	select IIO_BUFFER
+	select IIO_TRIGGERED_BUFFER
 	help
 	  If you say yes here you get support for Texas Instruments ADS8684 and
 	  and ADS8688 ADC chips
@@ -990,6 +992,8 @@ config TI_ADS8688
 config TI_ADS124S08
 	tristate "Texas Instruments ADS124S08"
 	depends on SPI && OF
+	select IIO_BUFFER
+	select IIO_TRIGGERED_BUFFER
 	help
 	  If you say yes here you get support for Texas Instruments ADS124S08
 	  and ADS124S06 ADC chips
drivers/iio/adc/ad7606.c +4 -4
index e4683a68522a..806dd9cdbc64 100644
@@ -238,9 +238,9 @@ static int ad7606_write_os_hw(struct iio_dev *indio_dev, int val)
 	struct ad7606_state *st = iio_priv(indio_dev);
 	DECLARE_BITMAP(values, 3);
 
-	values[0] = val;
+	values[0] = val & GENMASK(2, 0);
 
-	gpiod_set_array_value(ARRAY_SIZE(values), st->gpio_os->desc,
+	gpiod_set_array_value(st->gpio_os->ndescs, st->gpio_os->desc,
 			      st->gpio_os->info, values);
 
 	/* AD7616 requires a reset to update value */
@@ -445,7 +445,7 @@ static int ad7606_request_gpios(struct ad7606_state *st)
 		return PTR_ERR(st->gpio_range);
 
 	st->gpio_standby = devm_gpiod_get_optional(dev, "standby",
-						   GPIOD_OUT_HIGH);
+						   GPIOD_OUT_LOW);
 	if (IS_ERR(st->gpio_standby))
 		return PTR_ERR(st->gpio_standby);
 
@@ -706,7 +706,7 @@ static int ad7606_suspend(struct device *dev)
 
 	if (st->gpio_standby) {
 		gpiod_set_value(st->gpio_range, 1);
-		gpiod_set_value(st->gpio_standby, 0);
+		gpiod_set_value(st->gpio_standby, 1);
 	}
 
 	return 0;
drivers/iio/adc/ad7606_spi.c +3 -2
index 29945ad07dca..e1ad2cd61b7f 100644
@@ -249,8 +249,9 @@ static int ad7616_sw_mode_config(struct iio_dev *indio_dev)
 static int ad7606B_sw_mode_config(struct iio_dev *indio_dev)
 {
 	struct ad7606_state *st = iio_priv(indio_dev);
-	unsigned long os[3] = {1};
+	DECLARE_BITMAP(os, 3);
 
+	bitmap_fill(os, 3);
 	/*
 	 * Software mode is enabled when all three oversampling
 	 * pins are set to high. If oversampling gpios are defined
@@ -258,7 +259,7 @@ static int ad7606B_sw_mode_config(struct iio_dev *indio_dev)
 	 * otherwise, they must be hardwired to VDD
 	 */
 	if (st->gpio_os) {
-		gpiod_set_array_value(ARRAY_SIZE(os),
+		gpiod_set_array_value(st->gpio_os->ndescs,
 				      st->gpio_os->desc, st->gpio_os->info, os);
 	}
 	/* OS of 128 and 256 are available only in software mode */
drivers/iio/common/hid-sensors/hid-sensor-trigger.c +1 -1
index 906d87780419..ee38191e6ef1 100644
@@ -33,7 +33,7 @@ static ssize_t _hid_sensor_set_report_latency(struct device *dev,
 	latency = integer * 1000 + fract / 1000;
 	ret = hid_sensor_set_report_latency(attrb, latency);
 	if (ret < 0)
-		return len;
+		return ret;
 
 	attrb->latency_ms = hid_sensor_get_report_latency(attrb);
 
drivers/iio/dac/Kconfig +2 -0
index 979070196da9..a868603e12e9 100644
@@ -124,6 +124,7 @@ config AD5624R_SPI
 config LTC1660
 	tristate "Linear Technology LTC1660/LTC1665 DAC SPI driver"
 	depends on SPI
+	select REGMAP_SPI
 	help
 	  Say yes here to build support for Linear Technology
 	  LTC1660 and LTC1665 Digital to Analog Converters.
@@ -346,6 +347,7 @@ config STM32_DAC
 
 config STM32_DAC_CORE
 	tristate
+	select REGMAP_MMIO
 
 config TI_DAC082S085
 	tristate "Texas Instruments 8/10/12-bit 2/4-channel DAC driver"
drivers/iio/light/opt3001.c +4 -0
index 5588066c8324..088779f723f7 100644
@@ -137,6 +137,10 @@ static const struct opt3001_scale opt3001_scales[] = {
 		.val = 20966,
 		.val2 = 400000,
 	},
+	{
+		.val = 41932,
+		.val2 = 800000,
+	},
 	{
 		.val = 83865,
 		.val2 = 600000,
drivers/iio/magnetometer/ak8975.c +16 -16
index c54eed3f4edc..48141cbf62a9 100644
@@ -660,22 +660,8 @@ static int ak8975_start_read_axis(struct ak8975_data *data,
 	if (ret < 0)
 		return ret;
 
-	/* This will be executed only for non-interrupt based waiting case */
-	if (ret & data->def->ctrl_masks[ST1_DRDY]) {
-		ret = i2c_smbus_read_byte_data(client,
-					       data->def->ctrl_regs[ST2]);
[… more lines in the raw message]

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

drivers/iio/proximity/Kconfig +2 -0
index d53601447da4..d8f0fab0ed41 100644

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

drivers/infiniband/core/iwcm.c +1 -1
index 7a6747850aea..44362f693df9 100644

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

drivers/infiniband/hw/bnxt_re/qplib_fp.h +1 -1
index ff0f7b109507..bdc3a4f969c7 100644

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

drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +1 -1
index 5cdfa84faf85..e74fb7c4d033 100644

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

drivers/infiniband/hw/cxgb4/cm.c +9 -5
index c7214c49f202..38e2fbf84e27 100644

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

drivers/infiniband/hw/hns/hns_roce_hem.c +6 -4
index e82215774032..3aafe1e1a998 100644

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

drivers/infiniband/sw/rxe/rxe_comp.c +3 -3
index 4bc88708b355..8b02ef00c8ae 100644

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

drivers/input/keyboard/adp5589-keys.c +10 -3
index 4f96a4a99e5b..9dfaef7ed84a 100644

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

drivers/input/rmi4/rmi_driver.c +3 -3
index aa32371f04af..ef9ea295f9e0 100644

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

drivers/mailbox/bcm2835-mailbox.c +2 -1
index 39761d190545..5c33c01a9d26 100644

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

drivers/mailbox/rockchip-mailbox.c +1 -1
index 979acc810f30..ca50f7f176f6 100644

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

drivers/media/common/videobuf2/videobuf2-core.c +4 -4
index 13602939906f..98651c934d4e 100644

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

drivers/media/dvb-frontends/rtl2830.c +1 -1
index e6b8367c8cce..84c00c6894d3 100644

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

drivers/media/dvb-frontends/rtl2832.c +1 -1
index e5bffaaeed38..1c3e572cad3f 100644

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

drivers/media/platform/qcom/venus/core.c +1 -0
index 7b52d3e5d3f8..5ba563e0708e 100644

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

drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c +5 -0
index b8b07c1de2a8..f39c303b13ed 100644

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

drivers/misc/sgi-gru/grukservices.c +0 -2
index 0197441a1eae..8dc1c5e519af 100644

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

drivers/misc/sgi-gru/grumain.c +0 -4
index e2325e3d077e..4f7a0f847255 100644

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

drivers/misc/sgi-gru/grutlbpurge.c +0 -2
index 10921cd2608d..1107dd3e2e9f 100644

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

drivers/misc/ti-st/st_core.c +2 -2
index c19460e7f0f1..7a7a1ac81ad0 100644

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

drivers/mtd/devices/powernv_flash.c +3 -0
index 0b757d9ba2f6..0ab64a1cec09 100644

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

drivers/mtd/devices/slram.c +2 -0
index 28131a127d06..8297b366a066 100644

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

drivers/net/Kconfig +32 -32

64 lines not on this page · raw message

drivers/net/caif/Kconfig +18 -18
index 2b9a2f117113..f330c9f4c6c8 100644

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

drivers/net/ethernet/aeroflex/greth.c +2 -1
index 19e2b838750c..9e437aebc790 100644

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

drivers/net/ethernet/amd/mvme147.c +3 -4
index 72abd3f82249..eb7b1da2fb06 100644

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

drivers/net/ethernet/broadcom/bcmsysport.c +1 -0
index 5a2094a281e1..4db355a0c786 100644

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

drivers/net/ethernet/cortina/gemini.c +2 -13
index 91952d086f22..8b5ed26cab03 100644

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

drivers/net/ethernet/emulex/benet/be_main.c +5 -5
index a7a3e2ee0676..51dddf63d40f 100644

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

drivers/net/ethernet/faraday/ftgmac100.c +18 -8
index 98e94d914597..1de25a5a3f13 100644

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

drivers/net/ethernet/faraday/ftgmac100.h +1 -1
index 63b3e02fab16..4968f6f0bdbc 100644

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

drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +8 -1
index 00c4beb760c3..1d18556f1767 100644

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

drivers/net/ethernet/freescale/fs_enet/Kconfig +4 -4
index 245d9a68a71f..7f20840fde07 100644

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

drivers/net/ethernet/hisilicon/hip04_eth.c +1 -0
index b5eae06dd870..00ca5183f9c3 100644

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

drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c +1 -0
index e34245649057..b3733d7a7d81 100644

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

drivers/net/ethernet/hisilicon/hns_mdio.c +1 -0
index 7df5d7d211d4..58af9b4ae2be 100644

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

drivers/net/ethernet/i825xx/sun3_82586.c +1 -0
index e0c9fee4e1e6..7948d59b9628 100644

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

drivers/net/ethernet/ibm/emac/mal.c +1 -1
index 075c07303f16..b095d5057b5e 100644

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

drivers/net/ethernet/intel/ice/ice_sched.c +2 -4
index 2fde9653a608..d1c0ccee879b 100644

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

drivers/net/ethernet/intel/ice/ice_switch.c +1 -3
index 0c71995e1a70..0d8fa189d2d4 100644

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

drivers/net/ethernet/intel/igb/igb_main.c +4 -0
index 884beeb67a1f..1e9967657248 100644

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

drivers/net/ethernet/jme.c +4 -6
index 25aa400e2e3c..773ec50d515b 100644

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

drivers/net/ethernet/lantiq_etop.c +3 -1
index 932796080c7f..5121e175f313 100644

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

drivers/net/ethernet/marvell/mvpp2/mvpp2.h +1 -1
index cf45b9210c15..552ec1f96e5d 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +4 -0
index 10411ab89e1c..abe21929bd5d 100644

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

drivers/net/ethernet/mellanox/mlx5/core/lib/pci_vsc.c +10 -0
index d0b595ba6110..432c98f2626d 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_common.c +2 -3
index 61aabffc8888..7cbce8f51f06 100644

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

drivers/net/ethernet/realtek/r8169_main.c +32 -3
index 319f8d7a502d..14bac7c0e6f9 100644

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

drivers/net/ethernet/seeq/ether3.c +2 -0
index 632a7c85964d..b057a38d3217 100644

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

drivers/net/gtp.c +14 -13
index c868f4ffa240..f85f4e3d2821 100644

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

drivers/net/hyperv/netvsc_drv.c +30 -0
index e42102a1de41..16cb35a2a58d 100644

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

drivers/net/ieee802154/Kconfig +7 -6
index 8af5b7e9f4ed..6d1c83fe3e97 100644

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

drivers/net/ieee802154/mcr20a.c +1 -4
index 383231b85464..16474990dc01 100644

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

drivers/net/macsec.c +0 -18
index d5f2d895dba2..d1c1cbc324b1 100644

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

drivers/net/phy/vitesse.c +0 -14
index bb680352708a..3f594c8784e2 100644

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

drivers/net/ppp/ppp_async.c +1 -1
index 34c31d6da734..c41eeecb5a10 100644

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

drivers/net/slip/slhc.c +34 -23

57 lines not on this page · raw message

drivers/net/usb/cdc_ncm.c +4 -4
index 4824385fe2c7..c86340fede08 100644

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

drivers/net/usb/ipheth.c +3 -2
index 05576f66f73d..4a6f9dc71dfb 100644

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

drivers/net/usb/usbnet.c +2 -1
index 240511b4246d..7439f4ab72c5 100644

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

drivers/net/wireless/ath/Kconfig +6 -6
index 56616d988c96..7b90b8546162 100644

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

drivers/net/wireless/ath/ar5523/Kconfig +7 -7
index 65b39c7d035d..e82df5f1ea67 100644

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

drivers/net/wireless/ath/ath10k/wmi-tlv.c +6 -1
index ee1c86bb5078..9101e0a14a57 100644

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

drivers/net/wireless/ath/ath10k/wmi.c +2 -0
index 81689dbab7f4..ed6316c41cb7 100644

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

drivers/net/wireless/ath/ath9k/Kconfig +29 -29

58 lines not on this page · raw message

drivers/net/wireless/ath/ath9k/debug.c +2 -4
index 8d98347e0ddf..952c5e93e6ce 100644

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

drivers/net/wireless/ath/ath9k/hif_usb.c +2 -4
index 3aa915d21554..24059a5178a9 100644

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

drivers/net/wireless/ath/ath9k/htc_drv_debug.c +0 -2
index e79bbcd3279a..81332086e289 100644

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

drivers/net/wireless/atmel/Kconfig +21 -21

42 lines not on this page · raw message

drivers/net/wireless/intel/iwlegacy/common.c +2 -0
index 7cfd80d40a65..6f66f85d0cc3 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/fw.c +16 -6
index 27bd9ed48bec..287f9c551525 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +8 -1
index 3c523774ef0e..c8c884bb5090 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/scan.c +4 -4
index 3bce3b59a12b..55292e9b15c1 100644

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

drivers/net/wireless/marvell/mwifiex/fw.h +1 -1
index 3e3134bcc2b0..bfa482cf464f 100644

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

drivers/net/wireless/marvell/mwifiex/scan.c +1 -2
index 1ab04adc53dc..5e7fc7ba3eda 100644

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

drivers/net/wireless/ralink/rt2x00/Kconfig +22 -22

44 lines not on this page · raw message

drivers/net/wireless/realtek/rtw88/Kconfig +1 -0
index 33bd7ed797ff..474e0c3f3555 100644

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

drivers/net/wireless/realtek/rtw88/rtw8822c.c +6 -4
index de0505a6a365..72d711a62b07 100644

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

drivers/net/wireless/ti/wl12xx/Kconfig +4 -4
index e409042ee9a0..9c4511604b67 100644

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

drivers/ntb/hw/intel/ntb_hw_gen1.c +1 -1
index 8d8739bff9f3..6fd5d5e21e36 100644

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

drivers/ntb/hw/mscc/ntb_hw_switchtec.c +1 -0
index 86ffa716eaf2..db9be3ce1cd0 100644

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

drivers/nvdimm/nd_virtio.c +9 -0
index 10351d5b49fa..41e97c6567cf 100644

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

drivers/of/irq.c +9 -29
index ad0cb49e233a..f59bbcc94430 100644

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

drivers/parport/procfs.c +11 -11
index 595e23e6859b..c193d657f0ab 100644

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

drivers/pci/controller/dwc/pci-keystone.c +1 -1
index a16fe2a558c7..b28d3c4205fe 100644

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

drivers/pci/controller/pcie-xilinx-nwl.c +10 -14
index 11b046b20b92..f08606f25e3c 100644

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

drivers/pci/quirks.c +8 -0
index 3bc705840415..b60954b04a07 100644

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

drivers/pinctrl/mvebu/pinctrl-dove.c +29 -13

42 lines not on this page · raw message

drivers/pinctrl/pinctrl-at91.c +4 -1
index 39a55fd85b19..4e6e151db11f 100644

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

drivers/pinctrl/pinctrl-single.c +2 -1
index 43b25119efa2..ec021e6580b2 100644

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

drivers/power/reset/brcmstb-reboot.c +0 -3
index 884b53c483c0..9f8b9e5cad93 100644

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

drivers/power/supply/axp20x_battery.c +22 -9
index 9fda98b950ba..d62a249f65da 100644

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

drivers/power/supply/max17042_battery.c +4 -1
index 170639a1e734..b3afcc5ffd57 100644

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

drivers/pps/clients/pps_parport.c +9 -5
index 7a41fb7b0dec..84e49204912f 100644

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

drivers/reset/reset-berlin.c +2 -1
index 371197bbd055..542d32719b8a 100644

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

drivers/rtc/rtc-at91sam9.c +1 -0
index bb3ba7bfe6a5..58a75d29da63 100644

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

drivers/s390/char/sclp_vt220.c +2 -2
index 3c2ed6d01387..d574c167c9dc 100644

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

drivers/scsi/aacraid/aacraid.h +1 -1
index 3fa03230f6ba..6120f7890d90 100644

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

drivers/soc/versatile/soc-integrator.c +1 -0
index ae13fa2aa582..9a9637fc0707 100644

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

drivers/soc/versatile/soc-realview.c +16 -4
index 9471353dd8c3..9cddbde39986 100644

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

drivers/soundwire/stream.c +4 -4
index b7d81bde35ca..3b3f909407c3 100644

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

drivers/spi/spi-bcm63xx.c +2 -0
index ff2759616873..a7c85d437928 100644

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

drivers/spi/spi-nxp-fspi.c +3 -2
index ee1b488d7ded..c1555812230c 100644

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

drivers/spi/spi-ppc4xx.c +5 -2
index 738a1e4e445e..2b844594a9e6 100644

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

drivers/spi/spi-s3c64xx.c +2 -2
index d9420561236c..108a087a2777 100644

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

drivers/staging/iio/frequency/ad9832.c +5 -2
index 74308a2e72db..d4e04f439865 100644

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

drivers/staging/wilc1000/wilc_hif.c +3 -1
index 7f54665c0a0f..98f1c3102d68 100644

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

drivers/target/target_core_user.c +1 -1
index 077c56cbed4e..aa187672cf99 100644

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

drivers/tty/serial/rp2.c +1 -1
index 944a4c010579..a8d3fbde5b0e 100644

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

drivers/tty/vt/vt.c +1 -1
index 906efcecbf7a..e58dceaf7ff0 100644

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

drivers/usb/chipidea/udc.c +7 -1
index 21c299c85505..72d62abb6f28 100644

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

drivers/usb/class/cdc-acm.c +2 -0
index e8768d33efd6..8b9740142152 100644

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

drivers/usb/class/usbtmc.c +1 -1
index fdfa2da24287..00345a51f18d 100644

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

drivers/usb/dwc2/platform.c +14 -12
index 4f640c0c51b3..717fd0c0bccc 100644

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

drivers/usb/dwc3/core.c +19 -3
index d77092d154df..ad22ec36552a 100644

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

drivers/usb/dwc3/core.h +0 -4
index 5d497efd2f11..34f3fbba391b 100644

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

drivers/usb/dwc3/gadget.c +0 -11
index 73d3408c6a65..ecb79156351f 100644

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

drivers/usb/host/xhci-pci.c +5 -0
index c2fa705b230a..f35476af78a3 100644

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

drivers/usb/host/xhci-ring.c +8 -8
index 90fb2db48094..086c567ca7d0 100644

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

drivers/usb/host/xhci.h +1 -1
index e696f1508318..421bc7ad413e 100644

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

drivers/usb/misc/appledisplay.c +11 -4
index ba1eaabc7796..565e8b45feff 100644

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

drivers/usb/misc/cypress_cy7c63.c +4 -0
index 14faec51d7a5..3be5551a9867 100644

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

drivers/usb/misc/yurex.c +4 -1
index 08b72bb22b7e..de2cc882f576 100644

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

drivers/usb/phy/phy.c +1 -1
index 0277f62739a2..1bb3c001cfd8 100644

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

drivers/usb/serial/option.c +8 -0
index 35bd9c10518f..aaa91f98d85b 100644

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

drivers/usb/serial/pl2303.c +1 -0
index 386894fe59ee..f7185ff1bcd8 100644

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

drivers/usb/serial/pl2303.h +4 -0
index 873e50088a36..fcabe62cc851 100644

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

drivers/usb/storage/unusual_devs.h +11 -0
index b270be141b8e..606a68bd8059 100644

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

drivers/usb/typec/class.c +3 -0
index 371e010e0e85..c30740165b36 100644

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

drivers/video/fbdev/hpfb.c +1 -0
index a79af8f069d1..40e51a2fc34d 100644

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

drivers/video/fbdev/pxafb.c +1 -0
index 27635926cea3..e8d51dc4bc28 100644

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

drivers/video/fbdev/sis/sis_main.c +1 -1
index 2fdd02e51f5f..db745dc3cebe 100644

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

drivers/watchdog/imx_sc_wdt.c +0 -24
index 8c9936e78bee..f11f4c2bb0e5 100644

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

drivers/xen/swiotlb-xen.c +6 -0
index 486d7978ea97..5bd29d0bffa2 100644

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

fs/btrfs/disk-io.c +11 -0
index b4ed11b5f148..660544fc0781 100644

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

fs/btrfs/relocation.c +1 -1
index e603cc8c141e..89ad7e12c08b 100644

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

fs/ceph/addr.c +0 -1
index 34ab7b892b70..079185596364 100644

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

fs/cifs/smb2pdu.c +9 -0
index 667528132b69..cc5555636ed0 100644

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

fs/erofs/decompressor.c +14 -10
index 38eeec5e3032..d06a3b77fb39 100644

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

fs/exec.c +2 -1
index 4fd9cefb56b5..5dffc67745c8 100644

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

fs/ext4/extents.c +4 -1
index fed3dfed2c24..0d692025f923 100644

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

fs/ext4/ialloc.c +2 -0
index cbde5a096c7b..48e4406fd59a 100644

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

fs/ext4/inline.c +25 -10
index 549ceac9099c..7e250ceacb8e 100644

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

fs/ext4/inode.c +7 -4
index 8a0bca3b653b..97c884f7b0d8 100644

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

fs/ext4/mballoc.c +4 -6
index b268dc0e1df4..032e6519865c 100644

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

fs/ext4/migrate.c +1 -1
index dbba3c3a2f06..ebee8c94b5fe 100644

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

fs/ext4/namei.c +8 -6
index e4fbc0f07eed..9d1d1245bf9c 100644

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

fs/ext4/xattr.c +2 -2
index d65f1eb85a92..19982a682b9c 100644

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

fs/f2fs/acl.c +22 -1
index 217b290ae3a5..51313fe36d01 100644

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

fs/f2fs/dir.c +2 -1
index 99c4a868d73b..fc887f163fcc 100644

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

fs/f2fs/f2fs.h +3 -1
index f75d25682734..44c849bebd2e 100644

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

fs/f2fs/file.c +22 -2
index 2330600dbe02..0057e7a6596d 100644

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

fs/f2fs/super.c +2 -2
index 401bc0e7f6eb..da51474596ef 100644

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

fs/f2fs/xattr.c +20 -7
index cef2825ff069..dbb0634d9172 100644

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

fs/fat/namei_vfat.c +1 -1
index 0cdd0fb9f742..9bc7d1602c15 100644

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

fs/fcntl.c +4 -10
index fa0fdd829613..9380e3b6977a 100644

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

fs/inode.c +4 -0
index 8c850a062300..08c898333dbf 100644

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

fs/jbd2/checkpoint.c +10 -4
index edb17822f8e6..c09d1bdffb91 100644

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

fs/jbd2/commit.c +16 -20
index 7bd4b1d4224e..255026497b8c 100644

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

fs/jbd2/journal.c +2 -0
index cfa21c29f312..564aedbd867f 100644

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

fs/jfs/jfs_discard.c +9 -2
index 575cb2ba74fc..5f4b305030ad 100644

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

fs/jfs/jfs_dmap.c +7 -4
index deb54efb5601..00258a551334 100644

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

fs/jfs/jfs_imap.c +1 -1
index 36ed75682064..da3a1c27d349 100644

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

fs/jfs/xattr.c +2 -0
index aea5531559c0..4ebee6e4dc1f 100644

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

fs/namespace.c +15 -8
index 5782cd55dfdb..281f08eaba5b 100644

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

fs/nfs/callback_xdr.c +2 -0
index 04d27f0ed39a..1b860995e6bc 100644

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

fs/nfs/nfs4state.c +1 -0
index 1aacb0aa07f0..1d38484e0a53 100644

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

fs/nfsd/nfs4idmap.c +9 -4
index d1f285245af8..06d7404354b9 100644

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

fs/nfsd/nfs4recover.c +8 -0
index 14463e107918..1abddad2b7ae 100644

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

fs/nfsd/nfs4state.c +8 -7
index a0aa7e63739d..89927d9b0767 100644

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

fs/nilfs2/btree.c +8 -4
index a426e4e2acda..7c9f4d79bdbc 100644

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

fs/nilfs2/dir.c +27 -23

50 lines not on this page · raw message

fs/nilfs2/namei.c +29 -13

42 lines not on this page · raw message

fs/nilfs2/nilfs.h +1 -1
index 7a1243c7a74a..973231603ff6 100644

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

fs/nilfs2/page.c +5 -2
index fc86cc7a26d7..6115016419ff 100644

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

fs/ocfs2/aops.c +2 -3
index 91702ebffe84..5fac55e92470 100644

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

fs/ocfs2/buffer_head_io.c +2 -2
index f0b104e483d8..c8a6e3480be1 100644

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

fs/ocfs2/file.c +8 -0
index 7294d5b3d80f..0c62cb90d63d 100644

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

fs/ocfs2/journal.c +4 -3
index da95ed79c12e..69490c613076 100644

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

fs/ocfs2/localalloc.c +19 -0
index 720e9f94957e..b3425477a85d 100644

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

fs/ocfs2/quota_local.c +6 -2
index b1a8b046f4c2..7a1c8da9e44b 100644

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

fs/ocfs2/refcounttree.c +24 -2
index 3f812d348d6b..25a09778a55e 100644

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

fs/ocfs2/xattr.c +19 -19
index 9ccd19d8f7b1..42368577786e 100644

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

fs/proc/base.c +60 -1

61 lines not on this page · raw message

fs/super.c +3 -0
index 47ca7dc0e6c3..8edf44a2d3dc 100644

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

fs/udf/inode.c +6 -3
index fef6e5e06e3f..7d878e36759b 100644

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

fs/unicode/mkutf8data.c +0 -70

70 lines not on this page · raw message

fs/unicode/utf8data.h_shipped +3346 -3357

6,703 lines not on this page · raw message

include/drm/drm_print.h +53 -1

54 lines not on this page · raw message

include/linux/fs.h +2 -0
index d4f5fcc60744..c0967df13715 100644

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

include/linux/jbd2.h +4 -0
index b60adc4210b5..45c7e21ba1af 100644

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

include/linux/pci_ids.h +2 -0
index bf8548fbdf55..3272705105b1 100644

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

include/linux/skbuff.h +1 -4
index 29ccc33a1c62..3191d0ffc6e9 100644

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

include/net/genetlink.h +1 -2
index 2d52776def52..19d51689a821 100644

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

include/net/mac80211.h +24 -0
index d9ba9a77bcf2..4d641580e5db 100644

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

include/net/sch_generic.h +0 -1
index e8034756cbf8..6d934ce54c8d 100644

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

include/net/sock.h +5 -3
index 250d5a6c508c..0218a45b1a92 100644

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

include/net/tcp.h +19 -2
index 164ba7b77bd9..199853b007ab 100644

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

include/trace/events/f2fs.h +2 -1
index 88266a7fbad2..986e91cce445 100644

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

include/trace/events/sched.h +84 -0

84 lines not on this page · raw message

include/uapi/linux/cec.h +5 -1
index 423859e489c7..4b92d374582b 100644

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

include/uapi/linux/netfilter/nf_tables.h +1 -1
index 3e6c61d026e3..0ddfe330f642 100644

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

kernel/bpf/arraymap.c +3 -0
index 81ed9b79f401..af90c4498e80 100644

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

kernel/bpf/devmap.c +6 -3
index 4b2819b0a05a..2370fc31169f 100644

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

kernel/bpf/hashtab.c +3 -0
index 34c4f709b1ed..0d14a2a11463 100644

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

kernel/bpf/helpers.c +2 -2
index 9bfb4685d068..a9708b444814 100644

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

kernel/bpf/lpm_trie.c +1 -1
index d78c1afe1273..c372be6df264 100644

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

kernel/cgroup/cgroup.c +2 -2
index 16ae86894121..79e57b6df731 100644

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

kernel/events/core.c +5 -1
index 39cf0040e6df..e1e546d742be 100644

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

kernel/events/uprobes.c +1 -1
index c812575f0461..6285674412f2 100644

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

kernel/kthread.c +18 -1
index 63f7eb3c2640..2423ae25b566 100644

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

kernel/locking/lockdep.c +125 -90

215 lines not on this page · raw message

kernel/resource.c +50 -8

58 lines not on this page · raw message

kernel/signal.c +7 -4
index 1f4293a107b4..fae5a2adc9ec 100644

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

kernel/time/posix-clock.c +3 -0
index 200fb2d3be99..d123478a32c4 100644

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

kernel/trace/trace.c +8 -10
index 67466563d86f..d084334193bd 100644

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

kernel/trace/trace_kprobe.c +76 -0

76 lines not on this page · raw message

kernel/trace/trace_output.c +2 -4
index 9ffe54ff3edb..b194dd1c8420 100644

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

kernel/trace/trace_probe.c +1 -1
index 476a685c6b6c..0fef4bf83172 100644

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

kernel/trace/trace_probe.h +1 -0
index dc19d5d185d4..edbb1624061e 100644

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

lib/debugobjects.c +3 -2
index b0e4301d7495..358449383720 100644

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

lib/xz/xz_crc32.c +1 -1
index 912aae5fa09e..34532d14fd4c 100644

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

lib/xz/xz_private.h +0 -4
index 09360ebb510e..482b90f363fe 100644

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

mm/shmem.c +2 -0
index 264229680ad7..6bd14e590e3c 100644

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

mm/slab_common.c +7 -0
index 8f128245b300..dfe060a74c82 100644

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

mm/swapfile.c +1 -1
index 5e444be061a8..68df5f360471 100644

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

mm/util.c +1 -1
index 04ebc76588aa..289e38a06a51 100644

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

net/bluetooth/af_bluetooth.c +1 -0
index 8031526eeeee..990775510700 100644

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

net/bluetooth/bnep/core.c +1 -2
index 089160361dde..d05beafd2952 100644

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

net/bluetooth/rfcomm/sock.c +0 -2
index e67310a749d2..c52e2f7ff84b 100644

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

net/bridge/br_netfilter_hooks.c +5 -0
index 277b6fb92ac5..a16559140541 100644

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

net/can/bcm.c +3 -1
index cc7fb30eafc0..1b5409b39a75 100644

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

net/can/j1939/transport.c +4 -4
index 009c5a67cfbd..1d926a0372e6 100644

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

net/core/dev.c +24 -5
index 4f39d9720981..b75c9bebd5c6 100644

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

net/core/sock_destructor.h new file +12 -0
new file mode 100644
index 000000000000..2f396e6bfba5

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

net/core/sock_map.c +1 -0
index f9e9212ff7e5..42d521443b33 100644

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

net/dccp/proto.c +1 -1
index 491b148afa8f..add742af1c8b 100644

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

net/ipv4/af_inet.c +1 -1
index e0d0aae343ac..be2b786cee2b 100644

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

net/ipv4/devinet.c +27 -14

41 lines not on this page · raw message

net/ipv4/fib_frontend.c +1 -1
index c31003d8c22f..2d6b12502431 100644

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

net/ipv4/inet_connection_sock.c +1 -1
index 091999dbef33..6766a154ff85 100644

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

net/ipv4/inet_fragment.c +57 -13

70 lines not on this page · raw message

net/ipv4/ip_fragment.c +1 -1
index fad803d2d711..ec2264adf2a6 100644

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

net/ipv4/ip_gre.c +3 -3
index 3aae46b84577..09e9e46259f7 100644

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

net/ipv4/netfilter/nf_dup_ipv4.c +5 -2
index 6cc5743c553a..9a21175693db 100644

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

net/ipv4/tcp.c +2 -2
index 54399256a438..55754bf176d9 100644

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

net/ipv4/tcp_diag.c +2 -2
index 549506162dde..0d08f9e2d8d0 100644

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

net/ipv4/tcp_input.c +29 -2
index cf6221e9fda5..592326131291 100644

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

net/ipv4/tcp_ipv4.c +4 -1
index c18ad443ca7d..1f8a9b323a0d 100644

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

net/ipv6/netfilter/nf_conntrack_reasm.c +1 -1
index fed9666a2f7d..cab68c63ea65 100644

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

net/ipv6/netfilter/nf_dup_ipv6.c +5 -2
index a0a2de30be3e..0c39c77fe8a8 100644

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

net/ipv6/netfilter/nf_reject_ipv6.c +2 -12
index 5fae66f66671..4fdd587e0874 100644

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

net/ipv6/tcp_ipv6.c +1 -1
index 81b7ef21180b..8be41d6c4278 100644

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

net/l2tp/l2tp_netlink.c +2 -2
index ebb381c3f1b9..733f59822f8f 100644

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

net/mac80211/cfg.c +5 -1
index be8c4338e617..bcc5e6942083 100644

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

net/mac80211/ieee80211_i.h +3 -0
index e26368fab65d..a9d064c75a15 100644

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

net/mac80211/iface.c +27 -5
index ddc001ad9055..e49b80a9de52 100644

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

net/mac80211/key.c +26 -18

44 lines not on this page · raw message

net/mac80211/mlme.c +13 -1
index b48a09043663..a3dc8c7c4b9a 100644

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

net/mac80211/tx.c +46 -32

78 lines not on this page · raw message

net/mac80211/util.c +36 -9

45 lines not on this page · raw message

net/netfilter/nf_conntrack_netlink.c +2 -5
index c1401193a971..eeb000e41ad7 100644

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

net/netfilter/nf_tables_api.c +7 -1
index 1a132b800c8c..7812cc3cc751 100644

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

net/netfilter/nft_payload.c +3 -0
index a4f9a150812a..e40948b50858 100644

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

net/netlink/af_netlink.c +2 -1
index 3808b12da7f6..719af25cd4d1 100644

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

net/netlink/genetlink.c +14 -14
index a03e16e06e29..e56994104eed 100644

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

net/qrtr/qrtr.c +1 -1
index b97a786d048c..2fb510a4124b 100644

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

net/sched/em_meta.c +2 -2
index ad007cdcec97..46254968d390 100644

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

net/sched/sch_api.c +7 -2
index d07146a2d0bb..b8dc03a7487e 100644

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

net/sched/sch_taprio.c +5 -2
index 7b896be009d5..8fccb30e3ee9 100644

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

net/sctp/diag.c +2 -2
index 2d0318a7352c..2fcfb8cc8bd1 100644

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

net/sctp/socket.c +17 -7
index 614130ff6ba0..4aee4fc05ba7 100644

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

net/tipc/bcast.c +1 -1
index 885ecf6ea65a..72362fb63d85 100644

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

net/tipc/bearer.c +6 -2
index a0bc919e4e47..dc5c6b1e9791 100644

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

net/wireless/nl80211.c +4 -7
index e85e8f7b48f9..a27b2fae4843 100644

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

net/wireless/scan.c +3 -3
index b28e652514e8..18398968b3ed 100644

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

net/wireless/sme.c +2 -1
index a260cd60a7b9..55a04b30b877 100644

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

net/xfrm/xfrm_user.c +5 -1
index f76033d1898a..d9a32b13032a 100644

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

scripts/kconfig/merge_config.sh +2 -0
index 63c8565206a4..d7d5c58b8b6a 100755

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

security/Kconfig +32 -0
index 52e5109f2c1b..b3dff990c326 100644

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

security/selinux/selinuxfs.c +17 -14
index e9eaff90cbcc..fd6282fa9c39 100644

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

security/smack/smackfs.c +1 -1
index a71975ea88a9..ddb0a292802e 100644

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

security/tomoyo/domain.c +6 -3
index 7869d6a9980b..67d172ac2ba9 100644

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

sound/core/init.c +10 -4
index a127763ae5fb..2c569b53fa61 100644

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

sound/firewire/amdtp-stream.c +3 -0
index 07e58dcad4af..14a4905a777e 100644

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

sound/pci/asihpi/hpimsgx.c +1 -1
index 5fb0b98bec30..b9eb597b0278 100644

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

sound/pci/hda/hda_generic.c +2 -2
index 77c0abd252eb..a534460b4222 100644

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

sound/pci/hda/patch_conexant.c +19 -5
index d0f26d7ed861..5c0a40083342 100644

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

sound/pci/hda/patch_realtek.c +79 -46

125 lines not on this page · raw message

sound/pci/rme9652/hdsp.c +4 -2
index c7b3e76ea2d2..87ada0c01f84 100644

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

sound/pci/rme9652/hdspm.c +4 -2
index e34f07c9ff47..f5c7a214e17b 100644

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

sound/soc/au1x/db1200.c +1 -0
index d6b692fff29a..cdde5ba2ec35 100644

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

sound/soc/codecs/cs42l51.c +5 -2
index 07371e32167c..7fa0a849e65f 100644

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

sound/soc/codecs/tda7419.c +1 -0
index 2bf4f5e8af27..9d8753b28e36 100644

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

sound/soc/meson/Kconfig +4 -0
index f9188274f6b0..ce15de42945b 100644

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

sound/soc/meson/Makefile +2 -0
index 529a807b3f37..6e248260617f 100644

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

sound/soc/meson/axg-card.c +29 -377

406 lines not on this page · raw message

sound/soc/meson/meson-card-utils.c new file +385 -0

385 lines not on this page · raw message

sound/soc/meson/meson-card.h new file +55 -0

55 lines not on this page · raw message

tools/iio/iio_generic_buffer.c +4 -0
index 2fd10eab75b5..5ef09ac6e7cf 100644

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

tools/perf/builtin-sched.c +6 -2
index 0826893098ce..09c14a0f93ec 100644

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

tools/perf/util/time-utils.c +2 -2
index 302443921681..1b91ccd4d523 100644

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

tools/testing/ktest/ktest.pl +1 -1
index d36612c62098..e7adb429018b 100755

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

tools/testing/selftests/bpf/map_tests/sk_storage_map.c +1 -1
index e569edc679d8..9228e33cc0db 100644

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

tools/testing/selftests/bpf/prog_tests/flow_dissector.c +1 -0
index 9f3634c9971d..8a921686d304 100644

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

tools/testing/selftests/bpf/prog_tests/tcp_rtt.c +1 -0
index f4cd60d6fba2..ef052f7845b6 100644

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

tools/testing/selftests/bpf/test_lru_map.c +2 -1
index 6a5349f9eb14..7748d28e8b97 100644

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

tools/testing/selftests/breakpoints/breakpoint_test_arm64.c +1 -1
index 58ed5eeab709..ad41ea69001b 100644

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

tools/testing/selftests/breakpoints/step_after_suspend_test.c +4 -1
index b3ead29c6089..bff81d95a031 100644

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

tools/testing/selftests/vDSO/parse_vdso.c +2 -1
index 9ef3ad3789c1..540f9a284e9f 100644

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

tools/usb/usbip/src/usbip_detach.c +1 -0
index aec993159036..bc663ca79c74 100644

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

virt/kvm/kvm_main.c +3 -2
index 0008fc49528a..9b76bc0c5cd2 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.