Linux 5.10.231
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.231 kernel.
All users of the 5.10 kernel series must upgrade.
The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/ABI/testing/sysfs-bus-pci | 11 Documentation/devicetree/bindings/clock/adi,axi-clkgen.yaml | 67 Documentation/devicetree/bindings/clock/axi-clkgen.txt | 25 Documentation/devicetree/bindings/serial/rs485.yaml | 19 Documentation/devicetree/bindings/sound/mt6359.yaml | 10 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 Documentation/filesystems/mount_api.rst | 3 Documentation/networking/j1939.rst | 2 Makefile | 2 arch/arm/Kconfig | 2 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 4 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 3 arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi | 8 arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi | 4 arch/arm64/include/asm/mman.h | 10 arch/arm64/kernel/process.c | 2 arch/arm64/kernel/ptrace.c | 6 arch/arm64/kernel/vmlinux.lds.S | 6 arch/arm64/kvm/pmu-emul.c | 1 arch/arm64/kvm/vgic/vgic-its.c | 32 arch/arm64/kvm/vgic/vgic.h | 24 arch/m68k/coldfire/device.c | 8 arch/m68k/include/asm/mcfgpio.h | 2 arch/m68k/include/asm/mvme147hw.h | 4 arch/m68k/kernel/early_printk.c | 9 arch/m68k/mvme147/config.c | 30 arch/m68k/mvme147/mvme147.h | 6 arch/m68k/mvme16x/config.c | 2 arch/m68k/mvme16x/mvme16x.h | 6 arch/mips/Kconfig | 3 arch/mips/boot/dts/loongson/ls7a-pch.dtsi | 73 arch/mips/include/asm/switch_to.h | 2 arch/mips/pic32/Kconfig | 1 arch/powerpc/include/asm/dtl.h | 4 arch/powerpc/include/asm/sstep.h | 5 arch/powerpc/include/asm/vdso.h | 1 arch/powerpc/kernel/prom_init.c | 29 arch/powerpc/kexec/file_load_64.c | 9 arch/powerpc/lib/sstep.c | 12 arch/powerpc/platforms/pseries/dtl.c | 8 arch/powerpc/platforms/pseries/lpar.c | 8 arch/s390/kernel/perf_cpum_sf.c | 4 arch/s390/kernel/syscalls/Makefile | 2 arch/sh/Kconfig | 1 arch/sh/kernel/cpu/proc.c | 2 arch/um/drivers/net_kern.c | 2 arch/um/drivers/ubd_kern.c | 2 arch/um/drivers/vector_kern.c | 3 arch/um/kernel/physmem.c | 6 arch/um/kernel/process.c | 2 arch/um/kernel/sysrq.c | 2 arch/x86/crypto/aegis128-aesni-asm.S | 29 arch/x86/events/intel/pt.c | 11 arch/x86/events/intel/pt.h | 2 arch/x86/include/asm/amd_nb.h | 5 arch/x86/include/asm/barrier.h | 18 arch/x86/include/asm/cpufeatures.h | 1 arch/x86/include/asm/processor.h | 18 arch/x86/kernel/cpu/amd.c | 3 arch/x86/kernel/cpu/common.c | 7 arch/x86/kernel/cpu/hygon.c | 3 arch/x86/kvm/vmx/vmx.c | 4 arch/x86/mm/ioremap.c | 6 arch/x86/platform/pvh/head.S | 2 block/blk-mq.c | 6 block/blk-mq.h | 13 crypto/pcrypt.c | 12 drivers/acpi/arm64/gtdt.c | 2 drivers/base/bus.c | 2 drivers/base/core.c | 20 drivers/base/regmap/regmap-irq.c | 4 drivers/base/regmap/regmap.c | 12 drivers/bluetooth/btusb.c | 2 drivers/clk/Kconfig | 6 drivers/clk/Makefile | 3 drivers/clk/clk-axi-clkgen.c | 26 drivers/clk/qcom/gcc-qcs404.c | 1 drivers/clocksource/Kconfig | 9 drivers/cpufreq/loongson2_cpufreq.c | 4 drivers/crypto/bcm/cipher.c | 5 drivers/crypto/caam/caampkc.c | 11 drivers/crypto/caam/qi.c | 2 drivers/crypto/cavium/cpt/cptpf_main.c | 6 drivers/dma-buf/dma-fence-array.c | 28 drivers/edac/bluefield_edac.c | 2 drivers/edac/fsl_ddr_edac.c | 22 drivers/firmware/arm_scpi.c | 3 drivers/firmware/efi/tpm.c | 17 drivers/firmware/google/gsmi.c | 6 drivers/gpio/gpio-grgpio.c | 26 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 2 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 5 drivers/gpu/drm/amd/amdkfd/kfd_process.c | 5 drivers/gpu/drm/amd/display/dc/bios/bios_parser.c | 14 drivers/gpu/drm/bridge/tc358767.c | 7 drivers/gpu/drm/bridge/tc358768.c | 21 drivers/gpu/drm/drm_mm.c | 2 drivers/gpu/drm/drm_panel_orientation_quirks.c | 6 drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 3 drivers/gpu/drm/etnaviv/etnaviv_drv.c | 10 drivers/gpu/drm/etnaviv/etnaviv_dump.c | 13 drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 98 drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 21 drivers/gpu/drm/fsl-dcu/Kconfig | 1 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 93 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h | 3 drivers/gpu/drm/imx/dcss/dcss-crtc.c | 6 drivers/gpu/drm/imx/ipuv3-crtc.c | 6 drivers/gpu/drm/mcde/mcde_drv.c | 1 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 4 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 2 drivers/gpu/drm/omapdrm/omap_gem.c | 10 drivers/gpu/drm/panfrost/panfrost_gpu.c | 1 drivers/gpu/drm/radeon/r600_cs.c | 2 drivers/gpu/drm/sti/sti_mixer.c | 2 drivers/gpu/drm/v3d/v3d_mmu.c | 29 drivers/gpu/drm/vc4/vc4_hvs.c | 11 drivers/hid/wacom_sys.c | 3 drivers/hid/wacom_wac.c | 4 drivers/i3c/master.c | 88 drivers/iio/adc/ad7780.c | 2 drivers/iio/light/al3010.c | 11 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 7 drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 drivers/infiniband/hw/hns/hns_roce_mr.c | 7 drivers/iommu/arm/arm-smmu/arm-smmu.c | 11 drivers/leds/led-class.c | 14 drivers/leds/leds-lp55xx-common.c | 3 drivers/md/bcache/super.c | 2 drivers/md/dm-thin.c | 1 drivers/media/dvb-core/dvbdev.c | 15 drivers/media/dvb-frontends/ts2020.c | 8 drivers/media/i2c/adv7604.c | 5 drivers/media/i2c/adv7842.c | 13 drivers/media/i2c/tc358743.c | 4 drivers/media/platform/qcom/venus/core.c | 2 drivers/media/radio/wl128x/fmdrv_common.c | 3 drivers/media/test-drivers/vivid/vivid-vid-cap.c | 15 drivers/media/usb/cx231xx/cx231xx-cards.c | 2 drivers/media/usb/gspca/ov534.c | 2 drivers/media/usb/uvc/uvc_driver.c | 106 drivers/media/v4l2-core/v4l2-dv-timings.c | 132 drivers/message/fusion/mptsas.c | 4 drivers/mfd/da9052-spi.c | 2 drivers/mfd/intel_soc_pmic_bxtwc.c | 196 drivers/mfd/rt5033.c | 4 drivers/mfd/tps65010.c | 8 drivers/misc/apds990x.c | 12 drivers/misc/eeprom/eeprom_93cx6.c | 10 drivers/mmc/core/bus.c | 2 drivers/mmc/core/core.c | 3 drivers/mmc/core/host.c | 6 drivers/mmc/host/Kconfig | 4 drivers/mmc/host/dw_mmc.c | 4 drivers/mmc/host/mmc_spi.c | 9 drivers/mmc/host/sdhci-pci-core.c | 72 drivers/mmc/host/sdhci-pci.h | 1 drivers/mtd/nand/raw/atmel/pmecc.c | 8 drivers/mtd/nand/raw/atmel/pmecc.h | 2 drivers/mtd/ubi/attach.c | 12 drivers/mtd/ubi/wl.c | 9 drivers/net/can/sun4i_can.c | 22 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 drivers/net/ethernet/broadcom/tg3.c | 3 drivers/net/ethernet/freescale/fec_mpc52xx_phy.c | 2 drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c | 2 drivers/net/ethernet/intel/igb/igb_main.c | 4 drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 88 drivers/net/ethernet/marvell/octeontx2/af/cgx.h | 8 drivers/net/ethernet/marvell/octeontx2/af/cgx_fw_if.h | 22 drivers/net/ethernet/marvell/octeontx2/af/mbox.h | 86 drivers/net/ethernet/marvell/octeontx2/af/rvu.c | 85 drivers/net/ethernet/marvell/octeontx2/af/rvu.h | 4 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c | 65 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 4 drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.c | 2 drivers/net/ethernet/marvell/octeontx2/af/rvu_struct.h | 2 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c | 28 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h | 8 drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c | 170 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 3 drivers/net/ethernet/marvell/pxa168_eth.c | 14 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 8 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 15 drivers/net/ethernet/qlogic/qed/qed_mcp.c | 4 drivers/net/ethernet/realtek/r8169_main.c | 14 drivers/net/ethernet/rocker/rocker_main.c | 2 drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 2 drivers/net/geneve.c | 2 drivers/net/netdevsim/ipsec.c | 11 drivers/net/usb/lan78xx.c | 11 drivers/net/usb/qmi_wwan.c | 1 drivers/net/wireless/ath/ath10k/mac.c | 4 drivers/net/wireless/ath/ath5k/pci.c | 2 drivers/net/wireless/ath/ath9k/htc_hst.c | 3 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 2 drivers/net/wireless/intel/ipw2x00/libipw_rx.c | 8 drivers/net/wireless/intersil/p54/p54spi.c | 4 drivers/net/wireless/marvell/mwifiex/fw.h | 2 drivers/net/wireless/marvell/mwifiex/main.c | 4 drivers/nvdimm/dax_devs.c | 4 drivers/nvdimm/nd.h | 7 drivers/nvme/host/core.c | 7 drivers/nvme/host/pci.c | 16 drivers/pci/controller/dwc/pci-keystone.c | 11 drivers/pci/controller/pcie-rockchip-ep.c | 18 drivers/pci/controller/pcie-rockchip.h | 4 drivers/pci/hotplug/cpqphp_pci.c | 19 drivers/pci/pci-sysfs.c | 26 drivers/pci/pci.c | 2 drivers/pci/pci.h | 1 drivers/pci/quirks.c | 15 drivers/pci/slot.c | 4 drivers/pinctrl/freescale/Kconfig | 2 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 2 drivers/platform/chrome/cros_ec_typec.c | 1 drivers/platform/x86/intel_bxtwc_tmu.c | 22 drivers/power/supply/bq27xxx_battery.c | 72 drivers/power/supply/power_supply_core.c | 2 drivers/ptp/ptp_clock.c | 3 drivers/pwm/pwm-imx27.c | 98 drivers/regulator/rk808-regulator.c | 2 drivers/remoteproc/qcom_q6v5_mss.c | 3 drivers/rpmsg/qcom_glink_native.c | 175 drivers/rtc/interface.c | 7 drivers/rtc/rtc-ab-eoz9.c | 7 drivers/rtc/rtc-abx80x.c | 2 drivers/rtc/rtc-st-lpc.c | 5 drivers/scsi/bfa/bfad.c | 3 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 1 drivers/scsi/qedf/qedf_main.c | 1 drivers/scsi/qedi/qedi_main.c | 1 drivers/scsi/qla2xxx/qla_attr.c | 1 drivers/scsi/qla2xxx/qla_bsg.c | 10 drivers/scsi/qla2xxx/qla_mid.c | 1 drivers/scsi/qla2xxx/qla_os.c | 15 drivers/scsi/scsi_lib.c | 21 drivers/scsi/sd.c | 7 drivers/scsi/st.c | 31 drivers/scsi/ufs/ufs-exynos.c | 16 drivers/sh/intc/core.c | 2 drivers/soc/qcom/qcom-geni-se.c | 3 drivers/soc/qcom/socinfo.c | 8 drivers/soc/ti/smartreflex.c | 4 drivers/soc/ti/ti_sci_pm_domains.c | 4 drivers/spi/atmel-quadspi.c | 2 drivers/spi/spi-fsl-lpspi.c | 14 drivers/spi/spi-mpc52xx.c | 1 drivers/spi/spi.c | 13 drivers/staging/board/Kconfig | 2 drivers/staging/comedi/comedi_fops.c | 12 drivers/staging/greybus/uart.c | 3 drivers/staging/media/allegro-dvt/allegro-core.c | 4 drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.c | 2 drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_binning_1.0/ia_css_raa.host.c | 2 drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.c | 5 drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c | 4 drivers/staging/media/atomisp/pci/sh_css_params.c | 12 drivers/staging/wfx/main.c | 17 drivers/tty/serial/8250/8250_omap.c | 4 drivers/tty/tty_ldisc.c | 2 drivers/usb/chipidea/udc.c | 2 drivers/usb/dwc3/gadget.c | 15 drivers/usb/gadget/composite.c | 18 drivers/usb/host/ehci-spear.c | 7 drivers/usb/host/xhci-dbgcap.c | 135 drivers/usb/host/xhci-dbgcap.h | 2 drivers/usb/misc/chaoskey.c | 35 drivers/usb/misc/iowarrior.c | 50 drivers/usb/misc/yurex.c | 5 drivers/usb/typec/tcpm/wcove.c | 4 drivers/vdpa/mlx5/core/mr.c | 12 drivers/vfio/pci/vfio_pci_config.c | 16 drivers/video/fbdev/sh7760fb.c | 11 drivers/watchdog/iTCO_wdt.c | 21 drivers/watchdog/mtk_wdt.c | 6 drivers/watchdog/rti_wdt.c | 3 drivers/xen/xenbus/xenbus_probe.c | 8 fs/btrfs/extent-tree.c | 1 fs/btrfs/inode.c | 1 fs/btrfs/ref-verify.c | 1 fs/btrfs/volumes.c | 38 fs/cifs/smb2ops.c | 6 fs/exfat/namei.c | 1 fs/ext4/fsmap.c | 54 fs/ext4/mballoc.c | 18 fs/ext4/mballoc.h | 1 fs/ext4/super.c | 8 fs/f2fs/f2fs.h | 2 fs/f2fs/file.c | 2 fs/f2fs/inode.c | 4 fs/f2fs/segment.c | 92 fs/f2fs/segment.h | 6 fs/hfsplus/hfsplus_fs.h | 3 fs/hfsplus/wrapper.c | 2 fs/jffs2/compr_rtime.c | 3 fs/jffs2/erase.c | 7 fs/jfs/jfs_dmap.c | 6 fs/jfs/jfs_dtree.c | 15 fs/jfs/xattr.c | 2 fs/nfs/internal.h | 2 fs/nfs/nfs4proc.c | 8 fs/nfsd/export.c | 5 fs/nfsd/netns.h | 1 fs/nfsd/nfs4callback.c | 16 fs/nfsd/nfs4proc.c | 41 fs/nfsd/nfs4recover.c | 3 fs/nfsd/nfs4state.c | 20 fs/nfsd/xdr4.h | 1 fs/nilfs2/btnode.c | 2 fs/nilfs2/dir.c | 2 fs/nilfs2/gcinode.c | 4 fs/nilfs2/mdt.c | 1 fs/nilfs2/page.c | 2 fs/notify/fsnotify.c | 23 fs/ocfs2/aops.h | 2 fs/ocfs2/dlmglue.c | 1 fs/ocfs2/file.c | 4 fs/ocfs2/localalloc.c | 19 fs/ocfs2/namei.c | 4 fs/ocfs2/resize.c | 2 fs/ocfs2/super.c | 13 fs/overlayfs/util.c | 3 fs/proc/softirqs.c | 2 fs/quota/dquot.c | 2 fs/ubifs/super.c | 6 fs/ubifs/tnc_commit.c | 2 fs/unicode/mkutf8data.c | 70 fs/unicode/utf8data.h_shipped | 6703 +++++----- include/linux/blkdev.h | 2 include/linux/device.h | 2 include/linux/eeprom_93cx6.h | 11 include/linux/i3c/master.h | 9 include/linux/jiffies.h | 2 include/linux/leds.h | 2 include/linux/lockdep.h | 2 include/linux/mman.h | 7 include/linux/netdev_features.h | 4 include/linux/netpoll.h | 2 include/linux/seqlock.h | 12 include/linux/sunrpc/clnt.h | 3 include/linux/sunrpc/xprtsock.h | 1 include/linux/util_macros.h | 56 include/media/v4l2-dv-timings.h | 18 include/net/xfrm.h | 16 include/uapi/linux/rtnetlink.h | 2 init/initramfs.c | 15 kernel/bpf/devmap.c | 6 kernel/bpf/lpm_trie.c | 27 kernel/cgroup/cgroup.c | 21 kernel/dma/debug.c | 8 kernel/kcsan/debugfs.c | 74 kernel/rcu/tasks.h | 2 kernel/sched/core.c | 6 kernel/sched/fair.c | 113 kernel/sched/idle.c | 6 kernel/sched/sched.h | 15 kernel/time/time.c | 2 kernel/trace/ftrace.c | 3 kernel/trace/trace_clock.c | 2 kernel/trace/trace_event_perf.c | 6 kernel/trace/tracing_map.c | 6 lib/string_helpers.c | 2 mm/internal.h | 19 mm/mmap.c | 82 mm/nommu.c | 9 mm/shmem.c | 5 mm/util.c | 33 net/9p/trans_xen.c | 9 net/bluetooth/hci_sysfs.c | 15 net/bluetooth/l2cap_sock.c | 1 net/bluetooth/rfcomm/sock.c | 10 net/can/af_can.c | 1 net/can/j1939/transport.c | 2 net/core/filter.c | 88 net/core/neighbour.c | 1 net/core/netpoll.c | 2 net/dccp/feat.c | 6 net/ethtool/bitset.c | 48 net/ethtool/common.c | 1 net/hsr/hsr_device.c | 4 net/hsr/hsr_forward.c | 2 net/ieee802154/socket.c | 12 net/ipv4/af_inet.c | 22 net/ipv4/ipmr.c | 48 net/ipv4/ipmr_base.c | 3 net/ipv4/tcp_bpf.c | 11 net/ipv6/af_inet6.c | 22 net/ipv6/ip6mr.c | 8 net/ipv6/route.c | 6 net/mac80211/main.c | 2 net/netfilter/ipset/ip_set_bitmap_ip.c | 7 net/netfilter/ipset/ip_set_core.c | 5 net/netfilter/ipvs/ip_vs_proto.c | 4 net/netfilter/nft_set_hash.c | 16 net/netfilter/xt_LED.c | 4 net/netlink/af_netlink.c | 31 net/netlink/af_netlink.h | 2 net/packet/af_packet.c | 12 net/rfkill/rfkill-gpio.c | 8 net/sched/cls_flower.c | 5 net/sched/sch_cbs.c | 2 net/sched/sch_tbf.c | 18 net/sunrpc/auth_gss/gss_rpc_upcall.c | 2 net/sunrpc/cache.c | 4 net/sunrpc/clnt.c | 53 net/sunrpc/debugfs.c | 2 net/sunrpc/rpc_pipe.c | 2 net/sunrpc/xprtsock.c | 29 net/tipc/udp_media.c | 2 net/xfrm/xfrm_device.c | 10 net/xfrm/xfrm_state.c | 4 net/xfrm/xfrm_user.c | 5 samples/bpf/test_cgrp2_sock.c | 4 samples/bpf/xdp_adjust_tail_kern.c | 1 scripts/mod/file2alias.c | 5 scripts/mod/modpost.c | 2 security/apparmor/capability.c | 2 security/apparmor/policy_unpack_test.c | 6 sound/pci/hda/patch_realtek.c | 166 sound/soc/codecs/da7219.c | 9 sound/soc/codecs/hdmi-codec.c | 140 sound/soc/dwc/Kconfig | 2 sound/soc/fsl/fsl_micfil.c | 74 sound/soc/fsl/fsl_micfil.h | 272 sound/soc/intel/boards/bytcr_rt5640.c | 15 sound/soc/rockchip/Kconfig | 14 sound/soc/stm/stm32_sai_sub.c | 6 sound/usb/6fire/chip.c | 10 sound/usb/caiaq/audio.c | 10 sound/usb/caiaq/audio.h | 1 sound/usb/caiaq/device.c | 19 sound/usb/caiaq/input.c | 12 sound/usb/caiaq/input.h | 1 sound/usb/clock.c | 32 sound/usb/mixer_maps.c | 10 sound/usb/quirks-table.h | 14 sound/usb/quirks.c | 19 sound/usb/usx2y/us122l.c | 66 sound/usb/usx2y/us122l.h | 2 sound/usb/usx2y/usX2Yhwdep.c | 84 sound/usb/usx2y/usX2Yhwdep.h | 2 sound/usb/usx2y/usb_stream.c | 75 sound/usb/usx2y/usb_stream.h | 23 sound/usb/usx2y/usbus428ctldefs.h | 18 sound/usb/usx2y/usbusx2y.c | 223 sound/usb/usx2y/usbusx2y.h | 8 sound/usb/usx2y/usbusx2yaudio.c | 326 sound/usb/usx2y/usx2yhwdeppcm.c | 303 tools/perf/builtin-trace.c | 16 tools/perf/util/cs-etm.c | 25 tools/perf/util/probe-finder.c | 21 tools/perf/util/probe-finder.h | 4 tools/testing/selftests/arm64/mte/check_tags_inclusion.c | 4 tools/testing/selftests/arm64/pauth/pac.c | 3 tools/testing/selftests/bpf/test_sockmap.c | 194 tools/testing/selftests/net/pmtu.sh | 2 tools/testing/selftests/resctrl/resctrl_val.c | 3 tools/testing/selftests/vDSO/parse_vdso.c | 3 tools/testing/selftests/watchdog/watchdog-test.c | 6 tools/testing/selftests/wireguard/netns.sh | 1 462 files changed, 8501 insertions(+), 6063 deletions(-)
Adrian Hunter (1):
perf/x86/intel/pt: Fix buffer full but size is 0 case
Ahmed Ehab (1):
locking/lockdep: Avoid creating new name string literals in lockdep_set_subclass()
Ajay Kaher (1):
ptp: Add error handling for adjfine callback in ptp_clock_adjtime
Aleksandr Mishin (1):
acpi/arm64: Adjust error handling procedure in gtdt_parse_timer_block()
Alex Hung (1):
drm/amd/display: Check BIOS images before it is used
Alex Zenla (2):
9p/xen: fix init sequence
9p/xen: fix release of IRQ
Alexander Hölzl (1):
can: j1939: fix error in J1939 documentation.
Alexander Lobakin (1):
net: introduce a netdev feature for UDP GRO forwarding
Alexander Shiyan (1):
media: i2c: tc358743: Fix crash in the probe error path when using polling
Alexander Stein (1):
spi: spi-fsl-lpspi: downgrade log level for pio mode
Alexander Sverdlin (1):
watchdog: rti: of: honor timeout-sec property
Alexandru Ardelean (3):
dt-bindings: clock: adi,axi-clkgen: convert old binding to yaml format
clk: axi-clkgen: use devm_platform_ioremap_resource() short-hand util_macros.h: fix/rework find_closest() macros
Alper Nebi Yasak (1):
wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_config_scan()
Amir Goldstein (1):
fsnotify: fix sending inotify event with unexpected filename
Andre Przywara (2):
kselftest/arm64: mte: fix printf type warnings about longs
ARM: dts: cubieboard4: Fix DCDC5 regulator constraints
Andrej Shadura (1):
Bluetooth: Fix type of len in rfcomm_sock_getsockopt{,_old}()
Andrew Morton (1):
mm: revert "mm: shmem: fix data-race in shmem_getattr()"
Andy Shevchenko (7):
regmap: irq: Set lockdep class for hierarchical IRQ domains drm/mm: Mark drm_mm_interval_tree*() functions with __maybe_unused driver core: Introduce device_find_any_child() helper
mfd: intel_soc_pmic_bxtwc: Use dev_err_probe()
mfd: intel_soc_pmic_bxtwc: Use IRQ domain for USB Type-C device
mfd: intel_soc_pmic_bxtwc: Use IRQ domain for TMU device
mfd: intel_soc_pmic_bxtwc: Use IRQ domain for PMIC devices
Anil Gurumurthy (1):
scsi: qla2xxx: Supported speed displayed incorrectly for VPorts
Antonio Quartulli (1):
m68k: coldfire/device.c: only build FEC when HW macros are defined
Arnd Bergmann (2):
x86/amd_nb: Fix compile-testing without CONFIG_AMD_NB
clkdev: remove CONFIG_CLKDEV_LOOKUP
Artem Sadovnikov (1):
jfs: xattr: check invalid xattr size more strictly
Arun Kumar Neelakantam (2):
rpmsg: glink: Add TX_DATA_CONT command while sending
rpmsg: glink: Send READ_NOTIFY command in FIFO full case
Aurelien Jarno (1):
Revert "mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K"
Avihai Horon (1):
vfio/pci: Properly hide first-in-list PCIe extended capability
Baochen Qiang (2):
wifi: ath10k: fix invalid VHT parameters in supported_vht_mcs_rate_nss1
wifi: ath10k: fix invalid VHT parameters in supported_vht_mcs_rate_nss2
Baoquan He (1):
x86/mm: Fix a kdump kernel failure on SME system when CONFIG_IMA_KEXEC=y
Barnabás Czémán (2):
power: supply: bq27xxx: Fix registers of bq27426
pinctrl: qcom-pmic-gpio: add support for PM8937
Bart Van Assche (1):
power: supply: core: Remove might_sleep() from power_supply_put()
Bartosz Golaszewski (3):
mmc: mmc_spi: drop buggy snprintf()
lib: string_helpers: silence snprintf() output truncation warning
gpio: grgpio: use a helper variable to store the address of ofdev->dev
Ben Greear (1):
mac80211: fix user-power when emulating chanctx
Benjamin Peterson (3):
perf trace: avoid garbage when not printing a trace event's arguments perf trace: Do not lose last events in a race
perf trace: Avoid garbage when not printing a syscall's arguments
Benoît Monin (1):
net: usb: qmi_wwan: add Quectel RG650V
Benoît Sevens (1):
ALSA: usb-audio: Fix potential out-of-bound accesses for Extigy and Mbox devices
Bin Liu (1):
serial: 8250: omap: Move pm_runtime_get_sync
Bjorn Andersson (2):
rpmsg: glink: Fix GLINK command prefix
rpmsg: glink: Propagate TX failures in intentless mode as well
Borislav Petkov (AMD) (1):
x86/barrier: Do not serialize MSR accesses on AMD
Breno Leitao (3):
ipmr: Fix access to mfc_cache_list without lock held
netpoll: Use rcu_access_pointer() in netpoll_poll_lock
netpoll: Use rcu_access_pointer() in __netpoll_setup
Calum Mackay (1):
SUNRPC: correct error code comment in xs_tcp_setup_socket()
Chao Yu (1):
f2fs: avoid using native allocate_segment_by_default()
Charles Han (2):
soc: qcom: Add check devm_kasprintf() returned value
gpio: grgpio: Add NULL check in grgpio_probe
Chen Ridong (4):
crypto: caam - add error check to caam_rsa_set_priv_key_form
crypto: bcm - add error check in the ahash_hmac_init function Revert "cgroup: Fix memory leak caused by missing cgroup_bpf_offline" cgroup/bpf: only cgroup v2 can be attached by bpf programs
Chen-Yu Tsai (1):
arm64: dts: mediatek: mt8173-elm-hana: Add vdd-supply to second source trackpad
Christian König (1):
dma-buf: fix dma_fence_array_signaled v4
Christina Jacob (2):
octeontx2-af: forward error correction configuration
octeontx2-pf: ethtool fec mode support
Christoph Hellwig (5):
nvme-pci: fix freeing of the HMB descriptor table
f2fs: remove struct segment_allocation default_salloc_ops
f2fs: open code allocate_segment_by_default
f2fs: remove the unused flush argument to change_curseg
block: return unsigned int from bdev_io_min
Christophe JAILLET (3):
crypto: caam - Fix the pointer passed to caam_qi_shutdown()
crypto: cavium - Fix an error handling path in cpt_ucode_load_fw()
iio: light: al3010: Fix an error handling path in al3010_probe()
Christophe Leroy (1):
powerpc/vdso: Flag VDSO64 entry points as functions
Chuck Lever (8):
NFSD: Async COPY result needs to return a write verifier
NFSD: Limit the number of concurrent async COPY operations
NFSD: Initialize struct nfsd4_copy earlier
NFSD: Never decrement pending_async_copies on error
NFSD: Prevent NULL dereference in nfsd4_process_cb_update()
NFSD: Cap the number of bytes copied by nfs4_reset_recoverydir()
NFSD: Fix nfsd4_shutdown_copy()
NFSD: Prevent a potential integer overflow
Clark Wang (1):
pwm: imx27: Workaround of the pwm output bug when decrease the duty cycle
Claudiu Beznea (1):
serial: sh-sci: Clean sci_ports[0] after at earlycon exit
Cosmin Tanislav (1):
regmap: detach regmap from dev on regmap_exit
Csókás, Bence (1):
spi: atmel-quadspi: Fix register name in verbose logging function
Dai Ngo (1):
NFSD: initialize copy->cp_clp early in nfsd4_copy for use by trace point
Damien Le Moal (3):
PCI: rockchip-ep: Fix address translation unit programming
scsi: sd: Fix sd_do_mode_sense() buffer length handling
scsi: core: Fix scsi_mode_select() buffer length handling
Dan Carpenter (3):
soc: qcom: geni-se: fix array underflow in geni_se_clk_tbl_get()
sh: intc: Fix use-after-free bug in register_intc_controller()
octeontx2-pf: Fix otx2_get_fecparam()
Daniel Palmer (2):
m68k: mvme147: Fix SCSI controller IRQ numbers
m68k: mvme147: Reinstate early console
Dario Binacchi (2):
can: sun4i_can: sun4i_can_err(): call can_change_state() even if cf is NULL
can: sun4i_can: sun4i_can_err(): fix {rx,tx}_errors statistics
Dave Stevenson (1):
drm/vc4: hvs: Set AXI panic modes for the HVS
David Disseldorp (1):
initramfs: avoid filename buffer overrun
David Given (1):
media: uvcvideo: Add a quirk for the Kaiweets KTI-W02 infrared camera
David S. Miller (1):
octeontx2: Fix condition.
David Thompson (1):
EDAC/bluefield: Fix potential integer overflow
David Wang (1):
proc/softirqs: replace seq_printf with seq_put_decimal_ull_width
Defa Li (1):
i3c: Use i3cdev->desc->info instead of calling i3c_device_get_info() to avoid deadlock
Dinesh Kumar (1):
ALSA: hda/realtek: Fix Internal Speaker and Mic boost of Infinix Y4 Max
Dipendra Khadka (1):
octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_ethtool.c
Dmitry Antipov (7):
ocfs2: uncache inode which has failed entering the group
ocfs2: fix UBSAN warning in ocfs2_verify_volume()
Bluetooth: fix use-after-free in device_for_each_child()
ocfs2: fix uninitialized value in ocfs2_file_read_iter()
netfilter: x_tables: fix LED ID check in led_tg_check()
can: j1939: j1939_session_new(): fix skb reference counting
rocker: fix link status detection in rocker_carrier_init()
Doug Brown (1):
drm/etnaviv: fix power register offset on GC300
Dragan Simic (1):
arm64: dts: allwinner: pinephone: Add mount matrix to accelerometer
Dragos Tatulea (1):
net/mlx5e: kTLS, Fix incorrect page refcounting
Edward Adam Davis (1):
USB: chaoskey: Fix possible deadlock chaoskey_list_lock
Elena Salomatkina (1):
net/sched: cbs: Fix integer overflow in cbs_set_port_rate()
Eric Biggers (1):
crypto: x86/aegis128 - access 32-bit arguments as 32-bit
Eric Dumazet (4):
net: hsr: fix hsr_init_sk() vs network/transport headers.
ipmr: convert /proc handlers to rcu_read_lock()
net: hsr: avoid potential out-of-bound access in fill_frame_info()
geneve: do not assume mac header is set in geneve_xmit_skb()
Eryk Zagorski (1):
ALSA: usb-audio: Fix Yamaha P-125 Quirk Entry
Esben Haabendal (1):
pinctrl: freescale: fix COMPILE_TEST error with PINCTRL_IMX_SCU
Everest K.C (1):
crypto: cavium - Fix the if condition to exit loop after timeout
Felix Manlunas (1):
octeontx2-af: Add new CGX_CMD to get PHY FEC statistics
Filipe Manana (2):
btrfs: ref-verify: fix use-after-free after invalid ref action
btrfs: fix missing snapshot drew unlock when root is dead during swap activation
Francesco Dolcini (1):
drm/bridge: tc358768: Fix DSI command tx
Frank Li (4):
i3c: master: Fix miss free init_dyn_addr at i3c_master_put_i3c_addrs()
i3c: master: Replace hard code 2 with macro I3C_ADDR_SLOT_STATUS_BITS
i3c: master: Extend address status bit to 4 and add I3C_ADDR_SLOT_EXT_DESIRED
i3c: master: Fix dynamic address leak when 'assigned-address' is present
Gabor Juhos (1):
clk: qcom: gcc-qcs404: fix initial rate of GPLL3
Gaosheng Cui (1):
media: platform: allegro-dvt: Fix possible memory leak in allocate_buffers_internal()
Geert Uytterhoeven (1):
m68k: mvme16x: Add and use "mvme16x.h"
Ghanshyam Agrawal (3):
jfs: array-index-out-of-bounds fix in dtReadFirst
jfs: fix shift-out-of-bounds in dbSplit
jfs: fix array-index-out-of-bounds in jfs_readdir
Greg Kroah-Hartman (2):
Revert "serial: sh-sci: Clean sci_ports[0] after at earlycon exit" Linux 5.10.231
Gregory Price (1):
tpm: fix signed/unsigned bug when checking event logs
Gustavo A. R. Silva (1):
octeontx2-pf: Fix out-of-bounds read in otx2_get_fecparam()
Hangbin Liu (2):
netdevsim: copy addresses for both in and out paths
wireguard: selftests: load nf_conntrack if not present
Hans Verkuil (1):
media: v4l2-core: v4l2-dv-timings: check cvt/gtf result
Hans de Goede (2):
ASoC: Intel: bytcr_rt5640: Add DMI quirk for Vexia Edu Atla 10 tablet
mmc: sdhci-pci: Add DMI quirk for missing CD GPIO on Vexia Edu Atla 10 tablet
Heiner Kallweit (1):
r8169: don't apply UDP padding quirk on RTL8126A
Heming Zhao (1):
ocfs2: Revert "ocfs2: fix the la space leak when unmounting an ocfs2 volume"
Hermes Zhang (1):
power: supply: bq27xxx: Support CHARGE_NOW for bq27z561/bq28z610/bq34z100
Hilda Wu (1):
Bluetooth: btusb: Add RTL8852BE device 0489:e123 to device tables
Hou Tao (2):
bpf: Handle BPF_EXIST and BPF_NOEXIST for LPM trie
bpf: Fix exact match conditions in trie_get_next_key()
Hsin-Te Yuan (1):
arm64: dts: mt8183: krane: Fix the address of eeprom at i2c4
Huacai Chen (1):
sh: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
Ian Rogers (1):
perf probe: Fix libdw memory leak
Ignat Korchagin (6):
af_packet: avoid erroring out after sock_init_data() in packet_create()
Bluetooth: L2CAP: do not leave dangling sk pointer on error in l2cap_sock_create()
net: af_can: do not leave a dangling sk pointer in can_create()
net: ieee802154: do not leave a dangling sk pointer in ieee802154_create()
net: inet: do not leave a dangling sk pointer in inet_create()
net: inet6: do not leave a dangling sk pointer in inet6_create()
Igor Artemiev (1):
drm/radeon/r600_cs: Fix possible int overflow in r600_packet3_check()
Igor Prusov (1):
dt-bindings: vendor-prefixes: Add NeoFidelity, Inc
Ilpo Järvinen (1):
PCI: cpqphp: Fix PCIBIOS_* return value confusion
Ivan Solodovnikov (1):
dccp: Fix memory leak in dccp_feat_change_recv
Jakub Kicinski (2):
netlink: terminate outstanding dump on socket close net/neighbor: clear error in case strict check is not set
James Clark (1):
perf cs-etm: Don't flush when packet_queue fills up
Jamie Iles (1):
i3c: fix incorrect address slot lookup on 64-bit
Jann Horn (1):
comedi: Flush partial mappings in error case
Jason Gerecke (1):
HID: wacom: Interpret tilt data from Intuos Pro BT as signed values
Javier Carrasco (1):
platform/chrome: cros_ec_typec: fix missing fwnode reference decrement
Jean-Michel Hautbois (1):
m68k: mcfgpio: Fix incorrect register offset for CONFIG_M5441x
Jeongjun Park (4):
wifi: ath9k: add range check for conn_rsp_epid in htc_connect_service()
usb: using mutex lock and supporting O_NONBLOCK flag in iowarrior_read()
ext4: supress data-race warnings in ext4_free_inodes_{count,set}()
netfilter: ipset: add missing range check in bitmap_ip_uadt
Jiapeng Chong (1):
wifi: ipw2x00: libipw_rx_any(): fix bad alignment
Jing Zhang (1):
KVM: arm64: vgic-its: Add a data length check in vgic_its_save_*
Jinghao Jia (1):
ipvs: fix UB due to uninitialized stack access in ip_vs_protocol_init()
Jinjie Ruan (13):
media: venus: Fix pm_runtime_set_suspended() with runtime pm enabled
media: gspca: ov534-ov772x: Fix off-by-one error in set_frame_rate()
spi: spi-fsl-lpspi: Use IRQF_NO_AUTOEN flag in request_irq()
soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq()
wifi: p54: Use IRQF_NO_AUTOEN flag in request_irq()
wifi: mwifiex: Use IRQF_NO_AUTOEN flag in request_irq() drm/imx/dcss: Use IRQF_NO_AUTOEN flag in request_irq() drm/imx/ipuv3: Use IRQF_NO_AUTOEN flag in request_irq() drm/msm/adreno: Use IRQF_NO_AUTOEN flag in request_irq()
mfd: tps65010: Use IRQF_NO_AUTOEN flag in request_irq() to fix race
misc: apds990x: Fix missing pm_runtime_disable()
apparmor: test: Fix memory leak for aa_unpack_strdup()
rtc: st-lpc: Use IRQF_NO_AUTOEN flag in request_irq()
Jiri Wiesner (1):
net/ipv6: release expired exception dst cached in socket
Joaquín Ignacio Aramendía (1):
drm: panel-orientation-quirks: Add quirk for AYA NEO 2 model
Johan Hovold (1):
staging: greybus: uart: clean up TIOCGSERIAL
Jonas Gorski (1):
mips: asm: fix warning when disabling MIPS_FP_SUPPORT
Jonas Karlman (1):
ASoC: hdmi-codec: reorder channel allocation list
Jonathan Marek (1):
rpmsg: glink: use only lower 16-bits of param2 for CMD_OPEN name length
Josef Bacik (1):
btrfs: don't BUG_ON on ENOMEM from btrfs_lookup_extent_info() in walk_down_proc()
Josh Poimboeuf (1):
x86/xen/pvh: Annotate indirect branch as safe
Junxian Huang (1):
RDMA/hns: Fix NULL pointer derefernce in hns_roce_map_mr_sg()
K Prateek Nayak (3):
sched/core: Remove the unnecessary need_resched() check in nohz_csd_func() sched/fair: Check idle_cpu() before need_resched() to detect ilb CPU turning busy sched/core: Prevent wakeup of ksoftirqd during idle load balance
Kai Mäkisara (2):
scsi: st: Don't modify unknown block number in MTIOCGET
scsi: st: Add MTIOCGET and MTLOAD to ioctls allowed after device reset
Kailang Yang (4):
ALSA: hda/realtek - Add type for ALC287
ALSA: hda/realtek: Update ALC256 depop procedure
ALSA: hda/realtek: Update ALC225 depop procedure
ALSA: hda/realtek: Set PCBeep to default value for ALC274
Kashyap Desai (1):
RDMA/bnxt_re: Check cqe flags to know imm_data vs inv_irkey
Keith Busch (1):
PCI: Add 'reset_subordinate' to reset hierarchy below bridge
Kinsey Moore (1):
jffs2: Prevent rtime decompress memory corruption
Kishon Vijay Abraham I (1):
PCI: keystone: Add link up check to ks_pcie_other_map_bus()
Kory Maincent (1):
ethtool: Fix wrong mod state in case of verbose and no_mask bitset
Kuan-Wei Chiu (1):
tracing: Fix cmp_entries_dup() to respect sort() comparison rules
Kuniyuki Iwashima (1):
tipc: Fix use-after-free of kernel socket in cleanup_bearer().
Kunkun Jiang (2):
KVM: arm64: vgic-its: Clear DTE when MAPD unmaps a device
KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE
Lang Yu (1):
drm/amdgpu: refine error handling in amdgpu_ttm_tt_pin_userptr
Leo Yan (1):
perf probe: Correct demangled symbols in C++ program
Leon Romanovsky (3):
xfrm: rename xfrm_state_offload struct to allow reuse
xfrm: store and rely on direction to construct offload flags
netdevsim: rely on XFRM state direction instead of flags
Levi Yun (2):
trace/trace_event_perf: remove duplicate samples on the first tracepoint event
dma-debug: fix a possible deadlock on radix_lock
Li Huafei (1):
media: atomisp: Add check for rgby_data memory allocation failure
Li Lingfeng (1):
nfs: ignore SB_RDONLY when mounting nfs
Li Zetao (1):
media: ts2020: fix null-ptr-deref in ts2020_probe()
Li Zhijian (1):
selftests/watchdog-test: Fix system accidentally reset after watchdog-test
Liao Chen (1):
drm/mcde: Enable module autoloading
Liequan Che (1):
bcache: revert replacing IS_ERR_OR_NULL with IS_ERR again
Lino Sanfilippo (1):
dt_bindings: rs485: Correct delay values
Linus Torvalds (1):
Revert "unicode: Don't special case ignorable code points"
Liu Jian (2):
selftests, bpf: Add one test for sockmap with strparser
sunrpc: clear XPRT_SOCK_UPD_TIMEOUT when reset transport
LongPing Wei (1):
f2fs: fix the wrong f2fs_bug_on condition in f2fs_do_replace_block
Lorenzo Stoakes (4):
mm: avoid unsafe VMA hook invocation when error arises on mmap hook
mm: unconditionally close VMAs on error
mm: refactor arch_calc_vm_flag_bits() and arm64 MTE handling
mm: resolve faulty mmap_region() error path behaviour
Louis Leseur (1):
net/qed: allow old cards not supporting "num_images" to work
Lucas Stach (3):
drm/etnaviv: rework linear window offset calculation drm/etnaviv: hold GPU lock across perfmon sampling drm/etnaviv: flush shader L1 cache after user commandstream
Lukas Wunner (1):
PCI: Fix use-after-free of slot->bus on hot remove
Luo Qiu (1):
firmware: arm_scpi: Check the DVFS OPP count returned by the firmware
Luo Yifan (2):
ASoC: stm: Prevent potential division by zero in stm32_sai_mclk_round_rate()
ASoC: stm: Prevent potential division by zero in stm32_sai_get_clk_div()
Maciej Fijalkowski (1):
bpf: fix OOB devmap writes when deleting elements
Macpaul Lin (1):
ASoC: dt-bindings: mt6359: Update generic node name and dmic-mode
Manikanta Mylavarapu (1):
soc: qcom: socinfo: fix revision check in qcom_socinfo_probe()
Marc Kleine-Budde (1):
drm/etnaviv: dump: fix sparse warnings
Marco Elver (2):
kcsan, seqlock: Fix incorrect assumption in read_seqbegin()
kcsan: Turn report_filterlist_lock into a raw_spinlock
Marcus Folkesson (1):
mfd: da9052-spi: Change read-mask to write-mask
Marie Ramlow (1):
ALSA: usb-audio: add mixer mapping for Corsair HS80
Mark Bloch (1):
net/mlx5: fs, lock FTE when checking if active
Mark Brown (2):
clocksource/drivers:sp804: Make user selectable kselftest/arm64: Don't leak pipe fds in pac.exec_sign_all()
Mark Rutland (1):
arm64: ptrace: fix partial SETREGSET for NT_ARM_TAGGED_ADDR_CTRL
Martin Ottens (1):
net/sched: tbf: correct backlog statistic for GSO packets
Masahiro Yamada (3):
arm64: fix .data.rel.ro size assertion when CONFIG_LTO_CLANG s390/syscalls: Avoid creation of arch/arch/ directory
modpost: remove incorrect code in do_eisa_entry()
Mathias Nyman (1):
xhci: dbc: Fix STALL transfer event handling
Matthias Schiffer (1):
drm: fsl-dcu: enable PIXCLK on LS1021A
Maurice Lambert (1):
netlink: typographical error in nlmsg_type constants definition
Mauro Carvalho Chehab (2):
media: dvbdev: fix the logic when DVB_DYNAMIC_MINORS is not set
media: atomisp: remove #ifdef HAS_NO_HMEM
Maxime Chevallier (2):
net: stmmac: dwmac-socfpga: Set RX watchdog interrupt as broken
rtc: ab-eoz9: don't fail temperature reads on undervoltage notification
Maíra Canal (1):
drm/v3d: Address race-condition in MMU flush
Mengyuan Lou (1):
PCI: Add ACS quirk for Wangxun FF5xxx NICs
Michael Ellerman (2):
powerpc/pseries: Fix dtl_access_lock to be a rw_semaphore powerpc/prom_init: Fixup missing powermac #size-cells
Michal Simek (1):
dt-bindings: serial: rs485: Fix rs485-rts-delay property
Michal Suchanek (1):
powerpc/sstep: make emulate_vsx_load and emulate_vsx_store static
Michal Vokáč (1):
leds: lp55xx: Remove redundant test for invalid channel number
Michal Vrastil (1):
Revert "usb: gadget: composite: fix OS descriptors w_value logic"
Miguel Ojeda (1):
time: Fix references to _msecs_to_jiffies() handling of values
Mikhail Rudenko (1):
regulator: rk808: Add apply_bit for BUCK3 on RK809
Mingwei Zheng (1):
net: rfkill: gpio: Add check for clk_enable()
Miquel Raynal (1):
mtd: rawnand: atmel: Fix possible memory leak
Muchun Song (1):
block: fix ordering between checking BLK_MQ_S_STOPPED request adding
Mukesh Ojha (1):
leds: class: Protect brightness_show() with led_cdev->led_access mutex
Namjae Jeon (1):
exfat: fix uninit-value in __exfat_get_dentry_set
Nazar Bilinskyi (1):
ALSA: hda/realtek: Enable mute and micmute LED on HP ProBook 430 G8
Nicolas Bouchinet (1):
tty: ldsic: fix tty_ldisc_autoload sysctl's proc_handler
Nihar Chaithanya (1):
jfs: add a check to prevent array-index-out-of-bounds in dbAdjTree
Nobuhiro Iwamatsu (1):
rtc: abx80x: Fix WDT bit position of the status register
Norbert van Bolhuis (1):
wifi: brcmfmac: Fix oops due to NULL pointer dereference in brcmf_sdiod_sglist_rw()
Nuno Sa (2):
dt-bindings: clock: axi-clkgen: include AXI clk
clk: clk-axi-clkgen: make sure to enable the AXI bus clock
Ojaswin Mujoo (1):
quota: flush quota_release_work upon quota writeback
Oleksandr Ocheretnyi (1):
iTCO_wdt: mask NMI_NOW bit for update_no_reboot_bit() call
Oleksij Rempel (2):
net: usb: lan78xx: Fix memory leak on device unplug by freeing PHY device
net: usb: lan78xx: Fix refcounting and autosuspend on invalid WoL configuration
Oliver Neukum (2):
usb: yurex: make waiting on yurex_write interruptible
USB: chaoskey: fail open after removal
Pablo Neira Ayuso (1):
netfilter: nft_set_hash: skip duplicated elements pending gc run
Pali Rohár (1):
cifs: Fix buffer overflow when parsing NFS reparse points
Paolo Abeni (2):
selftests: net: really check for bg process completion
ipmr: fix tables suspicious RCU usage
Parker Newman (1):
misc: eeprom: eeprom_93cx6: Add quirk for extra read clock cycle
Paul E. McKenney (1):
rcu-tasks: Idle tasks on offline CPUs are in quiescent states
Pavan Chebbi (1):
tg3: Set coherent DMA mask bits to 31 for BCM57766 chipsets
Pei Xiao (2):
drm/sti: Add __iomem for mixer_dbg_mxn's parameter
spi: mpc52xx: Add cancel_work_sync before module remove
Peter Griffin (1):
scsi: ufs: exynos: Fix hibern8 notify callbacks
Phil Sutter (1):
netfilter: ipset: Hold module reference while requesting a module
Piyush Raj Chouhan (1):
ALSA: hda/realtek: Add subwoofer quirk for Infinix ZERO BOOK 13
Pratyush Brahma (1):
iommu/arm-smmu: Defer probe of clients after smmu device bound
Prike Liang (1):
drm/amdgpu: set the right AMDGPU sg segment limitation
Priyanka Singh (1):
EDAC/fsl_ddr: Fix bad bit shift operations
Puranjay Mohan (1):
nvme: fix metadata handling in nvme-passthrough
Qi Han (1):
f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode.
Qingfang Deng (1):
jffs2: fix use of uninitialized variable
Qiu-ji Chen (3):
xen: Fix the issue of resource not being properly released in xenbus_dev_probe()
ASoC: codecs: Fix atomicity violation in snd_soc_component_get_drvdata()
media: wl128x: Fix atomicity violation in fmc_send_cmd()
Qu Wenruo (1):
btrfs: avoid unnecessary device path update for the same device
Quinn Tran (2):
scsi: qla2xxx: Fix NVMe and NPIV connect issue
scsi: qla2xxx: Fix use after free on unload
Raghavendra Rao Ananta (1):
KVM: arm64: Ignore PMCNTENSET_EL0 while checking for overflow status
Randy Dunlap (1):
fs_parser: update mount_api doc to match function signature
Reinette Chatre (1):
selftests/resctrl: Protect against array overrun during iMC config parsing
Ricardo Ribalda (1):
media: uvcvideo: Stop stream during unregister
Richard Weinberger (1):
jffs2: Fix rtime decompressor
Rohan Barar (1):
media: cx231xx: Add support for Dexatek USB Video Grabber 1d19:6108
Rosen Penev (2):
wifi: ath5k: add PCI ID for SX76X
wifi: ath5k: add PCI ID for Arcadyan devices
Ryusuke Konishi (3):
nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint
nilfs2: fix null-ptr-deref in block_dirty_buffer tracepoint
nilfs2: fix potential out-of-bounds memory access in nilfs_find_entry()
Sahas Leelodharry (1):
ALSA: hda/realtek: Add support for Samsung Galaxy Book3 360 (NP730QFG)
Saravanan Vajravel (1):
bnxt_en: Reserve rings after PCIe AER recovery if NIC interface is down
Sascha Hauer (3):
ASoC: fsl_micfil: Drop unnecessary register read
ASoC: fsl_micfil: do not define SHIFT/MASK for single bits
ASoC: fsl_micfil: use GENMASK to define register bit fields
Saurav Kashyap (1):
scsi: qla2xxx: Remove check req_sg_cnt should be equal to rsp_sg_cnt
Sean Christopherson (1):
KVM: VMX: Bury Intel PT virtualization (guest/host mode) behind CONFIG_BROKEN
Shengjiu Wang (2):
ASoC: fsl_micfil: fix regmap_write_bits usage
ASoC: fsl_micfil: fix the naming style for mask definition
Si-Wei Liu (2):
vdpa/mlx5: Fix PA offset with unaligned starting iotlb map vdpa/mlx5: Fix suboptimal range on iotlb iteration
Sibi Sankar (1):
remoteproc: qcom_q6v5_mss: Re-order writes to the IMEM region
Simon Horman (2):
net: fec_mpc52xx_phy: Use %pa to format resource_size_t
net: ethernet: fs_enet: Use %pa to format resource_size_t
Stanislaw Gruszka (1):
spi: Fix acpi deferred irq probe
Steven Price (1):
drm/panfrost: Remove unused id_mask from struct panfrost_model
Subbaraya Sundeep (2):
octeontx2-af: Mbox changes for 98xx
octeontx2-pf: Calculate LBK link instead of hardcoding
Takashi Iwai (9):
ALSA: usx2y: Fix spaces
ALSA: usx2y: Coding style fixes
ALSA: usx2y: Cleanup probe and disconnect callbacks
ALSA: usx2y: Use snd_card_free_when_closed() at disconnection
ALSA: us122l: Use snd_card_free_when_closed() at disconnection
ALSA: caiaq: Use snd_card_free_when_closed() at disconnection
ALSA: 6fire: Release resources at card release
ALSA: hda/realtek: Apply quirk for Medion E15433
ALSA: usb-audio: Fix out of bounds reads when finding clock sources
Tetsuo Handa (1):
ocfs2: free inode when ocfs2_get_init_inode() fails
Thadeu Lima de Souza Cascardo (2):
hfsplus: don't query the device logical block size multiple times
media: uvcvideo: Require entities to have a non-zero unique ID
Theodore Ts'o (1):
ext4: fix FS_IOC_GETFSMAP handling
Thiago Rafael Becker (1):
sunrpc: remove unnecessary test in rpc_task_set_client()
Thinh Nguyen (2):
usb: dwc3: gadget: Fix checking for number of TRBs left
usb: dwc3: gadget: Fix looping of queued SG entries
Thomas Gleixner (1):
modpost: Add .irqentry.text to OTHER_SECTIONS
Thomas Richter (1):
s390/cpum_sf: Handle CPU hotplug remove during sampling
Thomas Zimmermann (2):
drm/fsl-dcu: Convert to Linux IRQ interfaces fbdev/sh7760fb: Alloc DMA memory from hardware device
Tiwei Bie (6):
um: ubd: Do not use drvdata in release
um: net: Do not use drvdata in release
um: vector: Do not use drvdata in release
um: Fix potential integer overflow during physmem setup
um: Fix the return value of elf_core_copy_task_fpregs
um: Always dump trace for specified task in show_stack
Tomi Valkeinen (2):
drm/omap: Fix locking in omap_gem_new_dmabuf() drm/bridge: tc358767: Fix link properties discovery
Trond Myklebust (3):
NFSv4.0: Fix a use-after-free problem in the asynchronous open()
SUNRPC: Convert rpc_client refcount to use refcount_t
SUNRPC: Replace internal use of SOCKWQ_ASYNC_NOSPACE
Ulf Hansson (1):
mmc: core: Further prevent card detect during shutdown
Uros Bizjak (1):
tracing: Use atomic64_inc_return() in trace_clock_counter()
Valentin Schneider (1):
sched/fair: Add NOHZ balancer flag for nohz.next_balance updates
Vasiliy Kovalev (1):
ovl: Filter invalid inodes with missing lookup function
Victor Zhao (1):
drm/amdgpu: skip amdgpu_device_cache_pci_state under sriov
Vincent Guittot (4):
sched/fair: Remove update of blocked load from newidle_balance sched/fair: Remove unused parameter of update_nohz_stats sched/fair: Merge for each idle cpu loop of ILB sched/fair: Trigger the update of blocked load on newly idle cpu
Vitalii Mordan (2):
marvell: pxa168_eth: fix call balance of pep->clk handling routines
usb: ehci-spear: fix call balance of sehci clk handling routines
WangYuli (1):
HID: wacom: fix when get product name maybe null pointer
Waqar Hameed (1):
ubifs: authentication: Fix use-after-free in ubifs_tnc_end_commit
Wengang Wang (1):
ocfs2: update seq_file index in ocfs2_dlm_seq_next
Will Deacon (1):
arm64: tls: Fix context-switching of tpidrro_el0 when kpti is enabled
Xi Ruoyao (1):
MIPS: Loongson64: DTS: Really fix PCIe port nodes for ls7a
Xiaolei Wang (1):
drm/etnaviv: Request pages from DMA32 zone on addressing_limited
Xin Long (1):
net: sched: fix erspan_opt settings in cls_flower
Xu Yang (1):
usb: chipidea: udc: handle USB Error Interrupt if IOC not set
Yang Erkun (3):
SUNRPC: make sure cache entry active before cache_show
nfsd: make sure exp active before svc_export_show
nfsd: fix nfs4_openowner leak when concurrent nfsd4_open occur
Yang Yingliang (1):
mmc: core: fix return value check in devm_mmc_alloc_host()
Yassine Oudjana (1):
watchdog: mediatek: Make sure system reset gets asserted in mtk_wdt_restart()
Ye Bin (1):
scsi: bfa: Fix use-after-free in bfad_im_module_exit()
Yi Yang (2):
crypto: pcrypt - Call crypto layer directly when padata_do_parallel() return -EBUSY
nvdimm: rectify the illogical code within nd_dax_probe()
Yihang Li (1):
scsi: hisi_sas: Add cond_resched() for no forced preemption model
Yongliang Gao (1):
rtc: check if __rtc_read_time was successful in rtc_timer_do_work()
Yongpeng Yang (1):
f2fs: check curseg->inited before write_sum_page in change_curseg
Yuan Can (6):
firmware: google: Unregister driver_info on failure
wifi: wfx: Fix error handling in wfx_core_init() drm/amdkfd: Fix wrong usage of INIT_WORK()
cpufreq: loongson2: Unregister platform_driver on failure dm thin: Add missing destroy_work_on_stack()
igb: Fix potential invalid memory access in igb_init_module()
Yuan Chen (1):
bpf: Fix the xdp_adjust_tail sample prog issue
Zeng Heng (1):
scsi: fusion: Remove unused variable 'rc'
Zhang Changzhong (1):
mfd: rt5033: Fix missing regmap_del_irq_chip()
Zhang Zekun (3):
pmdomain: ti-sci: Add missing of_node_put() for args.np powerpc/kexec: Fix return of uninitialized variable
Revert "drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()"
Zhen Lei (3):
scsi: qedf: Fix a possible memory leak in qedf_alloc_and_init_sb()
scsi: qedi: Fix a possible memory leak in qedi_alloc_and_init_sb()
fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem()
Zhihao Cheng (3):
ubi: wl: Put source PEB into correct list if trying locking LEB failed
ubifs: Correct the total block count by deducting journal reservation
ubi: fastmap: Fix duplicate slab cache names while attaching
Zhu Jun (1):
samples/bpf: Fix a resource leak
Zichen Xie (1):
drm/msm/dpu: cast crtc_clk calculation to u64 in _dpu_core_perf_calc_clk()
Zicheng Qu (1):
ad7780: fix division by zero in ad7780_write_raw()
Zijian Zhang (10):
selftests/bpf: Fix msg_verify_data in test_sockmap selftests/bpf: Fix txmsg_redir of test_txmsg_pull in test_sockmap selftests/bpf: Add txmsg_pass to pull/push/pop in test_sockmap selftests/bpf: Fix SENDPAGE data logic in test_sockmap selftests/bpf: Fix total_bytes in msg_loop_rx in test_sockmap selftests/bpf: Add push/pop checking for msg_verify_data in test_sockmap bpf, sockmap: Several fixes to bpf_msg_push_data
bpf, sockmap: Several fixes to bpf_msg_pop_data
bpf, sockmap: Fix sk_msg_reset_curr
tcp_bpf: Fix the sk_mem_uncharge logic in tcp_bpf_sendmsg
Zijun Hu (1):
driver core: bus: Fix double free in driver API bus_register()
chao liu (1):
apparmor: fix 'Do simple duplicate message elimination'
guoweikang (1):
ftrace: Fix regression with module command in stack_trace_filter
weiyufeng (1):
PCI: cpqphp: Use PCI_POSSIBLE_ERROR() to check config reads
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-bus-pci +11 -0
@@ -131,6 +131,17 @@ Description: will be present in sysfs. Writing 1 to this file will perform reset. +What: /sys/bus/pci/devices/.../reset_subordinate +Date: October 2024 +Contact: [email protected] +Description: + This is visible only for bridge devices. If you want to reset + all devices attached through the subordinate bus of a specific + bridge device, writing 1 to this will try to do it. This will + affect all devices attached to the system through this bridge + similiar to writing 1 to their individual "reset" file, so use + with caution. + What: /sys/bus/pci/devices/.../vpd Date: February 2008 Contact: Ben Hutchings <[email protected]>
Documentation/devicetree/bindings/clock/adi,axi-clkgen.yaml new file +67 -0
67 lines not on this page · raw message
Documentation/devicetree/bindings/clock/axi-clkgen.txt deleted +0 -25
@@ -1,25 +0,0 @@ -Binding for the axi-clkgen clock generator - -This binding uses the common clock binding[1]. - -[1] Documentation/devicetree/bindings/clock/clock-bindings.txt - -Required properties: -- compatible : shall be "adi,axi-clkgen-1.00.a" or "adi,axi-clkgen-2.00.a". -- #clock-cells : from common clock binding; Should always be set to 0. -- reg : Address and length of the axi-clkgen register set. -- clocks : Phandle and clock specifier for the parent clock(s). This must - either reference one clock if only the first clock input is connected or two - if both clock inputs are connected. For the later case the clock connected - to the first input must be specified first. - -Optional properties: -- clock-output-names : From common clock binding. - -Example: - clock@ff000000 { - compatible = "adi,axi-clkgen"; - #clock-cells = <0>; - reg = <0xff000000 0x1000>; - clocks = <&osc 1>; - };
Documentation/devicetree/bindings/serial/rs485.yaml +9 -10
@@ -18,16 +18,15 @@ properties: description: prop-encoded-array <a b> $ref: /schemas/types.yaml#/definitions/uint32-array items: - items: - - description: Delay between rts signal and beginning of data sent in - milliseconds. It corresponds to the delay before sending data. - default: 0 - maximum: 1000 - - description: Delay between end of data sent and rts signal in milliseconds. - It corresponds to the delay after sending data and actual release - of the line. - default: 0 - maximum: 1000 + - description: Delay between rts signal and beginning of data sent in + milliseconds. It corresponds to the delay before sending data. + default: 0 + maximum: 100 + - description: Delay between end of data sent and rts signal in milliseconds. + It corresponds to the delay after sending data and actual release + of the line. + default: 0 + maximum: 100 rs485-rts-active-low: description: drive RTS low when sending (default is high).
Documentation/devicetree/bindings/sound/mt6359.yaml +5 -5
@@ -23,8 +23,8 @@ properties: Indicates how many data pins are used to transmit two channels of PDM signal. 0 means two wires, 1 means one wire. Default value is 0. enum: - - 0 # one wire - - 1 # two wires + - 0 # two wires + - 1 # one wire mediatek,mic-type-0: $ref: /schemas/types.yaml#/definitions/uint32
@@ -53,9 +53,9 @@ additionalProperties: false examples: - | - mt6359codec: mt6359codec { - mediatek,dmic-mode = <0>; - mediatek,mic-type-0 = <2>; + mt6359codec: audio-codec { + mediatek,dmic-mode = <0>; + mediatek,mic-type-0 = <2>; }; ...
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
@@ -718,6 +718,8 @@ patternProperties: description: National Semiconductor "^nec,.*": description: NEC LCD Technologies, Ltd. + "^neofidelity,.*": + description: Neofidelity Inc. "^neonode,.*": description: Neonode Inc. "^netgear,.*":
Documentation/filesystems/mount_api.rst +2 -1
@@ -778,7 +778,8 @@ process the parameters it is given. * :: - bool fs_validate_description(const struct fs_parameter_description *desc); + bool fs_validate_description(const char *name, + const struct fs_parameter_description *desc); This performs some validation checks on a parameter description. It returns true if the description is good and false if it is not. It will
Documentation/networking/j1939.rst +1 -1
@@ -83,7 +83,7 @@ format, the Group Extension is set in the PS-field. On the other hand, when using PDU1 format, the PS-field contains a so-called Destination Address, which is _not_ part of the PGN. When communicating a PGN -from user space to kernel (or vice versa) and PDU2 format is used, the PS-field +from user space to kernel (or vice versa) and PDU1 format is used, the PS-field of the PGN shall be set to zero. The Destination Address shall be set elsewhere.
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 230 +SUBLEVEL = 231 EXTRAVERSION = NAME = Dare mighty things
arch/arm/Kconfig +0 -2
@@ -366,7 +366,6 @@ config ARCH_EP93XX imply ARM_PATCH_PHYS_VIRT select ARM_VIC select AUTO_ZRELADDR - select CLKDEV_LOOKUP select CLKSRC_MMIO select CPU_ARM920T select GENERIC_CLOCKEVENTS
@@ -523,7 +522,6 @@ config ARCH_OMAP1 bool "TI OMAP1" depends on MMU select ARCH_OMAP - select CLKDEV_LOOKUP select CLKSRC_MMIO select GENERIC_CLOCKEVENTS select GENERIC_IRQ_CHIP
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts +2 -2
@@ -280,8 +280,8 @@ reg_dcdc4: dcdc4 { reg_dcdc5: dcdc5 { regulator-always-on; - regulator-min-microvolt = <1425000>; - regulator-max-microvolt = <1575000>; + regulator-min-microvolt = <1450000>; + regulator-max-microvolt = <1550000>; regulator-name = "vcc-dram"; };
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +3 -0
@@ -157,6 +157,9 @@ mpu6050@68 { interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */ vdd-supply = <®_dldo1>; vddio-supply = <®_dldo1>; + mount-matrix = "0", "1", "0", + "-1", "0", "0", + "0", "0", "1"; }; };
arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi +8 -0
@@ -43,6 +43,14 @@ trackpad2: trackpad@2c { interrupts = <117 IRQ_TYPE_LEVEL_LOW>; reg = <0x2c>; hid-descr-addr = <0x0020>; + /* + * The trackpad needs a post-power-on delay of 100ms, + * but at time of writing, the power supply for it on + * this board is always on. The delay is therefore not + * added to avoid impacting the readiness of the + * trackpad. + */ + vdd-supply = <&mt6397_vgp6_reg>; wakeup-source; }; };
arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi +2 -2
@@ -85,9 +85,9 @@ &i2c4 { status = "okay"; clock-frequency = <400000>; - eeprom@54 { + eeprom@50 { compatible = "atmel,24c32"; - reg = <0x54>; + reg = <0x50>; pagesize = <32>; }; };
arch/arm64/include/asm/mman.h +7 -3
@@ -3,6 +3,8 @@#define __ASM_MMAN_H__#include <linux/compiler.h> +#include <linux/fs.h> +#include <linux/shmem_fs.h> #include <linux/types.h> #include <uapi/asm/mman.h>
@@ -21,19 +23,21 @@ static inline unsigned long arch_calc_vm_prot_bits(unsigned long prot, }#define arch_calc_vm_prot_bits (prot, pkey) arch_calc_vm_prot_bits(prot, pkey) -static inline unsigned long arch_calc_vm_flag_bits (unsigned long flags) +static inline unsigned long arch_calc_vm_flag_bits (struct file *file, +unsigned long flags) {/* * Only allow MTE on anonymous mappings as these are guaranteed to be * backed by tags-capable memory. The vm_flags may be overridden by a * filesystem supporting MTE (RAM-based). */ -if (system_supports_mte () && (flags &MAP_ANONYMOUS )) +if (system_supports_mte () && + ((flags &MAP_ANONYMOUS ) ||shmem_file (file)))return VM_MTE_ALLOWED ;return 0 ; } -#define arch_calc_vm_flag_bits (flags) arch_calc_vm_flag_bits(flags) +#define arch_calc_vm_flag_bits (file, flags) arch_calc_vm_flag_bits(file, flags)static inline pgprot_t arch_vm_get_page_prot (unsigned long vm_flags) {
arch/arm64/kernel/process.c +1 -1
@@ -455,7 +455,7 @@ static void tls_thread_switch(struct task_struct *next)if (is_compat_thread (task_thread_info (next)))write_sysreg (next->thread.uw.tp_value, tpidrro_el0); -else if (!arm64_kernel_unmapped_at_el0 ()) +else write_sysreg (0 , tpidrro_el0);write_sysreg (*task_user_tls (next), tpidr_el0);
arch/arm64/kernel/ptrace.c +5 -1
@@ -1040,7 +1040,7 @@ static int tagged_addr_ctrl_get(struct task_struct *target, {long ctrl =get_tagged_addr_ctrl (target); -if (IS_ERR_VALUE (ctrl)) +if (WARN_ON_ONCE (IS_ERR_VALUE (ctrl)))return ctrl;return membuf_write (&to, &ctrl,sizeof (ctrl));
@@ -1054,6 +1054,10 @@ static int tagged_addr_ctrl_set(struct task_struct *target, const structint ret;long ctrl; + ctrl =get_tagged_addr_ctrl (target); +if (WARN_ON_ONCE (IS_ERR_VALUE (ctrl))) +return ctrl; + ret =user_regset_copyin (&pos, &count, &kbuf, &ubuf, &ctrl,0 ,-1 );if (ret)return ret;
arch/arm64/kernel/vmlinux.lds.S +3 -3
@@ -228,6 +228,9 @@ SECTIONS __initdata_end = .; __init_end = .; + .data.rel.ro : { *(.data.rel.ro) } + ASSERT(SIZEOF(.data.rel.ro) == 0, "Unexpected RELRO detected!") + _data = .; _sdata = .; RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_ALIGN)
@@ -279,9 +282,6 @@ SECTIONS *(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt) } ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!") - - .data.rel.ro : { *(.data.rel.ro) } - ASSERT(SIZEOF(.data.rel.ro) == 0, "Unexpected RELRO detected!") } #include "image-vars.h"
arch/arm64/kvm/pmu-emul.c +0 -1
@@ -371,7 +371,6 @@ static u64 kvm_pmu_overflow_status(struct kvm_vcpu *vcpu)if ((__vcpu_sys_reg (vcpu,PMCR_EL0 ) &ARMV8_PMU_PMCR_E )) { reg =__vcpu_sys_reg (vcpu,PMOVSSET_EL0 ); - reg &=__vcpu_sys_reg (vcpu,PMCNTENSET_EL0 ); reg &=__vcpu_sys_reg (vcpu,PMINTENSET_EL1 ); reg &=kvm_pmu_valid_counter_mask (vcpu); }
arch/arm64/kvm/vgic/vgic-its.c +17 -15
@@ -855,6 +855,9 @@ static int vgic_its_cmd_handle_discard(struct kvm *kvm, struct vgic_its *its, ite =find_ite (its, device_id, event_id);if (ite &&its_is_collection_mapped (ite->collection)) { +struct its_device *device =find_its_device (its, device_id); +int ite_esz =vgic_its_get_abi (its)->ite_esz; +gpa_t gpa = device->itt_addr + ite->event_id * ite_esz;/* * Though the spec talks about removing the pending state, we * don't bother here since we clear the ITTE anyway and the
@@ -863,7 +866,8 @@ static int vgic_its_cmd_handle_discard(struct kvm *kvm, struct vgic_its *its,vgic_its_invalidate_cache (kvm);its_free_ite (kvm, ite); -return 0 ; + +return vgic_its_write_entry_lock (its, gpa,0 , ite_esz); }return E_ITS_DISCARD_UNMAPPED_INTERRUPT ;
@@ -1182,9 +1186,11 @@ static int vgic_its_cmd_handle_mapd(struct kvm *kvm, struct vgic_its *its,bool valid =its_cmd_get_validbit (its_cmd);u8 num_eventid_bits =its_cmd_get_size (its_cmd);gpa_t itt_addr =its_cmd_get_ittaddr (its_cmd); +int dte_esz =vgic_its_get_abi (its)->dte_esz;struct its_device *device; +gpa_t gpa; -if (!vgic_its_check_id (its, its->baser_device_table, device_id,NULL )) +if (!vgic_its_check_id (its, its->baser_device_table, device_id, &gpa))return E_ITS_MAPD_DEVICE_OOR ;if (valid && num_eventid_bits >VITS_TYPER_IDBITS )
@@ -1205,7 +1211,7 @@ static int vgic_its_cmd_handle_mapd(struct kvm *kvm, struct vgic_its *its,* is an error, so we are done in any case. */ if (!valid) -return 0 ; +return vgic_its_write_entry_lock (its, gpa,0 , dte_esz); device =vgic_its_alloc_device (its, device_id, itt_addr, num_eventid_bits);
@@ -2135,7 +2141,6 @@ static int scan_its_table(struct vgic_its *its, gpa_t base, int size, u32 esz,static int vgic_its_save_ite (struct vgic_its *its,struct its_device *dev,struct its_ite *ite,gpa_t gpa,int ite_esz) { -struct kvm *kvm = its->dev->kvm;u32 next_offset;u64 val;
@@ -2144,7 +2149,8 @@ static int vgic_its_save_ite(struct vgic_its *its, struct its_device *dev, ((u64 )ite->irq->intid <<KVM_ITS_ITE_PINTID_SHIFT ) | ite->collection->collection_id; val =cpu_to_le64 (val); -return kvm_write_guest_lock (kvm, gpa, &val, ite_esz); + +return vgic_its_write_entry_lock (its, gpa, val, ite_esz); }/**
@@ -2280,7 +2286,6 @@ static int vgic_its_restore_itt(struct vgic_its *its, struct its_device *dev)static int vgic_its_save_dte (struct vgic_its *its,struct its_device *dev,gpa_t ptr,int dte_esz) { -struct kvm *kvm = its->dev->kvm;u64 val, itt_addr_field;u32 next_offset;
@@ -2291,7 +2296,8 @@ static int vgic_its_save_dte(struct vgic_its *its, struct its_device *dev, (itt_addr_field <<KVM_ITS_DTE_ITTADDR_SHIFT ) | (dev->num_eventid_bits - 1)); val =cpu_to_le64 (val); -return kvm_write_guest_lock (kvm, ptr, &val, dte_esz); + +return vgic_its_write_entry_lock (its, ptr, val, dte_esz); }/**
@@ -2471,7 +2477,8 @@ static int vgic_its_save_cte(struct vgic_its *its, ((u64 )collection->target_addr <<KVM_ITS_CTE_RDBASE_SHIFT ) | collection->collection_id); val =cpu_to_le64 (val); -return kvm_write_guest_lock (its->dev->kvm, gpa, &val, esz); + +return vgic_its_write_entry_lock (its, gpa, val, esz); }static int vgic_its_restore_cte (struct vgic_its *its,gpa_t gpa,int esz)
@@ -2482,8 +2489,7 @@ static int vgic_its_restore_cte(struct vgic_its *its, gpa_t gpa, int esz)u64 val;int ret; -BUG_ON (esz >sizeof (val)); - ret =kvm_read_guest_lock (kvm, gpa, &val, esz); + ret =vgic_its_read_entry_lock (its, gpa, &val, esz);if (ret)return ret; val =le64_to_cpu (val);
@@ -2517,7 +2523,6 @@ static int vgic_its_save_collection_table(struct vgic_its *its)u64 baser = its->baser_coll_table;gpa_t gpa =GITS_BASER_ADDR_48_to_52 (baser);struct its_collection *collection; -u64 val;size_t max_size, filled =0 ;int ret, cte_esz = abi->cte_esz;
@@ -2541,10 +2546,7 @@ static int vgic_its_save_collection_table(struct vgic_its *its)* table is not fully filled, add a last dummy element * with valid bit unset */ - val =0 ; -BUG_ON (cte_esz >sizeof (val)); - ret =kvm_write_guest_lock (its->dev->kvm, gpa, &val, cte_esz); -return ret; +return vgic_its_write_entry_lock (its, gpa,0 , cte_esz); }/**
arch/arm64/kvm/vgic/vgic.h +24 -0
@@ -6,6 +6,7 @@#define __KVM_ARM_VGIC_NEW_H__#include <linux/irqchip/arm-gic-common.h> +#include <asm/kvm_mmu.h> #define PRODUCT_ID_KVM 0x4b/* ASCII code K */ #define IMPLEMENTER_ARM 0x43b
@@ -126,6 +127,29 @@ static inline bool vgic_irq_is_multi_sgi(struct vgic_irq *irq)return vgic_irq_get_lr_count (irq) >1 ; } +static inline int vgic_its_read_entry_lock (struct vgic_its *its,gpa_t eaddr, +u64 *eval,unsigned long esize) +{ +struct kvm *kvm = its->dev->kvm; + +if (KVM_BUG_ON (esize !=sizeof (*eval), kvm)) +return -EINVAL ; + +return kvm_read_guest_lock (kvm, eaddr, eval, esize); + +} + +static inline int vgic_its_write_entry_lock (struct vgic_its *its,gpa_t eaddr, +u64 eval,unsigned long esize) +{ +struct kvm *kvm = its->dev->kvm; + +if (KVM_BUG_ON (esize !=sizeof (eval), kvm)) +return -EINVAL ; + +return kvm_write_guest_lock (kvm, eaddr, &eval, esize); +} +/* * This struct provides an intermediate representation of the fields contained * in the GICH_VMCR and ICH_VMCR registers, such that code exporting the GIC
arch/m68k/coldfire/device.c +4 -4
@@ -93,7 +93,7 @@ static struct platform_device mcf_uart = { .dev.platform_data = mcf_uart_platform_data, }; -#if IS_ENABLED (CONFIG_FEC ) +#ifdef MCFFEC_BASE0 #ifdef CONFIG_M5441x#define FEC_NAME "enet-fec"
@@ -145,6 +145,7 @@ static struct platform_device mcf_fec0 = { .platform_data = FEC_PDATA, } }; +#endif /* MCFFEC_BASE0 */ #ifdef MCFFEC_BASE1 static struct resource mcf_fec1_resources[] = {
@@ -182,7 +183,6 @@ static struct platform_device mcf_fec1 = { } };#endif /* MCFFEC_BASE1 */ -#endif /* CONFIG_FEC */ #if IS_ENABLED (CONFIG_SPI_COLDFIRE_QSPI )/*
@@ -583,12 +583,12 @@ static struct platform_device mcf_esdhc = {static struct platform_device *mcf_devices[]__initdata = { &mcf_uart, -#if IS_ENABLED(CONFIG_FEC) +#ifdef MCFFEC_BASE0 &mcf_fec0, +#endif #ifdef MCFFEC_BASE1 &mcf_fec1, #endif -#endif #if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) &mcf_qspi, #endif
arch/m68k/include/asm/mcfgpio.h +1 -1
@@ -144,7 +144,7 @@ static inline void gpio_free(unsigned gpio)* read-modify-write as well as those controlled by the EPORT and GPIO modules. */ #define MCFGPIO_SCR_START 40 -#elif defined(CONFIGM5441x) +#elif defined(CONFIG_M5441x)/* The m5441x EPORT doesn't have its own GPIO port, uses PORT C */ #define MCFGPIO_SCR_START 0#else
arch/m68k/include/asm/mvme147hw.h +2 -2
@@ -93,8 +93,8 @@ struct pcc_regs {#define M147_SCC_B_ADDR 0xfffe3000#define M147_SCC_PCLK 5000000 -#define MVME147_IRQ_SCSI_PORT (IRQ_USER+0x45) -#define MVME147_IRQ_SCSI_DMA (IRQ_USER+0x46) +#define MVME147_IRQ_SCSI_PORT (IRQ_USER + 5) +#define MVME147_IRQ_SCSI_DMA (IRQ_USER + 6)/* SCC interrupts, for MVME147 */
arch/m68k/kernel/early_printk.c +6 -3
@@ -12,8 +12,9 @@#include <linux/string.h> #include <asm/setup.h> -extern void mvme16x_cons_write (struct console *co, -const char *str,unsigned count); + +#include "../mvme147/mvme147.h" +#include "../mvme16x/mvme16x.h" asmlinkage void __init debug_cons_nputs(const char *s, unsigned n);
@@ -22,7 +23,9 @@ static void __ref debug_cons_write(struct console *c, {#if !(defined(CONFIG_SUN3 ) || defined(CONFIG_M68000 ) || \ defined(CONFIG_COLDFIRE )) -if (MACH_IS_MVME16x) +if (MACH_IS_MVME147 ) +mvme147_scc_write (c, s, n); +else if (MACH_IS_MVME16x)mvme16x_cons_write (c, s, n);else debug_cons_nputs (s, n);
arch/m68k/mvme147/config.c +30 -0
@@ -35,6 +35,7 @@#include <asm/machdep.h> #include <asm/mvme147hw.h> +#include "mvme147.h" static void mvme147_get_model (char *model);extern void mvme147_sched_init (irq_handler_t handler);
@@ -188,3 +189,32 @@ int mvme147_hwclk(int op, struct rtc_time *t) }return 0 ; } + +static void scc_delay (void ) +{ + __asm__ __volatile__ ("nop; nop;" ); +} + +static void scc_write (char ch) +{ +do { +scc_delay (); + }while (!(in_8 (M147_SCC_A_ADDR ) &BIT (2 ))); +scc_delay (); +out_8 (M147_SCC_A_ADDR ,8 ); +scc_delay (); +out_8 (M147_SCC_A_ADDR , ch); +} + +void mvme147_scc_write (struct console *co,const char *str,unsigned int count) +{ +unsigned long flags; + +local_irq_save (flags); +while (count--) { +if (*str =='\n' ) +scc_write ('\r' ); +scc_write (*str++); + } +local_irq_restore (flags); +}
arch/m68k/mvme147/mvme147.h new file +6 -0
@@ -0,0 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +struct console ; + +/* config.c */ +void mvme147_scc_write (struct console *co,const char *str,unsigned int count);
arch/m68k/mvme16x/config.c +2 -0
@@ -38,6 +38,8 @@#include <asm/machdep.h> #include <asm/mvme16xhw.h> +#include "mvme16x.h" +extern t_bdid mvme_bdid;static MK48T08ptr_t volatile rtc = (MK48T08ptr_t )MVME_RTC_BASE ;
arch/m68k/mvme16x/mvme16x.h new file +6 -0
@@ -0,0 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +struct console ; + +/* config.c */ +void mvme16x_cons_write (struct console *co,const char *str,unsigned count);
arch/mips/Kconfig +0 -3
@@ -327,7 +327,6 @@ config BCM63XX select SWAP_IO_SPACE select GPIOLIB select MIPS_L1_CACHE_SHIFT_4 - select CLKDEV_LOOKUP select HAVE_LEGACY_CLK help Support for BCM63XX based boards
@@ -442,7 +441,6 @@ config LANTIQ select GPIOLIB select SWAP_IO_SPACE select BOOT_RAW - select CLKDEV_LOOKUP select HAVE_LEGACY_CLK select USE_OF select PINCTRL
@@ -627,7 +625,6 @@ config RALINK select SYS_SUPPORTS_MIPS16 select SYS_SUPPORTS_ZBOOT select SYS_HAS_EARLY_PRINTK - select CLKDEV_LOOKUP select ARCH_HAS_RESET_CONTROLLER select RESET_CONTROLLER
arch/mips/boot/dts/loongson/ls7a-pch.dtsi +60 -13
215 lines not on this page · raw message
arch/mips/include/asm/switch_to.h +1 -1
@@ -97,7 +97,7 @@ do { \ } \ } while (0)#else -# define __sanitize_fcr31 (next) +# define __sanitize_fcr31 (next) do { (void) (next); } while (0)#endif /*
arch/mips/pic32/Kconfig +0 -1
@@ -17,7 +17,6 @@ config PIC32MZDA select SYS_SUPPORTS_LITTLE_ENDIAN select GPIOLIB select COMMON_CLK - select CLKDEV_LOOKUP select LIBFDT select USE_OF select PINCTRL
arch/powerpc/include/asm/dtl.h +2 -2
@@ -1,8 +1,8 @@#ifndef _ASM_POWERPC_DTL_H#define _ASM_POWERPC_DTL_H +#include <linux/rwsem.h> #include <asm/lppaca.h> -#include <linux/spinlock_types.h> /* * Layout of entries in the hypervisor's dispatch trace log buffer.
@@ -35,7 +35,7 @@ struct dtl_entry {#define DTL_LOG_ALL (DTL_LOG_CEDE | DTL_LOG_PREEMPT | DTL_LOG_FAULT)extern struct kmem_cache *dtl_cache; -extern rwlock_t dtl_access_lock; +extern struct rw_semaphore dtl_access_lock;/* * When CONFIG_VIRT_CPU_ACCOUNTING_NATIVE = y, the cpu accounting code controls
arch/powerpc/include/asm/sstep.h +0 -5
@@ -174,9 +174,4 @@ extern int emulate_step(struct pt_regs *regs, struct ppc_inst instr);*/ extern int emulate_loadstore (struct pt_regs *regs,struct instruction_op *op); -extern void emulate_vsx_load (struct instruction_op *op,union vsx_reg *reg, -const void *mem,bool cross_endian); -extern void emulate_vsx_store (struct instruction_op *op, -const union vsx_reg *reg,void *mem, -bool cross_endian);extern int emulate_dcbz (unsigned long ea,struct pt_regs *regs);
arch/powerpc/include/asm/vdso.h +1 -0
@@ -27,6 +27,7 @@ int vdso_getcpu_init(void);#ifdef __VDSO64__#define V_FUNCTION_BEGIN (name) \ .globl name; \ + .type name,@function; \ name: \#define V_FUNCTION_END (name) \
arch/powerpc/kernel/prom_init.c +27 -2
@@ -2894,7 +2894,7 @@ static void __init fixup_device_tree_chrp(void)#endif #if defined(CONFIG_PPC64 ) && defined(CONFIG_PPC_PMAC ) -static void __init fixup_device_tree_pmac (void ) +static void __init fixup_device_tree_pmac64 (void ) {phandle u3, i2c, mpic;u32 u3_rev;
@@ -2934,7 +2934,31 @@ static void __init fixup_device_tree_pmac(void) &parent, sizeof(parent)); }#else -#define fixup_device_tree_pmac () +#define fixup_device_tree_pmac64 () +#endif + +#ifdef CONFIG_PPC_PMAC +static void __init fixup_device_tree_pmac (void ) +{ +__be32 val =1 ; +char type[8 ]; +phandle node; + +// Some pmacs are missing #size-cells on escc nodes +for (node =0 ;prom_next_node (&node); ) { + type[0 ] ='\0' ; +prom_getprop (node,"device_type" , type,sizeof (type)); +if (prom_strcmp (type,"escc" )) +continue ; + +if (prom_getproplen (node,"#size-cells" ) !=PROM_ERROR ) +continue ; + +prom_setprop (node,NULL ,"#size-cells" , &val,sizeof (val)); + } +} +#else +static inline void fixup_device_tree_pmac (void ) { }#endif #ifdef CONFIG_PPC_EFIKA
@@ -3159,6 +3183,7 @@ static void __init fixup_device_tree(void)fixup_device_tree_maple_memory_controller ();fixup_device_tree_chrp ();fixup_device_tree_pmac (); +fixup_device_tree_pmac64 ();fixup_device_tree_efika ();fixup_device_tree_pasemi (); }
arch/powerpc/kexec/file_load_64.c +7 -2
@@ -909,13 +909,18 @@ int setup_purgatory_ppc64(struct kimage *image, const void *slave_code,if (dn) {u64 val; -of_property_read_u64 (dn,"opal-base-address" , &val); + ret =of_property_read_u64 (dn,"opal-base-address" , &val); +if (ret) + goto out; + ret =kexec_purgatory_get_set_symbol (image,"opal_base" , &val,sizeof (val), false);if (ret) goto out; -of_property_read_u64 (dn,"opal-entry-address" , &val); + ret =of_property_read_u64 (dn,"opal-entry-address" , &val); +if (ret) + goto out; ret =kexec_purgatory_get_set_symbol (image,"opal_entry" , &val,sizeof (val), false); }
arch/powerpc/lib/sstep.c +4 -8
@@ -706,8 +706,8 @@ static nokprobe_inline int emulate_stq(struct pt_regs *regs, unsigned long ea,#endif /* __powerpc64 */ #ifdef CONFIG_VSX -void emulate_vsx_load (struct instruction_op *op,union vsx_reg *reg, -const void *mem,bool rev) +static nokprobe_inline void emulate_vsx_load(struct instruction_op *op, union vsx_reg *reg, +const void *mem,bool rev) {int size, read_size;int i, j;
@@ -787,11 +787,9 @@ void emulate_vsx_load(struct instruction_op *op, union vsx_reg *reg,break ; } } -EXPORT_SYMBOL_GPL (emulate_vsx_load); -NOKPROBE_SYMBOL (emulate_vsx_load); -void emulate_vsx_store (struct instruction_op *op,const union vsx_reg *reg, -void *mem,bool rev) +static nokprobe_inline void emulate_vsx_store(struct instruction_op *op, const union vsx_reg *reg, +void *mem,bool rev) {int size, write_size;int i, j;
@@ -863,8 +861,6 @@ void emulate_vsx_store(struct instruction_op *op, const union vsx_reg *reg,break ; } } -EXPORT_SYMBOL_GPL (emulate_vsx_store); -NOKPROBE_SYMBOL (emulate_vsx_store); static nokprobe_inline int do_vsx_load(struct instruction_op *op, unsigned long ea, struct pt_regs *regs,
arch/powerpc/platforms/pseries/dtl.c +4 -4
@@ -181,7 +181,7 @@ static int dtl_enable(struct dtl *dtl)return -EBUSY ;/* ensure there are no other conflicting dtl users */ -if (!read_trylock (&dtl_access_lock)) +if (!down_read_trylock (&dtl_access_lock))return -EBUSY ; n_entries = dtl_buf_entries;
@@ -189,7 +189,7 @@ static int dtl_enable(struct dtl *dtl)if (!buf) {printk (KERN_WARNING "%s: buffer alloc failed for cpu %d\n" , __func__, dtl->cpu); -read_unlock (&dtl_access_lock); +up_read (&dtl_access_lock);return -ENOMEM ; }
@@ -207,7 +207,7 @@ static int dtl_enable(struct dtl *dtl)spin_unlock (&dtl->lock);if (rc) { -read_unlock (&dtl_access_lock); +up_read (&dtl_access_lock);kmem_cache_free (dtl_cache, buf); }
@@ -222,7 +222,7 @@ static void dtl_disable(struct dtl *dtl) dtl->buf =NULL ; dtl->buf_entries =0 ;spin_unlock (&dtl->lock); -read_unlock (&dtl_access_lock); +up_read (&dtl_access_lock); }/* file interface */
arch/powerpc/platforms/pseries/lpar.c +4 -4
@@ -166,7 +166,7 @@ struct vcpu_dispatch_data {*/ #define NR_CPUS_H NR_CPUS -DEFINE_RWLOCK (dtl_access_lock); +DECLARE_RWSEM (dtl_access_lock); static DEFINE_PER_CPU(struct vcpu_dispatch_data, vcpu_disp_data); static DEFINE_PER_CPU(u64, dtl_entry_ridx); static DEFINE_PER_CPU(struct dtl_worker, dtl_workers);
@@ -460,7 +460,7 @@ static int dtl_worker_enable(unsigned long *time_limit) {int rc =0 , state; -if (!write_trylock (&dtl_access_lock)) { +if (!down_write_trylock (&dtl_access_lock)) { rc = -EBUSY ; goto out; }
@@ -476,7 +476,7 @@ static int dtl_worker_enable(unsigned long *time_limit)pr_err ("vcpudispatch_stats: unable to setup workqueue for DTL processing\n" );free_dtl_buffers (time_limit);reset_global_dtl_mask (); -write_unlock (&dtl_access_lock); +up_write (&dtl_access_lock); rc = -EINVAL ; goto out; }
@@ -491,7 +491,7 @@ static void dtl_worker_disable(unsigned long *time_limit)cpuhp_remove_state (dtl_worker_state);free_dtl_buffers (time_limit);reset_global_dtl_mask (); -write_unlock (&dtl_access_lock); +up_write (&dtl_access_lock); } static ssize_t vcpudispatch_stats_write(struct file *file, const char __user *p,
arch/s390/kernel/perf_cpum_sf.c +3 -1
@@ -1896,7 +1896,9 @@ static void cpumsf_pmu_stop(struct perf_event *event, int flags) event->hw.state |=PERF_HES_STOPPED ;if ((flags &PERF_EF_UPDATE ) && !(event->hw.state &PERF_HES_UPTODATE )) { -hw_perf_event_update (event,1 ); +/* CPU hotplug off removes SDBs. No samples to extract. */ +if (cpuhw->flags &PMU_F_RESERVED ) +hw_perf_event_update (event,1 ); event->hw.state |=PERF_HES_UPTODATE ; }perf_pmu_enable (event->pmu);
arch/s390/kernel/syscalls/Makefile +1 -1
@@ -12,7 +12,7 @@ kapi-hdrs-y := $(kapi)/unistd_nr.h uapi-hdrs-y := $(uapi)/unistd_32.h uapi-hdrs-y += $(uapi)/unistd_64.h -targets += $(addprefix ../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y)) +targets += $(addprefix ../../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y)) PHONY += kapi uapi
arch/sh/Kconfig +0 -1
@@ -13,7 +13,6 @@ config SUPERH select ARCH_HIBERNATION_POSSIBLE if MMU select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_WANT_IPC_PARSE_VERSION - select CLKDEV_LOOKUP select CPU_NO_EFFICIENT_FFS select DMA_DECLARE_COHERENT select GENERIC_ATOMIC64
arch/sh/kernel/cpu/proc.c +1 -1
@@ -132,7 +132,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)static void *c_start (struct seq_file *m,loff_t *pos) { -return *pos <NR_CPUS ? cpu_data + *pos :NULL ; +return *pos < nr_cpu_ids ? cpu_data + *pos :NULL ; }static void *c_next (struct seq_file *m,void *v,loff_t *pos) {
arch/um/drivers/net_kern.c +1 -1
@@ -335,7 +335,7 @@ static struct platform_driver uml_net_driver = {static void net_device_release (struct device *dev) { -struct uml_net *device =dev_get_drvdata (dev); + struct uml_net *device = container_of(dev, struct uml_net, pdev.dev);struct net_device *netdev = device->dev;struct uml_net_private *lp =netdev_priv (netdev);
arch/um/drivers/ubd_kern.c +1 -1
@@ -861,7 +861,7 @@ static int ubd_open_dev(struct ubd *ubd_dev)static void ubd_device_release (struct device *dev) { -struct ubd *ubd_dev =dev_get_drvdata (dev); + struct ubd *ubd_dev = container_of(dev, struct ubd, pdev.dev);blk_cleanup_queue (ubd_dev->queue);blk_mq_free_tag_set (&ubd_dev->tag_set);
arch/um/drivers/vector_kern.c +2 -1
@@ -827,7 +827,8 @@ static struct platform_driver uml_net_driver = {static void vector_device_release (struct device *dev) { -struct vector_device *device =dev_get_drvdata (dev); +struct vector_device *device = + container_of(dev, struct vector_device, pdev.dev);struct net_device *netdev = device->dev;list_del (&device->list);
arch/um/kernel/physmem.c +3 -3
@@ -80,10 +80,10 @@ void __init setup_physmem(unsigned long start, unsigned long reserve_end, unsigned long len, unsigned long long highmem) {unsigned long reserve = reserve_end - start; -long map_size = len - reserve; +unsigned long map_size = len - reserve;int err; -if (map_size <=0 ) { +if (len <= reserve) {os_warn ("Too few physical memory! Needed=%lu, given=%lu\n" , reserve, len);exit (1 );
@@ -94,7 +94,7 @@ void __init setup_physmem(unsigned long start, unsigned long reserve_end, err =os_map_memory ((void *) reserve_end, physmem_fd, reserve, map_size,1 ,1 ,1 );if (err <0 ) { -os_warn ("setup_physmem - mapping %ld bytes of memory at 0x%p " +os_warn ("setup_physmem - mapping %lu bytes of memory at 0x%p " "failed - errno = %d\n" , map_size, (void *) reserve_end, err);exit (1 );
arch/um/kernel/process.c +1 -1
@@ -406,6 +406,6 @@ int elf_core_copy_fpregs(struct task_struct *t, elf_fpregset_t *fpu) {int cpu =current_thread_info ()->cpu; -return save_i387_registers (userspace_pid[cpu], (unsigned long *) fpu); +return save_i387_registers (userspace_pid[cpu], (unsigned long *) fpu) ==0 ; }
arch/um/kernel/sysrq.c +1 -1
@@ -52,5 +52,5 @@ void show_stack(struct task_struct *task, unsigned long *stack, }printk ("%sCall Trace:\n" , loglvl); -dump_trace (current, &stackops, (void *)loglvl); +dump_trace (task ?: current, &stackops, (void *)loglvl); }
arch/x86/crypto/aegis128-aesni-asm.S +15 -14
@@ -20,7 +20,7 @@ #define T1 %xmm7 #define STATEP %rdi -#define LEN %rsi +#define LEN %esi #define SRC %rdx #define DST %rcx
@@ -75,32 +75,32 @@ SYM_FUNC_START_LOCAL(__load_partial) xor %r9d, %r9d pxor MSG, MSG - mov LEN, %r8 + mov LEN, %r8d and $0x1, %r8 jz .Lld_partial_1 - mov LEN, %r8 + mov LEN, %r8d and $0x1E, %r8 add SRC, %r8 mov (%r8), %r9b .Lld_partial_1: - mov LEN, %r8 + mov LEN, %r8d and $0x2, %r8 jz .Lld_partial_2 - mov LEN, %r8 + mov LEN, %r8d and $0x1C, %r8 add SRC, %r8 shl $0x10, %r9 mov (%r8), %r9w .Lld_partial_2: - mov LEN, %r8 + mov LEN, %r8d and $0x4, %r8 jz .Lld_partial_4 - mov LEN, %r8 + mov LEN, %r8d and $0x18, %r8 add SRC, %r8 shl $32, %r9
@@ -110,11 +110,11 @@ SYM_FUNC_START_LOCAL(__load_partial) .Lld_partial_4: movq %r9, MSG - mov LEN, %r8 + mov LEN, %r8d and $0x8, %r8 jz .Lld_partial_8 - mov LEN, %r8 + mov LEN, %r8d and $0x10, %r8 add SRC, %r8 pslldq $8, MSG
@@ -138,7 +138,7 @@ SYM_FUNC_END(__load_partial) * %r10 */ SYM_FUNC_START_LOCAL(__store_partial) - mov LEN, %r8 + mov LEN, %r8d mov DST, %r9 movq T0, %r10
@@ -676,7 +676,7 @@ SYM_FUNC_START(crypto_aegis128_aesni_dec_tail) call __store_partial /* mask with byte count: */ - movq LEN, T0 + movd LEN, T0 punpcklbw T0, T0 punpcklbw T0, T0 punpcklbw T0, T0
@@ -701,7 +701,8 @@ SYM_FUNC_END(crypto_aegis128_aesni_dec_tail) /* * void crypto_aegis128_aesni_final(void *state, void *tag_xor, - * u64 assoclen, u64 cryptlen); + * unsigned int assoclen, + * unsigned int cryptlen); */ SYM_FUNC_START(crypto_aegis128_aesni_final) FRAME_BEGIN
@@ -714,8 +715,8 @@ SYM_FUNC_START(crypto_aegis128_aesni_final) movdqu 0x40(STATEP), STATE4 /* prepare length block: */ - movq %rdx, MSG - movq %rcx, T0 + movd %edx, MSG + movd %ecx, T0 pslldq $8, T0 pxor T0, MSG psllq $3, MSG /* multiply by 8 (to get bit count) */
arch/x86/events/intel/pt.c +8 -3
@@ -811,11 +811,13 @@ static void pt_buffer_advance(struct pt_buffer *buf) buf->cur_idx++;if (buf->cur_idx == buf->cur->last) { -if (buf->cur == buf->last) +if (buf->cur == buf->last) { buf->cur = buf->first; -else + buf->wrapped = true; + }else { buf->cur = list_entry(buf->cur->list.next, struct topa, list); + } buf->cur_idx =0 ; } }
@@ -829,8 +831,11 @@ static void pt_buffer_advance(struct pt_buffer *buf)static void pt_update_head (struct pt *pt) {struct pt_buffer *buf =perf_get_aux (&pt->handle); +bool wrapped = buf->wrapped;u64 topa_idx, base, old; + buf->wrapped = false; +if (buf->single) {local_set (&buf->data_size, buf->output_off);return ;
@@ -848,7 +853,7 @@ static void pt_update_head(struct pt *pt) }else { old = (local64_xchg (&buf->head, base) & ((buf->nr_pages <<PAGE_SHIFT ) -1 )); -if (base < old) +if (base < old || (base == old && wrapped)) base += buf->nr_pages <<PAGE_SHIFT ;local_add (base - old, &buf->data_size);
arch/x86/events/intel/pt.h +2 -0
@@ -65,6 +65,7 @@ struct pt_pmu {* @head: logical write offset inside the buffer * @snapshot: if this is for a snapshot/overwrite counter * @single: use Single Range Output instead of ToPA +* @wrapped: buffer advance wrapped back to the first topa table * @stop_pos: STOP topa entry index * @intr_pos: INT topa entry index * @stop_te: STOP topa entry pointer
@@ -82,6 +83,7 @@ struct pt_buffer {local64_t head;bool snapshot;bool single; +bool wrapped;long stop_pos, intr_pos;struct topa_entry *stop_te, *intr_te;void **data_pages;
arch/x86/include/asm/amd_nb.h +4 -1
@@ -118,7 +118,10 @@ static inline bool amd_gart_present(void)#define amd_nb_num (x) 0#define amd_nb_has_feature (x) false -#define node_to_amd_nb (x) NULL +static inline struct amd_northbridge *node_to_amd_nb (int node) +{ +return NULL ; +}#define amd_gart_present (x) false#endif
arch/x86/include/asm/barrier.h +0 -18
@@ -84,22 +84,4 @@ do { \#include <asm-generic/barrier.h> -/* -* Make previous memory operations globally visible before -* a WRMSR. -* -* MFENCE makes writes visible, but only affects load/store -* instructions. WRMSR is unfortunately not a load/store -* instruction and is unaffected by MFENCE. The LFENCE ensures -* that the WRMSR is not reordered. -* -* Most WRMSRs are full serializing instructions themselves and -* do not require this barrier. This is only required for the -* IA32_TSC_DEADLINE and X2APIC MSRs. -*/ -static inline void weak_wrmsr_fence (void ) -{ - asmvolatile ("mfence; lfence" : : :"memory" ); -} -#endif /* _ASM_X86_BARRIER_H */
arch/x86/include/asm/cpufeatures.h +1 -0
@@ -305,6 +305,7 @@#define X86_FEATURE_SRSO (11*32+24)/* "" AMD BTB untrain RETs */ #define X86_FEATURE_SRSO_ALIAS (11*32+25)/* "" AMD BTB untrain RETs through aliasing */ #define X86_FEATURE_IBPB_ON_VMEXIT (11*32+26)/* "" Issue an IBPB only on VMEXIT */ +#define X86_FEATURE_APIC_MSRS_FENCE (11*32+27)/* "" IA32_TSC_DEADLINE and X2APIC MSRs need fencing */ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX512_BF16 (12*32+ 5)/* AVX512 BFLOAT16 instructions */
arch/x86/include/asm/processor.h +18 -0
@@ -858,4 +858,22 @@ enum mds_mitigations {extern bool gds_ucode_mitigated (void ); +/* +* Make previous memory operations globally visible before +* a WRMSR. +* +* MFENCE makes writes visible, but only affects load/store +* instructions. WRMSR is unfortunately not a load/store +* instruction and is unaffected by MFENCE. The LFENCE ensures +* that the WRMSR is not reordered. +* +* Most WRMSRs are full serializing instructions themselves and +* do not require this barrier. This is only required for the +* IA32_TSC_DEADLINE and X2APIC MSRs. +*/ +static inline void weak_wrmsr_fence (void ) +{ +alternative ("mfence; lfence" ,"" ,ALT_NOT (X86_FEATURE_APIC_MSRS_FENCE )); +} +#endif /* _ASM_X86_PROCESSOR_H */
arch/x86/kernel/cpu/amd.c +3 -0
@@ -1186,6 +1186,9 @@ static void init_amd(struct cpuinfo_x86 *c)if (!cpu_has (c,X86_FEATURE_HYPERVISOR ) &&cpu_has_amd_erratum (c, amd_erratum_1485))msr_set_bit (MSR_ZEN4_BP_CFG ,MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT ); + +/* AMD CPUs don't need fencing after x2APIC/TSC_DEADLINE MSR writes. */ +clear_cpu_cap (c,X86_FEATURE_APIC_MSRS_FENCE ); }#ifdef CONFIG_X86_32
arch/x86/kernel/cpu/common.c +7 -0
@@ -1716,6 +1716,13 @@ static void identify_cpu(struct cpuinfo_x86 *c) c->apicid = apic->phys_pkg_id (c->initial_apicid,0 );#endif + +/* +* Set default APIC and TSC_DEADLINE MSR fencing flag. AMD and +* Hygon will clear it in ->c_init() below. +*/ +set_cpu_cap (c,X86_FEATURE_APIC_MSRS_FENCE ); +/* * Vendor-specific initialization. In this section we * canonicalize the feature flags, meaning if there are
arch/x86/kernel/cpu/hygon.c +3 -0
@@ -363,6 +363,9 @@ static void init_hygon(struct cpuinfo_x86 *c)set_cpu_bug (c,X86_BUG_SYSRET_SS_ATTRS );check_null_seg_clears_base (c); + +/* Hygon CPUs don't need fencing after x2APIC/TSC_DEADLINE MSR writes. */ +clear_cpu_cap (c,X86_FEATURE_APIC_MSRS_FENCE ); }static void cpu_detect_tlb_hygon (struct cpuinfo_x86 *c)
arch/x86/kvm/vmx/vmx.c +3 -1
@@ -199,9 +199,11 @@ module_param(ple_window_shrink, uint, 0444);static unsigned int ple_window_max =KVM_VMX_DEFAULT_PLE_WINDOW_MAX ;module_param (ple_window_max, uint,0444 ); -/* Default is SYSTEM mode, 1 for host-guest mode */ +/* Default is SYSTEM mode, 1 for host-guest mode (which is BROKEN) */ int __read_mostly pt_mode =PT_MODE_SYSTEM ; +#ifdef CONFIG_BROKEN module_param (pt_mode, int,S_IRUGO ); +#endif static DEFINE_STATIC_KEY_FALSE (vmx_l1d_should_flush);static DEFINE_STATIC_KEY_FALSE (vmx_l1d_flush_cond);
arch/x86/mm/ioremap.c +4 -2
@@ -660,7 +660,8 @@ static bool memremap_is_setup_data(resource_size_t phys_addr, paddr_next = data->next; len = data->len; -if ((phys_addr > paddr) && (phys_addr < (paddr + len))) { +if ((phys_addr > paddr) && + (phys_addr < (paddr +sizeof (struct setup_data ) + len))) {memunmap (data);return true; }
@@ -722,7 +723,8 @@ static bool __init early_memremap_is_setup_data(resource_size_t phys_addr, paddr_next = data->next; len = data->len; -if ((phys_addr > paddr) && (phys_addr < (paddr + len))) { +if ((phys_addr > paddr) && + (phys_addr < (paddr +sizeof (struct setup_data ) + len))) {early_memunmap (data,sizeof (*data));return true; }
arch/x86/platform/pvh/head.S +2 -0
@@ -16,6 +16,7 @@ #include <asm/boot.h> #include <asm/processor-flags.h> #include <asm/msr.h> +#include <asm/nospec-branch.h> #include <xen/interface/elfnote.h> __HEAD
@@ -103,6 +104,7 @@ SYM_CODE_START_LOCAL(pvh_start_xen) /* startup_64 expects boot_params in %rsi. */ mov $_pa(pvh_bootparams), %rsi mov $_pa(startup_64), %rax + ANNOTATE_RETPOLINE_SAFE jmp *%rax #else /* CONFIG_X86_64 */
block/blk-mq.c +6 -0
@@ -1787,6 +1787,12 @@ void blk_mq_start_stopped_hw_queue(struct blk_mq_hw_ctx *hctx, bool async)return ;clear_bit (BLK_MQ_S_STOPPED , &hctx->state); +/* +* Pairs with the smp_mb() in blk_mq_hctx_stopped() to order the +* clearing of BLK_MQ_S_STOPPED above and the checking of dispatch +* list in the subsequent routine. +*/ +smp_mb__after_atomic ();blk_mq_run_hw_queue (hctx, async); }EXPORT_SYMBOL_GPL (blk_mq_start_stopped_hw_queue);
block/blk-mq.h +13 -0
@@ -175,6 +175,19 @@ static inline struct blk_mq_tags *blk_mq_tags_from_data(struct blk_mq_alloc_datastatic inline bool blk_mq_hctx_stopped (struct blk_mq_hw_ctx *hctx) { +/* Fast path: hardware queue is not stopped most of the time. */ +if (likely (!test_bit (BLK_MQ_S_STOPPED , &hctx->state))) +return false; + +/* +* This barrier is used to order adding of dispatch list before and +* the test of BLK_MQ_S_STOPPED below. Pairs with the memory barrier +* in blk_mq_start_stopped_hw_queue() so that dispatch code could +* either see BLK_MQ_S_STOPPED is cleared or dispatch list is not +* empty to avoid missing dispatching requests. +*/ +smp_mb (); +return test_bit (BLK_MQ_S_STOPPED , &hctx->state); }
crypto/pcrypt.c +8 -4
@@ -117,8 +117,10 @@ static int pcrypt_aead_encrypt(struct aead_request *req) err =padata_do_parallel (ictx->psenc, padata, &ctx->cb_cpu);if (!err)return -EINPROGRESS ; -if (err == -EBUSY ) -return -EAGAIN ; +if (err == -EBUSY ) { +/* try non-parallel mode */ +return crypto_aead_encrypt (creq); + }return err; }
@@ -166,8 +168,10 @@ static int pcrypt_aead_decrypt(struct aead_request *req) err =padata_do_parallel (ictx->psdec, padata, &ctx->cb_cpu);if (!err)return -EINPROGRESS ; -if (err == -EBUSY ) -return -EAGAIN ; +if (err == -EBUSY ) { +/* try non-parallel mode */ +return crypto_aead_decrypt (creq); + }return err; }
drivers/acpi/arm64/gtdt.c +1 -1
@@ -283,7 +283,7 @@ static int __init gtdt_parse_timer_block(struct acpi_gtdt_timer_block *block,if (frame->virt_irq >0 )acpi_unregister_gsi (gtdt_frame->virtual_timer_interrupt); frame->virt_irq =0 ; - }while (i-- >=0 && gtdt_frame--); + }while (i-- >0 && gtdt_frame--);return -EINVAL ; }
drivers/base/bus.c +2 -0
@@ -874,6 +874,8 @@ int bus_register(struct bus_type *bus)bus_remove_file (bus, &bus_attr_uevent); bus_uevent_fail:kset_unregister (&bus->p->subsys); +/* Above kset_unregister() will kfree @bus->p */ + bus->p =NULL ; out:kfree (bus->p); bus->p =NULL ;
drivers/base/core.c +20 -0
@@ -3419,6 +3419,26 @@ struct device *device_find_child_by_name(struct device *parent, }EXPORT_SYMBOL_GPL (device_find_child_by_name); +static int match_any (struct device *dev,void *unused) +{ +return 1 ; +} + +/** +* device_find_any_child - device iterator for locating a child device, if any. +* @parent: parent struct device +* +* This is similar to the device_find_child() function above, but it +* returns a reference to a child device, if any. +* +* NOTE: you will need to drop the reference with put_device() after use. +*/ +struct device *device_find_any_child (struct device *parent) +{ +return device_find_child (parent,NULL , match_any); +} +EXPORT_SYMBOL_GPL (device_find_any_child); +int __init devices_init (void ) { devices_kset =kset_create_and_add ("devices" , &device_uevent_ops,NULL );
drivers/base/regmap/regmap-irq.c +4 -0
@@ -539,12 +539,16 @@ static irqreturn_t regmap_irq_thread(int irq, void *d)return IRQ_NONE ; } +static struct lock_class_key regmap_irq_lock_class; +static struct lock_class_key regmap_irq_request_class; +static int regmap_irq_map (struct irq_domain *h,unsigned int virq,irq_hw_number_t hw) {struct regmap_irq_chip_data *data = h->host_data;irq_set_chip_data (virq, data); +irq_set_lockdep_class (virq, ®map_irq_lock_class, ®map_irq_request_class);irq_set_chip (virq, &data->irq_chip);irq_set_nested_thread (virq,1 );irq_set_parent (virq, data->irq);
drivers/base/regmap/regmap.c +12 -0
@@ -636,6 +636,17 @@ int regmap_attach_dev(struct device *dev, struct regmap *map, }EXPORT_SYMBOL_GPL (regmap_attach_dev); +static int dev_get_regmap_match (struct device *dev,void *res,void *data); + +static int regmap_detach_dev (struct device *dev,struct regmap *map) +{ +if (!dev) +return 0 ; + +return devres_release (dev, dev_get_regmap_release, + dev_get_regmap_match, (void *)map->name); +} +static enum regmap_endian regmap_get_reg_endian (const struct regmap_bus *bus,const struct regmap_config *config) {
@@ -1493,6 +1504,7 @@ void regmap_exit(struct regmap *map) {struct regmap_async *async; +regmap_detach_dev (map->dev, map);regcache_exit (map);regmap_debugfs_exit (map);regmap_range_exit (map);
drivers/bluetooth/btusb.c +2 -0
@@ -430,6 +430,8 @@ static const struct usb_device_id blacklist_table[] = { BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x13d3, 0x3591), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0489, 0xe123), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x0489, 0xe125), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH },
drivers/clk/Kconfig +1 -5
@@ -6,10 +6,6 @@ config HAVE_CLK The <linux/clk.h> calls support software clock gating and thus are a key power management tool on many systems. -config CLKDEV_LOOKUP - bool - select HAVE_CLK - config HAVE_CLK_PREPARE bool
@@ -26,7 +22,7 @@ menuconfig COMMON_CLK bool "Common Clock Framework" depends on !HAVE_LEGACY_CLK select HAVE_CLK_PREPARE - select CLKDEV_LOOKUP + select HAVE_CLK select SRCU select RATIONAL help
drivers/clk/Makefile +1 -2
@@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 # common clock types -obj-$(CONFIG_HAVE_CLK) += clk-devres.o clk-bulk.o -obj-$(CONFIG_CLKDEV_LOOKUP) += clkdev.o +obj-$(CONFIG_HAVE_CLK) += clk-devres.o clk-bulk.o clkdev.o obj-$(CONFIG_COMMON_CLK) += clk.o obj-$(CONFIG_COMMON_CLK) += clk-divider.o obj-$(CONFIG_COMMON_CLK) += clk-fixed-factor.o
drivers/clk/clk-axi-clkgen.c +21 -5
@@ -7,6 +7,7 @@*/ #include <linux/platform_device.h> +#include <linux/clk.h> #include <linux/clk-provider.h> #include <linux/slab.h> #include <linux/io.h>
@@ -497,7 +498,7 @@ static int axi_clkgen_probe(struct platform_device *pdev)struct clk_init_data init;const char *parent_names[2 ];const char *clk_name; -struct resource *mem; +struct clk *axi_clk;unsigned int i;int ret;
@@ -512,14 +513,29 @@ static int axi_clkgen_probe(struct platform_device *pdev)if (!axi_clkgen)return -ENOMEM ; - mem =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); - axi_clkgen->base =devm_ioremap_resource (&pdev->dev, mem); + axi_clkgen->base =devm_platform_ioremap_resource (pdev,0 );if (IS_ERR (axi_clkgen->base))return PTR_ERR (axi_clkgen->base); init.num_parents =of_clk_get_parent_count (pdev->dev.of_node); -if (init.num_parents <1 || init.num_parents >2 ) -return -EINVAL ; + + axi_clk =devm_clk_get_enabled (&pdev->dev,"s_axi_aclk" ); +if (!IS_ERR (axi_clk)) { +if (init.num_parents <2 || init.num_parents >3 ) +return -EINVAL ; + + init.num_parents -=1 ; + }else { +/* +* Legacy... So that old DTs which do not have clock-names still +* work. In this case we don't explicitly enable the AXI bus +* clock. +*/ +if (PTR_ERR (axi_clk) != -ENOENT ) +return PTR_ERR (axi_clk); +if (init.num_parents <1 || init.num_parents >2 ) +return -EINVAL ; + }for (i =0 ; i < init.num_parents; i++) { parent_names[i] =of_clk_get_parent_name (pdev->dev.of_node, i);
drivers/clk/qcom/gcc-qcs404.c +1 -0
@@ -337,6 +337,7 @@ static struct clk_alpha_pll gpll1_out_main = {/* 930MHz configuration */ static const struct alpha_pll_config gpll3_config = { .l =48 , + .alpha_hi =0x70 , .alpha =0x0 , .alpha_en_mask =BIT (24 ), .post_div_mask =0xf <<8 ,
drivers/clocksource/Kconfig +5 -4
@@ -398,8 +398,9 @@ config ARM_GLOBAL_TIMER This option enables support for the ARM global timer unit. config ARM_TIMER_SP804 - bool "Support for Dual Timer SP804 module" if COMPILE_TEST - depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP + bool "Support for Dual Timer SP804 module" + depends on ARM || ARM64 || COMPILE_TEST + depends on GENERIC_SCHED_CLOCK && HAVE_CLK select CLKSRC_MMIO select TIMER_OF if OF
@@ -617,12 +618,12 @@ config H8300_TPU config CLKSRC_IMX_GPT bool "Clocksource using i.MX GPT" if COMPILE_TEST - depends on (ARM || ARM64) && CLKDEV_LOOKUP + depends on (ARM || ARM64) && HAVE_CLK select CLKSRC_MMIO config CLKSRC_IMX_TPM bool "Clocksource using i.MX TPM" if COMPILE_TEST - depends on (ARM || ARM64) && CLKDEV_LOOKUP + depends on (ARM || ARM64) && HAVE_CLK select CLKSRC_MMIO select TIMER_OF help
drivers/cpufreq/loongson2_cpufreq.c +3 -1
@@ -155,7 +155,9 @@ static int __init cpufreq_init(void) ret =cpufreq_register_driver (&loongson2_cpufreq_driver); -if (!ret && !nowait) { +if (ret) { +platform_driver_unregister (&platform_driver); + }else if (!nowait) { saved_cpu_wait = cpu_wait; cpu_wait = loongson2_cpu_wait; }
drivers/crypto/bcm/cipher.c +4 -1
@@ -2417,6 +2417,7 @@ static int ahash_hmac_setkey(struct crypto_ahash *ahash, const u8 *key,static int ahash_hmac_init (struct ahash_request *req) { +int ret;struct iproc_reqctx_s *rctx =ahash_request_ctx (req);struct crypto_ahash *tfm =crypto_ahash_reqtfm (req);struct iproc_ctx_s *ctx =crypto_ahash_ctx (tfm);
@@ -2426,7 +2427,9 @@ static int ahash_hmac_init(struct ahash_request *req)flow_log ("ahash_hmac_init()\n" );/* init the context as a hash */ -ahash_init (req); + ret =ahash_init (req); +if (ret) +return ret;if (!spu_no_incr_hash (ctx)) {/* SPU-M can do incr hashing but needs sw for outer HMAC */
drivers/crypto/caam/caampkc.c +7 -4
@@ -975,7 +975,7 @@ static int caam_rsa_set_pub_key(struct crypto_akcipher *tfm, const void *key,return -ENOMEM ; } -static void caam_rsa_set_priv_key_form (struct caam_rsa_ctx *ctx, +static int caam_rsa_set_priv_key_form (struct caam_rsa_ctx *ctx,struct rsa_key *raw_key) {struct caam_rsa_key *rsa_key = &ctx->key;
@@ -984,7 +984,7 @@ static void caam_rsa_set_priv_key_form(struct caam_rsa_ctx *ctx, rsa_key->p =caam_read_raw_data (raw_key->p, &p_sz);if (!rsa_key->p) -return ; +return -ENOMEM ; rsa_key->p_sz = p_sz; rsa_key->q =caam_read_raw_data (raw_key->q, &q_sz);
@@ -1017,7 +1017,7 @@ static void caam_rsa_set_priv_key_form(struct caam_rsa_ctx *ctx, rsa_key->priv_form =FORM3 ; -return ; +return 0 ; free_dq:kfree_sensitive (rsa_key->dq);
@@ -1031,6 +1031,7 @@ static void caam_rsa_set_priv_key_form(struct caam_rsa_ctx *ctx,kfree_sensitive (rsa_key->q); free_p:kfree_sensitive (rsa_key->p); +return -ENOMEM ; } static int caam_rsa_set_priv_key(struct crypto_akcipher *tfm, const void *key,
@@ -1076,7 +1077,9 @@ static int caam_rsa_set_priv_key(struct crypto_akcipher *tfm, const void *key, rsa_key->e_sz = raw_key.e_sz; rsa_key->n_sz = raw_key.n_sz; -caam_rsa_set_priv_key_form (ctx, &raw_key); + ret =caam_rsa_set_priv_key_form (ctx, &raw_key); +if (ret) + goto err;return 0 ;
drivers/crypto/caam/qi.c +1 -1
@@ -768,7 +768,7 @@ int caam_qi_init(struct platform_device *caam_pdev)caam_debugfs_qi_init (ctrlpriv); - err =devm_add_action_or_reset (qidev, caam_qi_shutdown, ctrlpriv); + err =devm_add_action_or_reset (qidev, caam_qi_shutdown, qidev);if (err)return err;
drivers/crypto/cavium/cpt/cptpf_main.c +4 -2
@@ -45,7 +45,7 @@ static void cpt_disable_cores(struct cpt_device *cpt, u64 coremask,dev_err (dev,"Cores still busy %llx" , coremask); grp =cpt_read_csr64 (cpt->reg_base,CPTX_PF_EXEC_BUSY (0 )); -if (timeout--) +if (!timeout--)break ;udelay (CSR_DELAY );
@@ -303,6 +303,8 @@ static int cpt_ucode_load_fw(struct cpt_device *cpt, const u8 *fw, bool is_ae) ret =do_cpt_init (cpt, mcode);if (ret) { +dma_free_coherent (&cpt->pdev->dev, mcode->code_size, + mcode->code, mcode->phys_base);dev_err (dev,"do_cpt_init failed with ret: %d\n" , ret); goto fw_release; }
@@ -395,7 +397,7 @@ static void cpt_disable_all_cores(struct cpt_device *cpt)dev_err (dev,"Cores still busy" ); grp =cpt_read_csr64 (cpt->reg_base,CPTX_PF_EXEC_BUSY (0 )); -if (timeout--) +if (!timeout--)break ;udelay (CSR_DELAY );
drivers/dma-buf/dma-fence-array.c +27 -1
@@ -103,10 +103,36 @@ static bool dma_fence_array_enable_signaling(struct dma_fence *fence)static bool dma_fence_array_signaled (struct dma_fence *fence) {struct dma_fence_array *array =to_dma_fence_array (fence); +int num_pending; +unsigned int i; -if (atomic_read (&array->num_pending) >0 ) +/* +* We need to read num_pending before checking the enable_signal bit +* to avoid racing with the enable_signaling() implementation, which +* might decrement the counter, and cause a partial check. +* atomic_read_acquire() pairs with atomic_dec_and_test() in +* dma_fence_array_enable_signaling() +* +* The !--num_pending check is here to account for the any_signaled case +* if we race with enable_signaling(), that means the !num_pending check +* in the is_signalling_enabled branch might be outdated (num_pending +* might have been decremented), but that's fine. The user will get the +* right value when testing again later. +*/ + num_pending =atomic_read_acquire (&array->num_pending); +if (test_bit (DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT , &array->base.flags)) { +if (num_pending <=0 ) + goto signal;return false; + } + +for (i =0 ; i < array->num_fences; ++i) { +if (dma_fence_is_signaled (array->fences[i]) && !--num_pending) + goto signal; + } +return false; +signal:dma_fence_array_clear_pending_error (array);return true; }
drivers/edac/bluefield_edac.c +1 -1
@@ -180,7 +180,7 @@ static void bluefield_edac_check(struct mem_ctl_info *mci)static void bluefield_edac_init_dimms (struct mem_ctl_info *mci) {struct bluefield_edac_priv *priv = mci->pvt_info; -int mem_ctrl_idx = mci->mc_idx; +u64 mem_ctrl_idx = mci->mc_idx;struct dimm_info *dimm;u64 smc_info, smc_arg;int is_empty =1 , i;
drivers/edac/fsl_ddr_edac.c +13 -9
@@ -331,21 +331,25 @@ static void fsl_mc_check(struct mem_ctl_info *mci)* TODO: Add support for 32-bit wide buses */ if ((err_detect &DDR_EDE_SBE ) && (bus_width ==64 )) { +u64 cap = (u64 )cap_high <<32 | cap_low; +u32 s = syndrome; +sbe_ecc_decode (cap_high, cap_low, syndrome, &bad_data_bit, &bad_ecc_bit); -if (bad_data_bit !=-1 ) -fsl_mc_printk (mci,KERN_ERR , -"Faulty Data bit: %d\n" , bad_data_bit); -if (bad_ecc_bit !=-1 ) -fsl_mc_printk (mci,KERN_ERR , -"Faulty ECC bit: %d\n" , bad_ecc_bit); +if (bad_data_bit >=0 ) { +fsl_mc_printk (mci,KERN_ERR ,"Faulty Data bit: %d\n" , bad_data_bit); + cap ^=1ULL << bad_data_bit; + } + +if (bad_ecc_bit >=0 ) { +fsl_mc_printk (mci,KERN_ERR ,"Faulty ECC bit: %d\n" , bad_ecc_bit); + s ^=1 << bad_ecc_bit; + }fsl_mc_printk (mci,KERN_ERR ,"Expected Data / ECC:\t%#8.8x_%08x / %#2.2x\n" , - cap_high ^ (1 << (bad_data_bit -32 )), - cap_low ^ (1 << bad_data_bit), - syndrome ^ (1 << bad_ecc_bit)); +upper_32_bits (cap),lower_32_bits (cap), s); } fsl_mc_printk(mci, KERN_ERR,
drivers/firmware/arm_scpi.c +3 -0
@@ -627,6 +627,9 @@ static struct scpi_dvfs_info *scpi_dvfs_get_info(u8 domain)if (ret)return ERR_PTR (ret); +if (!buf.opp_count) +return ERR_PTR (-ENOENT ); + info =kmalloc (sizeof (*info),GFP_KERNEL );if (!info)return ERR_PTR (-ENOMEM );
drivers/firmware/efi/tpm.c +9 -8
@@ -40,7 +40,8 @@ int __init efi_tpm_eventlog_init(void) {struct linux_efi_tpm_eventlog *log_tbl;struct efi_tcg2_final_events_table *final_tbl; -int tbl_size; +unsigned int tbl_size; +int final_tbl_size;int ret =0 ;if (efi.tpm_log ==EFI_INVALID_TABLE_ADDR ) {
@@ -80,26 +81,26 @@ int __init efi_tpm_eventlog_init(void) goto out; } - tbl_size =0 ; + final_tbl_size =0 ;if (final_tbl->nr_events !=0 ) {void *events = (void *)efi.tpm_final_log +sizeof (final_tbl->version) +sizeof (final_tbl->nr_events); - tbl_size =tpm2_calc_event_log_size (events, - final_tbl->nr_events, - log_tbl->log); + final_tbl_size =tpm2_calc_event_log_size (events, + final_tbl->nr_events, + log_tbl->log); } -if (tbl_size <0 ) { +if (final_tbl_size <0 ) {pr_err (FW_BUG "Failed to parse event in TPM Final Events Log\n" ); ret = -EINVAL ; goto out_calc; }memblock_reserve (efi.tpm_final_log, - tbl_size +sizeof (*final_tbl)); - efi_tpm_final_log_size = tbl_size; + final_tbl_size +sizeof (*final_tbl)); + efi_tpm_final_log_size = final_tbl_size; out_calc:early_memunmap (final_tbl,sizeof (*final_tbl));
drivers/firmware/google/gsmi.c +4 -2
@@ -917,7 +917,8 @@ static __init int gsmi_init(void) gsmi_dev.pdev =platform_device_register_full (&gsmi_dev_info);if (IS_ERR (gsmi_dev.pdev)) {printk (KERN_ERR "gsmi: unable to register platform device\n" ); -return PTR_ERR (gsmi_dev.pdev); + ret =PTR_ERR (gsmi_dev.pdev); + goto out_unregister; }/* SMI access needs to be serialized */
@@ -1044,10 +1045,11 @@ static __init int gsmi_init(void)gsmi_buf_free (gsmi_dev.name_buf);dma_pool_destroy (gsmi_dev.dma_pool);platform_device_unregister (gsmi_dev.pdev); -pr_info ("gsmi: failed to load: %d\n" , ret); +out_unregister:#ifdef CONFIG_PM platform_driver_unregister (&gsmi_driver_info);#endif +pr_info ("gsmi: failed to load: %d\n" , ret);return ret; }
drivers/gpio/gpio-grgpio.c +15 -11
@@ -328,6 +328,7 @@ static const struct irq_domain_ops grgpio_irq_domain_ops = {static int grgpio_probe (struct platform_device *ofdev) {struct device_node *np = ofdev->dev.of_node; +struct device *dev = &ofdev->dev;void __iomem *regs;struct gpio_chip *gc;struct grgpio_priv *priv;
@@ -337,7 +338,7 @@ static int grgpio_probe(struct platform_device *ofdev)int size;int i; - priv =devm_kzalloc (&ofdev->dev,sizeof (*priv),GFP_KERNEL ); + priv =devm_kzalloc (dev,sizeof (*priv),GFP_KERNEL );if (!priv)return -ENOMEM ;
@@ -346,29 +347,32 @@ static int grgpio_probe(struct platform_device *ofdev)return PTR_ERR (regs); gc = &priv->gc; - err =bgpio_init (gc, &ofdev->dev,4 , regs +GRGPIO_DATA , + err =bgpio_init (gc, dev,4 , regs +GRGPIO_DATA , regs +GRGPIO_OUTPUT ,NULL , regs +GRGPIO_DIR ,NULL ,BGPIOF_BIG_ENDIAN_BYTE_ORDER );if (err) { -dev_err (&ofdev->dev,"bgpio_init() failed\n" ); +dev_err (dev,"bgpio_init() failed\n" );return err; } priv->regs = regs; priv->imask = gc->read_reg (regs +GRGPIO_IMASK ); - priv->dev = &ofdev->dev; + priv->dev = dev; gc->of_node = np; gc->owner =THIS_MODULE ; gc->to_irq = grgpio_to_irq; - gc->label =devm_kasprintf (&ofdev->dev,GFP_KERNEL ,"%pOF" , np); + gc->label =devm_kasprintf (dev,GFP_KERNEL ,"%pOF" , np); +if (!gc->label) +return -ENOMEM ; + gc->base =-1 ; err =of_property_read_u32 (np,"nbits" , &prop);if (err || prop <=0 || prop >GRGPIO_MAX_NGPIO ) { gc->ngpio =GRGPIO_MAX_NGPIO ; -dev_dbg (&ofdev->dev, -"No or invalid nbits property: assume %d\n" , gc->ngpio); +dev_dbg (dev,"No or invalid nbits property: assume %d\n" , + gc->ngpio); }else { gc->ngpio = prop; }
@@ -380,7 +384,7 @@ static int grgpio_probe(struct platform_device *ofdev) irqmap = (s32 *)of_get_property (np,"irqmap" , &size);if (irqmap) {if (size < gc->ngpio) { -dev_err (&ofdev->dev, +dev_err (dev,"irqmap shorter than ngpio (%d < %d)\n" , size, gc->ngpio);return -EINVAL ;
@@ -390,7 +394,7 @@ static int grgpio_probe(struct platform_device *ofdev) &grgpio_irq_domain_ops, priv);if (!priv->domain) { -dev_err (&ofdev->dev,"Could not add irq domain\n" ); +dev_err (dev,"Could not add irq domain\n" );return -EINVAL ; }
@@ -420,13 +424,13 @@ static int grgpio_probe(struct platform_device *ofdev) err =gpiochip_add_data (gc, priv);if (err) { -dev_err (&ofdev->dev,"Could not add gpiochip\n" ); +dev_err (dev,"Could not add gpiochip\n" );if (priv->domain)irq_domain_remove (priv->domain);return err; } -dev_info (&ofdev->dev,"regs=0x%p, base=%d, ngpio=%d, irqs=%s\n" , +dev_info (dev,"regs=0x%p, base=%d, ngpio=%d, irqs=%s\n" , priv->regs, gc->base, gc->ngpio, priv->domain ?"on" :"off" );return 0 ;
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +1 -1
@@ -396,7 +396,7 @@ static ssize_t amdgpu_debugfs_regs_pcie_write(struct file *f, const char __userssize_t result =0 ;int r; -if (size >4096 || size &0x3 || *pos &0x3 ) +if (size &0x3 || *pos &0x3 )return -EINVAL ; r =pm_runtime_get_sync (adev_to_drm (adev)->dev);
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +3 -0
@@ -5088,6 +5088,9 @@ bool amdgpu_device_cache_pci_state(struct pci_dev *pdev)struct amdgpu_device *adev =drm_to_adev (dev);int r; +if (amdgpu_sriov_vf (adev)) +return false; + r =pci_save_state (pdev);if (!r) {kfree (adev->pci_state);
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +4 -1
@@ -1006,7 +1006,7 @@ static int amdgpu_ttm_tt_pin_userptr(struct ttm_bo_device *bdev,/* Map SG to device */ r =dma_map_sgtable (adev->dev, ttm->sg, direction,0 );if (r) - goto release_sg; + goto release_sg_table;/* convert SG to linear array of pages and dma addresses */ drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages,
@@ -1014,6 +1014,8 @@ static int amdgpu_ttm_tt_pin_userptr(struct ttm_bo_device *bdev,return 0 ; +release_sg_table: +sg_free_table (ttm->sg); release_sg:kfree (ttm->sg); ttm->sg =NULL ;
@@ -1884,6 +1886,7 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)mutex_init (&adev->mman.gtt_window_lock); +dma_set_max_seg_size (adev->dev,UINT_MAX );/* No others user of address space so set it to 0 */ r = ttm_bo_device_init(&adev->mman.bdev, &amdgpu_bo_driver,
drivers/gpu/drm/amd/amdkfd/kfd_process.c +3 -2
@@ -312,8 +312,8 @@ static ssize_t kfd_procfs_show(struct kobject *kobj, struct attribute *attr, attr_sdma);struct kfd_sdma_activity_handler_workarea sdma_activity_work_handler; -INIT_WORK (&sdma_activity_work_handler.sdma_activity_work, - kfd_sdma_activity_worker); +INIT_WORK_ONSTACK (&sdma_activity_work_handler.sdma_activity_work, + kfd_sdma_activity_worker); sdma_activity_work_handler.pdd = pdd; sdma_activity_work_handler.sdma_activity_counter =0 ;
@@ -321,6 +321,7 @@ static ssize_t kfd_procfs_show(struct kobject *kobj, struct attribute *attr,schedule_work (&sdma_activity_work_handler.sdma_activity_work);flush_work (&sdma_activity_work_handler.sdma_activity_work); +destroy_work_on_stack (&sdma_activity_work_handler.sdma_activity_work); return snprintf(buffer, PAGE_SIZE, "%llu\n", (sdma_activity_work_handler.sdma_activity_counter)/
drivers/gpu/drm/amd/display/dc/bios/bios_parser.c +14 -0
@@ -664,6 +664,9 @@ static enum bp_result get_ss_info_v3_1( ss_table_header_include =GET_IMAGE (ATOM_ASIC_INTERNAL_SS_INFO_V3 ,DATA_TABLES (ASIC_InternalSS_Info)); +if (!ss_table_header_include) +return BP_RESULT_UNSUPPORTED ; + table_size = (le16_to_cpu (ss_table_header_include->sHeader.usStructureSize) -sizeof (ATOM_COMMON_TABLE_HEADER ))
@@ -1030,6 +1033,8 @@ static enum bp_result get_ss_info_from_internal_ss_info_tbl_V2_1( header =GET_IMAGE (ATOM_ASIC_INTERNAL_SS_INFO_V2 ,DATA_TABLES (ASIC_InternalSS_Info)); +if (!header) +return result;memset (info,0 ,sizeof (struct spread_spectrum_info ));
@@ -1102,6 +1107,8 @@ static enum bp_result get_ss_info_from_ss_info_table(get_atom_data_table_revision (header, &revision); tbl =GET_IMAGE (ATOM_SPREAD_SPECTRUM_INFO ,DATA_TABLES (SS_Info)); +if (!tbl) +return result;if (1 != revision.major ||2 > revision.minor)return result;
@@ -1634,6 +1641,8 @@ static uint32_t get_ss_entry_number_from_ss_info_tbl( tbl =GET_IMAGE (ATOM_SPREAD_SPECTRUM_INFO ,DATA_TABLES (SS_Info)); +if (!tbl) +return number;if (1 != revision.major ||2 > revision.minor)return number;
@@ -1712,6 +1721,8 @@ static uint32_t get_ss_entry_number_from_internal_ss_info_tbl_v2_1( header_include =GET_IMAGE (ATOM_ASIC_INTERNAL_SS_INFO_V2 ,DATA_TABLES (ASIC_InternalSS_Info)); +if (!header_include) +return 0 ; size = (le16_to_cpu (header_include->sHeader.usStructureSize) -sizeof (ATOM_COMMON_TABLE_HEADER ))
@@ -1748,6 +1759,9 @@ static uint32_t get_ss_entry_number_from_internal_ss_info_tbl_V3_1( header_include =GET_IMAGE (ATOM_ASIC_INTERNAL_SS_INFO_V3 ,DATA_TABLES (ASIC_InternalSS_Info)); +if (!header_include) +return number; + size = (le16_to_cpu (header_include->sHeader.usStructureSize) -sizeof (ATOM_COMMON_TABLE_HEADER )) /sizeof (ATOM_ASIC_SS_ASSIGNMENT_V3 );
drivers/gpu/drm/bridge/tc358767.c +7 -0
@@ -1319,6 +1319,13 @@ static struct edid *tc_get_edid(struct drm_bridge *bridge, struct drm_connector *connector) {struct tc_data *tc =bridge_to_tc (bridge); +int ret; + + ret =tc_get_display_props (tc); +if (ret <0 ) { +dev_err (tc->dev,"failed to read display props: %d\n" , ret); +return 0 ; + }return drm_get_edid (connector, &tc->aux.ddc); }
drivers/gpu/drm/bridge/tc358768.c +19 -2
@@ -124,6 +124,9 @@#define TC358768_DSI_CONFW_MODE_CLR (6 << 29)#define TC358768_DSI_CONFW_ADDR_DSI_CONTROL (0x3 << 24) +/* TC358768_DSICMD_TX (0x0600) register */ +#define TC358768_DSI_CMDTX_DC_START BIT(0) +static const char *const tc358768_supplies[] = {"vddc" ,"vddmipi" ,"vddio" };
@@ -227,6 +230,21 @@ static void tc358768_update_bits(struct tc358768_priv *priv, u32 reg, u32 mask,tc358768_write (priv, reg, tmp); } +static void tc358768_dsicmd_tx (struct tc358768_priv *priv) +{ +u32 val; + +/* start transfer */ +tc358768_write (priv,TC358768_DSICMD_TX ,TC358768_DSI_CMDTX_DC_START ); +if (priv->error) +return ; + +/* wait transfer completion */ + priv->error =regmap_read_poll_timeout (priv->regmap,TC358768_DSICMD_TX , val, + (val &TC358768_DSI_CMDTX_DC_START ) ==0 , +100 ,100000 ); +} +static int tc358768_sw_reset (struct tc358768_priv *priv) {/* Assert Reset */
@@ -507,8 +525,7 @@ static ssize_t tc358768_dsi_host_transfer(struct mipi_dsi_host *host, } } -/* start transfer */ -tc358768_write (priv,TC358768_DSICMD_TX ,1 ); +tc358768_dsicmd_tx (priv); ret =tc358768_clear_error (priv);if (ret)
drivers/gpu/drm/drm_mm.c +1 -1
@@ -154,7 +154,7 @@ static void show_leaks(struct drm_mm *mm) { } INTERVAL_TREE_DEFINE(struct drm_mm_node, rb, u64, __subtree_last, - START, LAST, static inline, drm_mm_interval_tree) + START, LAST, static inline __maybe_unused, drm_mm_interval_tree)struct drm_mm_node *__drm_mm_interval_first (const struct drm_mm *mm,u64 start,u64 last)
drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
@@ -166,6 +166,12 @@ static const struct dmi_system_id orientation_data[] = { DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T103HAF"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* AYA NEO AYANEO 2 */ + .matches = { +DMI_EXACT_MATCH (DMI_SYS_VENDOR ,"AYANEO" ), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYANEO 2"), + }, + .driver_data = (void *)&lcd1200x1920_rightside_up, }, { /* AYA NEO 2021 */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYADEVICE"),
drivers/gpu/drm/etnaviv/etnaviv_buffer.c +2 -1
@@ -481,7 +481,8 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state, }else {CMD_LOAD_STATE (buffer,VIVS_GL_FLUSH_CACHE ,VIVS_GL_FLUSH_CACHE_DEPTH | -VIVS_GL_FLUSH_CACHE_COLOR ); +VIVS_GL_FLUSH_CACHE_COLOR | +VIVS_GL_FLUSH_CACHE_SHADER_L1 );if (has_blt) {CMD_LOAD_STATE (buffer,VIVS_BLT_ENABLE ,0x1 );CMD_LOAD_STATE (buffer,VIVS_BLT_SET_COMMAND ,0x1 );
drivers/gpu/drm/etnaviv/etnaviv_drv.c +10 -0
@@ -543,6 +543,16 @@ static int etnaviv_bind(struct device *dev) priv->num_gpus =0 ; priv->shm_gfp_mask =GFP_HIGHUSER | __GFP_RETRY_MAYFAIL | __GFP_NOWARN; +/* +* If the GPU is part of a system with DMA addressing limitations, +* request pages for our SHM backend buffers from the DMA32 zone to +* hopefully avoid performance killing SWIOTLB bounce buffering. +*/ +if (dma_addressing_limited (dev)) { + priv->shm_gfp_mask |=GFP_DMA32 ; + priv->shm_gfp_mask &= ~__GFP_HIGHMEM; + } + priv->cmdbuf_suballoc =etnaviv_cmdbuf_suballoc_new (drm->dev);if (IS_ERR (priv->cmdbuf_suballoc)) {dev_err (drm->dev,"Failed to create cmdbuf suballocator\n" );
drivers/gpu/drm/etnaviv/etnaviv_dump.c +9 -4
@@ -75,7 +75,7 @@ static void etnaviv_core_dump_header(struct core_dump_iterator *iter, hdr->file_size =cpu_to_le32 (data_end - iter->data); iter->hdr++; - iter->data += hdr->file_size; + iter->data +=le32_to_cpu (hdr->file_size); } static void etnaviv_core_dump_registers(struct core_dump_iterator *iter,
@@ -83,10 +83,15 @@ static void etnaviv_core_dump_registers(struct core_dump_iterator *iter, {struct etnaviv_dump_registers *reg = iter->data;unsigned int i; +u32 read_addr;for (i =0 ; i <ARRAY_SIZE (etnaviv_dump_registers); i++, reg++) { - reg->reg = etnaviv_dump_registers[i]; - reg->value =gpu_read (gpu, etnaviv_dump_registers[i]); + read_addr = etnaviv_dump_registers[i]; +if (read_addr >=VIVS_PM_POWER_CONTROLS && + read_addr <=VIVS_PM_PULSE_EATER ) + read_addr =gpu_fix_power_address (gpu, read_addr); + reg->reg =cpu_to_le32 (etnaviv_dump_registers[i]); + reg->value =cpu_to_le32 (gpu_read (gpu, read_addr)); }etnaviv_core_dump_header (iter,ETDUMP_BUF_REG , reg);
@@ -207,7 +212,7 @@ void etnaviv_core_dump(struct etnaviv_gem_submit *submit)if (!IS_ERR (pages)) {int j; - iter.hdr->data[0 ] = bomap - bomap_start; + iter.hdr->data[0 ] =cpu_to_le32 ((bomap - bomap_start));for (j =0 ; j < obj->base.size >>PAGE_SHIFT ; j++) *bomap++ =cpu_to_le64 (page_to_phys (*pages++));
drivers/gpu/drm/etnaviv/etnaviv_gpu.c +49 -49
179 lines not on this page · raw message
drivers/gpu/drm/etnaviv/etnaviv_gpu.h +21 -0
@@ -10,6 +10,7 @@#include "etnaviv_gem.h" #include "etnaviv_mmu.h" #include "etnaviv_drv.h" +#include "common.xml.h" struct etnaviv_gem_submit ;struct etnaviv_vram_mapping ;
@@ -159,6 +160,26 @@ static inline u32 gpu_read(struct etnaviv_gpu *gpu, u32 reg)return readl (gpu->mmio + reg); } +static inline u32 gpu_fix_power_address (struct etnaviv_gpu *gpu,u32 reg) +{ +/* Power registers in GC300 < 2.0 are offset by 0x100 */ +if (gpu->identity.model == chipModel_GC300 && + gpu->identity.revision <0x2000 ) + reg +=0x100 ; + +return reg; +} + +static inline void gpu_write_power (struct etnaviv_gpu *gpu,u32 reg,u32 data) +{ +writel (data, gpu->mmio +gpu_fix_power_address (gpu, reg)); +} + +static inline u32 gpu_read_power (struct etnaviv_gpu *gpu,u32 reg) +{ +return readl (gpu->mmio +gpu_fix_power_address (gpu, reg)); +} +int etnaviv_gpu_get_param (struct etnaviv_gpu *gpu,u32 param,u64 *value);int etnaviv_gpu_init (struct etnaviv_gpu *gpu);
drivers/gpu/drm/fsl-dcu/Kconfig +1 -0
@@ -8,6 +8,7 @@ config DRM_FSL_DCU select DRM_PANEL select REGMAP_MMIO select VIDEOMODE_HELPERS + select MFD_SYSCON if SOC_LS1021A help Choose this option if you have an Freescale DCU chipset. If M is selected the module will be called fsl-dcu-drm.
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c +61 -32
152 lines not on this page · raw message
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h +3 -0
@@ -160,6 +160,9 @@#define FSL_DCU_ARGB4444 12#define FSL_DCU_YUV422 14 +#define SCFG_PIXCLKCR 0x28 +#define SCFG_PIXCLKCR_PXCEN BIT(31) +#define VF610_LAYER_REG_NUM 9#define LS1021A_LAYER_REG_NUM 10
drivers/gpu/drm/imx/dcss/dcss-crtc.c +2 -4
@@ -201,15 +201,13 @@ int dcss_crtc_init(struct dcss_crtc *crtc, struct drm_device *drm)if (crtc->irq <0 )return crtc->irq; - ret =request_irq (crtc->irq, dcss_crtc_irq_handler, -0 ,"dcss_drm" , crtc); + ret =request_irq (crtc->irq, dcss_crtc_irq_handler,IRQF_NO_AUTOEN , +"dcss_drm" , crtc);if (ret) {dev_err (dcss->dev,"irq request failed with %d.\n" , ret);return ret; } -disable_irq (crtc->irq); -return 0 ; }
drivers/gpu/drm/imx/ipuv3-crtc.c +2 -4
@@ -406,14 +406,12 @@ static int ipu_crtc_init(struct ipu_crtc *ipu_crtc, } ipu_crtc->irq =ipu_plane_irq (ipu_crtc->plane[0 ]); - ret =devm_request_irq (ipu_crtc->dev, ipu_crtc->irq, ipu_irq_handler,0 , -"imx_drm" , ipu_crtc); + ret =devm_request_irq (ipu_crtc->dev, ipu_crtc->irq, ipu_irq_handler, +IRQF_NO_AUTOEN ,"imx_drm" , ipu_crtc);if (ret <0 ) {dev_err (ipu_crtc->dev,"irq request failed with %d.\n" , ret); goto err_put_plane1_res; } -/* Only enable IRQ when we actually need it to trigger work. */ -disable_irq (ipu_crtc->irq);return 0 ;
drivers/gpu/drm/mcde/mcde_drv.c +1 -0
@@ -453,6 +453,7 @@ static const struct of_device_id mcde_of_match[] = { }, {}, }; +MODULE_DEVICE_TABLE (of, mcde_of_match);static struct platform_driver mcde_driver = { .driver = {
drivers/gpu/drm/msm/adreno/a6xx_gmu.c +1 -3
@@ -1407,15 +1407,13 @@ static int a6xx_gmu_get_irq(struct a6xx_gmu *gmu, struct platform_device *pdev, irq =platform_get_irq_byname (pdev, name); - ret =request_irq (irq, handler,IRQF_TRIGGER_HIGH , name, gmu); + ret =request_irq (irq, handler,IRQF_TRIGGER_HIGH |IRQF_NO_AUTOEN , name, gmu);if (ret) {DRM_DEV_ERROR (&pdev->dev,"Unable to get interrupt %s %d\n" , name, ret);return ret; } -disable_irq (irq); -return irq; }
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c +1 -1
@@ -79,7 +79,7 @@ static u64 _dpu_core_perf_calc_clk(struct dpu_kms *kms, mode = &state->adjusted_mode; - crtc_clk = mode->vtotal * mode->hdisplay *drm_mode_vrefresh (mode); + crtc_clk = (u64 )mode->vtotal * mode->hdisplay *drm_mode_vrefresh (mode);drm_atomic_crtc_for_each_plane (plane, crtc) { pstate =to_dpu_plane_state (plane->state);
drivers/gpu/drm/omapdrm/omap_gem.c +2 -8
@@ -1289,8 +1289,6 @@ struct drm_gem_object *omap_gem_new_dmabuf(struct drm_device *dev, size_t size, omap_obj =to_omap_bo (obj); -mutex_lock (&omap_obj->lock); - omap_obj->sgt = sgt;if (sgt->orig_nents ==1 ) {
@@ -1305,8 +1303,7 @@ struct drm_gem_object *omap_gem_new_dmabuf(struct drm_device *dev, size_t size, pages =kcalloc (npages,sizeof (*pages),GFP_KERNEL );if (!pages) {omap_gem_free_object (obj); - obj =ERR_PTR (-ENOMEM ); - goto done; +return ERR_PTR (-ENOMEM ); } omap_obj->pages = pages;
@@ -1314,13 +1311,10 @@ struct drm_gem_object *omap_gem_new_dmabuf(struct drm_device *dev, size_t size, npages);if (ret) {omap_gem_free_object (obj); - obj =ERR_PTR (-ENOMEM ); - goto done; +return ERR_PTR (-ENOMEM ); } } -done: -mutex_unlock (&omap_obj->lock);return obj; }
drivers/gpu/drm/panfrost/panfrost_gpu.c +0 -1
@@ -158,7 +158,6 @@ static void panfrost_gpu_init_quirks(struct panfrost_device *pfdev)struct panfrost_model {const char *name;u32 id; -u32 id_mask;u64 features;u64 issues;struct {
drivers/gpu/drm/radeon/r600_cs.c +1 -1
@@ -2102,7 +2102,7 @@ static int r600_packet3_check(struct radeon_cs_parser *p,return -EINVAL ; } - offset =radeon_get_ib_value (p, idx+1 ) <<8 ; + offset = (u64 )radeon_get_ib_value (p, idx+1 ) <<8 ;if (offset != track->vgt_strmout_bo_offset[idx_value]) {DRM_ERROR ("bad STRMOUT_BASE_UPDATE, bo offset does not match: 0x%llx, 0x%x\n" , offset, track->vgt_strmout_bo_offset[idx_value]);
drivers/gpu/drm/sti/sti_mixer.c +1 -1
@@ -137,7 +137,7 @@ static void mixer_dbg_crb(struct seq_file *s, int val) } } -static void mixer_dbg_mxn (struct seq_file *s,void *addr) +static void mixer_dbg_mxn (struct seq_file *s,void __iomem *addr) {int i;
drivers/gpu/drm/v3d/v3d_mmu.c +10 -19
@@ -34,32 +34,23 @@ static int v3d_mmu_flush_all(struct v3d_dev *v3d) {int ret; -/* Make sure that another flush isn't already running when we -* start this one. -*/ - ret =wait_for (!(V3D_READ (V3D_MMU_CTL ) & -V3D_MMU_CTL_TLB_CLEARING ),100 ); -if (ret) -dev_err (v3d->drm.dev,"TLB clear wait idle pre-wait failed\n" ); - -V3D_WRITE (V3D_MMU_CTL ,V3D_READ (V3D_MMU_CTL ) | -V3D_MMU_CTL_TLB_CLEAR ); - -V3D_WRITE (V3D_MMUC_CONTROL , -V3D_MMUC_CONTROL_FLUSH | +V3D_WRITE (V3D_MMUC_CONTROL ,V3D_MMUC_CONTROL_FLUSH |V3D_MMUC_CONTROL_ENABLE ); - ret =wait_for (!(V3D_READ (V3D_MMU_CTL ) & -V3D_MMU_CTL_TLB_CLEARING ),100 ); + ret =wait_for (!(V3D_READ (V3D_MMUC_CONTROL ) & +V3D_MMUC_CONTROL_FLUSHING ),100 );if (ret) { -dev_err (v3d->drm.dev,"TLB clear wait idle failed\n" ); +dev_err (v3d->drm.dev,"MMUC flush wait idle failed\n" );return ret; } - ret =wait_for (!(V3D_READ (V3D_MMUC_CONTROL ) & -V3D_MMUC_CONTROL_FLUSHING ),100 ); +V3D_WRITE (V3D_MMU_CTL ,V3D_READ (V3D_MMU_CTL ) | +V3D_MMU_CTL_TLB_CLEAR ); + + ret =wait_for (!(V3D_READ (V3D_MMU_CTL ) & +V3D_MMU_CTL_TLB_CLEARING ),100 );if (ret) -dev_err (v3d->drm.dev,"MMUC flush wait idle failed\n" ); +dev_err (v3d->drm.dev,"MMU TLB clear wait idle failed\n" );return ret; }
drivers/gpu/drm/vc4/vc4_hvs.c +11 -0
@@ -688,6 +688,17 @@ static int vc4_hvs_bind(struct device *dev, struct device *master, void *data) dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC1 ); dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC2 ); +/* Set AXI panic mode. +* VC4 panics when < 2 lines in FIFO. +* VC5 panics when less than 1 line in the FIFO. +*/ + dispctrl &= ~(SCALER_DISPCTRL_PANIC0_MASK | +SCALER_DISPCTRL_PANIC1_MASK | +SCALER_DISPCTRL_PANIC2_MASK ); + dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC0 ); + dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC1 ); + dispctrl |=VC4_SET_FIELD (2 ,SCALER_DISPCTRL_PANIC2 ); +HVS_WRITE (SCALER_DISPCTRL , dispctrl); ret = devm_request_irq(dev, platform_get_irq(pdev, 0),
drivers/hid/wacom_sys.c +2 -1
@@ -2242,7 +2242,8 @@ static void wacom_update_name(struct wacom *wacom, const char *suffix)if (hid_is_usb (wacom->hdev)) {struct usb_interface *intf =to_usb_interface (wacom->hdev->dev.parent);struct usb_device *dev =interface_to_usbdev (intf); - product_name = dev->product; +if (dev->product !=NULL ) + product_name = dev->product; }if (wacom->hdev->bus ==BUS_I2C ) {
drivers/hid/wacom_wac.c +2 -2
@@ -1394,9 +1394,9 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom) rotation -=1800 ;input_report_abs (pen_input,ABS_TILT_X , - (char )frame[7 ]); + (signed char )frame[7 ]);input_report_abs (pen_input,ABS_TILT_Y , - (char )frame[8 ]); + (signed char )frame[8 ]);input_report_abs (pen_input,ABS_Z , rotation);input_report_abs (pen_input,ABS_WHEEL ,get_unaligned_le16 (&frame[11 ]));
drivers/i3c/master.c +64 -24
154 lines not on this page · raw message
drivers/iio/adc/ad7780.c +1 -1
@@ -152,7 +152,7 @@ static int ad7780_write_raw(struct iio_dev *indio_dev,switch (m) {case IIO_CHAN_INFO_SCALE : -if (val !=0 ) +if (val !=0 || val2 ==0 )return -EINVAL ; vref = st->int_vref_mv *1000000LL ;
drivers/iio/light/al3010.c +5 -6
@@ -87,7 +87,12 @@ static int al3010_init(struct al3010_data *data)int ret; ret =al3010_set_pwr (data->client, true); +if (ret <0 ) +return ret; + ret =devm_add_action_or_reset (&data->client->dev, + al3010_set_pwr_off, + data);if (ret <0 )return ret;
@@ -191,12 +196,6 @@ static int al3010_probe(struct i2c_client *client,return ret; } - ret = devm_add_action_or_reset(&client->dev,
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/ib_verbs.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/qplib_fp.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_mr.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/radio/wl128x/fmdrv_common.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vivid/vivid-vid-cap.c +13 -2
Lines of this file are not shown. View the raw message.
drivers/media/usb/cx231xx/cx231xx-cards.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/media/usb/uvc/uvc_driver.c +81 -25
106 lines not on this page · raw message
drivers/media/v4l2-core/v4l2-dv-timings.c +72 -60
132 lines not on this page · raw message
drivers/mfd/intel_soc_pmic_bxtwc.c +97 -99
196 lines not on this page · raw message
drivers/mmc/host/sdhci-pci-core.c +72 -0
72 lines not on this page · raw message
drivers/net/ethernet/broadcom/bnxt/bnxt.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fec_mpc52xx_phy.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/igb/igb_main.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/cgx.c +88 -0
88 lines not on this page · raw message
drivers/net/ethernet/marvell/octeontx2/af/cgx.h +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/cgx_fw_if.h +21 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/mbox.h +84 -2
86 lines not on this page · raw message
drivers/net/ethernet/marvell/octeontx2/af/rvu.c +69 -16
85 lines not on this page · raw message
drivers/net/ethernet/marvell/octeontx2/af/rvu.h +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c +65 -0
65 lines not on this page · raw message
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_struct.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +26 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c +169 -1
170 lines not on this page · raw message
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/pxa168_eth.c +4 -10
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +12 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qed/qed_mcp.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/realtek/r8169_main.c +10 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/rocker/rocker_main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_hst.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/ipw2x00/libipw_rx.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intersil/p54/p54spi.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/fw.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/main.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/pci/controller/dwc/pci-keystone.c +11 -0
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-rockchip-ep.c +13 -5
Lines of this file are not shown. View the raw message.
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_typec.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/platform/x86/intel_bxtwc_tmu.c +6 -16
Lines of this file are not shown. View the raw message.
drivers/power/supply/bq27xxx_battery.c +69 -3
72 lines not on this page · raw message
drivers/power/supply/power_supply_core.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/pwm/pwm-imx27.c +96 -2
98 lines not on this page · raw message
drivers/rpmsg/qcom_glink_native.c +121 -54
175 lines not on this page · raw message
drivers/staging/media/allegro-dvt/allegro-core.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/isp/kernels/bh/bh_2/ia_css_bh.host.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/isp/kernels/raw_aa_binning/raw_aa_binning_1.0/ia_css_raa.host.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.c +0 -5
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c +0 -4
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/sh_css_params.c +2 -10
Lines of this file are not shown. View the raw message.
drivers/usb/host/xhci-dbgcap.c +82 -53
135 lines not on this page · raw message
drivers/usb/misc/iowarrior.c +36 -14
50 lines not on this page · raw message
fs/ext4/fsmap.c +53 -1
54 lines not on this page · raw message
fs/f2fs/segment.c +42 -50
92 lines not on this page · raw message
fs/nfsd/nfs4proc.c +21 -20
41 lines not on this page · raw message
fs/unicode/mkutf8data.c +70 -0
70 lines not on this page · raw message
fs/unicode/utf8data.h_shipped +3357 -3346
6,703 lines not on this page · raw message
include/linux/util_macros.h +40 -16
56 lines not on this page · raw message
kernel/kcsan/debugfs.c +36 -38
74 lines not on this page · raw message
kernel/sched/fair.c +47 -66
113 lines not on this page · raw message
mm/mmap.c +50 -32
82 lines not on this page · raw message
net/core/filter.c +51 -37
88 lines not on this page · raw message
net/ethtool/bitset.c +44 -4
48 lines not on this page · raw message
net/ipv4/ipmr.c +32 -16
48 lines not on this page · raw message
net/sunrpc/clnt.c +24 -29
53 lines not on this page · raw message
sound/pci/hda/patch_realtek.c +94 -72
166 lines not on this page · raw message
sound/soc/codecs/hdmi-codec.c +77 -63
140 lines not on this page · raw message
sound/soc/fsl/fsl_micfil.c +36 -38
74 lines not on this page · raw message
sound/soc/fsl/fsl_micfil.h +63 -209
272 lines not on this page · raw message
sound/usb/usx2y/us122l.c +35 -31
66 lines not on this page · raw message
sound/usb/usx2y/usX2Yhwdep.c +42 -42
84 lines not on this page · raw message
sound/usb/usx2y/usb_stream.c +49 -26
75 lines not on this page · raw message
sound/usb/usx2y/usbusx2y.c +104 -119
223 lines not on this page · raw message
sound/usb/usx2y/usbusx2yaudio.c +182 -144
326 lines not on this page · raw message
sound/usb/usx2y/usx2yhwdeppcm.c +163 -140
303 lines not on this page · raw message
tools/testing/selftests/arm64/mte/check_tags_inclusion.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/arm64/pauth/pac.c +3 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_sockmap.c +170 -24
194 lines not on this page · raw message
tools/testing/selftests/resctrl/resctrl_val.c +1 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/vDSO/parse_vdso.c +1 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/watchdog/watchdog-test.c +6 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/wireguard/netns.sh +1 -0
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.