Linux 5.10.270
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.270 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/configfs-usb-gadget-uac1_legacy | 3 Documentation/usb/gadget-testing.rst | 3 Makefile | 2 arch/alpha/kernel/pci-sysfs.c | 6 arch/alpha/kernel/sys_marvel.c | 25 arch/arm/boot/dts/armada-388-helios4.dts | 13 arch/arm/boot/dts/sun4i-a10.dtsi | 2 arch/arm/mach-imx/src.c | 1 arch/arm/mach-lpc32xx/common.c | 5 arch/arm/mach-lpc32xx/common.h | 2 arch/arm/mach-lpc32xx/phy3250.c | 2 arch/arm/mach-lpc32xx/pm.c | 5 arch/arm/mm/fault.c | 16 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 4 arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts | 3 arch/arm64/boot/dts/rockchip/Makefile | 1 arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi | 6 arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts | 41 + arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 1 arch/arm64/kernel/hibernate.c | 16 arch/csky/kernel/entry.S | 6 arch/m68k/kernel/traps.c | 4 arch/mips/kernel/ptrace.c | 6 arch/openrisc/kernel/entry.S | 43 + arch/parisc/kernel/head.S | 1 arch/powerpc/configs/85xx-hw.config | 1 arch/powerpc/kernel/smp.c | 3 arch/powerpc/platforms/powermac/low_i2c.c | 2 arch/s390/kvm/guestdbg.c | 7 arch/s390/kvm/interrupt.c | 2 arch/s390/kvm/kvm-s390.c | 7 arch/x86/events/intel/lbr.c | 12 arch/x86/events/intel/uncore.c | 2 arch/x86/include/asm/insn-eval.h | 36 + arch/x86/include/asm/pkeys.h | 3 arch/x86/kvm/emulate.c | 26 arch/x86/kvm/hyperv.c | 25 block/blk-iocost.c | 2 block/blk-stat.c | 2 block/kyber-iosched.c | 2 crypto/ecdh.c | 84 ++ crypto/ecdh_helper.c | 4 crypto/testmgr.c | 10 crypto/testmgr.h | 42 - drivers/accessibility/speakup/keyhelp.c | 17 drivers/accessibility/speakup/kobjects.c | 6 drivers/acpi/bus.c | 4 drivers/acpi/pci_root.c | 3 drivers/acpi/processor_core.c | 31 - drivers/acpi/processor_idle.c | 34 - drivers/acpi/utils.c | 42 + drivers/ata/ahci.c | 49 + drivers/ata/libata-scsi.c | 28 drivers/base/firmware_loader/fallback.c | 38 - drivers/base/firmware_loader/firmware.h | 10 drivers/base/platform.c | 424 +++++++------- drivers/base/soc.c | 21 drivers/base/swnode.c | 2 drivers/bluetooth/btmtksdio.c | 13 drivers/bluetooth/btusb.c | 15 drivers/bluetooth/hci_bcm.c | 1 drivers/bluetooth/hci_intel.c | 1 drivers/bluetooth/hci_ldisc.c | 2 drivers/bluetooth/hci_serdev.c | 2 drivers/bus/ti-sysc.c | 12 drivers/char/hw_random/ks-sa-rng.c | 22 drivers/char/ipmi/ipmb_dev_int.c | 5 drivers/char/ipmi/ipmi_msghandler.c | 1 drivers/char/ppdev.c | 10 drivers/char/tpm/st33zp24/st33zp24.c | 8 drivers/char/tpm/tpm_i2c_nuvoton.c | 6 drivers/char/xilinx_hwicap/xilinx_hwicap.c | 5 drivers/clk/clk-moxart.c | 14 drivers/clk/clk-palmas.c | 14 drivers/clk/hisilicon/reset.c | 2 drivers/clk/imx/clk-scu.c | 7 drivers/clk/meson/gxbb.c | 2 drivers/clk/qcom/common.c | 4 drivers/clk/qcom/gcc-msm8916.c | 5 drivers/clk/qcom/gcc-msm8939.c | 5 drivers/clk/qcom/gdsc.c | 108 +++ drivers/clk/qcom/gdsc.h | 2 drivers/clk/tegra/clk-tegra124-emc.c | 1 drivers/clk/x86/clk-pmc-atom.c | 3 drivers/clocksource/clps711x-timer.c | 2 drivers/clocksource/timer-armada-370-xp.c | 18 drivers/clocksource/timer-sun4i.c | 2 drivers/cpufreq/imx6q-cpufreq.c | 6 drivers/cpufreq/intel_pstate.c | 9 drivers/cpufreq/spear-cpufreq.c | 4 drivers/crypto/atmel-ecc.c | 73 -- drivers/crypto/atmel-sha204a.c | 6 drivers/crypto/sa2ul.c | 19 drivers/dma/dw-edma/dw-edma-core.c | 34 - drivers/dma/hisi_dma.c | 2 drivers/dma/mediatek/mtk-uart-apdma.c | 2 drivers/dma/qcom/bam_dma.c | 1 drivers/dma/xilinx/xilinx_dma.c | 12 drivers/firmware/google/coreboot_table.c | 35 - drivers/firmware/google/coreboot_table.h | 1 drivers/firmware/stratix10-svc.c | 21 drivers/fpga/altera-cvp.c | 10 drivers/fpga/stratix10-soc.c | 21 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 74 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 6 drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c | 24 drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c | 35 + drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 2 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 drivers/gpu/drm/bridge/tc358767.c | 2 drivers/gpu/drm/drm_atomic_uapi.c | 2 drivers/gpu/drm/drm_drv.c | 34 - drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 6 drivers/gpu/drm/lima/lima_device.c | 12 drivers/gpu/drm/msm/dsi/dsi_host.c | 2 drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 10 drivers/gpu/drm/sun4i/sun4i_backend.c | 2 drivers/gpu/drm/sun4i/sun4i_crtc.c | 2 drivers/gpu/drm/sun4i/sun4i_tcon.c | 20 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 2 drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 2 drivers/gpu/drm/sun4i/sun8i_vi_scaler.c | 18 drivers/gpu/drm/tve200/tve200_drv.c | 1 drivers/gpu/drm/vmwgfx/ttm_object.c | 7 drivers/gpu/host1x/debug.c | 4 drivers/gpu/host1x/hw/channel_hw.c | 5 drivers/hid/hid-core.c | 127 ++-- drivers/hid/hid-lg4ff.c | 8 drivers/hid/hid-mcp2221.c | 7 drivers/hid/hid-picolcd_debugfs.c | 9 drivers/hid/hid-rmi.c | 46 + drivers/hid/hid-roccat-kone.c | 8 drivers/hid/hid-roccat.c | 13 drivers/hid/hid-sensor-custom.c | 9 drivers/hid/hid-sensor-hub.c | 42 - drivers/hid/i2c-hid/i2c-hid-core.c | 16 drivers/hid/wacom_wac.c | 13 drivers/hsi/controllers/omap_ssi_core.c | 6 drivers/hwmon/emc1403.c | 6 drivers/hwmon/max6621.c | 8 drivers/hwspinlock/hwspinlock_core.c | 2 drivers/i2c/i2c-mux.c | 1 drivers/i2c/muxes/i2c-demux-pinctrl.c | 1 drivers/i3c/master.c | 11 drivers/i3c/master/dw-i3c-master.c | 10 drivers/iio/accel/dmard09.c | 7 drivers/iio/chemical/sgp30.c | 3 drivers/iio/dac/m62332.c | 17 drivers/iio/gyro/mpu3050-core.c | 2 drivers/iio/light/cm32181.c | 2 drivers/iio/light/gp2ap002.c | 24 drivers/iio/light/isl29028.c | 2 drivers/iio/light/tsl2583.c | 2 drivers/iio/light/tsl2772.c | 2 drivers/iio/orientation/hid-sensor-rotation.c | 20 drivers/iio/proximity/srf04.c | 1 drivers/iio/temperature/hid-sensor-temperature.c | 3 drivers/infiniband/core/cma.c | 6 drivers/infiniband/core/device.c | 25 drivers/infiniband/core/restrack.c | 4 drivers/infiniband/core/ucma.c | 7 drivers/infiniband/hw/cxgb4/device.c | 8 drivers/infiniband/hw/cxgb4/mem.c | 4 drivers/infiniband/hw/efa/efa_verbs.c | 13 drivers/infiniband/hw/hfi1/chip.c | 4 drivers/infiniband/hw/hfi1/hfi.h | 2 drivers/infiniband/hw/hfi1/init.c | 43 - drivers/infiniband/hw/hfi1/user_sdma.c | 13 drivers/infiniband/hw/mlx5/cong.c | 8 drivers/infiniband/hw/mlx5/qp.c | 25 drivers/infiniband/sw/rxe/rxe_resp.c | 13 drivers/infiniband/sw/siw/siw_cm.c | 32 - drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 drivers/infiniband/ulp/isert/ib_isert.c | 85 ++ drivers/infiniband/ulp/isert/ib_isert.h | 1 drivers/infiniband/ulp/srp/ib_srp.c | 45 - drivers/infiniband/ulp/srpt/ib_srpt.c | 20 drivers/input/tablet/aiptek.c | 13 drivers/interconnect/core.c | 7 drivers/iommu/amd/init.c | 42 + drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 5 drivers/iommu/arm/arm-smmu/qcom_iommu.c | 14 drivers/iommu/dma-iommu.c | 13 drivers/iommu/intel/iommu.c | 16 drivers/iommu/msm_iommu.c | 2 drivers/irqchip/irq-gic-v3-its.c | 15 drivers/irqchip/irq-mbigen.c | 20 drivers/leds/leds-pca9532.c | 18 drivers/mailbox/rockchip-mailbox.c | 17 drivers/md/dm-era-target.c | 5 drivers/md/dm-log-userspace-base.c | 1 drivers/md/dm-stats.c | 6 drivers/md/dm-switch.c | 2 drivers/md/dm.c | 2 drivers/md/md.c | 7 drivers/md/persistent-data/dm-array.c | 16 drivers/md/raid5-ppl.c | 4 drivers/media/cec/core/cec-adap.c | 8 drivers/media/cec/core/cec-pin.c | 8 drivers/media/cec/platform/meson/ao-cec-g12a.c | 1 drivers/media/cec/platform/stm32/stm32-cec.c | 3 drivers/media/dvb-frontends/rtl2832_sdr.c | 21 drivers/media/i2c/ov7740.c | 4 drivers/media/i2c/video-i2c.c | 8 drivers/media/pci/cobalt/cobalt-alsa-main.c | 1 drivers/media/pci/cx23885/cimax2.c | 1 drivers/media/platform/qcom/venus/hfi_parser.c | 9 drivers/media/test-drivers/vicodec/vicodec-core.c | 4 drivers/media/test-drivers/vimc/vimc-capture.c | 4 drivers/media/tuners/tda18250.c | 4 drivers/media/usb/airspy/airspy.c | 17 drivers/media/usb/cx231xx/cx231xx-video.c | 4 drivers/media/usb/em28xx/em28xx-cards.c | 3 drivers/media/usb/em28xx/em28xx-core.c | 2 drivers/media/usb/go7007/snd-go7007.c | 10 drivers/media/usb/s2255/s2255drv.c | 11 drivers/media/usb/usbtv/usbtv-audio.c | 11 drivers/media/v4l2-core/v4l2-dev.c | 14 drivers/media/v4l2-core/v4l2-fwnode.c | 2 drivers/mfd/iqs62x.c | 2 drivers/mfd/rave-sp.c | 64 +- drivers/misc/ad525x_dpot-i2c.c | 4 drivers/misc/ad525x_dpot-spi.c | 4 drivers/misc/ad525x_dpot.c | 181 +++-- drivers/misc/ad525x_dpot.h | 5 drivers/misc/cardreader/rtsx_pcr.c | 2 drivers/misc/cardreader/rtsx_usb.c | 23 drivers/misc/vmw_vmci/vmci_event.c | 4 drivers/mmc/host/via-sdmmc.c | 8 drivers/mtd/mtdoops.c | 3 drivers/mtd/mtdpart.c | 3 drivers/mtd/mtdswap.c | 1 drivers/mtd/nand/raw/nand_onfi.c | 27 drivers/mtd/parsers/afs.c | 7 drivers/mtd/ubi/attach.c | 4 drivers/mtd/ubi/build.c | 63 +- drivers/mtd/ubi/cdev.c | 5 drivers/mtd/ubi/eba.c | 5 drivers/mtd/ubi/fastmap-wl.c | 53 + drivers/mtd/ubi/fastmap.c | 76 -- drivers/mtd/ubi/io.c | 13 drivers/mtd/ubi/ubi.h | 19 drivers/mtd/ubi/wl.c | 38 - drivers/mtd/ubi/wl.h | 6 drivers/net/bonding/bond_netlink.c | 2 drivers/net/ethernet/allwinner/sun4i-emac.c | 4 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 drivers/net/ethernet/freescale/fec_main.c | 6 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 12 drivers/net/ethernet/nvidia/forcedeth.c | 6 drivers/net/ethernet/qlogic/qede/qede.h | 8 drivers/net/ethernet/qlogic/qede/qede_fp.c | 1 drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 1 drivers/net/ethernet/realtek/8139cp.c | 2 drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c | 2 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 2 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 2 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c | 35 - drivers/net/gtp.c | 2 drivers/net/ipvlan/ipvlan_l3s.c | 1 drivers/net/ntb_netdev.c | 38 - drivers/net/ppp/pppox.c | 17 drivers/net/slip/slip.c | 11 drivers/net/thunderbolt.c | 6 drivers/net/tun.c | 21 drivers/net/usb/qmi_wwan.c | 1 drivers/net/wireless/ath/ath10k/snoc.c | 9 drivers/net/wireless/ath/ath11k/debug.c | 12 drivers/net/wireless/ath/ath11k/debug.h | 3 drivers/net/wireless/ath/ath11k/dp_rx.c | 30 drivers/net/wireless/ath/ath11k/trace.c | 1 drivers/net/wireless/ath/ath11k/trace.h | 172 +++++ drivers/net/wireless/ath/ath11k/wmi.c | 15 drivers/net/wireless/ath/ath6kl/cfg80211.c | 5 drivers/net/wireless/ath/ath6kl/wmi.c | 17 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 12 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c | 2 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 8 drivers/net/wireless/mediatek/mt76/mt7915/mcu.h | 6 drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c | 2 drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c | 2 drivers/net/wireless/realtek/rtlwifi/pci.c | 6 drivers/net/wireless/realtek/rtw88/tx.c | 1 drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 8 drivers/nfc/pn533/pn533.c | 21 drivers/ntb/ntb_transport.c | 38 - drivers/nvdimm/btt.c | 8 drivers/nvdimm/label.c | 17 drivers/nvme/host/core.c | 2 drivers/nvme/host/fc.c | 8 drivers/nvme/host/tcp.c | 11 drivers/nvme/target/rdma.c | 13 drivers/nvme/target/tcp.c | 10 drivers/of/base.c | 2 drivers/of/property.c | 10 drivers/parisc/eisa.c | 5 drivers/pci/controller/dwc/pci-meson.c | 2 drivers/pci/controller/pci-hyperv.c | 1 drivers/pci/pci-sysfs.c | 45 + drivers/pci/proc.c | 8 drivers/pci/quirks.c | 2 drivers/perf/arm_spe_pmu.c | 2 drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c | 26 drivers/pinctrl/bcm/pinctrl-bcm2835.c | 1 drivers/pinctrl/pinctrl-rockchip.c | 10 drivers/platform/chrome/cros_ec_sensorhub_ring.c | 28 drivers/power/supply/bd99954-charger.h | 23 drivers/power/supply/bq27xxx_battery.c | 6 drivers/power/supply/cros_usbpd-charger.c | 17 drivers/power/supply/isp1704_charger.c | 1 drivers/power/supply/lp8727_charger.c | 4 drivers/power/supply/max17040_battery.c | 2 drivers/power/supply/sbs-battery.c | 160 +++-- drivers/power/supply/sc2731_charger.c | 8 drivers/pps/pps.c | 10 drivers/rapidio/devices/rio_mport_cdev.c | 10 drivers/rapidio/rio-scan.c | 1 drivers/regulator/as3722-regulator.c | 1 drivers/regulator/core.c | 6 drivers/regulator/max8998.c | 1 drivers/regulator/qcom-rpmh-regulator.c | 6 drivers/remoteproc/mtk_scp.c | 9 drivers/remoteproc/qcom_common.c | 4 drivers/remoteproc/remoteproc_core.c | 351 +++++++++-- drivers/remoteproc/remoteproc_elf_loader.c | 12 drivers/remoteproc/remoteproc_sysfs.c | 35 - drivers/remoteproc/remoteproc_virtio.c | 6 drivers/rpmsg/qcom_glink_native.c | 34 - drivers/rpmsg/qcom_glink_smem.c | 7 drivers/rtc/rtc-pcf8563.c | 4 drivers/s390/block/dasd.c | 6 drivers/s390/block/dasd_eckd.c | 40 + drivers/s390/block/dasd_erp.c | 3 drivers/scsi/mpt3sas/mpt3sas_base.c | 2 drivers/scsi/pm8001/pm8001_init.c | 4 drivers/scsi/qla2xxx/qla_attr.c | 7 drivers/scsi/qla2xxx/qla_bsg.c | 39 - drivers/scsi/qla2xxx/qla_def.h | 2 drivers/scsi/qla2xxx/qla_dfs.c | 4 drivers/scsi/qla2xxx/qla_gs.c | 4 drivers/scsi/qla2xxx/qla_init.c | 47 + drivers/scsi/qla2xxx/qla_inline.h | 13 drivers/scsi/qla2xxx/qla_isr.c | 20 drivers/scsi/qla2xxx/qla_mbx.c | 26 drivers/scsi/qla2xxx/qla_nx2.c | 2 drivers/scsi/qla2xxx/qla_os.c | 14 drivers/scsi/qla2xxx/qla_target.c | 24 drivers/scsi/qla2xxx/qla_target.h | 1 drivers/scsi/qla2xxx/tcm_qla2xxx.c | 61 +- drivers/scsi/scsi_lib.c | 2 drivers/soc/bcm/bcm2835-power.c | 7 drivers/soc/samsung/exynos-pmu.c | 4 drivers/soundwire/qcom.c | 31 - drivers/spi/spi-img-spfi.c | 5 drivers/spi/spi-sprd-adi.c | 6 drivers/staging/fbtft/fbtft-sysfs.c | 2 drivers/staging/greybus/audio_gb.c | 13 drivers/staging/greybus/audio_manager_sysfs.c | 2 drivers/staging/greybus/hid.c | 2 drivers/staging/media/meson/vdec/vdec.c | 4 drivers/staging/media/sunxi/cedrus/cedrus.c | 4 drivers/staging/octeon/ethernet-mem.c | 31 - drivers/staging/octeon/ethernet-mem.h | 5 drivers/staging/octeon/ethernet-rx.c | 2 drivers/staging/octeon/ethernet-tx.c | 2 drivers/staging/octeon/ethernet.c | 6 drivers/staging/rtl8723bs/core/rtw_cmd.c | 8 drivers/staging/rtl8723bs/core/rtw_ieee80211.c | 3 drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 4 drivers/staging/sm750fb/sm750.c | 4 drivers/target/iscsi/iscsi_target.c | 16 drivers/target/iscsi/iscsi_target_login.c | 2 drivers/target/target_core_transport.c | 243 ++++---- drivers/target/target_core_xcopy.c | 8 drivers/thermal/imx_thermal.c | 9 drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 9 drivers/thermal/qoriq_thermal.c | 13 drivers/tty/hvc/Kconfig | 2 drivers/tty/serial/amba-pl011.c | 10 drivers/tty/tty_io.c | 4 drivers/uio/uio.c | 5 drivers/usb/atm/usbatm.c | 4 drivers/usb/gadget/configfs.c | 4 drivers/usb/gadget/function/f_fs.c | 14 drivers/usb/gadget/function/f_mass_storage.c | 2 drivers/usb/gadget/function/f_tcm.c | 43 - drivers/usb/gadget/function/f_uac1_legacy.c | 56 - drivers/usb/gadget/function/f_uvc.c | 7 drivers/usb/gadget/function/u_audio.c | 24 drivers/usb/gadget/function/u_uac1_legacy.h | 3 drivers/usb/gadget/functions.c | 2 drivers/usb/gadget/legacy/inode.c | 3 drivers/usb/gadget/udc/r8a66597-udc.c | 1 drivers/usb/gadget/udc/snps_udc_plat.c | 5 drivers/usb/host/xhci-ring.c | 32 - drivers/usb/image/mdc800.c | 4 drivers/usb/phy/phy-fsl-usb.c | 52 - drivers/usb/phy/phy-fsl-usb.h | 6 drivers/usb/renesas_usbhs/common.c | 6 drivers/usb/serial/keyspan_pda.c | 2 drivers/usb/storage/ene_ub6250.c | 2 drivers/usb/typec/ucsi/displayport.c | 2 drivers/vdpa/mlx5/core/mr.c | 2 drivers/vfio/pci/vfio_pci_config.c | 1 drivers/video/fbdev/kyro/fbdev.c | 24 drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c | 4 drivers/video/fbdev/pvr2fb.c | 4 drivers/video/fbdev/uvesafb.c | 2 drivers/virtio/virtio_balloon.c | 6 drivers/w1/masters/ds2482.c | 4 drivers/w1/slaves/w1_ds28e17.c | 8 drivers/xen/xenbus/xenbus_xs.c | 16 fs/ceph/caps.c | 11 fs/ceph/xattr.c | 1 fs/cifs/cifs_debug.c | 2 fs/ecryptfs/crypto.c | 2 fs/ecryptfs/ecryptfs_kernel.h | 3 fs/ecryptfs/keystore.c | 45 + fs/ecryptfs/messaging.c | 11 fs/ecryptfs/miscdev.c | 5 fs/ecryptfs/super.c | 7 fs/ext4/file.c | 7 fs/ext4/inode.c | 10 fs/f2fs/file.c | 9 fs/f2fs/namei.c | 11 fs/fat/misc.c | 4 fs/fat/nfs.c | 4 fs/hfsplus/catalog.c | 25 fs/hfsplus/hfsplus_fs.h | 6 fs/hugetlbfs/inode.c | 3 fs/isofs/compress.c | 1 fs/lockd/svcsubs.c | 55 + fs/nfs/client.c | 21 fs/nfs/file.c | 2 fs/nfs/filelayout/filelayoutdev.c | 3 fs/nfs/flexfilelayout/flexfilelayoutdev.c | 3 fs/nfs/inode.c | 101 +-- fs/nfs/internal.h | 1 fs/nfs/netns.h | 6 fs/nfs/nfs4client.c | 1 fs/nfs/nfs4proc.c | 6 fs/nfs/pnfs.c | 61 -- fs/nfs/pnfs.h | 3 fs/nfs/pnfs_nfs.c | 39 - fs/nfsd/flexfilelayoutxdr.c | 20 fs/nfsd/nfs2acl.c | 31 - fs/nfsd/nfs4proc.c | 39 - fs/nfsd/nfs4state.c | 202 +++++- fs/nfsd/nfs4xdr.c | 17 fs/nfsd/nfscache.c | 2 fs/nfsd/nfsfh.c | 4 fs/nfsd/nfsproc.c | 7 fs/nfsd/nfssvc.c | 4 fs/nfsd/nfsxdr.c | 32 - fs/nilfs2/bmap.c | 2 fs/nilfs2/bmap.h | 2 fs/nilfs2/btree.c | 39 + fs/nilfs2/direct.c | 4 fs/nilfs2/segment.c | 4 fs/nilfs2/the_nilfs.c | 6 fs/notify/fanotify/fanotify_user.c | 17 fs/notify/inotify/inotify_user.c | 15 fs/ocfs2/acl.c | 135 ++-- fs/ocfs2/acl.h | 19 fs/ocfs2/cluster/heartbeat.c | 199 +++++- fs/ocfs2/cluster/heartbeat.h | 7 fs/ocfs2/cluster/netdebug.c | 2 fs/ocfs2/cluster/nodemanager.c | 10 fs/ocfs2/cluster/nodemanager.h | 1 fs/ocfs2/cluster/tcp.c | 89 ++ fs/ocfs2/cluster/tcp.h | 1 fs/ocfs2/dir.c | 2 fs/ocfs2/dlm/dlmdomain.c | 2 fs/ocfs2/dlm/dlmmaster.c | 6 fs/ocfs2/dlm/dlmrecovery.c | 9 fs/ocfs2/namei.c | 17 fs/ocfs2/refcounttree.c | 47 + fs/ocfs2/stack_o2cb.c | 6 fs/ocfs2/xattr.c | 91 +-- fs/ocfs2/xattr.h | 9 fs/orangefs/devorangefs-req.c | 1 fs/orangefs/orangefs-debugfs.c | 1 fs/squashfs/cache.c | 2 fs/ubifs/auth.c | 2 fs/udf/inode.c | 2 fs/udf/partition.c | 2 fs/udf/super.c | 23 fs/udf/symlink.c | 2 include/acpi/acpi_bus.h | 21 include/crypto/ecdh.h | 2 include/linux/bitfield.h | 95 ++- include/linux/bpf.h | 1 include/linux/hid.h | 1 include/linux/highmem.h | 89 ++ include/linux/irqdomain.h | 23 include/linux/list.h | 15 include/linux/nfs_fs.h | 1 include/linux/nfs_xdr.h | 3 include/linux/of.h | 2 include/linux/of_graph.h | 4 include/linux/platform_device.h | 11 include/linux/remoteproc.h | 297 --------- include/linux/rsc_table.h | 364 ++++++++++++ include/linux/rtsx_usb.h | 3 include/linux/soundwire/sdw.h | 2 include/media/rc-map.h | 2 include/net/bluetooth/l2cap.h | 11 include/net/inet_connection_sock.h | 11 include/net/ip_tunnels.h | 11 include/net/mac80211.h | 18 include/net/netfilter/nf_queue.h | 1 include/net/netfilter/nf_tables.h | 4 include/net/pkt_sched.h | 1 include/net/sch_generic.h | 1 include/net/sctp/structs.h | 2 include/net/tcp.h | 13 include/net/xfrm.h | 1 include/target/target_core_base.h | 1 include/target/target_core_fabric.h | 10 include/uapi/linux/time_types.h | 2 include/uapi/mtd/ubi-user.h | 8 kernel/auditfilter.c | 6 kernel/bpf/cgroup.c | 2 kernel/bpf/core.c | 4 kernel/bpf/net_namespace.c | 17 kernel/bpf/ringbuf.c | 2 kernel/bpf/verifier.c | 26 kernel/entry/common.c | 3 kernel/irq/irqdomain.c | 41 + kernel/locking/lockdep.c | 2 kernel/power/wakelock.c | 2 kernel/sched/cpufreq_schedutil.c | 59 + kernel/sched/fair.c | 53 - kernel/signal.c | 4 kernel/sys.c | 2 kernel/time/clocksource.c | 8 kernel/time/itimer.c | 2 kernel/time/timekeeping.c | 6 kernel/time/timer.c | 1 kernel/trace/trace_events.c | 2 kernel/trace/trace_mmiotrace.c | 24 lib/iov_iter.c | 8 lib/string.c | 3 lib/test_hmm.c | 2 lib/ucs2_string.c | 2 mm/Kconfig | 3 mm/highmem.c | 151 ++++ mm/memcontrol.c | 6 mm/vmscan.c | 2 net/batman-adv/bridge_loop_avoidance.c | 78 +- net/batman-adv/distributed-arp-table.c | 8 net/batman-adv/main.c | 4 net/bluetooth/6lowpan.c | 25 net/bluetooth/ecdh_helper.c | 2 net/bluetooth/hci_event.c | 7 net/bluetooth/l2cap_core.c | 58 + net/bluetooth/l2cap_sock.c | 114 +++ net/bluetooth/msft.c | 5 net/bluetooth/rfcomm/core.c | 12 net/bluetooth/selftest.c | 2 net/bluetooth/smp.c | 6 net/bridge/br_mrp_netlink.c | 4 net/bridge/br_netlink_tunnel.c | 3 net/bridge/br_vlan.c | 4 net/ceph/osdmap.c | 2 net/core/filter.c | 6 net/core/lwt_bpf.c | 15 net/core/skbuff.c | 11 net/core/xdp.c | 4 net/dccp/dccp.h | 4 net/dccp/ipv4.c | 4 net/dccp/ipv6.c | 7 net/dccp/minisocks.c | 2 net/hsr/hsr_device.c | 14 net/hsr/hsr_framereg.c | 63 -- net/hsr/hsr_main.h | 8 net/ipv4/esp4.c | 49 - net/ipv4/inet_connection_sock.c | 9 net/ipv4/ip_tunnel.c | 2 net/ipv4/syncookies.c | 2 net/ipv4/tcp_fastopen.c | 2 net/ipv4/tcp_ipv4.c | 8 net/ipv4/tcp_minisocks.c | 2 net/ipv4/tcp_output.c | 2 net/ipv6/esp6.c | 49 - net/ipv6/ip6_gre.c | 34 - net/ipv6/ip6_tunnel.c | 22 net/ipv6/route.c | 2 net/ipv6/seg6_local.c | 9 net/ipv6/sit.c | 2 net/ipv6/tcp_ipv6.c | 98 +-- net/ipv6/xfrm6_input.c | 2 net/iucv/af_iucv.c | 2 net/kcm/kcmsock.c | 3 net/key/af_key.c | 52 + net/mpls/af_mpls.c | 2 net/mptcp/pm_netlink.c | 30 net/mptcp/subflow.c | 6 net/mptcp/syncookies.c | 1 net/netfilter/Kconfig | 2 net/netfilter/ipvs/ip_vs_ftp.c | 10 net/netfilter/nf_nat_sip.c | 5 net/netfilter/nf_queue.c | 16 net/netfilter/nf_tables_api.c | 48 - net/netfilter/nfnetlink_queue.c | 3 net/netfilter/xt_cgroup.c | 21 net/netfilter/xt_hl.c | 27 net/nfc/digital_core.c | 2 net/nfc/llcp_core.c | 29 net/nfc/llcp_sock.c | 14 net/nfc/nci/data.c | 10 net/openvswitch/conntrack.c | 130 ++-- net/openvswitch/conntrack.h | 6 net/openvswitch/datapath.c | 58 + net/openvswitch/datapath.h | 26 net/openvswitch/vport.h | 8 net/phonet/pep.c | 2 net/rds/cong.c | 4 net/sched/sch_api.c | 7 net/sched/sch_codel.c | 2 net/sched/sch_fq.c | 28 net/sched/sch_fq_codel.c | 6 net/sched/sch_fq_pie.c | 3 net/sched/sch_generic.c | 9 net/sched/sch_hhf.c | 4 net/sched/sch_sfq.c | 3 net/sched/sch_teql.c | 1 net/sctp/inqueue.c | 7 net/sctp/sm_sideeffect.c | 4 net/sctp/stream.c | 48 + net/smc/af_smc.c | 2 net/smc/smc_llc.c | 1 net/sunrpc/auth_gss/auth_gss.c | 6 net/sunrpc/auth_gss/gss_krb5_wrap.c | 13 net/sunrpc/auth_gss/gss_rpc_upcall.c | 6 net/sunrpc/auth_gss/gss_rpc_upcall.h | 1 net/sunrpc/auth_gss/svcauth_gss.c | 3 net/sunrpc/cache.c | 7 net/sunrpc/rpcb_clnt.c | 4 net/sunrpc/sunrpc_syms.c | 1 net/sunrpc/svc.c | 29 net/sunrpc/xdr.c | 2 net/vmw_vsock/af_vsock.c | 6 net/vmw_vsock/virtio_transport.c | 2 net/xfrm/xfrm_state.c | 3 scripts/tags.sh | 2 security/apparmor/lib.c | 20 security/selinux/include/security.h | 4 security/selinux/selinuxfs.c | 7 security/selinux/ss/services.c | 45 - security/smack/smack.h | 7 security/smack/smack_lsm.c | 95 ++- security/smack/smackfs.c | 218 ++----- sound/core/pcm_native.c | 2 sound/drivers/aloop.c | 99 +-- sound/drivers/mpu401/mpu401.c | 6 sound/drivers/mts64.c | 6 sound/drivers/portman2x4.c | 6 sound/drivers/serial-u16550.c | 6 sound/pci/asihpi/hpi6000.c | 5 sound/pci/hda/hda_proc.c | 2 sound/pci/via82xx_modem.c | 26 sound/soc/codecs/cs35l33.c | 14 sound/soc/codecs/cs35l34.c | 14 sound/soc/fsl/fsl-asoc-card.c | 4 sound/soc/fsl/mpc5200_psc_i2s.c | 1 sound/soc/intel/atom/sst/sst_pci.c | 4 sound/soc/meson/meson-card-utils.c | 17 sound/soc/pxa/pxa-ssp.c | 7 sound/soc/samsung/aries_wm8994.c | 1 sound/soc/soc-dapm.c | 2 sound/soc/xilinx/xlnx_formatter_pcm.c | 14 sound/usb/6fire/comm.c | 9 sound/usb/bcd2000/bcd2000.c | 11 sound/usb/midi.c | 2 tools/bpf/bpftool/map.c | 4 tools/include/linux/compiler.h | 2 tools/perf/builtin-sched.c | 40 - tools/perf/builtin-stat.c | 15 tools/perf/ui/browsers/hists.c | 6 tools/perf/util/auxtrace.c | 15 tools/perf/util/cs-etm.c | 81 ++ tools/perf/util/dso.c | 19 tools/perf/util/intel-bts.c | 2 tools/perf/util/intel-pt.c | 2 tools/perf/util/machine.c | 34 - tools/perf/util/synthetic-events.c | 6 tools/perf/util/thread-stack.c | 2 tools/perf/util/trace-event-read.c | 33 - tools/testing/selftests/arm64/mte/check_ksm_options.c | 29 tools/testing/selftests/bpf/test_sockmap.c | 3 tools/testing/selftests/rseq/rseq-x86-thread-pointer.h | 4 tools/testing/selftests/timers/leap-a-day.c | 19 tools/testing/selftests/zram/zram_lib.sh | 2 696 files changed, 7987 insertions(+), 3978 deletions(-)
Abdun Nihaal (4):
wifi: brcmfmac: Fix memory leak in brcmf_sdio_read_control()
wifi: rtw88: Fix potential memory leak in rtw_txq_push_skb()
wifi: rtlwifi: pci: fix error path in rtl_pci_probe()
misc: vmc_vmci: Fix potential memory leak in vmci_event_subscribe()
Abdurrahman Hussain (1):
of: fix out-of-bounds read in of_alias_scan() stem parser
Ada Couprie Diaz (1):
arm64: hibernate: mask DAIF before restoring hibernated kernel
Adrian Hunter (2):
i3c: master: Fix info leak and UAF in device unregister path
i3c: master: Fix device_register() error path
Ahmad Byagowi (1):
i2c: mux: Fix channel node leak on adapter add failure
Ahmet Sezgin Duran (1):
staging: sm750fb: gate dualview dataflow using g_dualview
Ai Chao (1):
HID: i2c-hid: Fix "(null)" output when reading report descriptor fails
Alban Bedel (1):
software node: Fix software_node_get_reference_args() with index -1
Aleksandr Khromov (1):
slip: fix use-after-free in sl_sync()
Aleksandr Nogikh (1):
udf: Mark LVID buffer as uptodate before marking it dirty
Alex Elder (1):
remoteproc: use freezable workqueue for crash notifications
Alexander A. Klimov (2):
clk: moxart: remove unused variables, fix refcount leak
staging: greybus: audio: correct sscanf() return value check
Alexandra Winter (1):
net/iucv: filter frames in afiucv_hs_rcv() by ingress device
Ali Ahmet Memis (2):
openrisc: fix arbitrary kernel memory access via or1k_atomic syscall
Bluetooth: MSFT: validate evt_prefix_len against the response length
Allison Henderson (1):
net/rds: use wq_has_sleeper() in rds_cong_map_updated()
Andre Przywara (1):
ARM: dts: allwinner: a10: Fix PMU interrupt
Andrei Matei (1):
bpf: Guard stack limits against 32bit overflow
Andy Shevchenko (2):
usb: f_mass_storage: Bump local buffer size in fsg_common_create_luns()
ACPI: utils: Document for_each_acpi_dev_match() macro
Aneesh Kumar K.V (Arm) (1):
iommu/dma: Check atomic pool allocation result directly
Anson Huang (2):
clk: imx: scu: Add A53 frequency scaling support
clk: imx: scu: Add A72 frequency scaling support
Arash Golgol (1):
media: vimc: fix pixel format lookup in enum_framesizes
Arnaldo Carvalho de Melo (14):
perf sched: Fix register_pid() overflow, strcpy, and BUG_ON
perf machine: Guard against NULL strlist in machines__findnew() perf machine: Use snprintf() for guestmount path construction perf machine: Check snprintf truncation in machines__findnew() perf machine: Don't abort guest map creation on first inaccessible dir perf machine: Reset errno before strtol in guest kernel map creation perf machine: Free scandir entries in guest kernel map creation perf machine: Check snprintf truncation for guest kallsyms path perf thread-stack: Fix heap buffer overflow on branch stack wrap copy perf auxtrace: Fix queue grow overflow and old array leak
perf intel-pt: Fix off-by-one in auxtrace_info minimum size check perf intel-bts: Fix off-by-one in auxtrace_info minimum size check perf dso: Guard close() against invalid fd in dso__decompress_kmodule_path() perf dso: Guard against cache underflow on short reads in dso_cache__memcpy()
Arnaud Bonnet (2):
nfs: replace atomic bitops sequence with clear_and_wake_up_bit helper
nfs: refactor pNFS functions using clear_and_wake_up_bit
Arthur Gautier (1):
xhci: fix lost bounce buffers on TDs spanning several ring segments
Arun Kumar Neelakantam (1):
rpmsg: glink: Remove the rpmsg dev in close_ack
Asad Kamal (2):
drm/amdgpu/pm/powerplay: bounds-check voltage index in SMU7 lookup drm/amdgpu/pm/powerplay: bounds-check voltage index in Vega10 lookup
Asim Viladi Oglu Manizada (1):
net: tun: bound receive headroom
Austin Kim (1):
smack: mark 'smack_enabled' global variable as __initdata
Ayush Mukkanwar (2):
staging: octeon: add missing tasklet_kill in cvm_oct_tx_shutdown
staging: octeon: ethernet-mem: replace pr_warn with dev_warn in free functions
Babanpreet Singh (3):
power: supply: sbs-battery: Use a per-device serial number buffer
w1: ds2482: Fix signedness bug in ds2482_w1_triplet()
spi: sprd-adi: Fix probe succeeding without registering the controller
Baochen Qiang (1):
wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate
Baokun Li (1):
ext4: drain in-flight DIO before buffered write fallback
Bartosz Golaszewski (1):
powerpc/powermac: fix OF node refcount
Baul Lee (2):
ALSA: 6fire: bound the MIDI event length from the device
ALSA: bcd2000: clear the URB pointers on disconnect
Bijan Tabatabai (1):
x86/pkeys: Fix pkey_alloc() return value when pkeys are not supported
Biju Das (1):
usb: renesas_usbhs: Fix power-off ordering on unbind
Biren Pandya (2):
media: i2c: ov7740: fix use-after-destroy in remove
media: v4l2-fwnode: Fix fwnode leak in v4l2_fwnode_parse_link
Bjorn Andersson (2):
remoteproc: Prevent crash handling to race with rproc_del()
clk: qcom: gdsc: Bump parent usage count when GDSC is found enabled
Bob Pearson (2):
RDMA/rxe: Fix over copying in get_srq_wqe RDMA/rxe: Use the correct size of wqe when processing SRQ
Bradley Morgan (3):
signal: avoid shared siginfo namespace rewrites lib/string: fix memchr_inv() for large ranges
prctl: fix PR_SET_MM_AUXV losing the forced AT_NULL terminator
Breno Leitao (4):
mm/vmscan: report RCU-tasks quiescent states in shrink_lruvec()
phonet: pep: do not write beyond optlen in getsockopt
nfc: llcp: avoid userspace overflow on invalid optlen
nfc: llcp: read llcp_sock->local under the socket lock in getsockopt
Brian Masney (1):
clk: imx: scu: drop redundant init.ops variable assignment
Bryam Vargas (11):
dm array: reject an array block whose value size is not the caller's libnvdimm/labels: Prevent integer overflow in __nd_label_validate()
ocfs2: bound namelen in dlm_migrate_request_handler
ocfs2: validate lengths in dlm_mig_lockres_handler
power: supply: cros_usbpd-charger: bound the EC-reported port count platform/chrome: sensorhub: Bound the EC-reported sensor number
selinux: reject an unclaimed class value in security_get_classes() nvdimm/btt: reject an arena whose nfree is below the lane count
media: cx231xx: reject geometry changes while the VBI queue is busy
greybus: audio: bound the topology section sizes against the fetched size libnvdimm/labels: Bound the on-media label size before the shift
Bryan O'Donoghue (2):
clk: qcom: gdsc: Release pm subdomains in reverse add order
clk: qcom: gdsc: Capture pm_genpd_add_subdomain result code
Calvin Owens (1):
pps: don't try to wait for negative timeouts in PPS_FETCH
Can Peng (3):
thermal/drivers/imx: Disable clock on runtime resume failure thermal/drivers/qoriq: Disable clock on resume failure drm/tve200: add OF module alias for autoloading
Carlos López (1):
KVM: x86: hyper-v: Clamp stimer deadline to avoid livelock
Casey Schaufler (1):
Smack: fix W=1 build warnings
Cen Zhang (1):
ocfs2: synchronize heartbeat callbacks with o2net teardown
Cen Zhang (Microsoft) (1):
gtp: add synchronize_net() in gtp_newlink() error path to prevent use-after-free
Chandrakanth Patil (1):
scsi: mpt3sas: Avoid freeing unallocated PCIe SGL buffers
Chen Pei (1):
ACPI: PCI: Clear driver_data on all paths that free the acpi_pci_root
Chen-Yu Tsai (1):
arm64: dts: rockchip: Add gru-scarlet-dumo board
Cheng-Han Wu (1):
selftests/zram: fix kernel_gte() for POSIX sh
Chengfeng Ye (2):
Bluetooth: RFCOMM: serialize security confirmation handling vsock/virtio: flush works in dependency order
Chris Lu (1):
Bluetooth: btmtksdio: Take exclusive ownership of the SKB before TX
Chris Mason (6):
nfsd: fix cpntf publish race in nfs4_init_cp_state
SUNRPC: xdr_buf_trim: clamp buf->len to avoid underflow
SUNRPC: Guard svcauth_gss_release() dispatch on rq_auth_stat
SUNRPC: harden gss_krb5_unwrap_v2 against short tokens
SUNRPC: harden gss_unwrap_resp_priv length checks
sunrpc: init gssp_lock before publishing proc entry
Christian Borntraeger (5):
KVM: s390: Fix memory leak in guest debug handling
KVM: s390: Fix old_data leak in guest debug error path
KVM: s390: Free guest debug data on vcpu destroy
KVM: s390: Zero initialize irq in reinject_machine_check
KVM: s390: Restore sigset on error path
Christian Göttsche (1):
selinux: avoid implicit conversions in services code
Christian Hewitt (1):
media: meson: vdec: fix NULL pointer deref in vdec_try_fmt_common
Christoph Zwerschke (2):
Bluetooth: btusb: Add ASUS USB-BT540 for Realtek 8761CU
Bluetooth: btusb: Add ASUS USB-BT600 for Realtek 8761CU
Christophe JAILLET (2):
accessibility: speakup: Fix incorrect string length computation in report_char_chartab_status()
ubi: fastmap: Use the bitmap API to allocate bitmaps
Chuck Lever (6):
NFSD: Encode only the status in NFS-ACL v2 GETACL error replies
NFSD: Fix off-by-one in DRC bucket pruning limit
nfsd: Reset write verifier when async COPY writeback fails
nfsd: sample writeback error cursor before async COPY loop
NFSD: Prevent lock owner use-after-free during client teardown
SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field
Chunkai Deng (1):
rpmsg: glink: smem: order FIFO read after availability check
Coly Li (1):
md: do overflow check for sb->bblog_shift in super_1_load()
Cong Nguyen (4):
hwmon: (max6621) fix negative temperature offset and crit readings
hwmon: (max6621) fix temperature clamp range
iio: gyro: mpu3050: fix sign of raw angular velocity readings
iio: srf04: fix pm_runtime handling on probe error path
Cosmo Chou (2):
leds: pca9532: Fix inverted GPIO output polarity
leds: pca9532: Fix phantom device registration on missing hardware
D. Wythe (1):
net/smc: fix potential panic dues to unprotected smc_llc_srv_add_link()
Daisuke Matsuda (1):
fpga: altera-cvp: Avoid out-of-bounds read in trailing byte write
Dan Carpenter (5):
RDMA/rxe: Missing unlock on error in get_srq_wqe()
staging: fbtft: Use sysfs_emit_at() to print to sysfs file
cpufreq: spear: Fix an IS_ERR() vs NULL bug in spear1340_set_cpu_rate()
scsi: qla2xxx: Fix an loop timeout test
HID: fix an error code in hid_check_device_match()
Daniel Borkmann (2):
bpf: Enforce expected_attach_type for tailcall compatibility
bpf: Fix vmlinux BTF prep race in bpf_get_btf_vmlinux
Daniel McCarthy (1):
pinctrl: bcm2835: Don't remove an unregistered GPIO chip
Daniel Scally (1):
media: ACPI / bus: Add acpi_dev_get_next_match_dev() and helper macro
Danila Chernetsov (2):
RDMA/hfi1: Propagate sdma_txinit_ahg() errors
fbdev: kyro: Validate overlay viewport coordinates
Danilo Krummrich (1):
drm: fix race between partial drm_dev_register() failure and ioctl
Dapeng Mi (1):
perf/x86/intel: Fix kernel address leakages in LBR stack
David Lee (3):
udf: reject VAT indexes equal to the entry count UDF symlink pathComponent header OOB read
nilfs2: prevent out-of-bounds read in super root block parsing
David Woodhouse (1):
timekeeping: Account for monotonicity adjustment in ntp_error
Dawei Feng (2):
media: cedrus: fix memory leak in cedrus_init_ctrls()
staging: rtl8723bs: fix mismatched free of HalData in rtw_sdio_if1_init()
Deepanshu Kartikey (1):
usb: atm: usbatm: fix invalid ci_range initialization
Delphine CC Chiu (1):
hwmon: (emc1403) Add support for EMC1442
Desnes Nunes (1):
iommu/vt-d: Fix UCTP context table slot when copying root entries
Devin Wittmayer (1):
wifi: mt76: mt76x02: do not WARN on invalid rx descriptor length
Diego Fernando Mancera Gomez (1):
media: em28xx: defer audio-only extension registration
Dmitry Antipov (2):
ocfs2: always run deallocs on copy-on-write completion
smack: simplify write handlers of sysfs entries
Dmitry Baryshkov (2):
clk: qcom: gdsc: enable optional power domain support
driver core: platform: don't oops in platform_shutdown() on unbound devices
Dmitry Torokhov (2):
HID: split apart hid_device_probe to make logic more apparent
HID: ensure timely release of driver-allocated resources
Doruk Tan Ozturk (2):
wifi: ath6kl: clamp assoc request/response lengths before subtracting IE offsets
nfc: llcp: bound SNL TLV parsing to the skb and add length checks
Edward Adam Davis (1):
bluetooth/l2cap: sync sock recv cb and release
Eric Dumazet (4):
tcp: fix potential race in tcp_v6_syn_recv_sock()
net_sched: sch_fq: struct sched_data reorg
net_sched: sch_fq: change how @inactive is tracked
net_sched: export pfifo_fast prio2band[]
Erick Henrique (1):
iio: dac: m62332: Fix regulator reference count imbalance
Evgenii Burenchev (2):
ALSA: via82xx: Remove unreachable branch in snd_via686_pcm_pointer()
ALSA: hpi: Check transport errors during HPI6000 adapter initialization
Ewan D. Milne (1):
nvme: nvme-fc: Fix nvme_fc_create_hw_io_queues() queue deletion in error path
Fabio Estevam (2):
wifi: mwifiex: Detach sync cmd buffer on interrupted wait
arm64: dts: rockchip: Fix Gru WLAN sideband interrupt
Fabio Porcedda (1):
net: usb: qmi_wwan: add Telit Cinterion FE990D50 composition
Fan Wu (5):
RDMA/cxgb4: Cancel reg_work before freeing device on remove
power: supply: lp8727: fix use-after-free in lp8727_release_irq()
mmc: via-sdmmc: stop card-detect handling on probe failure
media: cx23885: cancel NetUP CI work before teardown RDMA/cxgb4: Free debugfs on registration failure
Fan Ye (1):
net: thunderbolt: Count delivered packets in rx_packets and rx_bytes
Fedor Pchelkin (1):
Revert "USB: serial: keyspan_pda: fix information leak"
Felix Fietkau (2):
wifi: mt76: mt7915: avoid nss underflow in mt7915_mcu_get_sta_nss
wifi: mt76: mt7915: use little-endian for bss_info_ra wire fields
Felix Gu (1):
spi: img-spfi: don't disable runtime PM on DMA deferred probe
Felix Yan (1):
clocksource/drivers/timer-sun4i: Advertise a real minimum delta
Feng Yang (1):
selftests/bpf: Fix memory leak in msg_alloc_iov
Florian Fuchs (1):
fbdev: pvr2fb: correct user pointer annotation and sentinel initializer
Florian Westphal (1):
netfilter: nf_nat_sip: rewind offset when NAT shrinks the packet
Frank Sorenson (1):
cifs: fix clearing stats for fastest execution of each smb2 command
Fu Hao (1):
iommu/amd: Add support for Hygon family 18h model 4h IOAPIC
Geert Uytterhoeven (2):
bitfield: Add less-checking __FIELD_{GET,PREP}()
bitfield: Add non-constant field_{prep,get}() helpers
Giorgi Tchankvetadze (1):
iio: light: cm32181: return zero after writing calibscale
Gleb Markov (1):
misc: rtsx: add missing write register handling
Gongwei Li (1):
Bluetooth: hci_uart: Fix false success return in hci_uart_setup()
Gou Hao (1):
powerpc/smp: add NULL guard for cause_ipi in smp_muxed_ipi_message_pass
Greg Kroah-Hartman (2):
driver core: soc: remove layering violation for the soc_bus Linux 5.10.270
Griffin Kroah-Hartman (1):
usb: image: mdc800: change kmalloc() to kzalloc()
Guangshuo Li (6):
Bluetooth: hci_bcm: fix usage_count leak when autosuspend_delay is negative
Bluetooth: hci_intel: fix usage_count leak when autosuspend_delay is negative
clk: tegra: tegra124-emc: put EMC node on register failure
rapidio: clear mport->net when rio_add_net() fails
dmaengine: qcom-bam-dma: fix autosuspend cleanup during removal clocksource/drivers/clps711x: Do not unmap clocksource MMIO
Gui-Dong Han (1):
media: cec-pin: Fix event FIFO ordering
Guixin Liu (1):
nvme-fc: unmap cmd_iu DMA on rsp_iu mapping failure in init_request
Guopeng Zhang (1):
mm: memcg: stop reclaim when a limit update is superseded
Guoqing Jiang (1):
RDMA/siw: Introduce siw_free_cm_id
Hajo Noerenberg (1):
ata: ahci: work around lost interrupts on Marvell 88SE61xx
HanQuan (1):
ecryptfs: reject oversized encrypted_key_size in parse_tag_3_packet
Hanlin Song (1):
csky: Fix a4/a5 restoration in syscall trace path
Hans Verkuil (1):
Revert "media: v4l2-dev: fix error handling in __video_register_device()"
Hans de Goede (1):
HID: i2c-hid: Switch i2c_hid_parse() to goto style error handling
Hao-Qun Huang (2):
staging: greybus: hid: fix SET_REPORT return value
f2fs: reject overlapping move range after len expansion
Haotian Zhang (1):
dm-switch: use WRITE_ONCE() in switch_region_table_write()
Haowen Tu (1):
PM: sleep: Fix off-by-one in wakelocks number limit check
Haoxiang Li (4):
HID: sensor: custom: Fix field sysfs group cleanup on failure
ASoC: fsl: mpc5200-i2s: Free DMA resources on probe failure
AsoC: intel: sst: fix PCI device reference leak on probe failure iommu/qcom: Remove sysfs device on probe failure path
Haoze Xie (1):
netfilter: nf_queue: pin bridge device while NFQUEUE holds fake dst
Harry Wentland (1):
drm/amd/display: avoid divide-by-zero in __is_lut_linear()
Harshit Varu (1):
mptcp: fix uninitialized local_id in syncookie MP_JOIN reconstruction
Helge Deller (1):
parisc: Fix alignment of asm statements in head.S
Henrik Grimler (4):
drm/lima: call drm_mm_init() with a valid allocation range
power: supply: bq27xxx: bq27520g4: fix REG_TTES address
power: supply: bq27xxx: bq28z610: fix invalid AverageEnergy address
power: supply: bq27xxx: bq27z561: fix invalid AverageEnergy address
Herman van Hazendonk (3):
clk: qcom: gdsc: propagate gdsc_check_status() errors from gdsc_poll_status
clk: qcom: gdsc: propagate gdsc_enable() failure for ALWAYS_ON domains
clk: qcom: gdsc: tear down per-domain genpds in gdsc_unregister()
Herve Codina (2):
irqdomain: Introduce irq_domain_instantiate()
irqdomain: Handle additional domain flags in irq_domain_instantiate()
Hisam Mehboob (1):
selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check
Hongyan Xu (3):
usb: gadget: r8a66597: avoid double free of ep0_req in probe error path
power: supply: isp1704_charger: cancel work on remove
power: supply: sc2731_charger: cancel work on remove
Hui Su (2):
tracing: Fix crash passing ERR_PTR to kthread_stop()
cpufreq: schedutil: Fix rate limit overflow
Hui Tang (4):
crypto: ecdh - extend 'cra_driver_name' with curve name
crypto: ecdh - fix 'ecdh_init'
crypto: ecdh - fix ecdh-nist-p192's entry in testmgr
crypto: testmgr - fix initialization of 'secret_size'
HyeongJun An (3):
ALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output()
media: s2255: bound JPEG frame size before copying into the buffer
ASoC: dapm: Fix off-by-one check on the second enum channel
Hyunwoo Kim (3):
sctp: stop processing a packet once its association is deleted
sctp: drop a chunk if its transport was removed
Bluetooth: RFCOMM: Validate MTU in rfcomm_apply_pn() to prevent infinite loop
Ian Rogers (4):
perf ui hists: Fix uninitialized stack memory free on pstack allocation failure perf stat: Fix evsel_list leak in cmd_stat
perf synthetic-events: Fix uninitialized pthread_join
perf synthetic-events: Fix divide by zero in perf_event__synthesize_threads
Ibrahim Hashimov (4):
ubifs: fix out-of-bounds read in signature length check
HID: picolcd: clamp eeprom debugfs read to bytes actually received
ocfs2: validate rl_used against rl_count in refcount block validator
HID: wacom: validate report length in wacom_intuos_pro2_bt_irq
Ikjoon Jang (1):
power: supply: sbs-battery: cache constant string properties
Ilya Krutskih (2):
dm raid1: reserve space for NUL-terminator in build_constructor_string()
media: tda18250: fix possible integer overflow
Ilya Maximets (2):
net: openvswitch: fix flow mask use-after-free on flow deletion
net: openvswitch: fix kernel-doc warnings in internal headers
Ira Weiny (1):
iov_iter: lift memzero_page() to highmem.h
Israel Téllez García (1):
bpf: Fix pending_pos walk on 32-bit ring position wrap
Ivaylo Dimitrov (1):
hsi: omap_ssi_core: fix missing DMA mask setup for SSI controller device
Ivy Lopez (1):
staging: rtl8723bs: use kfree_sensitive() for key material
Jakub Kicinski (1):
i3c: dw: avoid shift-out-of-bounds when DAA assigns no devices
Jamal Hadi Salim (6):
net/sched: fq_codel: clamp default quantum and mtu net/sched: sch_codel: clamp default mtu to avoid disabling CoDel net/sched: fq_pie: clamp default quantum to avoid signed overflow net/sched: hhf: clamp quantum before hhf_change() to avoid overflow net/sched: sfq: clamp quantum to avoid signed overflow soft lockup net/sched: bound qdisc_pkt_len to prevent qdisc soft lockup
James Kim (1):
rapidio: mport_cdev: fix use-after-free in dma_req_free()
Jameson Thies (2):
power: supply: cros_usbpd: Limit port counts to EC_USB_PD_MAX_PORTS
usb: typec: ucsi: displayport: Fix OOB altmode array index
Jeff Johnson (4):
wifi: ath6kl: avoid buffer overreads in WMI event handlers
wifi: ath11k: Correctly copy the hint BSSID in WMI scan request
wifi: ath11k: Avoid buffer overread in ath11k_wmi_tlv_op_rx()
wifi: ath11k: fix leak in ath11k_service_ready_ext_event()
Jeff Layton (15):
nfsd: return NFS4ERR_NOTSUPP for unsupported netloc4 types
nfsd: validate symlink target length in NFSv4 CREATE
nfsd: add fh_want_write() for early-verified SETATTR in nfsd_proc_setattr()
nfsd: add filehandle match check to nfsd4_delegreturn()
nfsd: block non-SAVEFH ops after FOREIGN PUTFH to prevent NULL deref
nfsd: check client ownership when cancelling a copy-notify stateid
nfsd: fix version mismatch loops in nfsd_acl_init_request()
nfsd: fix XDR length calculation in nfsd4_ff_encode_layoutget
nfsd: fix XDR padding calculation in ff_encode_getdeviceinfo
nfsd: initialize copy-notify stateid before publishing it
nfsd: reject reclaim LOCK after RECLAIM_COMPLETE
nfsd: revoke copy-notify stateids before dropping their reference
sunrpc: route to a populated pool in svc_pool_for_cpu()
SUNRPC: always drain cache_cleaner before destroying a cache_detail
nfs: move the nfs4_data_server_cache into struct nfs_net
Jeffin Philip (2):
usb: gadget: uvc: fix dangling pointers in uvc_function_bind() and uvc_function_unbind()
usb: gadget: fix null pointer dereference in usb_put_function_instance()
Jernej Skrabec (6):
drm/sun4i: vi scaler: Fix coefficient selection drm/sun4i: tcon: Drop TCON TOP device reference drm/sun4i: crtc: Propagate layer initialization error drm/sun4i: tcon: Drop remote endpoint reference drm/sun4i: dw-hdmi: Drop TCON TOP port reference drm/sun4i: hdmi-phy: Fix H6 8-bit MPLL config at 594 MHz
Jialu Xu (1):
scripts/tags.sh: improve compiled sources generation
Jian Shen (1):
net: hns3: don't auto enable misc vector
Jiancheng Huang (1):
HID: lg4ff: validate report length before fixed offsets
Jiangong.Han (1):
media: em28xx: fix use-after-free of dev_next->devlist on disconnect
Jiangshan Yi (3):
HID: mcp2221: validate report size in mcp2221_raw_event()
bnx2x: fix double free in bnx2x_init_firmware() error path
selftests: timers: leap-a-day: Fix -w option and update usage comment
Jianing Li (1):
power: supply: max17040: synchronize work cancellation on suspend
Jiapeng Chong (1):
net: ip6_gre: Remove the unused function ip6gre_tnl_addr_conflict()
Jiayuan Chen (2):
bpf: Fix same-register dst/src OOB read and pointer leak in sock_ops
tcp: fix corruption of urgent data on multi-segment retransmit
Jilin Yuan (1):
ubi: Fix repeated words in comments
Jingyi Wang (1):
remoteproc: core: Attach rproc asynchronously in rproc_add() path via schedule_work()
Jinjie Ruan (1):
entry: Fix seccomp bypass after ptrace with TSYNC
Joas Antonio dos Santos (1):
ipvs: fix integer overflow in ftp helper port/address parsing
Johan Hovold (3):
USB: phy: fsl-usb: fix missing static keywords
remoteproc: scp: Fix device reference leak on failed lookup drm/bridge: dw-hdmi: fix i2c adapter leak on probe failure
John Johansen (1):
apparmor: policy_int make sure list heads are initialized before fail path
Jonathan Cameron (1):
of: Add cleanup.h based auto release via __free(device_node) markings
Jordan R Abrahams-Whitehead (1):
include/linux/list.h: mark list_add and __list_add as __always_inline
Joseph Qi (4):
ocfs2: cluster: don't sleep while holding o2hb_live_lock in o2hb_region_pin()
ocfs2: cluster: avoid lock order inversion in o2hb_region_pin() from drop_item
ocfs2: cluster: fix o2hb_dependent_users leak on pin failure
ocfs2: use bitmap API in fill_node_map
Joshua Crofts (1):
nilfs2: fix infinite loop in nilfs_clean_segments()
Joy H.J. Lee (1):
tools/compiler: match glibc 2.42 definition of __attribute_const__
Joy Zou (1):
regulator: core: use system_freezable_wq for init complete work
Jun Yang (2):
sctp: distinguish sequence zero from wildcard in reconf lookup
sctp: fix stream->outcnt underflow on duplicate RECONF responses
Junrui Luo (3):
media: vicodec: fix out-of-bounds write in FWHT encoder NFSv4.2: fix LAYOUTSTATS send buffer exhaustion NFSv4/pnfs: key the data server cache on the NFS version
Junseo Lim (3):
lwt_bpf: Restore reserved headroom after xmit program
bpf: Reject negative optlen in cgroup getsockopt hook
net: kcm: Hold RCU read lock while running BPF parser
Jérémy Jean (3):
timers/itimer: Zero-init old itimerval before copy to userspace
libceph: reject buckets with mismatched CRUSH ids
audit: avoid dropping live tree ref on fsnotify rule autoremove
Kalesh AP (1):
RDMA/restrack: Fix typos in the comments
Kamal Wadhwa (1):
regulator: qcom-rpmh: Fix PMIC5 BOB bypass mode handling
Karl Mehltretter (8):
tty: hvc: restrict HVC_DCC to ARMv6+ and ARM64
ARM: lpc32xx: only run SoC init on LPC32xx hardware
serial: amba-pl011: unprepare console clock on unregister
tty: clear cdev pointer after cdev_add() failure
cpufreq: imx6q: fix devres accumulation across driver rebind
cpufreq: imx6q: fix out-of-bounds write when probed more than once
m68k: Fix backtraces for non-running tasks
8139cp: fix Rx and Tx not being disabled in cp_suspend
Kees Cook (1):
firmware: coreboot: Check size of table entry and use flex-array
Kemeng Shi (2):
irqchip/gic-v3-its: Fix memleak in its_probe_one() irqchip/gic-v3-its: Prevent leak in its_vpe_irq_domain_alloc()
Kevin Tian (1):
iommu/vt-d: Fix no_iommu to disable platform opt-in
Kiryl Shutsemau (Meta) (1):
x86/insn-eval: Move assign_register() out of KVM as insn_assign_reg()
Koichiro Den (10):
NTB: ntb_transport: Recycle TX entries before client callbacks
NTB: ntb_transport: Fail TX enqueue when the QP link is down
NTB: ntb_transport: Reject oversized TX buffers
net: ntb_netdev: Avoid double-accounting netif_rx() drops
net: ntb_netdev: Count packets dropped on RX refill failure
net: ntb_netdev: Fix TX busy and drop handling
dmaengine: dw-edma: Complete descriptors before pausing
dmaengine: dw-edma: Serialize abort state updates
dmaengine: dw-edma: Serialize channel state checks
dmaengine: dw-edma: Clear stale requests on termination
Konrad Dybcio (1):
drm/msm/dsi: Drop dev_pm_opp_set_rate(0)
Konstantin Andreev (3):
smack: fix incorrect task context in smack_msg_queue_msgrcv
smack: deduplicate smackfs/{direct,mapped} file_operations
smack: restrict smackfs/{direct,mapped} values to 0-255
Krystian Kaniewski (1):
ocfs2: fix circular locking dependency in ocfs2_init_acl()
Krzysztof Wilczyński (5):
alpha/PCI: Fix I/O port accessor argument order in pci_legacy_write() PCI/sysfs: Avoid spurious runtime PM wakeup on config space accesses PCI/proc: Avoid spurious runtime PM wakeup on config space accesses PCI/proc: Use file_ns_capable() when checking config space read access PCI/sysfs: Add static PCI resource attribute macros
Kuan-Wei Chiu (1):
interconnect: Fix use after free in icc_get() and of_icc_get_by_index()
Kuninori Morimoto (2):
of: property: add missing kerneldoc for of_graph_get_endpoint_count()
of: property: use unsigned int return on of_graph_get_endpoint_count()
Kyle Zeng (1):
hfsplus: validate thread record before delete key rebuild
Laxman Acharya Padhya (3):
iio: light: gp2ap002: Disable regulators on resume failure drm/panel: samsung-s6d16d0: Power off on prepare failure
firmware: coreboot: Validate table bounds
Lee Jones (1):
crypto: atmel-ecc - Struct headers need to start with keyword 'struct'
Lei Huang (1):
media: s2255: check firmware size before reading trailing marker
Leo Yan (3):
perf cs-etm: Flush thread stacks after decoder reset perf cs-etm: Avoid truncating AUX buffer sizes to int
perf: arm_spe: Make wakeup range check overflow safe
Leon Romanovsky (11):
RDMA/core: Wait for RCU callbacks before unloading ib_core RDMA/ipoib: Drain RCU callbacks during module teardown RDMA/hfi1: Preserve unit 0 on allocation failure RDMA/hfi1: Remove redundant PCI device ID validation RDMA/hfi1: Create workqueues before device initialization RDMA/hfi1: Stop flushing the global IB workqueue RDMA/hfi1: Initialize debugfs after probe completes RDMA/srpt: Pass the mapped task attribute to target_init_cmd() RDMA/mlx5: Fix stack out-of-bounds read in cc_params debugfs RDMA/mlx5: Send cong param changes to the resolved port mdev RDMA/cxgb4: free STAG index when TPT entry write fails
Li RongQing (1):
vdpa/mlx5: fix wrong list iterated in add_direct_chain error path
LiangCheng Wang (1):
ASoC: fsl-asoc-card: defer probe when the CPU DAI device is not ready
Linghui Wu (1):
wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump
Linkai Gong (1):
i2c: mux: demux-pinctrl: fix OF node leak on kstrdup failure
Linmao Li (5):
iio: chemical: sgp30: Handle IAQ thread creation failure
ppdev: prevent overflow when setting port timeout
ASoC: meson: Keep link pointers valid on realloc failure
nfc: digital: Do not dump a NULL response in command completion
mailbox: rockchip: disable pclk on probe failure and unbind
Liu Qi (1):
usb-storage: ene_ub6250: fix race between scan work and probe
Loic Poulain (1):
phy: qcom: snps-femto-v2: Fix possible NULL-deref on early runtime suspend
Lothar Rubusch (1):
crypto: atmel-sha204a - fix heap info leak on I2C transfer failure
Lovekesh Solanki (1):
USB: gadget: fix NULL pointer dereference in gadget_dev_ioctl()
Lukasz Majewski (1):
net: hsr: Use full string description when opening HSR network device
Mahanta Jambigi (1):
net/smc: free pending qentry in smc_llc_flow_stop() before memset
Maher Sanalla (1):
RDMA/mlx5: Fix integer overflow of user QP buffer size
Mahesh Rao (1):
firmware: stratix10-svc: Add mutex in stratix10 memory management
Malaya Kumar Rout (1):
selftests/bpf: Fix memory leak in msg_alloc_iov error path
Manish Rangankar (1):
scsi: qla2xxx: Remove redundant VPD flash read in sysfs read path
Maoyi Xie (2):
w1: ds28e17: reject an oversize length on an I2C block read drm/bridge: tc358767: clamp the reported AUX read size to the request
Marek Czernohous (2):
forcedeth: fix off-by-one when saving/restoring non-PCI config space
forcedeth: stop the tx_timeout register dump past the requested window
Marino Dzalto (1):
netfilter: xt_HL: add pr_fmt and checkentry validation
Martin Blumenstingl (1):
clk: meson: align gxbb_32k_clk_sel number of parents with actual count
Martin Kaiser (1):
hwrng: ks-sa - access private data via struct hwrng
Masami Hiramatsu (Google) (1):
tracing/mmiotrace: Add NULL check for mmio_trace_array in logging functions
Mathieu Poirier (5):
remoteproc: Remove useless check in rproc_del()
remoteproc: Add new RPROC_ATTACHED state
remoteproc: Add new detach() remoteproc operation
remoteproc: Introduce function __rproc_detach()
remoteproc: Introduce function rproc_detach()
Matt Turner (2):
alpha: marvel: Fix irq_set_status_flags to use correct IRQ number
alpha: marvel: Fix lock ordering in init_io7_irqs()
Matthieu Baerts (NGI0) (2):
mptcp: pm: ADD_ADDR rtx: always decrease sk refcount
mptcp: pm: ADD_ADDR rtx: free sk if last
Matti Vaittinen (1):
power: supply: bd99954: Drop bad register fields
Maxime Chevallier (5):
net: stmmac: selftests: Check multiple MMC counters
net: stmmac: dwmac1000: Account for the primary MAC address for UC filtering
net: stmmac: dwmac4: Account for the primary MAC address for UC filtering
net: stmmac: dwxgmac: Account for the primary MAC address for UC filtering
net: stmmac: selftests: Account for the UC filter list for filtering tests
Maxime Ripard (1):
drm/bridge: cdns-mhdp8546: Return an error pointer on allocation failure
Meng Yu (1):
crypto: ecdh - move curve_id of ECDH from the key to algorithm name
Mert Seftali (1):
iio: accel: dmard09: Implement IIO_CHAN_INFO_SCALE
Miaoqian Lin (1):
iommu/arm-smmu: Add missing pm_runtime_disable() in qcom_iommu_device_probe
Michael Bommarito (5):
NFSD: restart ssc_expire_umount walk after dropping nfsd_ssc_lock
ceph: bound xattr value length in __build_xattrs()
lockd: pin next file across nlm_inspect_file lock-drop
HID: roccat: bound device-supplied profile index
usb: gadget: configfs: fix out-of-bounds read of qw_sign
Michael S. Tsirkin (1):
virtio_balloon: disable indirect descriptors
Michael Walle (1):
powerpc/configs: enable CONFIG_RAS to fix EDAC support
Michal Koutný (1):
netfilter: xt_cgroup: Make it independent from net_cls
Mike Christie (6):
scsi: qla2xxx: Drop TARGET_SCF_LOOKUP_LUN_FROM_TAG
scsi: target: Remove TARGET_SCF_LOOKUP_LUN_FROM_TAG
scsi: qla2xxx: Move sess cmd list/lock to driver
scsi: target: core: Rename transport_init_se_cmd()
scsi: target: core: Break up target_submit_cmd_map_sgls()
scsi: target: srpt: Convert to new submission API
Mike Snitzer (1):
NFSD: remove flawed WARN_ON_ONCE from nfsd_mode_check
Mikko Perttunen (2):
gpu: host1x: Fix offset calculation in trace_write_gather
gpu: host1x: Avoid stack over-read in debug output helpers
Mikulas Patocka (2):
dm-stats: fix a crash if allocation of per-cpu data fails
dm: fix resume-vs-remove race
Min zhang (1):
clk: hisilicon: reset: Use devm_kzalloc to initialize hisi_reset_controller
Mohamad Raizudeen (1):
PCI: Fix 32-bit config write in Intel PCH Root Port MPC ACS quirk
Mohammed EL Kadiri (2):
media: venus: fix payload size returned by parse_caps() and parse_alloc_mode()
media: venus: fix payload size calculation in parse_raw_formats()
Muhammad Bilal (1):
staging: rtl8723bs: fix OOB read in rtw_action_frame_parse()
Muhammad Usama Anjum (1):
selftests/arm64: Treat KSM merge_across_nodes as optional
Mukesh Ojha (6):
iommu/qcom: Fix inverted fault report check in qcom_iommu_fault()
remoteproc: Use unbounded workqueue for recovery work
remoteproc: Move resource table data structure to its own header
remoteproc: use rsc_table_for_each_entry() in rproc_handle_resources()
remoteproc: fix OOB read via signed offset in rsc_table_for_each_entry()
firmware_loader: do not queue completed sysfs fallback requests
Myeonghun Pak (5):
usb: gadget: snps_udc_plat: clean up PHY on probe deferral
fbdev: uvesafb: unregister connector callback on init failure
tpm: tpm_i2c_nuvoton: disable IRQ on wait timeout
char: xilinx_hwicap: unregister class on init errors
clk: palmas: Manage external-control prepare with devm
Naman Jain (1):
PCI: hv: Set irq_retrigger callback for the Hyper-V PCI MSI irqchip
Namhyung Kim (1):
perf stat: Clear screen only if output file is a tty
Naveen Kumar Chaudhary (1):
locking/lockdep: Fix NULL pointer dereference in __lock_set_class()
Neill Kapron (1):
usb: gadget: f_fs: Prevent deadlock during ep0 read loop
Nguyen Dinh Phi (1):
vsock: use sock_error() to consume sk_err after a failed connect
Nikhil Gautam (2):
iio: light: gp2ap002: Fix unbalanced runtime PM on repeated event writes
iio: light: gp2ap002: re-enable irq if runtime suspend fails
Niklas Cassel (1):
ata: libata-scsi: fix DSM TRIM for sector sizes larger than 2048 bytes
Nikolay Aleksandrov (1):
net: bridge: vlan: fix inverted default vlan notification
Nilesh Javali (19):
scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers
scsi: qla2xxx: Bound i2c->length in I2C bsg handlers
scsi: qla2xxx: Fix Name Server logout detection on FWI2 adapters
scsi: qla2xxx: Hold vport reference in qla24xx_report_id_acquisition()
scsi: qla2xxx: Check entry_status in qla24xx_modify_vp_config()
scsi: qla2xxx: Bound image count in qla2x00_update_fru_versions()
scsi: qla2xxx: Clamp MSI-X derived queue counts to avoid truncation
scsi: qla2xxx: Serialize flash version read in reset handler
scsi: qla2xxx: Fix cs84xx use-after-free on host teardown
scsi: qla2xxx: Fix FCE trace use-after-free during firmware dump
scsi: qla2xxx: Zero mailbox struct in qla2x00_get_firmware_state()
scsi: qla2xxx: Fix FCE trace enable parsing in debugfs
scsi: qla2xxx: Don't query firmware state while chip is down
scsi: qla2xxx: Avoid double completion in async IOCB timeout
scsi: qla2xxx: Bound rsp_info_len to avoid OOB sense-data read
scsi: qla2xxx: Avoid req_q_map double-read in qla2x00_error_entry()
scsi: qla2xxx: Drop vport reference under lock in report ID acquisition
scsi: qla2xxx: Use coherent DMA buffer for D_Port diagnostics
scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak
Norbert Szetei (4):
RDMA/ucma: Lock the handler in ucma_set_ib_path()
openvswitch: only skb_tx_error() a packet we are about to drop
net: skbuff: don't touch shared zerocopy state in skb_tx_error()
net: skbuff: don't skb_tx_error() the source skb in skb_zerocopy()
Ondrej Jirman (1):
arm64: dts: allwinner: sun50i-a64-pinephone: Fix mpu6050 mount matrix
Pablo Neira Ayuso (3):
netfilter: nf_tables: make nft_object rhltable per table
netfilter: nf_tables: move hardware offload step after building the chain blob
netfilter: x_tables: replace pr_{info,err}() by pr_info_ratelimited()
Pauli Virtanen (1):
Bluetooth: 6lowpan: fix cyclic locking warning on netdev unregister
Pavel Zhigulin (1):
speakup: keyhelp: guard letter_offsets possible out-of-range indexing
Pei Xiao (1):
parisc: eisa: Fix infinite loop when parsing invalid IRQ value
Pengpeng Hou (11):
eCryptfs: bound the packet-length peek to the user buffer
mtd: afs: validate v2 image info bounds
mtd: rawnand: validate ONFI extended parameter page sections
Input: aiptek - validate raw macro indices before updating state
crypto: sa2ul - stop probe if context pool creation fails
pmdomain: bcm: bcm2835: handle genpd provider registration errors
misc: ad525x_dpot: use driver core groups for sysfs files
ACPI: processor: validate MADT IOAPIC entry bounds
thermal: intel: int3400: clean up ODVP on probe failures
mfd: rave-sp: validate received frame payload lengths
mfd: iqs62x: Reject zero-length firmware records
Petr Vaganov (1):
scsi: core: Fill in DMA padding bytes in scsi_alloc_sgtables()
Philipp Borgers (1):
mac80211: add ieee80211_is_tx_data helper function
Philipp Weber (1):
HID: core: quiesce input in hid_hw_stop() to prevent use-after-free
Phillip Lougher (1):
Squashfs: check block offset is not negative
Pranjal Shrivastava (1):
iommu/arm-smmu-v3: Convert to use atomic poll timeout
Pu Lehui (1):
bpf: Fix potential UAF in bpf_netns_link_update_prog
Qing Ming (1):
mpls: reload header after pskb_may_pull()
Qingfang Deng (1):
pppox: drain queued packets on channel handoff
Rafael J. Wysocki (4):
cpufreq: intel_pstate: Simplify intel_cpufreq_update_pstate()
cpufreq: schedutil: Add util to struct sg_cpu
ACPI: processor: idle: Expand _LPI package sanity checks
thermal: int340x_thermal: Consolidate priv->data_vault checks
Rafael Mendonca (1):
scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts()
Ran Hongyun (1):
UBI: fix two issues in the ubi.mtd MODULE_PARM_DESC
Ricardo Neri (1):
sched/fair: Check CPU capacity before comparing group types during load balance
Rob Herring (1):
arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru
Robbie Ko (1):
nfsd: reject out-of-range useconds in NFSv2 SETATTR/CREATE
Ronald Claveau (1):
PCI: meson: Fix GPIO state while requesting PERST#
Rosen Penev (4):
ARM: dts: helios4: add vcc-supply to EEPROM
ARM: dts: helios4: add vcc-supply to GPIO expander
ARM: dts: helios4: add SATA regulator supplies
ASoC: xilinx: formatter_pcm: fix stream_data leak on open error
Runyu Xiao (4):
fbdev: omapfb: panel-dsi-cm: initialize lock before registering display
scsi: pm8001: Use rollback index when freeing MSI-X vectors
ASoC: cs35l33: drain threaded IRQ before runtime suspend
ASoC: cs35l34: drain threaded IRQ before runtime suspend
Ruoyu Wang (9):
net: openvswitch: fix nf_connlabels leak in ovs_ct_init
media: cec: Serialize exclusive follower delivery
media: cobalt: Avoid freeing ALSA private data twice
mtd: mtdswap: Avoid freeing registered blktrans device twice
NFSv4: remove callback IDR entry on client allocation failure
bonding: initialize err for empty target lists
net: bridge: Reject descending VLAN tunnel ranges
tpm: st33zp24: Return zero on status read failure
tpm: st33zp24: Validate locality read result
Russ Weight (1):
firmware_loader: Check fw_state_is_done in loading_store
Ryusuke Konishi (1):
nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after truncation
Sabrina Dubroca (1):
espintcp: remove encap socket caching to avoid reference leak
Sajal Gupta (1):
md/raid5-ppl: fix use-after-free in ppl_do_flush()
Sang-Heon Jeon (2):
iio: light: isl29028: return zero in write_raw() on success
iio: light: tsl2583: return zero in write_raw() on success
Sanjay Chitroda (2):
iio: temperature: hid-sensor-temperature: switch to non-devm iio_device_register()
iio: orientation: hid-sensor-rotation: Avoid race between callback setup and device exposure
Sean Rhodes (1):
misc: rtsx_usb: avoid USB I/O in runtime autosuspend
Sean Young (2):
media: keymaps: Remove obsolete RC_MAP_RC5_TV keymap define
media: keymaps: Remove obsolete RC_MAP_HAUPPAUGE_NEW keymap define
Sebastian Andrzej Siewior (2):
scsi: target: core: Replace in_interrupt() usage in target_submit_cmd_map_sgls()
hsr: Use a single struct for self_node.
Sebastian Urban (1):
Bluetooth: compute LE flow credits based on recvbuf space
Sechang Lim (1):
tcp: clear sock_ops cb flags before force-closing a child socket
Seiji Nishikawa (1):
ipmi: si: Fix NULL pointer dereference after failed registration
Sergei Litvin (1):
scripts/tags.sh: Prevent binary files appearing in cscope.files
Serhat Kumral (1):
RDMA/ucma: Allow path records to exactly fit the output buffer
Shin'ichiro Kawasaki (1):
nvmet-rdma: factor out response resource cleanup
Shivam Kumar (2):
nvmet-tcp: fix out-of-bounds write when receiving an over-long PDU
nvmet-tcp: reject unsolicited H2CData PDUs
Shuangpeng Bai (3):
media: usbtv: keep device alive while ALSA card exists
media: go7007: defer the ALSA v4l2 put until card release RDMA/siw: Fix use-after-free in siw_accept()
Simon Glass (1):
pinctrl: rockchip: Reset the pin count when recalculating SoC data
Slawomir Stepien (1):
wifi: zd1211rw: reject secondary interfaces to prevent conflicts
Sonali Pradhan (1):
usb: gadget: u_audio: Fix use-after-free on sound card disconnect
Srinivas Kandagatla (5):
soundwire: add static port mapping support
soundwire: qcom: update port map allocation bit mask
soundwire: qcom: add static port map support
soundwire: qcom: Fix port exhaustion check in stream_alloc_ports
rpmsg: glink: remove duplicate code for rpmsg device remove
Stanislav Kinsburskii (1):
lib/test_hmm: fail dmirror_fault() when the mirrored mm is gone
Stanislaw Gruszka (1):
wifi: rtl818x: initialize eeprom_93cx6 struct to zero
Stefan Haberland (3):
s390/dasd: Do not complete a failed ESE read as successful s390/dasd: Guard sysfs discipline callbacks against unallocated private data s390/dasd: Propagate partial completion length across ERP recovery
Stephan Gerhold (2):
clk: qcom: gcc-msm8916: Fix enable_reg for gcc_blsp1_sleep_clk
clk: qcom: gcc-msm8939: Fix enable_reg for gcc_blsp1_sleep_clk
Steven Rostedt (1):
tracing/mmiotrace: Remove reference to unused per CPU data pointer
Sujal Tuladhar (1):
scsi: target: iscsi: Reserve a terminator byte for the login payload
Suman Anna (2):
remoteproc: Add a rproc_set_firmware() API
remoteproc: Fix various kernel-doc warnings
Sunil Khatri (1):
drm/amdgpu: use AMDGPU_GPU_PAGE_SHIFT instead of PAGE_SHIFT
Suraj Gupta (1):
dmaengine: xilinx_dma: Fix channel idle state management in AXIDMA and MCDMA interrupt handlers
Sven Eckelmann (4):
batman-adv: dat: avoid unaligned fault in IP extraction
batman-adv: bla: fix freeing of claims on meshif deletion
batman-adv: bla: prevent CRC corruptions after claim flush
batman-adv: bla: avoid CRC corruption due to parallel claim add
Takashi Iwai (6):
ALSA: aloop: Fix racy access at PCM trigger
ALSA: mpu401: Check card index validity at probe
ALSA: mts64: Check card index validity at probe
ALSA: portman2x4: Check card index validity at probe
ALSA: serial-u16550: Check card index validity at probe
ALSA: pcm: Fix race between non-atomic ops and trigger-start
TanZheng (1):
RDMA/srpt: Fix srpt_alloc_rw_ctxs() unwind counters
Tang Bin (1):
crypto: sa2ul - Use the defined variable to clean code
Tanushree Shah (2):
perf trace-event: Fix buffer overflow in read_string() perf trace-event: Fix integer truncation in do_read() and skip()
Tao Cui (3):
block/blk-stat: drain per-cpu callback stats over possible CPUs block/blk-iocost: collect per-cpu latency stats over possible CPUs block/kyber-iosched: flush per-cpu latency buckets over possible CPUs
Tetsuo Handa (1):
RDMA/core: Avoid flush_workqueue(system_unbound_wq) usage
Thadeu Lima de Souza Cascardo (1):
drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used
Thomas Bogendoerfer (1):
MIPS: ptrace: Fix syscall skipping via PTRACE_SYSCALL
Thomas Gleixner (3):
timer: Keep debugobjects state consistent in migrate_timer_list()
highmem: Provide generic variant of kmap_atomic* mm/highmem: Take kmap_high_get() properly into account
Thomas Weißschuh (1):
y2038: uapi: Use 64-bit __kernel_old_timespec::tv_nsec on x32
Thomas Zimmermann (1):
drm/hibmc: Fix list of formats on the primary plane
Thorsten Blum (4):
crypto: atmel-ecc - replace min_t with min
crypto: atmel-ecc - clean up and improve ECDH comments
crypto: atmel-ecc - reject hardware ECDH without a public key
apparmor: Replace sprintf/strcpy with scnprintf/strscpy in aa_policy_init
Tien Sung Ang (1):
fpga: stratix10-soc: Fix SVC mailbox handling during reconfiguration
Timur Kristóf (3):
drm/amdgpu/gfx6: Fixup emit_cntxcntl() drm/amdgpu/gfx6: Fixup emitting SWITCH_BUFFER packets drm/amdgpu/gfx6: Use PFP on the compute queues too
Titouan Ameline de Cadeville (1):
firmware: google: Add bounds checks in coreboot_table_populate()
Tomáš Macholda (1):
arm64: dts: turris-mox: fix usb3 phys
Tristan Madani (1):
RDMA/rxe: Fix TOCTOU heap overflow in get_srq_wqe
Trond Myklebust (2):
NFS: Always clear an invalid mapping when attempting a buffered write NFSv4/pnfs: Clean up layout get on open
Tzung-Bi Shih (2):
platform/chrome: sensorhub: Fix dropped timestamp events and log spam platform/chrome: sensorhub: Fix memory overread in ring handler
Uday Khare (2):
media: video-i2c: fix kthread error pointer left in kthread_vid_cap on failure
remoteproc: qcom: Fix glink->node reference leak in qcom_add_glink_subdev
Uwe Kleine-König (7):
driver core: platform: reorder functions
driver core: platform: change logic implementing platform_driver_probe driver core: platform: use bus_type functions
driver core: platform: Emit a warning if a remove callback returned non-zero
platform: Provide a remove callback that returns no value
misc: ad525x_dpot: Make ad_dpot_remove() return void
power: supply: sc2731_charger: Convert to platform remove callback returning void
Vaibhav Nagare (1):
qede: Fix NULL pointer dereference in TPA fragment processing
Valentin Kindschi (1):
Bluetooth: hci_event: clear HCI_LE_ADV only on a created connection
Valentin Schneider (1):
sched/fair: Introduce a CPU capacity comparison helper
Valery Borovsky (3):
media: airspy: use vb2_video_unregister_device() on disconnect to fix NULL deref
media: rtl2832_sdr: use vb2_video_unregister_device() on remove to fix DMA leak
media: rtl2832_sdr: release URBs and stream buffers on start_streaming() failure
Venkateswara Naralasetty (1):
ath11k: add trace log support
Victor Nogueira (1):
net/sched: sch_teql: restore skb->dev on the slave failure path
Vincent Mailhol (1):
lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen()
Vishnu Santhosh (1):
rpmsg: glink: fix deadlock in endpoint destroy during driver detach
Vladimir Murzin (1):
arm64: hibernate: Restore DAIF state on error
Vladimir Zapolskiy (4):
dmaengine: mediatek: mtk-uart-apdma: Return -ENOMEM on memory allocation failure
dmaengine: hisilicon: Return -ENOMEM on dynamic memory allocation in probe iommu/msm: Return -ENOMEM on memory allocation failure in probe
clk: qcom: Return expected ENOMEM error on dynamic allocation failure
Wang Liang (1):
net: fix NULL pointer dereference in l3mdev_l3_rcv
Wei Jie Law (1):
HID: rmi: fix OOB access with undersized RMI reports
Wei Wang (2):
iommu/amd: Prevent SB IOAPIC from overriding IVRS validation errors iommu/amd: Fix false positive in SB IOAPIC IVRS validation
Weigang He (3):
media: cec: stm32: prevent out-of-bounds write on RX overflow
soc: samsung: exynos-pmu: fix of_node refcount leak in exynos_get_pmu_regmap()
ARM: imx: fix device_node refcount leak in imx_src_init()
Weiming Shi (3):
sctp: fix NULL deref on untransmitted RECONF completion
xdp: fix zero-copy frame layout
SUNRPC: check rpc_sockaddr2uaddr() return value in rpcb_register_inet4/6
WenTao Liang (3):
regulator: as3722_get_regulator_dt_data: fix premature of_node_put leaving dangling of_node pointer
regulator: max8998_pmic_dt_parse_pdata: of_node_put on reg_np after ownership transferred to rdata
ASoC: samsung: aries_audio_probe: double of_node_put due to direct assignment without of_node_get
Wenjie Qi (1):
f2fs: return symlink writeback errors
Wentao Liang (1):
drm/sun4i: fix refcount leak in sun4i_backend_init_sat()
Wolfram Sang (2):
hwspinlock: propagate errno when registering single lock
ACPI: move from strlcpy() with unused retval to strscpy()
Xiang Mei (4):
bridge: mrp: reject zero test interval to avoid OOM panic
xfrm6: fix out-of-bounds write in xfrm6_input_addr() when secpath is full vfio/pci: clear vdev->msi_perm after freeing it on init failure
net: qualcomm: rmnet: restore skb->dev on deaggregated frames
Xie Yuanbin (1):
ARM: 9485/1: mm: acquire mmap write lock around show_pte() for user faults
Xingrui Li (1):
HID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature
Xiubo Li (1):
ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock
Xu Rao (3):
HID: roccat: free buffered reports when destroying device
mtd: mtdoops: free page bitmap when the backing MTD is removed
ALSA: hda: Fix connection list comparison in proc output
Xu Yang (1):
usb: gadget: f_uac1_legacy: remove broken string configfs attributes
Yang Li (1):
ubi: Simplify bool conversion
Yehyeong Lee (8):
nvme: zero the discard fallback page
nvme-tcp: do not accept C2HData based on blk_rq_payload_bytes() alone
nvme-tcp: check the data direction of a C2HData PDU
IB/isert: reject PDUs declaring more data than was received IB/isert: reject login PDUs declaring more data than was received RDMA/srp: fix heap information leak on a truncated SRP_CRED_REQ IB/isert: delay the final Login Response until the session is registered IB/isert: post the full-feature receive buffers after session registration
Yemu Lu (1):
fat: restore original value when fat_ent_write failed
Yi Ding (2):
media: cec: meson: ao-cec-g12a: name the CEC core regmap to avoid debugfs clash
rtc: pcf8563: fix clock provider leak on unbind
Yichong Chen (10):
ecryptfs: fix tag 11 packet exact-fit size check
ecryptfs: hold msg ctx list lock when cleaning daemon queue
ecryptfs: pass packet set buffer size to parser
ecryptfs: reject too-small tag 70 packets
ecryptfs: release message context on send failure
ecryptfs: show filename encryption options
isofs: release zisofs block pointer buffer head
fanotify: report full event length for FIONREAD
fat: release buffer head after rebuilding parent
hugetlbfs: release subpool on fill_super failure
Yifei Gao (1):
orangefs: fix double-free of trailer_buf on readdir copy failure
Yinhao Hu (1):
nfc: pn533: hold a reference to the request skb during send_frame
Yonatan Nachum (1):
RDMA/efa: Fix PBL chunk length computation
Youngjae Kwon (1):
fsnotify: Fix stale object mask after concurrent mark updates
Yousef Alhouseen (2):
ipmi: ipmb: validate write message length
HID: synchronize input before cleaning up a failed probe
Yuan Chen (1):
bpftool: Fix double close in map dump
Yuanshen Cao (1):
iio: light: tsl2772: fix ALS calibscale readback
Yuho Choi (8):
bus: ti-sysc: Fix /chosen node reference leak
clocksource: Unregister subsystem on device registration failure
hwrng: ks-sa - Fix runtime PM cleanup on registration failure
uio: Fix stale info pointer in failed registration path driver core: soc: Unregister bus on early device registration failure
ubi: Fix rollback for explicit UBI device numbers
xenbus: Unregister reboot notifier on init failure clocksource/drivers/armada: Unwind timer clock on init failure
Yun Zhou (2):
usb: gadget: f_tcm: fix deadlock in usbg_make_tpg()
ext4: skip extra isize expansion during mount to prevent deadlock
Yuqi Xu (1):
openvswitch: Fix CT limit teardown use-after-free
Yuvraj Singh Chauhan (1):
staging: octeon: fix free_irq dev_id mismatch in cvm_oct_rx_shutdown
Yuyang Huang (1):
ipv6: use RCU iterator to dump route exceptions
Zack Rusin (1):
drm/vmwgfx: drop dma_buf reference on foreign-fd prime import
Zhan Xusheng (3):
ocfs2: fix readdir position truncation on 32-bit kernels
udf: Fix i_lenExtents truncation on 32-bit kernels
f2fs: fix i_size when pinned fallocate partially fails
Zhang Chen (1):
Bluetooth: L2CAP: Fix send LE flow credits in ACL link
ZhaoLong Wang (1):
ubi: fastmap: Add fastmap control support for module parameter
Zhengchuan Liang (1):
net: af_key: zero aligned sockaddr tail in PF_KEY exports
Zhenghang Xiao (1):
nfc: nci: fix double completion race in nci_data_exchange_complete
Zhihao Cheng (10):
ubi: fastmap: Fix missed ec updating after erasing old fastmap data block
ubi: fastmap: erase_block: Get erase counter from wl_entry rather than flash
ubi: fastmap: Allocate memory with GFP_NOFS in ubi_update_fastmap
ubi: Replace erase_block() with sync_erase()
UBI: Preserve torture flag when rescheduling failed erasures
UBI: fastmap: Pass to_be_tortured when reusing old fastmap PEBs
ubi: fastmap: Add fastmap control support for 'UBI_IOCATT' ioctl
ubi: fastmap: Wait until there are enough free PEBs before filling pools
ubi: fastmap: Fix lapsed wear leveling for first 64 PEBs
ubi: fastmap: Add module parameter to control reserving filling pool PEBs
Zhiling Zou (6):
ip6_tunnel: use skb_cow_head() in ip6_tnl_xmit()
ip6_gre: fix hardware header length for NBMA tunnels
orangefs: skip leading spaces before parsing client debug masks
net: cap advertised IP tunnel headroom
seg6: reset IP6CB after IPv6 decapsulation
batman-adv: fix stale receive device on merged fragments
Zhongqiu Han (1):
cpufreq: schedutil: Fix self-contradictory comment in sugov_iowait_apply()
Zhu Yanjun (1):
RDMA/cma: Fix WARNING in res_to_rt
Zide Chen (1):
perf/x86/intel/uncore: Keep PCI PMUs working when MMIO/MSR setup fails
Zijun Hu (1):
Bluetooth: btusb: Fix BD_ADDR byte order in btusb_set_bdaddr_wcn6855()
bui duc phuc (3):
ASoC: pxa: Use devm_clk_get_optional() for extclk clock
net: ethernet: sun4i-emac: Fix IRQ error handling
net: fec: only stop PTP if it was initialized
caina (1):
Revert "irqchip/mbigen: Fix mbigen node address layout"
liyouhong (1):
dm-era: fix shadowed superblock leak on take-snap failure
longlong yan (1):
clk/x86: pmc_atom: add kasprintf return value check
zhouminqiang (1):
mtd: part: reject MTDPART_OFS_RETAIN in mtd_add_partition()
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/configfs-usb-gadget-uac1_legacy +0 -3
@@ -5,8 +5,5 @@ Description: The attributes: audio_buf_size - audio buffer size - fn_cap - capture pcm device file name - fn_cntl - control device file name - fn_play - playback pcm device file name req_buf_size - ISO OUT endpoint request buffer size req_count - ISO OUT endpoint request count
Documentation/usb/gadget-testing.rst +0 -3
@@ -695,9 +695,6 @@ The uac1 function provides these attributes in its function directory: =============== ==================================== audio_buf_size audio buffer size - fn_cap capture pcm device file name - fn_cntl control device file name - fn_play playback pcm device file name req_buf_size ISO OUT endpoint request buffer size req_count ISO OUT endpoint request count =============== ====================================
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 269 +SUBLEVEL = 270 EXTRAVERSION = NAME = Dare mighty things
arch/alpha/kernel/pci-sysfs.c +3 -3
@@ -360,17 +360,17 @@ int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, size_t size)switch (size) {case 1 : -outb (port, val); +outb (val, port);return 1 ;case 2 :if (port &1 )return -EINVAL ; -outw (port, val); +outw (val, port);return 2 ;case 4 :if (port &3 )return -EINVAL ; -outl (port, val); +outl (val, port);return 4 ; }return -EINVAL ;
arch/alpha/kernel/sys_marvel.c +12 -13
@@ -263,6 +263,18 @@ init_io7_irqs(struct io7 *io7,*/ printk (" Interrupts reported to CPU at PE %u\n" , boot_cpuid); +/* Set up the lsi irqs. */ +for (i =0 ; i <128 ; ++i) { +irq_set_chip_and_handler (base + i, lsi_ops, handle_level_irq); +irq_set_status_flags (base + i,IRQ_LEVEL ); + } + +/* Set up the msi irqs. */ +for (i =128 ; i < (128 +512 ); ++i) { +irq_set_chip_and_handler (base + i, msi_ops, handle_level_irq); +irq_set_status_flags (base + i,IRQ_LEVEL ); + } +raw_spin_lock (&io7->irq_lock);/* set up the error irqs */
@@ -272,12 +284,6 @@ init_io7_irqs(struct io7 *io7,io7_redirect_irq (io7, &io7->csrs->STV_CTL.csr, boot_cpuid);io7_redirect_irq (io7, &io7->csrs->HEI_CTL.csr, boot_cpuid); -/* Set up the lsi irqs. */ -for (i =0 ; i <128 ; ++i) { -irq_set_chip_and_handler (base + i, lsi_ops, handle_level_irq); -irq_set_status_flags (i,IRQ_LEVEL ); - } -/* Disable the implemented irqs in hardware. */ for (i =0 ; i <0x60 ; ++i)init_one_io7_lsi (io7, i, boot_cpuid);
@@ -285,13 +291,6 @@ init_io7_irqs(struct io7 *io7,init_one_io7_lsi (io7,0x74 , boot_cpuid);init_one_io7_lsi (io7,0x75 , boot_cpuid); - -/* Set up the msi irqs. */ -for (i =128 ; i < (128 +512 ); ++i) { -irq_set_chip_and_handler (base + i, msi_ops, handle_level_irq); -irq_set_status_flags (i,IRQ_LEVEL ); - } -for (i =0 ; i <16 ; ++i)init_one_io7_msi (io7, i, boot_cpuid);
arch/arm/boot/dts/armada-388-helios4.dts +13 -0
@@ -169,6 +169,7 @@ expander0: gpio-expander@20 { gpio-controller; #gpio-cells = <2>; reg = <0x20>; + vcc-supply = <®_3p3v>; pinctrl-names = "default"; pinctrl-0 = <&pca0_pins>; interrupt-parent = <&gpio0>;
@@ -201,6 +202,10 @@ temp_sensor: temp@4c { reg = <0x4c>; vcc-supply = <®_3p3v>; }; + + eeprom@53 { + vcc-supply = <®_3p3v>; + }; }; i2c@11100 {
@@ -217,13 +222,17 @@ sata@a8000 { status = "okay"; #address-cells = <1>; #size-cells = <0>; + ahci-supply = <®_3p3v>; + phy-supply = <®_3p3v>; sata0: sata-port@0 { reg = <0>; + target-supply = <®_5p0v_hdd>; }; sata1: sata-port@1 { reg = <1>; + target-supply = <®_5p0v_hdd>; }; };
@@ -231,13 +240,17 @@ sata@e0000 { status = "okay"; #address-cells = <1>; #size-cells = <0>; + ahci-supply = <®_3p3v>; + phy-supply = <®_3p3v>; sata2: sata-port@0 { reg = <0>; + target-supply = <®_5p0v_hdd>; }; sata3: sata-port@1 { reg = <1>; + target-supply = <®_5p0v_hdd>; }; };
arch/arm/boot/dts/sun4i-a10.dtsi +1 -1
@@ -186,7 +186,7 @@ de: display-engine { pmu { compatible = "arm,cortex-a8-pmu"; - interrupts = <3>; + interrupts = <66>; }; reserved-memory {
arch/arm/mach-imx/src.c +1 -0
@@ -115,6 +115,7 @@ void __init imx_src_init(void)if (!np)return ; src_base =of_iomap (np,0 ); +of_node_put (np);WARN_ON (!src_base); imx_reset_controller.of_node = np;
arch/arm/mach-lpc32xx/common.c +1 -4
@@ -106,7 +106,7 @@ void __init lpc32xx_map_io(void)iotable_init (lpc32xx_io_desc,ARRAY_SIZE (lpc32xx_io_desc)); } -static int __init lpc32xx_check_uid (void ) +void __init lpc32xx_check_uid (void ) {u32 uid[4 ];
@@ -119,7 +119,4 @@ static int __init lpc32xx_check_uid(void) system_serial_low = uid[0 ]; system_serial_high = uid[1 ]; } - -return 1 ; } -arch_initcall (lpc32xx_check_uid);
arch/arm/mach-lpc32xx/common.h +2 -0
@@ -16,6 +16,8 @@* Other arch specific structures and functions */ extern void __init lpc32xx_map_io (void ); +extern void __init lpc32xx_check_uid (void ); +extern void __init lpc32xx_pm_init (void );extern void __init lpc32xx_serial_init (void );/*
arch/arm/mach-lpc32xx/phy3250.c +2 -0
@@ -71,6 +71,8 @@ static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = {static void __init lpc3250_machine_init (void ) { +lpc32xx_check_uid (); +lpc32xx_pm_init ();lpc32xx_serial_init ();of_platform_default_populate (NULL , lpc32xx_auxdata_lookup,NULL );
arch/arm/mach-lpc32xx/pm.c +1 -4
@@ -122,7 +122,7 @@ static const struct platform_suspend_ops lpc32xx_pm_ops = {#define EMC_DYN_MEM_CTRL_OFS 0x20#define EMC_SRMMC (1 << 3)#define EMC_CTRL_REG io_p2v(LPC32XX_EMC_BASE + EMC_DYN_MEM_CTRL_OFS) -static int __init lpc32xx_pm_init (void ) +void __init lpc32xx_pm_init (void ) {/* * Setup SDRAM self-refresh clock to automatically disable o
@@ -131,7 +131,4 @@ static int __init lpc32xx_pm_init(void)__raw_writel (__raw_readl (EMC_CTRL_REG ) |EMC_SRMMC ,EMC_CTRL_REG );suspend_set_ops (&lpc32xx_pm_ops); - -return 0 ; } -arch_initcall (lpc32xx_pm_init);
arch/arm/mm/fault.c +14 -2
@@ -154,7 +154,11 @@ __do_user_fault(unsigned long addr, unsigned int fsr, unsigned int sig,pr_err ("8<--- cut here ---\n" );pr_err ("%s: unhandled page fault (%d) at 0x%08lx, code 0x%03x\n" , tsk->comm, sig, addr, fsr); -show_pte (KERN_ERR , tsk->mm, addr); +if (likely (addr <TASK_SIZE )) { +mmap_write_lock (tsk->mm); +show_pte (KERN_ERR , tsk->mm, addr); +mmap_write_unlock (tsk->mm); + } show_regs(regs); }#endif
@@ -532,7 +536,15 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)pr_alert ("8<--- cut here ---\n" );pr_alert ("Unhandled fault: %s (0x%03x) at 0x%08lx\n" , inf->name, fsr, addr); -show_pte (KERN_ALERT , current->mm, addr); +if (likely (user_mode (regs))) { +if (addr <TASK_SIZE ) { +mmap_write_lock (current->mm); +show_pte (KERN_ALERT , current->mm, addr); +mmap_write_unlock (current->mm); + } + }else { +show_pte (KERN_ALERT , current->mm, addr); + }arm_notify_die ("" , regs, inf->sig, inf->code, (void __user *)addr, fsr,0 );
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +2 -2
@@ -157,8 +157,8 @@ mpu6050@68 { interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */ vdd-supply = <®_dldo1>; vddio-supply = <®_dldo1>; - mount-matrix = "0", "1", "0", - "-1", "0", "0", + mount-matrix = "0", "-1", "0", + "1", "0", "0", "0", "0", "1"; }; };
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts +2 -1
@@ -290,7 +290,8 @@ connector { &usb3 { status = "okay"; - phys = <&comphy2 0>; + phys = <&usb2_utmi_otg_phy>, <&comphy2 0>; + phy-names = "usb2-phy", "usb3-phy"; }; &mdio {
arch/arm64/boot/dts/rockchip/Makefile +1 -0
@@ -20,6 +20,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ficus.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-bob.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-dumo.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-inx.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-scarlet-kd.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-hugsun-x99.dtb
arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi +2 -4
@@ -327,10 +327,8 @@ wacky_spi_audio: spi2@0 { &pci_rootport { mvl_wifi: wifi@0,0 { compatible = "pci1b4b,2b42"; - reg = <0x83010000 0x0 0x00000000 0x0 0x00100000 - 0x83010000 0x0 0x00100000 0x0 0x00100000>; - interrupt-parent = <&gpio0>; - interrupts = <8 IRQ_TYPE_LEVEL_LOW>; + reg = <0x0000 0x0 0x0 0x0 0x0>; + interrupts-extended = <&gpio0 8 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&wlan_host_wake_l>; wakeup-source;
arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts new file +41 -0
41 lines not on this page · raw message
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi +1 -0
@@ -456,6 +456,7 @@ pci_rootport: pcie@0,0 { #address-cells = <3>; #size-cells = <2>; ranges; + device_type = "pci"; }; };
arch/arm64/kernel/hibernate.c +15 -1
@@ -414,8 +414,10 @@ int swsusp_arch_suspend(void)crash_prepare_suspend (); ret =swsusp_mte_save_tags (); -if (ret) +if (ret) { +local_daif_restore (flags);return ret; + } sleep_cpu =smp_processor_id (); ret =swsusp_save ();
@@ -706,9 +708,21 @@ int swsusp_arch_resume(void)__hyp_set_vectors (el2_vectors); } +/* +* It is necessary to mask all DAIF exceptions here as: +* +* - The copy of swsusp_arch_suspend_exit() in the hibernation +* text cannot handle taking any exceptions. +* +* - The suspended kernel masked all DAIF exceptions in +* swsusp_arch_resume(), and expects to be re-entered in the +* same state : with all DAIF exceptions masked. +*/ +local_daif_save ();hibernate_exit (virt_to_phys (tmp_pg_dir), resume_hdr.ttbr1_el1, resume_hdr.reenter_kernel, restore_pblist, resume_hdr.__hyp_stub_vectors,virt_to_phys (zero_page)); +unreachable ();return 0 ; }
arch/csky/kernel/entry.S +3 -3
@@ -196,11 +196,11 @@ csky_syscall_trace: ldw a2, (sp, LSAVE_A2) ldw a3, (sp, LSAVE_A3) #if defined(__CSKYABIV2__) - subi sp, 8 ldw r9, (sp, LSAVE_A4) + ldw r10, (sp, LSAVE_A5) + subi sp, 8 stw r9, (sp, 0x0) - ldw r9, (sp, LSAVE_A5) - stw r9, (sp, 0x4) + stw r10, (sp, 0x4) jsr syscallid /* Do system call */ addi sp, 8 #else
arch/m68k/kernel/traps.c +2 -2
@@ -941,8 +941,8 @@ void show_stack(struct task_struct *task, unsigned long *stack,int i;if (!stack) { -if (task) - stack = (unsigned long *)task->thread.esp0; +if (task && task != current) + stack = (unsigned long *)task->thread.ksp;else stack = (unsigned long *)&stack; }
arch/mips/kernel/ptrace.c +5 -1
@@ -1312,8 +1312,12 @@ long arch_ptrace(struct task_struct *child, long request,*/ asmlinkage long syscall_trace_enter (struct pt_regs *regs) { +long syscall; +user_exit (); + syscall =current_thread_info ()->syscall; +if (test_thread_flag (TIF_SYSCALL_TRACE )) {if (tracehook_report_syscall_entry (regs))return -1 ;
@@ -1349,7 +1353,7 @@ asmlinkage long syscall_trace_enter(struct pt_regs *regs)* Negative syscall numbers are mistaken for rejected syscalls, but * won't have had the return value set appropriately, so we do so now. */ -if (current_thread_info ()->syscall <0 ) +if (syscall <0 )syscall_set_return_value (current, regs, -ENOSYS ,0 );return current_thread_info ()->syscall; }
arch/openrisc/kernel/entry.S +39 -4
54 lines not on this page · raw message
arch/parisc/kernel/head.S +1 -0
@@ -104,6 +104,7 @@ $iodc_panic: or %r10,%r10,%r10 /* qemu idle sleep */ msg1: .ascii "Can't boot kernel which was built for PA8x00 CPUs on this machine.\r\n" msg1_end: + .align 4 $cpu_ok: #endif
arch/powerpc/configs/85xx-hw.config +1 -0
@@ -90,6 +90,7 @@ CONFIG_PPC_EPAPR_HV_BYTECHAN=y CONFIG_QE_GPIO=y CONFIG_QUICC_ENGINE=y CONFIG_RAPIDIO=y +CONFIG_RAS=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1307=y
arch/powerpc/kernel/smp.c +3 -0
@@ -270,6 +270,9 @@ void smp_muxed_ipi_set_message(int cpu, int msg)void smp_muxed_ipi_message_pass (int cpu,int msg) { +if (!smp_ops->cause_ipi) +return ; +smp_muxed_ipi_set_message (cpu, msg);/*
arch/powerpc/platforms/powermac/low_i2c.c +1 -1
@@ -1501,7 +1501,7 @@ static int __init pmac_i2c_create_platform_devices(void)if (bus->platform_dev ==NULL )return -ENOMEM ; bus->platform_dev->dev.platform_data = bus; - bus->platform_dev->dev.of_node = bus->busnode; + bus->platform_dev->dev.of_node =of_node_get (bus->busnode);platform_device_add (bus->platform_dev); }
arch/s390/kvm/guestdbg.c +6 -1
@@ -256,7 +256,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, ret =__import_wp_info (vcpu, &bp_data[i], &wp_info[nr_wp]);if (ret) - goto error; + goto error_wp; nr_wp++;break ;case KVM_HW_BP :
@@ -271,7 +271,12 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, vcpu->arch.guestdbg.hw_bp_info = bp_info; vcpu->arch.guestdbg.nr_hw_wp = nr_wp; vcpu->arch.guestdbg.hw_wp_info = wp_info; +kfree (bp_data);return 0 ; + +error_wp: +while (nr_wp--) +kfree (wp_info[nr_wp].old_data); error:kfree (bp_data);kfree (wp_info);
arch/s390/kvm/interrupt.c +1 -1
@@ -2857,7 +2857,7 @@ void kvm_s390_reinject_machine_check(struct kvm_vcpu *vcpu, struct mcck_volatile_info *mcck_info) {struct kvm_s390_interrupt_info inti; -struct kvm_s390_irq irq; +struct kvm_s390_irq irq = {};struct kvm_s390_mchk_info *mchk;union mci mci;__u64 cr14 =0 ;/* upper bits are not used */
arch/s390/kvm/kvm-s390.c +5 -2
@@ -2775,6 +2775,7 @@ void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu)trace_kvm_s390_destroy_vcpu (vcpu->vcpu_id);kvm_s390_clear_local_irqs (vcpu);kvm_clear_async_pf_completion_queue (vcpu); +kvm_s390_clear_bp_data (vcpu);if (!kvm_is_ucontrol (vcpu->kvm))sca_del_vcpu (vcpu);
@@ -4400,7 +4401,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)pr_err_ratelimited ("can't run stopped vcpu %d\n" , vcpu->vcpu_id); rc = -EINVAL ; - goto out; + goto out_sigset; }sync_regs (vcpu);
@@ -4427,9 +4428,11 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)disable_cpu_timer_accounting (vcpu);store_regs (vcpu); + vcpu->stat.exit_userspace++; + +out_sigset:kvm_sigset_deactivate (vcpu); - vcpu->stat.exit_userspace++; out:vcpu_put (vcpu);return rc;
arch/x86/events/intel/lbr.c +9 -3
@@ -1414,7 +1414,7 @@ intel_pmu_lbr_filter(struct cpu_hw_events *cpuc) {u64 from, to;int br_sel = cpuc->br_sel; -int i, j, type, to_plm; +int i, j, type, from_plm, to_plm;bool compress = false;/* if sampling all branches, then nothing to filter */
@@ -1446,8 +1446,14 @@ intel_pmu_lbr_filter(struct cpu_hw_events *cpuc) type |=X86_BR_NO_TX ; } -/* if type does not correspond, then discard */ -if (type ==X86_BR_NONE || (br_sel & type) != type) { + from_plm =kernel_ip (from) ?X86_BR_KERNEL :X86_BR_USER ; +/* +* If type does not correspond, then discard. +* Specifically reject entries whose from address is in +* kernel space when only X86_BR_USER is requested. +*/ +if (type ==X86_BR_NONE || (br_sel & type) != type || + (!(br_sel &X86_BR_KERNEL ) && (from_plm &X86_BR_KERNEL ))) { cpuc->lbr_entries[i].from =0 ; compress = true; }
arch/x86/events/intel/uncore.c +0 -2
@@ -1467,8 +1467,6 @@ static int uncore_event_cpu_online(unsigned int cpu) die =topology_logical_die_id (cpu); msr_ret =uncore_box_ref (uncore_msr_uncores, die, cpu); mmio_ret =uncore_box_ref (uncore_mmio_uncores, die, cpu); -if (msr_ret && mmio_ret) -return -ENOMEM ;/* * Check if there is an online cpu in the package
arch/x86/include/asm/insn-eval.h +36 -0
@@ -9,6 +9,7 @@#include <linux/compiler.h> #include <linux/bug.h> #include <linux/err.h> +#include <asm/insn.h> #include <asm/ptrace.h> #define INSN_CODE_SEG_ADDR_SZ (params) ((params >> 4) & 0xf)
@@ -29,4 +30,39 @@ int insn_fetch_from_user_inatomic(struct pt_regs *regs,bool insn_decode_from_regs (struct insn *insn,struct pt_regs *regs,unsigned char buf[MAX_INSN_SIZE ],int buf_size); +/* +* Write @val into *@reg following the x86 rules for writes to +* general-purpose registers (Intel SDM Vol. 1, "General-Purpose +* Registers in 64-Bit Mode"): an 8- or 16-bit write leaves the rest of +* the register untouched, a 32-bit write zero-extends the result into +* the upper 32 bits, and a 64-bit write replaces the whole register. +* +* @bytes is the width of the write, not a property of the instruction: +* an instruction that, say, sign-extends a 32-bit immediate into a +* 64-bit register does a 64-bit write here. +* +* @reg need not be 8-byte aligned: KVM's instruction emulator offsets +* the pointer by one byte to address the high-byte registers (AH, CH, +* DH, BH). Use narrow stores for the sub-word cases so the access +* width matches @bytes and the adjacent bytes are left alone. +*/ +static inline void insn_assign_reg (unsigned long *reg,u64 val,int bytes) +{ +switch (bytes) { +case 1 : + *(u8 *)reg = (u8 )val; +break ; +case 2 : + *(u16 *)reg = (u16 )val; +break ; +case 4 : +/* A 32-bit write zero-extends into the upper 32 bits. */ + *reg = (u32 )val; +break ; +case 8 : + *reg = val; +break ; + } +} +#endif /* _ASM_X86_INSN_EVAL_H */
arch/x86/include/asm/pkeys.h +3 -0
@@ -94,6 +94,9 @@ int mm_pkey_alloc(struct mm_struct *mm)u16 all_pkeys_mask = ((1U <<arch_max_pkey ()) -1 );int ret; +if (!arch_pkeys_enabled ()) +return -1 ; +/* * Are we out of pkeys? We must handle this specially * because ffz() behavior is undefined if there are no
arch/x86/kvm/emulate.c +4 -22
@@ -24,6 +24,7 @@#include <linux/stringify.h> #include <asm/fpu/api.h> #include <asm/debugreg.h> +#include <asm/insn-eval.h> #include <asm/nospec-branch.h> #include "x86.h"
@@ -526,25 +527,6 @@ static void assign_masked(ulong *dest, ulong src, ulong mask) *dest = (*dest & ~mask) | (src & mask); } -static void assign_register (unsigned long *reg,u64 val,int bytes) -{ -/* The 4-byte case *is* correct: in 64-bit mode we zero-extend. */ -switch (bytes) { -case 1 : - *(u8 *)reg = (u8 )val; -break ; -case 2 : - *(u16 *)reg = (u16 )val; -break ; -case 4 : - *reg = (u32 )val; -break ;/* 64b: zero-extend */ -case 8 : - *reg = val; -break ; - } -} -static inline unsigned long ad_mask (struct x86_emulate_ctxt *ctxt) {return (1UL << (ctxt->ad_bytes <<3 )) -1 ;
@@ -592,7 +574,7 @@ register_address_increment(struct x86_emulate_ctxt *ctxt, int reg, int inc) {ulong *preg =reg_rmw (ctxt, reg); -assign_register (preg, *preg + inc, ctxt->ad_bytes); +insn_assign_reg (preg, *preg + inc, ctxt->ad_bytes); }static void rsp_increment (struct x86_emulate_ctxt *ctxt,int inc)
@@ -1884,7 +1866,7 @@ static int load_segment_descriptor(struct x86_emulate_ctxt *ctxt,static void write_register_operand (struct operand *op) { -return assign_register (op->addr.reg, op->val, op->bytes); +return insn_assign_reg (op->addr.reg, op->val, op->bytes); }static int writeback (struct x86_emulate_ctxt *ctxt,struct operand *op)
@@ -2118,7 +2100,7 @@ static int em_popa(struct x86_emulate_ctxt *ctxt) rc =emulate_pop (ctxt, &val, ctxt->op_bytes);if (rc !=X86EMUL_CONTINUE )break ; -assign_register (reg_rmw (ctxt, reg), val, ctxt->op_bytes); +insn_assign_reg (reg_rmw (ctxt, reg), val, ctxt->op_bytes); --reg; }return rc;
arch/x86/kvm/hyperv.c +18 -7
@@ -575,6 +575,18 @@ static enum hrtimer_restart stimer_timer_callback(struct hrtimer *timer)return HRTIMER_NORESTART ; } +/* +* Translate a stimer expiry given in 100ns reference ticks into an +* an absolute deadline. Saturates on overflow. +*/ +static ktime_t stimer_add_delta (ktime_t now,u64 delta_100ns) +{ +if (delta_100ns >=KTIME_MAX /100 ) +return KTIME_MAX ; + +return ktime_add_safe (now,100 * delta_100ns); +} +/* * stimer_start() assumptions: * a) stimer->count is not equal to 0
@@ -584,6 +596,7 @@ static int stimer_start(struct kvm_vcpu_hv_stimer *stimer) {u64 time_now;ktime_t ktime_now; +ktime_t deadline; time_now =get_time_ref_counter (stimer_to_vcpu (stimer)->kvm); ktime_now =ktime_get ();
@@ -606,10 +619,8 @@ static int stimer_start(struct kvm_vcpu_hv_stimer *stimer) stimer->index, time_now, stimer->exp_time); -hrtimer_start (&stimer->timer, -ktime_add_ns (ktime_now, -100 * (stimer->exp_time - time_now)), -HRTIMER_MODE_ABS ); + deadline =stimer_add_delta (ktime_now, stimer->exp_time - time_now); +hrtimer_start (&stimer->timer, deadline,HRTIMER_MODE_ABS );return 0 ; } stimer->exp_time = stimer->count;
@@ -628,9 +639,9 @@ static int stimer_start(struct kvm_vcpu_hv_stimer *stimer) stimer->index, time_now, stimer->count); -hrtimer_start (&stimer->timer, -ktime_add_ns (ktime_now,100 * (stimer->count - time_now)), -HRTIMER_MODE_ABS ); + deadline =stimer_add_delta (ktime_now, stimer->count - time_now); +hrtimer_start (&stimer->timer, deadline,HRTIMER_MODE_ABS ); +return 0 ; }
block/blk-iocost.c +1 -1
@@ -1546,7 +1546,7 @@ static void ioc_lat_stat(struct ioc *ioc, u32 *missed_ppm_ar, u32 *rq_wait_pct_pu64 rq_wait_ns =0 ;int cpu, rw; -for_each_online_cpu (cpu) { +for_each_possible_cpu (cpu) {struct ioc_pcpu_stat *stat =per_cpu_ptr (ioc->pcpu_stat, cpu);u64 this_rq_wait_ns;
block/blk-stat.c +1 -1
@@ -86,7 +86,7 @@ static void blk_stat_timer_fn(struct timer_list *t)for (bucket =0 ; bucket < cb->buckets; bucket++)blk_rq_stat_init (&cb->stat[bucket]); -for_each_online_cpu (cpu) { +for_each_possible_cpu (cpu) {struct blk_rq_stat *cpu_stat; cpu_stat =per_cpu_ptr (cb->cpu_stat, cpu);
block/kyber-iosched.c +1 -1
@@ -281,7 +281,7 @@ static void kyber_timer_fn(struct timer_list *t)bool bad = false;/* Sum all of the per-cpu latency histograms. */ -for_each_online_cpu (cpu) { +for_each_possible_cpu (cpu) {struct kyber_cpu_latency *cpu_latency; cpu_latency =per_cpu_ptr (kqd->cpu_latency, cpu);
crypto/ecdh.c +61 -23
122 lines not on this page · raw message
crypto/ecdh_helper.c +1 -3
@@ -10,7 +10,7 @@#include <crypto/ecdh.h> #include <crypto/kpp.h> -#define ECDH_KPP_SECRET_MIN_SIZE (sizeof(struct kpp_secret) + 2 * sizeof(short)) +#define ECDH_KPP_SECRET_MIN_SIZE (sizeof(struct kpp_secret) + sizeof(short))static inline u8 *ecdh_pack_data (void *dst,const void *src,size_t sz) {
@@ -46,7 +46,6 @@ int crypto_ecdh_encode_key(char *buf, unsigned int len,return -EINVAL ; ptr =ecdh_pack_data (ptr, &secret,sizeof (secret)); - ptr =ecdh_pack_data (ptr, ¶ms->curve_id,sizeof (params->curve_id)); ptr =ecdh_pack_data (ptr, ¶ms->key_size,sizeof (params->key_size));ecdh_pack_data (ptr, params->key, params->key_size);
@@ -70,7 +69,6 @@ int crypto_ecdh_decode_key(const char *buf, unsigned int len,if (unlikely (len < secret.len))return -EINVAL ; - ptr =ecdh_unpack_data (¶ms->curve_id, ptr,sizeof (params->curve_id)); ptr =ecdh_unpack_data (¶ms->key_size, ptr,sizeof (params->key_size));if (secret.len !=crypto_ecdh_key_len (params))return -EINVAL ;
crypto/testmgr.c +8 -2
@@ -4920,11 +4920,17 @@ static const struct alg_test_desc alg_test_descs[] = { } }, {#endif - .alg = "ecdh", + .alg = "ecdh-nist-p192", + .test = alg_test_kpp, + .suite = { + .kpp = __VECS(ecdh_p192_tv_template) + } + }, { + .alg = "ecdh-nist-p256", .test = alg_test_kpp, .fips_allowed = 1, .suite = { - .kpp = __VECS(ecdh_tv_template) + .kpp = __VECS(ecdh_p256_tv_template) } }, { .alg = "ecrdsa",
crypto/testmgr.h +18 -24
99 lines not on this page · raw message
drivers/accessibility/speakup/keyhelp.c +12 -5
@@ -8,6 +8,7 @@*/ #include <linux/keyboard.h> +#include <linux/ctype.h> #include "spk_priv.h" #include "speakup.h"
@@ -111,7 +112,7 @@ static void say_key(int key) spk_msg_get(MSG_KEYNAMES_START + (key - 1))); } -static int help_init (void ) +static void help_init (void ) {char start =SPACE ;int i;
@@ -120,13 +121,19 @@ static int help_init(void) state_tbl = spk_our_keys[0 ] +SHIFT_TBL_SIZE +2 ;for (i =0 ; i < num_funcs; i++) {char *cur_funcname =spk_msg_get (MSG_FUNCNAMES_START + i); +char first_letter; -if (start == *cur_funcname) + first_letter =tolower (*cur_funcname); + +/* Accept only 'a'..'z' to index letter_offsets[] safely */ +if (first_letter <'a' || first_letter >'z' ) +continue ; + +if (start == first_letter)continue ; - start = *cur_funcname; + start = first_letter; letter_offsets[(start &31 ) -1 ] = i; } -return 0 ; }int spk_handle_help (struct vc_data *vc,u_char type,u_char ch,u_short key)
@@ -144,7 +151,7 @@ int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key)synth_printf ("%s\n" ,spk_msg_get (MSG_LEAVING_HELP ));return 1 ; } - ch |=32 ;/* lower case */ + ch =tolower (ch);if (ch <'a' || ch >'z' )return -1 ;if (letter_offsets[ch -'a' ] ==-1 ) {
drivers/accessibility/speakup/kobjects.c +3 -3
@@ -92,9 +92,9 @@ static void report_char_chartab_status(int reset, int received, int used,if (reset) {pr_info ("%s reset to defaults\n" , object_type[do_characters]); }else if (received) { - len =snprintf (buf,sizeof (buf), -" updated %d of %d %s\n" , - used, received, object_type[do_characters]); + len =scnprintf (buf,sizeof (buf), +" updated %d of %d %s\n" , + used, received, object_type[do_characters]);if (rejected) snprintf(buf + (len - 1), sizeof(buf) - (len - 1), " with %d reject%s\n",
drivers/acpi/bus.c +2 -2
@@ -681,7 +681,7 @@ static bool acpi_of_modalias(struct acpi_device *adev, str = obj->string.pointer; chr =strchr (str,',' ); -strlcpy (modalias, chr ? chr +1 : str, len); +strscpy (modalias, chr ? chr +1 : str, len);return true; }
@@ -701,7 +701,7 @@ void acpi_set_modalias(struct acpi_device *adev, const char *default_id, char *modalias, size_t len) {if (!acpi_of_modalias (adev, modalias, len)) -strlcpy (modalias, default_id, len); +strscpy (modalias, default_id, len); }EXPORT_SYMBOL_GPL (acpi_set_modalias);
drivers/acpi/pci_root.c +2 -1
@@ -609,7 +609,6 @@ static int acpi_pci_root_add(struct acpi_device *device,dev_err (&device->dev,"Bus %04x:%02x not present in PCI namespace\n" , root->segment, (unsigned int )root->secondary.start); - device->driver_data =NULL ; result = -ENODEV ; goto remove_dmar; }
@@ -645,6 +644,7 @@ static int acpi_pci_root_add(struct acpi_device *device,if (hotadd)dmar_device_remove (handle); end: + device->driver_data =NULL ;kfree (root);return result; }
@@ -668,6 +668,7 @@ static void acpi_pci_root_remove(struct acpi_device *device)pci_unlock_rescan_remove (); + device->driver_data =NULL ;kfree (root); }
drivers/acpi/processor_core.c +25 -6
@@ -262,11 +262,26 @@ int acpi_get_cpuid(acpi_handle handle, int type, u32 acpi_id)EXPORT_SYMBOL_GPL (acpi_get_cpuid);#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC -static int get_ioapic_id (struct acpi_subtable_header *entry,u32 gsi_base, +static bool madt_entry_is_valid (struct acpi_subtable_header *entry, +unsigned long end) +{ +unsigned long start = (unsigned long )entry; + +if (start >= end || end - start <sizeof (*entry)) +return false; + +return entry->length >=sizeof (*entry) && entry->length <= end - start; +} + +static int get_ioapic_id (struct acpi_subtable_header *entry, +const unsigned long end,u32 gsi_base,u64 *phys_addr,int *ioapic_id) {struct acpi_madt_io_apic *ioapic = (struct acpi_madt_io_apic *)entry; +if (!madt_entry_is_valid (entry, end) ||BAD_MADT_ENTRY (ioapic, end)) +return 0 ; +if (ioapic->global_irq_base != gsi_base)return 0 ;
@@ -287,17 +302,19 @@ static int parse_madt_ioapic_entry(u32 gsi_base, u64 *phys_addr)return apic_id; entry = (unsigned long )madt; +if (madt->header.length <sizeof (*madt)) +return apic_id; madt_end = entry + madt->header.length;/* Parse all entries looking for a match. */ entry +=sizeof (struct acpi_table_madt ); -while (entry +sizeof (struct acpi_subtable_header ) < madt_end) { +while (madt_entry_is_valid ((struct acpi_subtable_header *)entry, + madt_end)) { hdr = (struct acpi_subtable_header *)entry;if (hdr->type ==ACPI_MADT_TYPE_IO_APIC && -get_ioapic_id (hdr, gsi_base, phys_addr, &apic_id)) +get_ioapic_id (hdr, madt_end, gsi_base, phys_addr, &apic_id))break ; -else - entry += hdr->length; + entry += hdr->length; }return apic_id;
@@ -324,7 +341,9 @@ static int parse_mat_ioapic_entry(acpi_handle handle, u32 gsi_base, header = (struct acpi_subtable_header *)obj->buffer.pointer;if (header->type ==ACPI_MADT_TYPE_IO_APIC ) -get_ioapic_id (header, gsi_base, phys_addr, &apic_id); +get_ioapic_id (header, + (unsigned long )header + obj->buffer.length, + gsi_base, phys_addr, &apic_id); exit:kfree (buffer.pointer);
drivers/acpi/processor_idle.c +24 -10
@@ -801,7 +801,7 @@ static int acpi_processor_setup_cstates(struct acpi_processor *pr) state = &drv->states[count];snprintf (state->name,CPUIDLE_NAME_LEN ,"C%d" , i); -strlcpy (state->desc, cx->desc,CPUIDLE_DESC_LEN ); +strscpy (state->desc, cx->desc,CPUIDLE_DESC_LEN ); state->exit_latency = cx->latency; state->target_residency = cx->latency * latency_factor; state->enter = acpi_idle_enter;
@@ -948,6 +948,13 @@ static int acpi_processor_evaluate_lpi(acpi_handle handle,if (obj->type ==ACPI_TYPE_BUFFER ) {struct acpi_power_register *reg; +if (obj->buffer.length <sizeof (*reg)) { +acpi_handle_debug (handle, +"Invalid register data for _LPI state %d\n" , + state_idx); +continue ; + } + reg = (struct acpi_power_register *)obj->buffer.pointer;if (reg->space_id !=ACPI_ADR_SPACE_SYSTEM_IO && reg->space_id !=ACPI_ADR_SPACE_FIXED_HARDWARE )
@@ -964,13 +971,6 @@ static int acpi_processor_evaluate_lpi(acpi_handle handle,continue ; } -/* elements[7,8] skipped for now i.e. Residency/Usage counter*/ - - obj = pkg_elem +9 ; -if (obj->type ==ACPI_TYPE_STRING ) -strlcpy (lpi_state->desc, obj->string.pointer, -ACPI_CX_DESC_LEN ); - lpi_state->index = state_idx;if (obj_get_integer (pkg_elem +0 , &lpi_state->min_residency)) {pr_debug ("No min. residency found, assuming 10 us\n" );
@@ -993,6 +993,20 @@ static int acpi_processor_evaluate_lpi(acpi_handle handle,if (obj_get_integer (pkg_elem +5 , &lpi_state->enable_parent_state)) lpi_state->enable_parent_state =0 ; + +/* Skip elements [7-8] i.e. Residency/Usage counters. */ + +/* +* Avoid out-of-bounds access if the size of the package is less +* than expected. +*/ +if (element->package.count <10 ) +continue ; + + obj = pkg_elem +9 ; +if (obj->type ==ACPI_TYPE_STRING ) +strscpy (lpi_state->desc, obj->string.pointer, +ACPI_CX_DESC_LEN ); }acpi_handle_debug (handle,"Found %d power states\n" , state_idx);
@@ -1034,7 +1048,7 @@ static bool combine_lpi_states(struct acpi_lpi_state *local, result->arch_flags = parent->arch_flags; result->index = parent->index; -strlcpy (result->desc, local->desc,ACPI_CX_DESC_LEN ); +strscpy (result->desc, local->desc,ACPI_CX_DESC_LEN );strlcat (result->desc,"+" ,ACPI_CX_DESC_LEN );strlcat (result->desc, parent->desc,ACPI_CX_DESC_LEN );return true;
@@ -1210,7 +1224,7 @@ static int acpi_processor_setup_lpi_states(struct acpi_processor *pr) state = &drv->states[i];snprintf (state->name,CPUIDLE_NAME_LEN ,"LPI-%d" , i); -strlcpy (state->desc, lpi->desc,CPUIDLE_DESC_LEN ); +strscpy (state->desc, lpi->desc,CPUIDLE_DESC_LEN ); state->exit_latency = lpi->wake_latency; state->target_residency = lpi->min_residency;if (lpi->arch_flags)
drivers/acpi/utils.c +34 -8
79 lines not on this page · raw message
drivers/ata/ahci.c +49 -0
61 lines not on this page · raw message
drivers/ata/libata-scsi.c +14 -14
@@ -3149,17 +3149,13 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc)static size_t ata_format_dsm_trim_descr (struct scsi_cmnd *cmd,u32 trmax,u64 sector,u32 count) { -struct scsi_device *sdp = cmd->device; -size_t len = sdp->sector_size; +size_t len =ATA_SECT_SIZE ;size_t r;__le64 *buf;u32 i =0 ;unsigned long flags; -WARN_ON (len >ATA_SCSI_RBUF_SIZE ); - -if (len >ATA_SCSI_RBUF_SIZE ) - len =ATA_SCSI_RBUF_SIZE ; +BUILD_BUG_ON (ATA_SECT_SIZE >ATA_SCSI_RBUF_SIZE );spin_lock_irqsave (&ata_scsi_rbuf_lock, flags); buf = ((void *)ata_scsi_rbuf);
@@ -3194,13 +3190,11 @@ static unsigned int ata_scsi_write_same_xlat(struct ata_queued_cmd *qc) {struct ata_taskfile *tf = &qc->tf;struct scsi_cmnd *scmd = qc->scsicmd; -struct scsi_device *sdp = scmd->device; -size_t len = sdp->sector_size;struct ata_device *dev = qc->dev;const u8 *cdb = scmd->cmnd;u64 block;u32 n_block; -const u32 trmax = len >>3 ; +const u32 trmax =ATA_MAX_TRIM_RNUM ;u32 size;u16 fp;u8 bp =0xff ;
@@ -3245,13 +3239,13 @@ static unsigned int ata_scsi_write_same_xlat(struct ata_queued_cmd *qc) goto invalid_param_len;/* -* size must match sector size in bytes -* For DATA SET MANAGEMENT TRIM in ACS-2 nsect (aka count) -* is defined as number of 512 byte blocks to be transferred. +* The TRIM descriptor is a single 512-byte page, which is the maximum +* WRITE SAME length advertised in the Block Limits VPD page. For DATA +* SET MANAGEMENT TRIM the COUNT field (aka nsect) is the number of +* 512-byte blocks to be transferred. */ - size =ata_format_dsm_trim_descr (scmd, trmax, block, n_block); -if (size != len) +if (size !=ATA_SECT_SIZE ) goto invalid_param_len;if (ata_ncq_enabled (dev) &&ata_fpdma_dsm_supported (dev)) {
@@ -3277,6 +3271,12 @@ static unsigned int ata_scsi_write_same_xlat(struct ata_queued_cmd *qc)ATA_TFLAG_WRITE ;ata_qc_set_pc_nbytes (qc); +/* +* The DSM TRIM payload is a single 512-byte page, which may be smaller +* than the WRITE SAME data-out buffer (one logical block); only +* transfer that page so the length matches the COUNT field. +*/ + qc->nbytes = size;return 0 ;
drivers/base/firmware_loader/fallback.c +18 -20
@@ -58,16 +58,6 @@ static long firmware_loading_timeout(void) __firmware_loading_timeout() * HZ : MAX_JIFFY_OFFSET; } -static inline bool fw_sysfs_done (struct fw_priv *fw_priv) -{ -return __fw_state_check (fw_priv,FW_STATUS_DONE ); -} - -static inline bool fw_sysfs_loading (struct fw_priv *fw_priv) -{ -return __fw_state_check (fw_priv,FW_STATUS_LOADING ); -} -static inline int fw_sysfs_wait_timeout (struct fw_priv *fw_priv,long timeout) {return __fw_state_wait_common (fw_priv, timeout);
@@ -91,7 +81,7 @@ static void __fw_load_abort(struct fw_priv *fw_priv)* There is a small window in which user can write to 'loading' * between loading done/aborted and disappearance of 'loading' */ -if (fw_state_is_aborted (fw_priv) ||fw_sysfs_done (fw_priv)) +if (fw_state_is_aborted (fw_priv) ||fw_state_is_done (fw_priv))return ;fw_state_aborted (fw_priv);
@@ -215,7 +205,7 @@ static ssize_t firmware_loading_show(struct device *dev,mutex_lock (&fw_lock);if (fw_sysfs->fw_priv) - loading =fw_sysfs_loading (fw_sysfs->fw_priv); + loading =fw_state_is_loading (fw_sysfs->fw_priv);mutex_unlock (&fw_lock);return sysfs_emit (buf,"%d\n" , loading);
@@ -245,19 +235,17 @@ static ssize_t firmware_loading_store(struct device *dev,mutex_lock (&fw_lock); fw_priv = fw_sysfs->fw_priv; -if (fw_state_is_aborted (fw_priv)) +if (fw_state_is_aborted (fw_priv) ||fw_state_is_done (fw_priv)) goto out;switch (loading) {case 1 :/* discarding any previous partial load */ -if (!fw_sysfs_done (fw_priv)) { -fw_free_paged_buf (fw_priv); -fw_state_start (fw_priv); - } +fw_free_paged_buf (fw_priv); +fw_state_start (fw_priv);break ;case 0 : -if (fw_sysfs_loading (fw_priv)) { +if (fw_state_is_loading (fw_priv)) {int rc;/*
@@ -345,7 +333,7 @@ static ssize_t firmware_data_read(struct file *filp, struct kobject *kobj,mutex_lock (&fw_lock); fw_priv = fw_sysfs->fw_priv; -if (!fw_priv ||fw_sysfs_done (fw_priv)) { +if (!fw_priv ||fw_state_is_done (fw_priv)) { ret_count = -ENODEV ; goto out; }
@@ -405,7 +393,7 @@ static ssize_t firmware_data_write(struct file *filp, struct kobject *kobj,mutex_lock (&fw_lock); fw_priv = fw_sysfs->fw_priv; -if (!fw_priv ||fw_sysfs_done (fw_priv)) { +if (!fw_priv ||fw_state_is_done (fw_priv)) { retval = -ENODEV ; goto out; }
@@ -516,6 +504,16 @@ static int fw_load_sysfs_fallback(struct fw_sysfs *fw_sysfs, long timeout) retval = -EINTR ; goto out; } + +/* +* device_add() exposes the loading interface before pending_list is +* linked into pending_fw_head, so fw_state_done() may run first. +*/ +if (fw_state_is_done (fw_priv)) { +mutex_unlock (&fw_lock); + goto out; + } +list_add (&fw_priv->pending_list, &pending_fw_head);mutex_unlock (&fw_lock);
drivers/base/firmware_loader/firmware.h +10 -0
@@ -149,6 +149,16 @@ static inline void fw_state_done(struct fw_priv *fw_priv)__fw_state_set (fw_priv,FW_STATUS_DONE ); } +static inline bool fw_state_is_done (struct fw_priv *fw_priv) +{ +return __fw_state_check (fw_priv,FW_STATUS_DONE ); +} + +static inline bool fw_state_is_loading (struct fw_priv *fw_priv) +{ +return __fw_state_check (fw_priv,FW_STATUS_LOADING ); +} +int assign_fw (struct firmware *fw,struct device *device);#ifdef CONFIG_FW_LOADER_PAGED_BUF
drivers/base/platform.c +222 -202
474 lines not on this page · raw message
drivers/base/soc.c +17 -4
@@ -30,6 +30,7 @@ struct soc_device {static struct bus_type soc_bus_type = { .name ="soc" , }; +static bool soc_bus_registered; static DEVICE_ATTR(machine, 0444, soc_info_show, NULL); static DEVICE_ATTR(family, 0444, soc_info_show, NULL);
@@ -117,7 +118,7 @@ struct soc_device *soc_device_register(struct soc_device_attribute *soc_dev_attrconst struct attribute_group **soc_attr_groups;int ret; -if (!soc_bus_type.p) { +if (!soc_bus_registered) {if (early_soc_dev_attr)return ERR_PTR (-EBUSY ); early_soc_dev_attr = soc_dev_attr;
@@ -178,16 +179,28 @@ EXPORT_SYMBOL_GPL(soc_device_unregister);static int __init soc_bus_register (void ) { +struct soc_device *soc_dev;int ret; ret =bus_register (&soc_bus_type);if (ret)return ret; - -if (early_soc_dev_attr) -return PTR_ERR (soc_device_register (early_soc_dev_attr)); + soc_bus_registered = true; + +if (early_soc_dev_attr) { + soc_dev =soc_device_register (early_soc_dev_attr); +if (IS_ERR (soc_dev)) { + ret =PTR_ERR (soc_dev); + goto err_unregister_bus; + } + }return 0 ; + +err_unregister_bus: + soc_bus_registered = false; +bus_unregister (&soc_bus_type); +return ret; }core_initcall (soc_bus_register);
drivers/base/swnode.c +1 -1
@@ -508,7 +508,7 @@ software_node_get_reference_args(const struct fwnode_handle *fwnode,if (prop->is_inline)return -EINVAL ; -if ((index +1 ) *sizeof (*ref) > prop->length) +if (index >= prop->length /sizeof (*ref))return -ENOENT ; ref_array = prop->pointer;
drivers/bluetooth/btmtksdio.c +6 -7
@@ -263,13 +263,12 @@ static int btmtksdio_tx_packet(struct btmtksdio_dev *bdev,struct mtkbtsdio_hdr *sdio_hdr;int err; -/* Make sure that there are enough rooms for SDIO header */ -if (unlikely (skb_headroom (skb) <sizeof (*sdio_hdr))) { - err =pskb_expand_head (skb,sizeof (*sdio_hdr),0 , -GFP_ATOMIC ); -if (err <0 ) -return err; - } +/* Make sure that the data buffer is not shared with anyone else and +* that there is enough room for the SDIO header +*/ + err =skb_cow_head (skb,sizeof (*sdio_hdr)); +if (err <0 ) +return err;/* Prepend MediaTek SDIO Specific Header */ skb_push (skb,sizeof (*sdio_hdr));
drivers/bluetooth/btusb.c +11 -4
@@ -481,6 +481,12 @@ static const struct usb_device_id blacklist_table[] = { { USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK }, + /* Additional Realtek 8761CU Bluetooth devices */ + { USB_DEVICE(0x0b05, 0x1bef), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0b05, 0x1d70), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + /* Additional Realtek 8821AE Bluetooth devices */ { USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK },
@@ -3558,14 +3564,15 @@ static int btusb_set_bdaddr_ath3012(struct hci_dev *hdev,static int btusb_set_bdaddr_wcn6855 (struct hci_dev *hdev,const bdaddr_t *bdaddr) { +bdaddr_t bdaddr_swapped;struct sk_buff *skb; -u8 buf[6 ];long ret; -memcpy (buf, bdaddr,sizeof (bdaddr_t)); +baswap (&bdaddr_swapped, bdaddr); - skb =__hci_cmd_sync_ev (hdev,0xfc14 ,sizeof (buf), buf, -HCI_EV_CMD_COMPLETE ,HCI_INIT_TIMEOUT ); + skb =__hci_cmd_sync_ev (hdev,0xfc14 ,sizeof (bdaddr_swapped), + &bdaddr_swapped,HCI_EV_CMD_COMPLETE , +HCI_INIT_TIMEOUT );if (IS_ERR (skb)) { ret =PTR_ERR (skb);bt_dev_err (hdev,"Change address command failed (%ld)" , ret);
drivers/bluetooth/hci_bcm.c +1 -0
@@ -520,6 +520,7 @@ static int bcm_close(struct hci_uart *hu)if (IS_ENABLED (CONFIG_PM ) && bdev->irq_acquired) {devm_free_irq (bdev->dev, bdev->irq, bdev);device_init_wakeup (bdev->dev, false); +pm_runtime_dont_use_autosuspend (bdev->dev);pm_runtime_disable (bdev->dev); }
drivers/bluetooth/hci_intel.c +1 -0
@@ -348,6 +348,7 @@ static int intel_set_power(struct hci_uart *hu, bool powered)devm_free_irq (&idev->pdev->dev, idev->irq, idev);device_wakeup_disable (&idev->pdev->dev); +pm_runtime_dont_use_autosuspend (&idev->pdev->dev);pm_runtime_disable (&idev->pdev->dev); } }
drivers/bluetooth/hci_ldisc.c +1 -1
@@ -445,7 +445,7 @@ static int hci_uart_setup(struct hci_dev *hdev)if (IS_ERR (skb)) {BT_ERR ("%s: Reading local version information failed (%ld)" , hdev->name,PTR_ERR (skb)); -return 0 ; +return PTR_ERR (skb); }if (skb->len !=sizeof (*ver)) {
drivers/bluetooth/hci_serdev.c +1 -1
@@ -221,7 +221,7 @@ static int hci_uart_setup(struct hci_dev *hdev)if (IS_ERR (skb)) {bt_dev_err (hdev,"Reading local version info failed (%ld)" ,PTR_ERR (skb)); -return 0 ; +return PTR_ERR (skb); }if (skb->len !=sizeof (*ver))
drivers/bus/ti-sysc.c +8 -4
@@ -692,6 +692,7 @@ static struct device_node *stdout_path;static void sysc_init_stdout_path (struct sysc *ddata) { +struct device_node *chosen;struct device_node *np =NULL ;const char *uart;
@@ -701,15 +702,18 @@ static void sysc_init_stdout_path(struct sysc *ddata)if (stdout_path)return ; - np =of_find_node_by_path ("/chosen" ); -if (!np) + chosen =of_find_node_by_path ("/chosen" ); +if (!chosen) goto err; - uart =of_get_property (np,"stdout-path" ,NULL ); -if (!uart) + uart =of_get_property (chosen,"stdout-path" ,NULL ); +if (!uart) { +of_node_put (chosen); goto err; + } np =of_find_node_by_path (uart); +of_node_put (chosen);if (!np) goto err;
drivers/char/hw_random/ks-sa-rng.c +11 -11
@@ -113,8 +113,7 @@ static unsigned int refill_delay_ns(unsigned long clk_rate)static int ks_sa_rng_init (struct hwrng *rng) {u32 value; -struct device *dev = (struct device *)rng->priv; -struct ks_sa_rng *ks_sa_rng =dev_get_drvdata (dev); + struct ks_sa_rng *ks_sa_rng = container_of(rng, struct ks_sa_rng, rng);unsigned long clk_rate =clk_get_rate (ks_sa_rng->clk);/* Enable RNG module */
@@ -153,8 +152,7 @@ static int ks_sa_rng_init(struct hwrng *rng)static void ks_sa_rng_cleanup (struct hwrng *rng) { -struct device *dev = (struct device *)rng->priv; -struct ks_sa_rng *ks_sa_rng =dev_get_drvdata (dev); + struct ks_sa_rng *ks_sa_rng = container_of(rng, struct ks_sa_rng, rng);/* Disable RNG */ writel (0 , &ks_sa_rng->reg_rng->control);
@@ -164,8 +162,7 @@ static void ks_sa_rng_cleanup(struct hwrng *rng)static int ks_sa_rng_data_read (struct hwrng *rng,u32 *data) { -struct device *dev = (struct device *)rng->priv; -struct ks_sa_rng *ks_sa_rng =dev_get_drvdata (dev); + struct ks_sa_rng *ks_sa_rng = container_of(rng, struct ks_sa_rng, rng);/* Read random data */ data[0 ] =readl (&ks_sa_rng->reg_rng->output_l);
@@ -179,8 +176,7 @@ static int ks_sa_rng_data_read(struct hwrng *rng, u32 *data)static int ks_sa_rng_data_present (struct hwrng *rng,int wait) { -struct device *dev = (struct device *)rng->priv; -struct ks_sa_rng *ks_sa_rng =dev_get_drvdata (dev); + struct ks_sa_rng *ks_sa_rng = container_of(rng, struct ks_sa_rng, rng);u64 now =ktime_get_ns ();u32 ready;
@@ -225,7 +221,6 @@ static int ks_sa_rng_probe(struct platform_device *pdev) .data_present = ks_sa_rng_data_present, .cleanup = ks_sa_rng_cleanup, }; - ks_sa_rng->rng.priv = (unsigned long )dev; ks_sa_rng->reg_rng =devm_platform_ioremap_resource (pdev,0 );if (IS_ERR (ks_sa_rng->reg_rng))
@@ -253,9 +248,14 @@ static int ks_sa_rng_probe(struct platform_device *pdev)return ret; } -platform_set_drvdata (pdev, ks_sa_rng); + ret =devm_hwrng_register (dev, &ks_sa_rng->rng); +if (ret) { +pm_runtime_put_sync (dev); +pm_runtime_disable (dev); +return ret; + } -return devm_hwrng_register (&pdev->dev, &ks_sa_rng->rng); +return 0 ; }static int ks_sa_rng_remove (struct platform_device *pdev)
drivers/char/ipmi/ipmb_dev_int.c +3 -2
@@ -141,13 +141,14 @@ static ssize_t ipmb_write(struct file *file, const char __user *buf,u8 msg[MAX_MSG_LEN ];ssize_t ret; -if (count >sizeof (msg)) +if (!count || count >sizeof (msg))return -EINVAL ;if (copy_from_user (&msg, buf, count))return -EFAULT ; -if (count < msg[0 ]) +if (msg[IPMB_MSG_LEN_IDX ] <IPMB_REQUEST_LEN_MIN || + count < (size_t )msg[IPMB_MSG_LEN_IDX ] +1 )return -EINVAL ; rq_sa =GET_7BIT_ADDR (msg[RQ_SA_8BIT_IDX ]);
drivers/char/ipmi/ipmi_msghandler.c +1 -0
@@ -3531,6 +3531,7 @@ int ipmi_add_smi(struct module *owner, out_err_bmc_reg:ipmi_bmc_unregister (intf); out_err_started: + intf->in_shutdown = true;if (intf->handlers->shutdown) intf->handlers->shutdown (intf->send_info); out_err:
drivers/char/ppdev.c +6 -4
@@ -340,15 +340,17 @@ static enum ieee1284_phase init_phase(int mode)return IEEE1284_PH_FWD_IDLE ; } -static int pp_set_timeout (struct pardevice *pdev,long tv_sec,int tv_usec) +static int pp_set_timeout (struct pardevice *pdev,s64 tv_sec,s64 tv_usec) { +struct timespec64 ts;long to_jiffies; -if ((tv_sec <0 ) || (tv_usec <0 )) +if (tv_sec <0 || tv_usec <0 || tv_usec >=USEC_PER_SEC )return -EINVAL ; - to_jiffies =usecs_to_jiffies (tv_usec); - to_jiffies += tv_sec *HZ ; + ts.tv_sec = tv_sec; + ts.tv_nsec = tv_usec *NSEC_PER_USEC ; + to_jiffies =timespec64_to_jiffies (&ts);if (to_jiffies <=0 )return -EINVAL ;
drivers/char/tpm/st33zp24/st33zp24.c +5 -3
@@ -98,7 +98,9 @@ static u8 st33zp24_status(struct tpm_chip *chip)struct st33zp24_dev *tpm_dev =dev_get_drvdata (&chip->dev);u8 data; - tpm_dev->ops->recv (tpm_dev->phy_id,TPM_STS , &data,1 ); +if (tpm_dev->ops->recv (tpm_dev->phy_id,TPM_STS , &data,1 ) !=1 ) +return 0 ; +return data; }/* st33zp24_status() */
@@ -111,10 +113,10 @@ static bool check_locality(struct tpm_chip *chip) {struct st33zp24_dev *tpm_dev =dev_get_drvdata (&chip->dev);u8 data; -u8 status; +int status; status = tpm_dev->ops->recv (tpm_dev->phy_id,TPM_ACCESS , &data,1 ); -if (status && (data & +if (status ==1 && (data & (TPM_ACCESS_ACTIVE_LOCALITY |TPM_ACCESS_VALID )) == (TPM_ACCESS_ACTIVE_LOCALITY |TPM_ACCESS_VALID ))return true;
drivers/char/tpm/tpm_i2c_nuvoton.c +4 -2
@@ -181,8 +181,10 @@ static int i2c_nuvoton_wait_for_stat(struct tpm_chip *chip, u8 mask, u8 value, timeout);if (rc >0 )return 0 ; -/* At this point we know that the SINT pin is asserted, so we -* do not need to do i2c_nuvoton_check_status */ + +disable_irq (priv->irq); +if (rc <0 ) +return rc; }else {unsigned long ten_msec, stop;bool status_valid;
drivers/char/xilinx_hwicap/xilinx_hwicap.c +4 -1
@@ -864,7 +864,7 @@ static int __init hwicap_module_init(void)HWICAP_DEVICES , DRIVER_NAME);if (retval <0 ) -return retval; + goto failed_class; retval =platform_driver_register (&hwicap_platform_driver);if (retval)
@@ -875,6 +875,9 @@ static int __init hwicap_module_init(void) failed:unregister_chrdev_region (devt,HWICAP_DEVICES ); + failed_class: +class_unregister (&icap_class); +return retval; }
drivers/clk/clk-moxart.c +0 -14
@@ -20,7 +20,6 @@ static void __init moxart_of_pll_clk_init(struct device_node *node) {void __iomem *base;struct clk_hw *hw; -struct clk *ref_clk;unsigned int mul;const char *name = node->name;const char *parent_name;
@@ -37,12 +36,6 @@ static void __init moxart_of_pll_clk_init(struct device_node *node) mul =readl (base +0x30 ) >>3 &0x3f ;iounmap (base); - ref_clk =of_clk_get (node,0 ); -if (IS_ERR (ref_clk)) { -pr_err ("%pOF: of_clk_get failed\n" , node); -return ; - } - hw =clk_hw_register_fixed_factor (NULL , name, parent_name,0 , mul,1 );if (IS_ERR (hw)) {pr_err ("%pOF: failed to register clock\n" , node);
@@ -59,7 +52,6 @@ static void __init moxart_of_apb_clk_init(struct device_node *node) {void __iomem *base;struct clk_hw *hw; -struct clk *pll_clk;unsigned int div, val;unsigned int div_idx[] = {2 ,3 ,4 ,6 ,8 };const char *name = node->name;
@@ -81,12 +73,6 @@ static void __init moxart_of_apb_clk_init(struct device_node *node) val =0 ; div = div_idx[val] *2 ; - pll_clk =of_clk_get (node,0 ); -if (IS_ERR (pll_clk)) { -pr_err ("%pOF: of_clk_get failed\n" , node); -return ; - } - hw =clk_hw_register_fixed_factor (NULL , name, parent_name,0 ,1 , div);if (IS_ERR (hw)) {pr_err ("%pOF: failed to register clock\n" , node);
drivers/clk/clk-palmas.c +13 -1
@@ -203,6 +203,13 @@ static void palmas_clks_get_clk_data(struct platform_device *pdev, cinfo->ext_control_pin = prop; } +static void palmas_clks_unprepare_ext_control (void *data) +{ +struct palmas_clock_info *cinfo = data; + +clk_unprepare (cinfo->hw.clk); +} +static int palmas_clks_init_configure (struct palmas_clock_info *cinfo) {int ret;
@@ -223,13 +230,18 @@ static int palmas_clks_init_configure(struct palmas_clock_info *cinfo)return ret; } + ret =devm_add_action_or_reset (cinfo->dev, + palmas_clks_unprepare_ext_control, + cinfo); +if (ret) +return ret; + ret =palmas_ext_control_req_config (cinfo->palmas, cinfo->clk_desc->sleep_reqstr_id, cinfo->ext_control_pin, true);if (ret <0 ) {dev_err (cinfo->dev,"Ext config for %s failed, %d\n" , cinfo->clk_desc->clk_name, ret); -clk_unprepare (cinfo->hw.clk);return ret; } }
drivers/clk/hisilicon/reset.c +1 -1
@@ -91,7 +91,7 @@ struct hisi_reset_controller *hisi_reset_init(struct platform_device *pdev) {struct hisi_reset_controller *rstc; - rstc =devm_kmalloc (&pdev->dev,sizeof (*rstc),GFP_KERNEL ); + rstc =devm_kzalloc (&pdev->dev,sizeof (*rstc),GFP_KERNEL );if (!rstc)return NULL ;
drivers/clk/imx/clk-scu.c +4 -3
@@ -192,8 +192,10 @@ static int clk_scu_atf_set_cpu_rate(struct clk_hw *hw, unsigned long rate,struct arm_smccc_res res;unsigned long cluster_id; -if (clk->rsrc_id ==IMX_SC_R_A35 ) +if (clk->rsrc_id ==IMX_SC_R_A35 || clk->rsrc_id ==IMX_SC_R_A53 ) cluster_id =0 ; +else if (clk->rsrc_id ==IMX_SC_R_A72 ) + cluster_id =1 ;else return -EINVAL ;
@@ -360,8 +362,7 @@ struct clk_hw *__imx_clk_scu(const char *name, const char * const *parents, clk->clk_type = clk_type; init.name = name; - init.ops = &clk_scu_ops; -if (rsrc_id ==IMX_SC_R_A35 ) +if (rsrc_id ==IMX_SC_R_A35 || rsrc_id ==IMX_SC_R_A53 || rsrc_id ==IMX_SC_R_A72 ) init.ops = &clk_scu_cpu_ops;else init.ops = &clk_scu_ops;
drivers/clk/meson/gxbb.c +1 -1
@@ -1302,7 +1302,7 @@ static struct clk_regmap gxbb_32k_clk_sel = { .name = "32k_clk_sel", .ops = &clk_regmap_mux_ops, .parent_data = gxbb_32k_clk_parent_data, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gxbb_32k_clk_parent_data), .flags = CLK_SET_RATE_PARENT, }, };
drivers/clk/qcom/common.c +2 -2
@@ -148,7 +148,7 @@ static int _qcom_cc_register_board_clk(struct device *dev, const char *path,if (!node) { fixed =devm_kzalloc (dev,sizeof (*fixed),GFP_KERNEL );if (!fixed) -return -EINVAL ; +return -ENOMEM ; fixed->fixed_rate = rate; fixed->hw.init = &init_data;
@@ -165,7 +165,7 @@ static int _qcom_cc_register_board_clk(struct device *dev, const char *path,if (add_factor) { factor =devm_kzalloc (dev,sizeof (*factor),GFP_KERNEL );if (!factor) -return -EINVAL ; +return -ENOMEM ; factor->mult = factor->div =1 ; factor->hw.init = &init_data;
drivers/clk/qcom/gcc-msm8916.c +3 -2
@@ -1539,9 +1539,10 @@ static struct clk_branch gcc_blsp1_ahb_clk = {static struct clk_branch gcc_blsp1_sleep_clk = { .halt_reg =0x01004 , + .halt_check =BRANCH_HALT_VOTED , .clkr = { - .enable_reg =0x01004 , - .enable_mask =BIT (0 ), + .enable_reg =0x45004 , + .enable_mask =BIT (9 ), .hw.init = &(struct clk_init_data ){ .name ="gcc_blsp1_sleep_clk" , .parent_names = (const char *[]){
drivers/clk/qcom/gcc-msm8939.c +3 -2
@@ -1862,9 +1862,10 @@ static struct clk_branch gcc_blsp1_ahb_clk = {static struct clk_branch gcc_blsp1_sleep_clk = { .halt_reg =0x01004 , + .halt_check =BRANCH_HALT_VOTED , .clkr = { - .enable_reg =0x01004 , - .enable_mask =BIT (0 ), + .enable_reg =0x45004 , + .enable_mask =BIT (9 ), .hw.init = &(struct clk_init_data ){ .name ="gcc_blsp1_sleep_clk" , .ops = &clk_branch2_ops,
drivers/clk/qcom/gdsc.c +96 -12
200 lines not on this page · raw message
drivers/clk/qcom/gdsc.h +2 -0
@@ -28,6 +28,7 @@ struct reset_controller_dev;* @resets: ids of resets associated with this gdsc * @reset_count: number of @resets * @rcdev: reset controller +* @dev: the device holding the GDSC, used for pm_runtime calls */ struct gdsc {struct generic_pm_domain pd;
@@ -64,6 +65,7 @@ struct gdsc {const char *supply;struct regulator *rsupply; +struct device *dev; };struct gdsc_desc {
drivers/clk/tegra/clk-tegra124-emc.c +1 -0
@@ -530,6 +530,7 @@ struct clk *tegra_clk_register_emc(void __iomem *base, struct device_node *np, clk =clk_register (NULL , &tegra->hw);if (IS_ERR (clk)) { +of_node_put (tegra->emc_node);kfree (tegra);return clk; }
drivers/clk/x86/clk-pmc-atom.c +3 -0
@@ -171,6 +171,9 @@ static struct clk_plt *plt_clk_register(struct platform_device *pdev, int id,return ERR_PTR (-ENOMEM ); init.name =kasprintf (GFP_KERNEL ,"%s_%d" ,PLT_CLK_NAME_BASE , id); +if (!init.name) +return ERR_PTR (-ENOMEM ); + init.ops = &plt_clk_ops; init.flags =0 ; init.parent_names = parent_names;
drivers/clocksource/clps711x-timer.c +1 -1
@@ -94,7 +94,7 @@ static int __init clps711x_timer_init(struct device_node *np)switch (of_alias_get_id (np,"timer" )) {case CLPS711X_CLKSRC_CLOCKSOURCE :clps711x_clksrc_init (clock, base); -break ; +return 0 ;case CLPS711X_CLKSRC_CLOCKEVENT : ret =_clps711x_clkevt_init (clock, base, irq);break ;
drivers/clocksource/timer-armada-370-xp.c +15 -3
@@ -349,7 +349,11 @@ static int __init armada_xp_timer_init(struct device_node *np) timer_clk =clk_get_rate (clk); -return armada_370_xp_timer_common_init (np); + ret =armada_370_xp_timer_common_init (np); +if (ret) +clk_disable_unprepare (clk); + +return ret; }TIMER_OF_DECLARE (armada_xp,"marvell,armada-xp-timer" , armada_xp_timer_init);
@@ -387,7 +391,11 @@ static int __init armada_375_timer_init(struct device_node *np) timer25Mhz = false; } -return armada_370_xp_timer_common_init (np); + ret =armada_370_xp_timer_common_init (np); +if (ret) +clk_disable_unprepare (clk); + +return ret; }TIMER_OF_DECLARE (armada_375,"marvell,armada-375-timer" , armada_375_timer_init);
@@ -410,7 +418,11 @@ static int __init armada_370_timer_init(struct device_node *np) timer_clk =clk_get_rate (clk) /TIMER_DIVIDER ; timer25Mhz = false; -return armada_370_xp_timer_common_init (np); + ret =armada_370_xp_timer_common_init (np); +if (ret) +clk_disable_unprepare (clk); + +return ret; }TIMER_OF_DECLARE (armada_370,"marvell,armada-370-timer" , armada_370_timer_init);
drivers/clocksource/timer-sun4i.c +1 -1
@@ -209,7 +209,7 @@ static int __init sun4i_timer_init(struct device_node *node)sun4i_timer_clear_interrupt (timer_of_base (&to));clockevents_config_and_register (&to.clkevt,timer_of_rate (&to), -TIMER_SYNC_TICKS ,0xffffffff ); +TIMER_SYNC_TICKS +1 ,0xffffffff );/* Enable timer0 interrupt */ val =readl (timer_of_base (&to) +TIMER_IRQ_EN_REG );
drivers/cpufreq/imx6q-cpufreq.c +4 -2
@@ -53,7 +53,6 @@ static unsigned int max_freq;static unsigned int transition_latency;static u32 *imx6_soc_volt; -static u32 soc_opp_count;static int imx6q_set_target (struct cpufreq_policy *policy,unsigned int index) {
@@ -346,6 +345,7 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)const struct property *prop;const __be32 *val;u32 nr, i, j; +u32 soc_opp_count =0 ; cpu_dev =get_cpu_device (0 );if (!cpu_dev) {
@@ -418,7 +418,7 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev) }/* Make imx6_soc_volt array's size same as arm opp number */ - imx6_soc_volt =devm_kcalloc (cpu_dev, num,sizeof (*imx6_soc_volt), + imx6_soc_volt =devm_kcalloc (&pdev->dev, num,sizeof (*imx6_soc_volt),GFP_KERNEL );if (imx6_soc_volt ==NULL ) { ret = -ENOMEM ;
@@ -503,6 +503,7 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)return 0 ; free_freq_table: + imx6_soc_volt =NULL ;dev_pm_opp_free_cpufreq_table (cpu_dev, &freq_table); out_free_opp:dev_pm_opp_of_remove_table (cpu_dev);
@@ -524,6 +525,7 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)static int imx6q_cpufreq_remove (struct platform_device *pdev) {cpufreq_unregister_driver (&imx6q_cpufreq_driver); + imx6_soc_volt =NULL ;dev_pm_opp_free_cpufreq_table (cpu_dev, &freq_table);dev_pm_opp_of_remove_table (cpu_dev);regulator_put (arm_reg);
drivers/cpufreq/intel_pstate.c +4 -5
@@ -2572,14 +2572,13 @@ static int intel_cpufreq_update_pstate(struct cpufreq_policy *policy,int old_pstate = cpu->pstate.current_pstate; target_pstate =intel_pstate_prepare_request (cpu, target_pstate); -if (hwp_active) { +if (hwp_active)intel_cpufreq_adjust_hwp (cpu, target_pstate, policy->strict_target, fast_switch); - cpu->pstate.current_pstate = target_pstate; - }else if (target_pstate != old_pstate) { +else if (target_pstate != old_pstate)intel_cpufreq_adjust_perf_ctl (cpu, target_pstate, fast_switch); - cpu->pstate.current_pstate = target_pstate; - } + + cpu->pstate.current_pstate = target_pstate;intel_cpufreq_trace (cpu, fast_switch ?INTEL_PSTATE_TRACE_FAST_SWITCH :INTEL_PSTATE_TRACE_TARGET , old_pstate);
drivers/cpufreq/spear-cpufreq.c +2 -2
@@ -79,9 +79,9 @@ static int spear1340_set_cpu_rate(struct clk *sys_pclk, unsigned long newfreq)int ret =0 ; sys_clk =clk_get_parent (spear_cpufreq.clk); -if (IS_ERR (sys_clk)) { +if (!sys_clk) {pr_err ("failed to get cpu's parent (sys) clock\n" ); -return PTR_ERR (sys_clk); +return -EINVAL ; }/* Set the rate of the source clock before changing the parent */
drivers/crypto/atmel-ecc.c +27 -46
178 lines not on this page · raw message
drivers/firmware/google/coreboot_table.c +28 -7
Lines of this file are not shown. View the raw message.
drivers/firmware/google/coreboot_table.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +39 -35
74 lines not on this page · raw message
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c +24 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c +34 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c +2 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-samsung-s6d16d0.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/sun4i/sun8i_vi_scaler.c +12 -6
Lines of this file are not shown. View the raw message.
drivers/hid/hid-core.c +80 -47
127 lines not on this page · raw message
drivers/hid/hid-rmi.c +43 -3
46 lines not on this page · raw message
drivers/hid/hid-sensor-hub.c +25 -17
42 lines not on this page · raw message
drivers/hsi/controllers/omap_ssi_core.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/iio/orientation/hid-sensor-rotation.c +10 -10
Lines of this file are not shown. View the raw message.
drivers/iio/temperature/hid-sensor-temperature.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hfi1/init.c +15 -28
43 lines not on this page · raw message
drivers/infiniband/ulp/ipoib/ipoib_main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/isert/ib_isert.c +69 -16
85 lines not on this page · raw message
drivers/infiniband/ulp/isert/ib_isert.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/srp/ib_srp.c +30 -15
45 lines not on this page · raw message
drivers/iommu/amd/init.c +37 -5
42 lines not on this page · raw message
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu/qcom_iommu.c +10 -4
Lines of this file are not shown. View the raw message.
drivers/media/cec/platform/meson/ao-cec-g12a.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/cec/platform/stm32/stm32-cec.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/media/dvb-frontends/rtl2832_sdr.c +16 -5
Lines of this file are not shown. View the raw message.
drivers/media/pci/cobalt/cobalt-alsa-main.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/hfi_parser.c +4 -5
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vicodec/vicodec-core.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vimc/vimc-capture.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/usb/cx231xx/cx231xx-video.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/usb/em28xx/em28xx-cards.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/mfd/rave-sp.c +44 -20
64 lines not on this page · raw message
drivers/misc/ad525x_dpot.c +108 -73
181 lines not on this page · raw message
drivers/mtd/ubi/build.c +52 -11
63 lines not on this page · raw message
drivers/mtd/ubi/fastmap-wl.c +50 -3
53 lines not on this page · raw message
drivers/mtd/ubi/fastmap.c +12 -64
76 lines not on this page · raw message
drivers/net/ethernet/allwinner/sun4i-emac.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fec_main.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +7 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/nvidia/forcedeth.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qede/qede.h +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qede/qede_fp.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c +28 -7
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/debug.c +8 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/debug.h +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/dp_rx.c +15 -15
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/trace.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/trace.h +172 -0
172 lines not on this page · raw message
drivers/net/wireless/ath/ath6kl/cfg80211.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c +12 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mcu.h +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/pci.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/tx.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/zydas/zd1211rw/zd_usb.c +8 -0
Lines of this file are not shown. View the raw message.
drivers/pci/pci-sysfs.c +43 -2
45 lines not on this page · raw message
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c +20 -6
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_sensorhub_ring.c +23 -5
Lines of this file are not shown. View the raw message.
drivers/power/supply/bd99954-charger.h +1 -22
Lines of this file are not shown. View the raw message.
drivers/power/supply/cros_usbpd-charger.c +15 -2
Lines of this file are not shown. View the raw message.
drivers/power/supply/max17040_battery.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/power/supply/sbs-battery.c +99 -61
160 lines not on this page · raw message
drivers/rapidio/devices/rio_mport_cdev.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/regulator/qcom-rpmh-regulator.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/remoteproc/remoteproc_core.c +274 -77
351 lines not on this page · raw message
drivers/remoteproc/remoteproc_elf_loader.c +8 -4
Lines of this file are not shown. View the raw message.
drivers/scsi/qla2xxx/qla_init.c +42 -5
47 lines not on this page · raw message
drivers/scsi/qla2xxx/tcm_qla2xxx.c +36 -25
61 lines not on this page · raw message
drivers/staging/greybus/audio_manager_sysfs.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/meson/vdec/vdec.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/staging/octeon/ethernet-mem.c +18 -13
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_cmd.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_ieee80211.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/os_dep/sdio_intf.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_login.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/target/target_core_transport.c +145 -98
243 lines not on this page · raw message
drivers/thermal/intel/int340x_thermal/int3400_thermal.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/function/f_mass_storage.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/function/f_tcm.c +22 -21
43 lines not on this page · raw message
drivers/usb/gadget/function/f_uac1_legacy.c +0 -56
56 lines not on this page · raw message
drivers/usb/gadget/function/u_uac1_legacy.h +0 -3
Lines of this file are not shown. View the raw message.
drivers/usb/phy/phy-fsl-usb.c +26 -26
52 lines not on this page · raw message
drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c +2 -2
Lines of this file are not shown. View the raw message.
fs/ecryptfs/keystore.c +39 -6
45 lines not on this page · raw message
fs/lockd/svcsubs.c +31 -24
55 lines not on this page · raw message
fs/nfs/flexfilelayout/flexfilelayoutdev.c +2 -1
Lines of this file are not shown. View the raw message.
fs/nfs/inode.c +55 -46
101 lines not on this page · raw message
fs/nfs/pnfs.c +25 -36
61 lines not on this page · raw message
fs/nfsd/nfs4state.c +152 -50
202 lines not on this page · raw message
fs/ocfs2/acl.c +88 -47
135 lines not on this page · raw message
fs/ocfs2/cluster/heartbeat.c +152 -47
199 lines not on this page · raw message
fs/ocfs2/cluster/tcp.c +68 -21
89 lines not on this page · raw message
fs/ocfs2/refcounttree.c +35 -12
47 lines not on this page · raw message
fs/ocfs2/xattr.c +54 -37
91 lines not on this page · raw message
include/linux/bitfield.h +87 -8
95 lines not on this page · raw message
include/linux/highmem.h +73 -16
89 lines not on this page · raw message
include/linux/remoteproc.h +23 -274
297 lines not on this page · raw message
include/linux/rsc_table.h new file +364 -0
364 lines not on this page · raw message
kernel/irq/irqdomain.c +34 -7
41 lines not on this page · raw message
kernel/sched/cpufreq_schedutil.c +34 -25
59 lines not on this page · raw message
kernel/sched/fair.c +20 -33
53 lines not on this page · raw message
mm/highmem.c +149 -2
151 lines not on this page · raw message
net/batman-adv/bridge_loop_avoidance.c +40 -38
78 lines not on this page · raw message
net/bluetooth/l2cap_core.c +52 -6
58 lines not on this page · raw message
net/bluetooth/l2cap_sock.c +94 -20
114 lines not on this page · raw message
net/hsr/hsr_framereg.c +28 -35
63 lines not on this page · raw message
net/ipv4/esp4.c +4 -45
49 lines not on this page · raw message
net/ipv6/esp6.c +4 -45
49 lines not on this page · raw message
net/ipv6/tcp_ipv6.c +42 -56
98 lines not on this page · raw message
net/key/af_key.c +34 -18
52 lines not on this page · raw message
net/netfilter/nf_tables_api.c +26 -22
48 lines not on this page · raw message
net/openvswitch/conntrack.c +84 -46
130 lines not on this page · raw message
net/openvswitch/datapath.c +33 -25
58 lines not on this page · raw message
net/sctp/stream.c +33 -15
48 lines not on this page · raw message
security/selinux/ss/services.c +30 -15
45 lines not on this page · raw message
security/smack/smack_lsm.c +65 -30
95 lines not on this page · raw message
security/smack/smackfs.c +64 -154
218 lines not on this page · raw message
sound/drivers/aloop.c +59 -40
99 lines not on this page · raw message
tools/perf/util/cs-etm.c +66 -15
81 lines not on this page · raw message
tools/testing/selftests/arm64/mte/check_ksm_options.c +26 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_sockmap.c +2 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/rseq/rseq-x86-thread-pointer.h +1 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/timers/leap-a-day.c +11 -8
Lines of this file are not shown. View the raw message.
tools/testing/selftests/zram/zram_lib.sh +1 -1
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.