Linux 5.10.235
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.235 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/admin-guide/kernel-parameters.txt | 10 Documentation/devicetree/bindings/mmc/mmc-controller.yaml | 2 Makefile | 7 arch/alpha/include/uapi/asm/ptrace.h | 2 arch/alpha/kernel/asm-offsets.c | 2 arch/alpha/kernel/entry.S | 24 - arch/alpha/kernel/traps.c | 2 arch/alpha/mm/fault.c | 4 arch/arm/boot/dts/mt7623.dtsi | 2 arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 29 - arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 25 - arch/arm64/boot/dts/mediatek/mt8516.dtsi | 38 - arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi | 2 arch/arm64/boot/dts/qcom/msm8916.dtsi | 2 arch/arm64/boot/dts/qcom/msm8994.dtsi | 2 arch/arm64/boot/dts/qcom/sm8250.dtsi | 2 arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi | 2 arch/arm64/include/asm/mman.h | 9 arch/arm64/kernel/cacheinfo.c | 12 arch/arm64/kernel/vdso/vdso.lds.S | 1 arch/arm64/kernel/vmlinux.lds.S | 1 arch/hexagon/include/asm/cmpxchg.h | 2 arch/hexagon/kernel/traps.c | 4 arch/m68k/include/asm/vga.h | 8 arch/mips/kernel/ftrace.c | 2 arch/powerpc/include/asm/book3s/64/hash-4k.h | 28 + arch/powerpc/include/asm/book3s/64/pgtable.h | 26 - arch/powerpc/lib/code-patching.c | 2 arch/powerpc/platforms/pseries/eeh_pseries.c | 6 arch/s390/include/asm/futex.h | 2 arch/s390/kernel/traps.c | 6 arch/s390/kvm/vsie.c | 25 - arch/x86/Kconfig | 3 arch/x86/boot/compressed/Makefile | 1 arch/x86/events/intel/core.c | 5 arch/x86/include/asm/msr-index.h | 3 arch/x86/kernel/amd_nb.c | 4 arch/x86/kernel/cpu/bugs.c | 20 arch/x86/kernel/cpu/cacheinfo.c | 2 arch/x86/kernel/cpu/cyrix.c | 4 arch/x86/kernel/cpu/intel.c | 52 +- arch/x86/kernel/i8253.c | 11 arch/x86/kernel/static_call.c | 1 arch/x86/mm/init.c | 23 - arch/x86/xen/mmu_pv.c | 79 ++- arch/x86/xen/xen-head.S | 5 block/blk-cgroup.c | 1 block/partitions/efi.c | 2 block/partitions/ldm.h | 2 block/partitions/mac.c | 18 crypto/testmgr.h | 227 +++++++--- drivers/acpi/apei/ghes.c | 10 drivers/acpi/fan.c | 10 drivers/base/regmap/regmap-irq.c | 2 drivers/block/nbd.c | 1 drivers/char/ipmi/ipmb_dev_int.c | 3 drivers/char/tpm/eventlog/acpi.c | 16 drivers/char/tpm/eventlog/efi.c | 13 drivers/char/tpm/eventlog/of.c | 3 drivers/char/tpm/tpm-chip.c | 1 drivers/clk/analogbits/wrpll-cln28hpc.c | 2 drivers/clk/imx/clk-imx8mp.c | 5 drivers/clk/qcom/clk-alpha-pll.c | 2 drivers/clk/qcom/clk-rpmh.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-a100.c | 6 drivers/clocksource/i8253.c | 13 drivers/cpufreq/acpi-cpufreq.c | 36 + drivers/cpufreq/s3c64xx-cpufreq.c | 11 drivers/crypto/hisilicon/qm.c | 46 +- drivers/crypto/qce/core.c | 13 drivers/dma/ti/edma.c | 3 drivers/firmware/Kconfig | 2 drivers/firmware/efi/efi.c | 6 drivers/firmware/efi/libstub/Makefile | 2 drivers/firmware/efi/libstub/randomalloc.c | 3 drivers/firmware/efi/libstub/relocate.c | 3 drivers/firmware/efi/mokvar-table.c | 41 - drivers/gpio/gpio-aggregator.c | 20 drivers/gpio/gpio-bcm-kona.c | 71 ++- drivers/gpio/gpio-pca953x.c | 19 drivers/gpio/gpio-rcar.c | 7 drivers/gpio/gpio-stmpe.c | 15 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 11 drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c | 2 drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c | 4 drivers/gpu/drm/drm_dp_cec.c | 14 drivers/gpu/drm/drm_fb_helper.c | 14 drivers/gpu/drm/drm_probe_helper.c | 116 +++-- drivers/gpu/drm/etnaviv/etnaviv_gem.c | 16 drivers/gpu/drm/radeon/r300.c | 3 drivers/gpu/drm/radeon/radeon_asic.h | 1 drivers/gpu/drm/radeon/rs400.c | 18 drivers/gpu/drm/rockchip/cdn-dp-core.c | 9 drivers/gpu/drm/scheduler/gpu_scheduler_trace.h | 4 drivers/gpu/drm/tidss/tidss_dispc.c | 22 drivers/hid/hid-appleir.c | 2 drivers/hid/hid-core.c | 2 drivers/hid/hid-google-hammer.c | 2 drivers/hid/hid-multitouch.c | 5 drivers/hid/hid-sensor-hub.c | 21 drivers/hid/intel-ish-hid/ishtp-hid.c | 4 drivers/hid/wacom_wac.c | 5 drivers/hwmon/ad7314.c | 10 drivers/hwmon/ntc_thermistor.c | 66 +- drivers/hwmon/pmbus/pmbus.c | 2 drivers/hwmon/xgene-hwmon.c | 2 drivers/hwtracing/intel_th/pci.c | 15 drivers/i2c/busses/i2c-npcm7xx.c | 7 drivers/i2c/i2c-core-acpi.c | 22 drivers/idle/intel_idle.c | 4 drivers/iio/light/as73211.c | 24 - drivers/infiniband/hw/cxgb4/device.c | 6 drivers/infiniband/hw/mlx4/main.c | 6 drivers/infiniband/hw/mlx5/counters.c | 8 drivers/infiniband/hw/mlx5/qp.c | 4 drivers/leds/leds-lp8860.c | 2 drivers/leds/leds-netxbig.c | 1 drivers/md/dm-crypt.c | 27 - drivers/media/dvb-frontends/cxd2841er.c | 8 drivers/media/i2c/ov5640.c | 1 drivers/media/platform/exynos4-is/mipi-csis.c | 10 drivers/media/platform/marvell-ccic/mcam-core.c | 7 drivers/media/platform/s3c-camif/camif-core.c | 13 drivers/media/rc/iguanair.c | 4 drivers/media/test-drivers/vidtv/vidtv_bridge.c | 8 drivers/media/usb/dvb-usb-v2/lmedm04.c | 14 drivers/media/usb/uvc/uvc_ctrl.c | 85 +++ drivers/media/usb/uvc/uvc_driver.c | 63 +- drivers/media/usb/uvc/uvc_queue.c | 3 drivers/media/usb/uvc/uvc_status.c | 1 drivers/media/usb/uvc/uvc_v4l2.c | 2 drivers/media/usb/uvc/uvcvideo.h | 9 drivers/media/v4l2-core/v4l2-mc.c | 2 drivers/mfd/lpc_ich.c | 3 drivers/misc/eeprom/digsy_mtc_eeprom.c | 2 drivers/misc/fastrpc.c | 2 drivers/misc/mei/hw-me-regs.h | 2 drivers/misc/mei/pci-me.c | 2 drivers/mmc/core/sdio.c | 2 drivers/mmc/host/sdhci-msm.c | 53 ++ drivers/mtd/hyperbus/hbmc-am654.c | 19 drivers/mtd/nand/onenand/onenand_base.c | 1 drivers/mtd/nand/raw/cadence-nand-controller.c | 44 + drivers/net/caif/caif_virtio.c | 2 drivers/net/can/c_can/c_can_platform.c | 5 drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 4 drivers/net/ethernet/broadcom/bgmac.h | 3 drivers/net/ethernet/broadcom/tg3.c | 58 ++ drivers/net/ethernet/cadence/macb.h | 2 drivers/net/ethernet/cadence/macb_main.c | 12 drivers/net/ethernet/davicom/dm9000.c | 3 drivers/net/ethernet/emulex/benet/be.h | 2 drivers/net/ethernet/emulex/benet/be_cmds.c | 197 ++++---- drivers/net/ethernet/emulex/benet/be_main.c | 2 drivers/net/ethernet/freescale/fec_main.c | 31 + drivers/net/ethernet/hisilicon/hns3/hnae3.c | 15 drivers/net/ethernet/hisilicon/hns3/hnae3.h | 2 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 2 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c | 2 drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 24 - drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c | 2 drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c | 4 drivers/net/ethernet/netronome/nfp/bpf/cmsg.c | 2 drivers/net/ethernet/renesas/sh_eth.c | 4 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 drivers/net/geneve.c | 16 drivers/net/gtp.c | 5 drivers/net/loopback.c | 14 drivers/net/netdevsim/ipsec.c | 12 drivers/net/netdevsim/netdevsim.h | 1 drivers/net/netdevsim/udp_tunnels.c | 23 - drivers/net/ppp/ppp_generic.c | 28 - drivers/net/team/team.c | 11 drivers/net/tun.c | 2 drivers/net/usb/gl620a.c | 4 drivers/net/usb/rtl8150.c | 28 + drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 5 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c | 3 drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 2 drivers/net/wireless/mediatek/mt76/usb.c | 4 drivers/net/wireless/realtek/rtlwifi/base.c | 42 - drivers/net/wireless/realtek/rtlwifi/base.h | 2 drivers/net/wireless/realtek/rtlwifi/pci.c | 67 -- drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c | 7 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h | 4 drivers/net/wireless/realtek/rtlwifi/usb.c | 13 drivers/net/wireless/realtek/rtlwifi/wifi.h | 23 - drivers/net/wireless/ti/wlcore/main.c | 10 drivers/nvme/host/core.c | 16 drivers/nvme/host/pci.c | 66 ++ drivers/nvme/target/tcp.c | 15 drivers/nvmem/core.c | 2 drivers/nvmem/qcom-spmi-sdam.c | 1 drivers/of/base.c | 8 drivers/parport/parport_pc.c | 5 drivers/pci/controller/pcie-rcar-ep.c | 2 drivers/pci/endpoint/pci-epc-core.c | 2 drivers/pci/quirks.c | 1 drivers/phy/samsung/phy-exynos5-usbdrd.c | 12 drivers/phy/tegra/xusb-tegra186.c | 11 drivers/platform/x86/thinkpad_acpi.c | 1 drivers/power/supply/da9150-fg.c | 4 drivers/pps/clients/pps-gpio.c | 4 drivers/pps/clients/pps-ktimer.c | 4 drivers/pps/clients/pps-ldisc.c | 6 drivers/pps/clients/pps_parport.c | 4 drivers/pps/kapi.c | 10 drivers/pps/kc.c | 10 drivers/pps/pps.c | 127 ++--- drivers/ptp/ptp_clock.c | 8 drivers/pwm/pwm-stm32.c | 7 drivers/rapidio/devices/rio_mport_cdev.c | 3 drivers/rapidio/rio-scan.c | 5 drivers/regulator/of_regulator.c | 14 drivers/rtc/rtc-pcf85063.c | 11 drivers/scsi/mpt3sas/mpt3sas_base.c | 3 drivers/scsi/qla2xxx/qla_def.h | 2 drivers/scsi/qla2xxx/qla_dfs.c | 124 ++++- drivers/scsi/qla2xxx/qla_gbl.h | 3 drivers/scsi/qla2xxx/qla_init.c | 28 - drivers/scsi/storvsc_drv.c | 1 drivers/scsi/ufs/ufs_bsg.c | 1 drivers/slimbus/messaging.c | 5 drivers/soc/qcom/smem_state.c | 3 drivers/soc/qcom/socinfo.c | 2 drivers/spi/spi-mxs.c | 3 drivers/spi/spi-zynq-qspi.c | 13 drivers/staging/media/imx/imx-media-of.c | 8 drivers/tee/optee/supp.c | 35 - drivers/tty/serial/8250/8250.h | 2 drivers/tty/serial/8250/8250_dma.c | 16 drivers/tty/serial/8250/8250_pci.c | 10 drivers/tty/serial/8250/8250_port.c | 9 drivers/tty/serial/sh-sci.c | 25 + drivers/usb/atm/cxacru.c | 13 drivers/usb/class/cdc-acm.c | 28 - drivers/usb/core/hub.c | 16 drivers/usb/core/quirks.c | 10 drivers/usb/dwc2/gadget.c | 1 drivers/usb/dwc3/gadget.c | 37 + drivers/usb/gadget/composite.c | 17 drivers/usb/gadget/function/f_midi.c | 22 drivers/usb/gadget/function/f_tcm.c | 66 +- drivers/usb/gadget/udc/renesas_usb3.c | 2 drivers/usb/host/pci-quirks.c | 9 drivers/usb/host/xhci-mem.c | 5 drivers/usb/host/xhci-pci.c | 17 drivers/usb/host/xhci-ring.c | 12 drivers/usb/host/xhci.c | 23 - drivers/usb/host/xhci.h | 11 drivers/usb/renesas_usbhs/common.c | 6 drivers/usb/renesas_usbhs/mod_gadget.c | 2 drivers/usb/roles/class.c | 5 drivers/usb/serial/option.c | 49 +- drivers/usb/typec/tcpm/tcpci_rt1711h.c | 11 drivers/usb/typec/tcpm/tcpm.c | 2 drivers/usb/typec/ucsi/ucsi.c | 2 drivers/vfio/pci/vfio_pci_rdwr.c | 1 drivers/vfio/platform/vfio_platform_common.c | 10 drivers/video/fbdev/omap2/omapfb/dss/dss-of.c | 1 fs/afs/dir.c | 7 fs/afs/xdr_fs.h | 2 fs/afs/yfsclient.c | 5 fs/binfmt_flat.c | 2 fs/btrfs/inode.c | 4 fs/btrfs/locking.c | 68 ++ fs/btrfs/relocation.c | 14 fs/btrfs/super.c | 2 fs/btrfs/transaction.c | 4 fs/cifs/smb2ops.c | 4 fs/f2fs/file.c | 13 fs/nfs/flexfilelayout/flexfilelayout.c | 27 - fs/nfs/nfs42xdr.c | 2 fs/nfsd/nfs2acl.c | 2 fs/nfsd/nfs3acl.c | 2 fs/nfsd/nfs4callback.c | 8 fs/nilfs2/dir.c | 24 - fs/nilfs2/inode.c | 10 fs/nilfs2/mdt.c | 6 fs/nilfs2/namei.c | 37 - fs/nilfs2/nilfs.h | 10 fs/nilfs2/page.c | 55 +- fs/nilfs2/page.h | 4 fs/nilfs2/segment.c | 4 fs/ocfs2/dir.c | 25 - fs/ocfs2/quota_global.c | 5 fs/ocfs2/super.c | 2 fs/ocfs2/symlink.c | 5 fs/orangefs/orangefs-debugfs.c | 4 fs/select.c | 4 fs/squashfs/inode.c | 5 fs/ubifs/debug.c | 22 fs/udf/super.c | 2 include/asm-generic/vmlinux.lds.h | 2 include/drm/drm_probe_helper.h | 1 include/linux/efi.h | 1 include/linux/i8253.h | 1 include/linux/kallsyms.h | 2 include/linux/kvm_host.h | 9 include/linux/mlx5/driver.h | 1 include/linux/netdevice.h | 6 include/linux/pci_ids.h | 4 include/linux/pps_kernel.h | 3 include/linux/usb/hcd.h | 5 include/net/dst.h | 23 - include/net/flow_dissector.h | 16 include/net/flow_offload.h | 6 include/net/l3mdev.h | 2 include/net/net_namespace.h | 15 include/trace/events/oom.h | 36 + include/uapi/linux/input-event-codes.h | 1 kernel/acct.c | 141 +++--- kernel/bpf/syscall.c | 18 kernel/debug/kdb/kdb_io.c | 2 kernel/events/core.c | 17 kernel/irq/internals.h | 9 kernel/padata.c | 45 + kernel/power/hibernate.c | 7 kernel/printk/printk.c | 2 kernel/sched/core.c | 8 kernel/sched/cpufreq_schedutil.c | 12 kernel/time/clocksource.c | 79 +++ kernel/trace/bpf_trace.c | 2 kernel/trace/ftrace.c | 27 - lib/Kconfig.debug | 8 mm/memcontrol.c | 7 mm/oom_kill.c | 14 mm/page_alloc.c | 1 net/8021q/vlan.c | 3 net/8021q/vlan.h | 2 net/8021q/vlan_dev.c | 15 net/8021q/vlan_netlink.c | 7 net/batman-adv/bat_v.c | 3 net/batman-adv/bat_v_elp.c | 124 +++-- net/batman-adv/bat_v_elp.h | 2 net/batman-adv/bat_v_ogm.c | 1 net/batman-adv/fragmentation.c | 2 net/batman-adv/hard-interface.c | 1 net/batman-adv/icmp_socket.c | 1 net/batman-adv/main.c | 1 net/batman-adv/netlink.c | 1 net/batman-adv/tp_meter.c | 1 net/batman-adv/types.h | 3 net/bluetooth/l2cap_core.c | 9 net/bluetooth/l2cap_sock.c | 7 net/can/j1939/socket.c | 4 net/can/j1939/transport.c | 5 net/core/drop_monitor.c | 29 - net/core/flow_dissector.c | 49 +- net/core/flow_offload.c | 7 net/core/neighbour.c | 11 net/core/skbuff.c | 2 net/core/sysctl_net_core.c | 5 net/hsr/hsr_forward.c | 7 net/ipv4/arp.c | 4 net/ipv4/devinet.c | 3 net/ipv4/ip_input.c | 1 net/ipv4/ip_output.c | 1 net/ipv4/ipmr_base.c | 3 net/ipv4/route.c | 8 net/ipv4/tcp_minisocks.c | 10 net/ipv4/tcp_offload.c | 11 net/ipv4/udp.c | 4 net/ipv4/udp_offload.c | 8 net/ipv6/ila/ila_lwt.c | 4 net/ipv6/ip6_output.c | 1 net/ipv6/ndisc.c | 24 - net/ipv6/route.c | 7 net/ipv6/rpl_iptunnel.c | 67 +- net/ipv6/seg6_iptunnel.c | 2 net/ipv6/udp.c | 4 net/llc/llc_s_ac.c | 49 +- net/mptcp/pm_netlink.c | 6 net/mptcp/protocol.c | 1 net/ncsi/ncsi-manage.c | 13 net/netfilter/nf_tables_api.c | 8 net/nfc/nci/hci.c | 2 net/openvswitch/datapath.c | 12 net/rose/af_rose.c | 40 + net/rose/rose_timer.c | 15 net/sched/cls_flower.c | 8 net/sched/sch_api.c | 4 net/sched/sch_cake.c | 140 +++--- net/sched/sch_fifo.c | 3 net/sched/sch_netem.c | 2 net/smc/af_smc.c | 2 net/smc/smc_rx.c | 37 - net/smc/smc_rx.h | 8 net/sunrpc/cache.c | 10 net/tipc/crypto.c | 4 net/vmw_vsock/af_vsock.c | 82 ++- net/wireless/nl80211.c | 5 net/wireless/reg.c | 3 net/wireless/scan.c | 35 + net/xfrm/xfrm_replay.c | 10 scripts/Makefile.extrawarn | 5 scripts/genksyms/genksyms.c | 11 scripts/genksyms/genksyms.h | 2 scripts/genksyms/parse.y | 18 security/integrity/ima/ima_api.c | 16 security/integrity/ima/ima_template_lib.c | 17 security/safesetid/securityfs.c | 3 security/tomoyo/common.c | 2 sound/pci/hda/hda_intel.c | 2 sound/pci/hda/patch_conexant.c | 1 sound/pci/hda/patch_realtek.c | 78 +++ sound/soc/codecs/es8328.c | 15 sound/soc/intel/boards/bytcr_rt5640.c | 17 sound/soc/sunxi/sun4i-spdif.c | 7 sound/usb/midi.c | 2 sound/usb/usx2y/usbusx2y.c | 11 sound/usb/usx2y/usbusx2y.h | 26 + sound/usb/usx2y/usbusx2yaudio.c | 27 - tools/bootconfig/main.c | 4 tools/perf/bench/epoll-wait.c | 7 tools/perf/builtin-report.c | 2 tools/perf/builtin-top.c | 2 tools/perf/builtin-trace.c | 6 tools/perf/util/bpf-event.c | 10 tools/perf/util/cs-etm.c | 2 tools/perf/util/dso.c | 14 tools/perf/util/env.c | 28 - tools/perf/util/env.h | 8 tools/perf/util/header.c | 29 - tools/power/cpupower/utils/idle_monitor/mperf_monitor.c | 15 tools/testing/ktest/ktest.pl | 7 tools/testing/selftests/bpf/test_tc_tunnel.sh | 1 tools/testing/selftests/drivers/net/netdevsim/udp_tunnel_nic.sh | 16 tools/testing/selftests/kselftest_harness.h | 24 - tools/testing/selftests/net/ipsec.c | 3 tools/testing/selftests/net/rtnetlink.sh | 4 tools/testing/selftests/net/udpgso.c | 26 + 434 files changed, 4053 insertions(+), 2023 deletions(-)
Ahmed S. Darwish (3):
x86/cacheinfo: Validate CPUID leaf 0x2 EDX output
x86/cpu: Validate CPUID leaf 0x2 EDX output
x86/cpu: Properly parse CPUID leaf 0x2 TLB descriptor 0x63Alan Stern (2):
HID: core: Fix assumption that Resolution Multipliers must be in Logical Collections
USB: hub: Ignore non-compliant devices with too many configs or interfaces
Alex Deucher (1):
drm/amdgpu: disable BAR resize on Dell G5 SE
Alex Williamson (1):
vfio/platform: check the bounds of read/write syscalls
Alexander Hölzl (1):
can: j1939: j1939_sk_send_loop(): fix unable to send messages with data length zero
Alexander Shishkin (2):
intel_th: pci: Add Panther Lake-H support
intel_th: pci: Add Panther Lake-P/U support
Alexander Sverdlin (1):
leds: lp8860: Write full EEPROM, not only half of it
Alexander Usyskin (1):
mei: me: add panther lake P DID
Anastasia Belova (1):
clk: qcom: clk-rpmh: prevent integer overflow in recalc_rate
Andreas Kemnade (1):
wifi: wlcore: fix unbalanced pm_runtime calls
Andrew Cooper (1):
x86/static-call: Remove early_boot_irqs_disabled check to fix Xen PVH dom0
Andrey Vatoropin (1):
power: supply: da9150-fg: fix potential overflow
Andy Shevchenko (2):
xhci: pci: Fix indentation in the PCI device ID definitions
eeprom: digsy_mtc: Make GPIO lookup table match the device
Andy Strohman (1):
batman-adv: fix panic during interface removal
AngeloGioacchino Del Regno (1):
usb: typec: tcpci_rt1711h: Unmask alert interrupts to fix functionality
Antoine Tenart (1):
net: gso: fix ownership in __udp_gso_segment
Ard Biesheuvel (2):
efi: Avoid cold plugged memory for placing the kernel vmlinux.lds: Ensure that const vars with relocations are mapped R/O
Arnaldo Carvalho de Melo (2):
perf env: Conditionally compile BPF support code on having HAVE_LIBBPF_SUPPORT perf top: Don't complain about lack of vmlinux when not resolving some kernel samples
Arnd Bergmann (2):
media: cxd2841er: fix 64-bit division on gcc-9
sunrpc: suppress warnings for unused procfs functions
Artur Weber (3):
gpio: bcm-kona: Fix GPIO lock/unlock for banks above bank 0
gpio: bcm-kona: Make sure GPIO bits are unlocked when requesting IRQ
gpio: bcm-kona: Add missing newline to dev_err format string
BH Hsieh (1):
phy: tegra: xusb: reset VBUS & ID OVERRIDE
Ba Jing (1):
ktest.pl: Remove unused declarations in run_bisect_test function
Bartosz Golaszewski (2):
crypto: qce - fix goto jump in error path
crypto: qce - unregister previously registered algos in error path
Ben Hutchings (2):
perf cs-etm: Add missing variable in cs_etm__process_queues()
udf: Fix use of check_add_overflow() with mixed type arguments
Bitterblue Smith (1):
wifi: rtlwifi: rtl8821ae: Fix media status report
Bo Gan (1):
clk: analogbits: Fix incorrect calculation of vco rate delta
Borislav Petkov (1):
APEI: GHES: Have GHES honor the panic= setting
Brian Vazquez (2):
net: use indirect call helpers for dst_input
net: use indirect call helpers for dst_output
Calvin Owens (1):
pps: Fix a use-after-free
Carlos Galo (1):
mm: update mark_victim tracepoints fields
Carlos Llamas (1):
lockdep: Fix upper limit for LOCKDEP_*_BITS configs
Casey Chen (1):
nvme-pci: fix multiple races in nvme_setup_io_queues
Catalin Marinas (1):
arm64: mte: Do not allow PROT_MTE on MAP_HUGETLB user mappings
Chao Yu (1):
f2fs: fix to wait dio completion
Charles Han (2):
ipmi: ipmb: Add check devm_kasprintf() returned value
HID: multitouch: Add NULL check in mt_input_configured
Chen Ni (1):
media: lmedm04: Handle errors for lme2510_int_read
Chen Ridong (4):
padata: fix UAF in padata_reorder
padata: add pd get/put refcnt helper
padata: avoid UAF for reorder_work
memcg: fix soft lockup in the OOM process
Chen-Yu Tsai (4):
arm64: dts: mediatek: mt8173-evb: Drop regulator-compatible property
arm64: dts: mediatek: mt8173-elm: Drop regulator-compatible property
arm64: dts: mediatek: mt8173-elm: Fix MT6397 PMIC sub-node names
arm64: dts: mediatek: mt8173-evb: Fix MT6397 PMIC sub-node names
Chenyuan Yang (1):
net: davicom: fix UAF in dm9000_drv_remove
Chester A. Unal (1):
USB: serial: option: add MeiG Smart SLM828
Christian Brauner (2):
acct: block access to kernel internal filesystems
acct: perform last write from workqueue
Christian Heusel (1):
Revert "drivers/card_reader/rtsx_usb: Restore interrupt based detection"
Christophe Leroy (3):
select: Fix unbalanced user_access_end()
powerpc/64s: Rewrite __real_pte() and __rpte_to_hidx() as static inline powerpc/code-patching: Fix KASAN hit by not flagging text patching area as VM_ALLOC
Chuck Lever (1):
NFSD: Reset cb_seq_status after NFS4ERR_DELAY
Claudiu Beznea (5):
serial: sh-sci: Drop __initdata macro for port_cfg
serial: sh-sci: Do not probe the serial port if its slot in sci_ports[] is in use
usb: renesas_usbhs: Call clk_put()
usb: renesas_usbhs: Use devm_usb_get_phy()
usb: renesas_usbhs: Flush the notify_hotplug_work
Cody Eksal (1):
clk: sunxi-ng: a100: enable MMC clock reparenting
Colin Ian King (1):
rtlwifi: remove redundant assignment to variable err
Cong Wang (3):
netem: Update sch->q.qlen before qdisc_tree_reduce_backlog()
flow_dissector: Fix handling of mixed port and port-range keys
flow_dissector: Fix port range key handling in BPF conversion
Cosmin Tanislav (1):
media: mc: fix endpoint iteration
Dai Ngo (1):
NFSD: fix hang in nfsd4_shutdown_callback
Dan Carpenter (4):
rdma/cxgb4: Prevent potential integer overflow on 32bit
tipc: re-order conditions in tipc_crypto_key_rcv()
binfmt_flat: Fix integer overflow bug on 32 bit systems
NFC: nci: Add bounds checking in nci_hci_create_pipe()
Daniel Wagner (1):
nvme: handle connectivity loss in nvme_set_queue_count
Daniil Dulov (1):
HID: appleir: Fix potential NULL dereference at raw event handle
David Hildenbrand (1):
KVM: s390: vsie: fix some corner-cases when grabbing vsie pages
David Howells (3):
afs: Fix EEXIST error returned from afs_rmdir() to be ENOTEMPTY
afs: Fix directory format encoding struct
afs: Fix the fallback handling for the YFS.RemoveFile2 RPC call
David Woodhouse (1):
x86/i8253: Disable PIT timer 0 when not in use
Davidlohr Bueso (1):
usb/gadget: f_midi: Replace tasklet with work
Devarsh Thakkar (1):
drm/tidss: Clear the interrupt status for interrupts being disabled
Dheeraj Reddy Jonnalagadda (1):
net: fec: implement TSO descriptor cleanup
Dmitry Antipov (4):
wifi: rtlwifi: remove unused timer and related code
wifi: rtlwifi: remove unused dualmac control leftovers
wifi: cfg80211: adjust allocation of colocated AP data
wifi: brcmsmac: add gain range check to wlc_phy_iqcal_gainparams_nphy()
Dmitry Baryshkov (3):
arm64: dts: qcom: msm8916: correct sleep clock frequency
arm64: dts: qcom: msm8994: correct sleep clock frequency
arm64: dts: qcom: sm8250: correct sleep clock frequency
Dmitry V. Levin (1):
selftests: harness: fix printing of mismatch values in __EXPECT()
Eddie James (1):
tpm: Use managed allocation for bios event log
Edson Juliano Drosdeck (1):
ALSA: hda/realtek: Enable headset mic on Positivo C6400
Edward Adam Davis (1):
media: vidtv: Fix a null-ptr-deref in vidtv_mux_stop_thread
Ekansh Gupta (1):
misc: fastrpc: Fix registered buffer page address
Elson Roy Serrao (1):
usb: roles: set switch registered flag early on
Emil Renner Berthing (1):
net: usb: rtl8150: use new tasklet API
Eric Dumazet (17):
ipmr: do not call mr_mfc_uses_dev() for unres entries
net: rose: fix timer races against user threads
net: hsr: fix fill_frame_info() regression vs VLAN packets
net: rose: lock the socket in rose_bind()
ndisc: ndisc_send_redirect() must use dev_get_by_index_rcu()
vrf: use RCU protection in l3mdev_l3_out()
team: better TEAM_OPTION_TYPE_STRING validation
net: add dev_net_rcu() helper
ipv4: use RCU protection in rt_is_expired()
ipv4: use RCU protection in inet_select_addr()
ipv6: use RCU protection in ip6_default_advmss()
ndisc: use RCU protection in ndisc_alloc_skb()
neighbour: use RCU protection in __neigh_notify()
arp: use RCU protection in arp_xmit()
openvswitch: use RCU protection in ovs_vport_cmd_fill_info()
ndisc: extend RCU protection in ndisc_send_skb()
llc: do not use skb_get() before dev_queue_xmit()
Erik Schumacher (1):
hwmon: (ad7314) Validate leading zero bits and return error
Even Xu (1):
HID: Wacom: Add PCI Wacom device support
Fabien Parent (1):
arm64: dts: mediatek: mt8516: remove 2 invalid i2c clocks
Fabio Porcedda (2):
USB: serial: option: add Telit Cinterion FN990B compositions
USB: serial: option: fix Telit Cinterion FN990A name
Fabrice Gasnier (1):
usb: dwc2: gadget: remove of_node reference upon udc_stop
Fabrizio Castro (1):
gpio: rcar: Fix missing of_node_put() call
Fedor Pchelkin (3):
Bluetooth: L2CAP: handle NULL sock pointer in l2cap_sock_alloc
Bluetooth: L2CAP: accept zero as a special value for MTU auto-selection
usb: typec: ucsi: increase timeout for PPM reset operations
Filipe Manana (3):
btrfs: fix use-after-free when attempting to join an aborted transaction
btrfs: avoid monopolizing a core when activating a swap file
btrfs: bring back the incorrectly removed extent buffer lock recursion support
Gabor Juhos (1):
clk: qcom: clk-alpha-pll: fix alpha mode configuration
Gautham R. Shenoy (1):
cpufreq: ACPI: Fix max-frequency computation
Gavrilov Ilia (1):
drop_monitor: fix incorrect initialization order
George Lander (1):
ASoC: sun4i-spdif: Add clock multiplier settings
Greg Kroah-Hartman (1):
Linux 5.10.235
Guangguan Wang (1):
net/smc: fix data error when recvmsg with MSG_PEEK flag
Guixin Liu (1):
scsi: ufs: bsg: Delete bsg_dev when setting up bsg fails
Guo Ren (1):
usb: gadget: udc: renesas_usb3: Fix compiler warning
Hangbin Liu (2):
netdevsim: print human readable IP address
selftests: rtnetlink: update netdevsim ipsec output format
Hans Verkuil (1):
gpu: drm_dp_cec: fix broken CEC adapter properties check
Hans de Goede (2):
mfd: lpc_ich: Add another Gemini Lake ISA bridge PCI device-id
ASoC: Intel: bytcr_rt5640: Add DMI quirk for Vexia Edu Atla 10 tablet 5V
Hao Zhang (1):
mm/page_alloc: fix uninitialized variable
Haoxiang Li (5):
drm/komeda: Add check for komeda_get_layer_fourcc_list()
nfp: bpf: Add check for nfp_app_ctrl_msg_alloc()
smb: client: Add check for next_buffer in receive_encrypted_standard()
rapidio: add check for rio_add_net() in rio_scan_alloc_net()
rapidio: fix an API misues when rio_add_net() fails
Hardik Gajjar (1):
usb: xhci: Add timeout argument in address_device USB HCD callback
Harshal Chaudhari (1):
net: mvpp2: cls: Fixed Non IP flow, with vlan tag flow defination.
He Rongguang (1):
cpupower: fix TSC MHz calculation
Heiko Carstens (2):
s390/futex: Fix FUTEX_OP_ANDN implementation s390/traps: Fix test_monitor_call() inline assembly
Heiko Stuebner (1):
HID: hid-sensor-hub: don't use stale platform-data on remove
Heming Zhao (1):
ocfs2: fix incorrect CPU endianness conversion causing mount failure
Hoku Ishibe (1):
ALSA: hda: intel: Add Dell ALC3271 to power_save denylist
Hou Tao (2):
dm-crypt: don't update io->sector after kcryptd_crypt_write_io_submit()
dm-crypt: track tag_offset in convert_context
Howard Chu (1):
perf trace: Fix runtime error of index out of bounds
Huacai Chen (1):
USB: pci-quirks: Fix HCCPARAMS register error for LS7A EHCI
Hui Su (1):
kernel/acct.c: use #elif instead of #end and #elif
Ido Schimmel (1):
net: loopback: Avoid sending IP packets without an Ethernet header
Ignat Korchagin (2):
crypto: testmgr - populate RSA CRT parameters in RSA test vectors
crypto: testmgr - some more fixes to RSA test vectors
Ilan Peer (1):
wifi: cfg80211: Handle specific BSSID in 6GHz scanning
Illia Ostapyshyn (1):
Input: allocate keycode for phone linking
Ivan Kokshaysky (3):
alpha: make stack 16-byte aligned (most cases)
alpha: align stack for page fault and user unaligned trap handlers
alpha: replace hardcoded stack offsets with autogenerated ones
Ivan Stepchenko (2):
drm/amdgpu: Fix potential NULL pointer dereference in atomctrl_get_smc_sclk_range_table
mtd: onenand: Fix uninitialized retlen in do_otp_read()
Jacob Moroni (1):
net: atlantic: fix warning during hot unplug
Jakob Koschel (1):
rtlwifi: replace usage of found with dedicated list iterator variable
Jakob Unterwurzacher (1):
arm64: dts: rockchip: increase gmac rx_delay on rk3399-puma
Jakub Kicinski (2):
net: netdevsim: try to close UDP port harness races
net: ipv6: fix dst refleaks in rpl, seg6 and ioam6 lwtunnels
Jamal Hadi Salim (1):
net: sched: Disallow replacing of child qdisc from one parent to another
Jann Horn (3):
usb: cdc-acm: Check control transfer buffer size before access
usb: cdc-acm: Fix handling of oversized fragments
partitions: mac: fix handling of bogus partition table
Jarkko Sakkinen (1):
tpm: Change to kvalloc() in eventlog/acpi.c
Jason Xing (1):
net-timestamp: support TCP GSO case for a few missing flags
Javier Carrasco (1):
iio: light: as73211: fix channel handling in only-color triggered buffer
Jennifer Berringer (1):
nvmem: core: improve range check for nvmem_cell_write()
Jiachen Zhang (1):
perf report: Fix misleading help message about --demangle
Jian Shen (1):
net: hns3: fix oops when unload drivers paralleling
Jianbo Liu (1):
xfrm: replay: Fix the update of replay_esn->oseq_hi for GSO
Jiaqing Zhao (3):
can: ems_pci: move ASIX AX99100 ids to pci_ids.h
serial: 8250_pci: add support for ASIX AX99100
parport_pc: add support for ASIX AX99100
Jiasheng Jiang (4):
media: marvell: Add check for clk_enable()
media: mipi-csis: Add check for clk_enable()
media: camif-core: Add check for clk_enable()
regmap-irq: Add missing kfree()
Jiayuan Chen (1):
ppp: Fix KMSAN uninit-value warning with bpf
Jill Donahue (1):
USB: gadget: f_midi: f_midi_complete to call queue_work
Jiri Pirko (1):
net: treat possible_net_t net pointer as an RCU one and add read_pnet_rcu()
Joe Hattori (7):
ACPI: fan: cleanup resources in the error path of .probe()
leds: netxbig: Fix an OF node reference leak in netxbig_leds_get_of_pdata()
regulator: of: Implement the unwind path of of_regulator_match()
fbdev: omapfb: Fix an OF node leak in dss_of_port_get_parent_device()
mtd: hyperbus: hbmc-am654: fix an OF node reference leak
staging: media: imx: fix OF node leak in imx_media_add_of_subdevs()
dmaengine: ti: edma: fix OF node reference leaks in edma_driver
Johan Hovold (1):
USB: serial: option: drop MeiG Smart defines
Johannes Berg (1):
wifi: iwlwifi: limit printed string from FW file
John Keeping (2):
usb: gadget: f_midi: fix MIDI Streaming descriptor lengths
serial: 8250: Fix fifo underflow on flush
John Ogness (1):
kdb: Do not assume write() callback available
John Veness (1):
ALSA: hda/conexant: Add quirk for HP ProBook 450 G4 mute LED
Jos Wang (1):
usb: typec: tcpm: set SRC_SEND_CAPABILITIES timeout to PD_T_SENDER_RESPONSE
Josef Bacik (1):
btrfs: convert BUG_ON in btrfs_reloc_cow_block() to proper error handling
Juergen Gross (3):
x86/xen: fix xen_hypercall_hvm() to not clobber %rbx x86/xen: add FRAME_END to xen_hypercall_hvm() x86/xen: allow larger contiguous memory regions in PV guests
Justin Iurman (5):
include: net: add static inline dst_dev_overhead() to dst.h
net: ipv6: rpl_iptunnel: mitigate 2-realloc issue
net: ipv6: fix dst ref loop on input in rpl lwt
net: ipv6: fix dst ref loop in ila lwtunnel
net: ipv6: fix missing dst ref drop in ila lwtunnel
Kailang Yang (2):
ALSA: hda/realtek: Fixup ALC225 depop procedure
ALSA: hda/realtek: update ALC222 depop optimize
Kan Liang (1):
perf/core: Fix low freq setting via IOC_PERIOD
Kaustabh Chakraborty (1):
phy: exynos5-usbdrd: fix MPLL_MULTIPLIER and SSC_REFCLKSEL masks in refclk
Keisuke Nishimura (1):
nvme: Add error check for xa_store in nvme_get_effects_log
King Dix (1):
PCI: rcar-ep: Fix incorrect variable used when calling devm_request_mem_region()
Koichiro Den (2):
Revert "btrfs: avoid monopolizing a core when activating a swap file"
gpio: aggregator: protect driver attr handlers against module unload
Kory Maincent (1):
net: sh_eth: Fix missing rtnl lock in suspend/resume path
Krzysztof Kozlowski (2):
soc: qcom: smem_state: fix missing of_node_put in error path
can: c_can: fix unbalanced runtime PM disable in error path
Kuan-Wei Chiu (2):
printk: Fix signed integer overflow when defining LOG_BUF_LEN_MAX perf bench: Fix undefined behavior in cmpworker()
Kuniyuki Iwashima (3):
geneve: Fix use-after-free in geneve_find_dev().
gtp: Suppress list corruption splat in gtp_net_exit_batch_rtnl().
geneve: Suppress list corruption splat in geneve_destroy_tunnels().
Laurent Pinchart (1):
media: uvcvideo: Fix double free in error path
Lei He (2):
crypto: testmgr - fix wrong key length for pkcs1pad
crypto: testmgr - Fix wrong test case of RSA
Lei Huang (1):
USB: quirks: add USB_QUIRK_NO_LPM quirk for Teclast dist
Lenny Szubowicz (1):
tg3: Disable tg3 PCIe AER on system reboot
Leo Stone (1):
safesetid: check size of policy writes
Leon Romanovsky (1):
RDMA/mlx4: Avoid false error about access to uninitialized gids array
Li Lingfeng (1):
nfsd: clear acl_access/acl_default after releasing them
Li Zetao (1):
neighbour: delete redundant judgment statements
Lin Yujun (1):
hexagon: Fix unbalanced spinlock in die()
Liu Jian (1):
net: let net.core.dev_weight always be non-zero
Liu Ye (1):
selftests/net/ipsec: Fix Null pointer dereference in rtattr_pack()
Long Li (1):
scsi: storvsc: Set correct data length for sending SCSI command without payload
Luca Weiss (1):
nvmem: qcom-spmi-sdam: Set size in struct nvmem_config
Luiz Augusto von Dentz (1):
Bluetooth: L2CAP: Fix L2CAP_ECRED_CONN_RSP response
Luo Yifan (1):
tools/bootconfig: Fix the wrong format specifier
Ma Jun (1):
drm/amdgpu: Check extended configuration space register when system uses large bar
Maarten Lankhorst (1):
drm/modeset: Handle tiled displays in pan_display_atomic.
Maher Sanalla (1):
net/mlxfw: Drop hard coded max FW flash image size
Maksym Glubokiy (1):
net: extract port range fields from fl_flow_key
Maksym Planeta (1):
Grab mm lock before grabbing pt lock
Malcolm Priestley (1):
media: lmedm04: Use GFP_KERNEL for URB allocation/submission.
Marcel Hamer (1):
wifi: brcmfmac: fix NULL pointer dereference in brcmf_txfinalize()
Marco Leogrande (1):
tools/testing/selftests/bpf/test_tc_tunnel.sh: Fix wait for server bind
Marek Szyprowski (1):
usb: gadget: Fix setting self-powered state on suspend
Marek Vasut (2):
clk: imx8mp: Fix clkout1/2 support
USB: cdc-acm: Fill in Renesas R-Car D3 USB Download mode quirk
Mark Tomlinson (1):
gpio: pca953x: Improve interrupt support
Mark Zhang (1):
IB/mlx5: Set and get correct qp_num for a DCT QP
Masahiro Yamada (2):
genksyms: fix memory leak when the same symbol is added from source
genksyms: fix memory leak when the same symbol is read from *.symref file
Mathias Nyman (1):
USB: Add USB_QUIRK_NO_LPM quirk for sony xperia xz1 smartphone
Matthew Wilcox (Oracle) (1):
ocfs2: handle a symlink read error correctly
Maud Spierings (1):
hwmon: (ntc_thermistor) Fix the ncpXXxh103 sensor table
Maxime Ripard (1):
drm/probe-helper: Create a HPD IRQ event helper for a single connector
Meir Elisha (1):
nvmet-tcp: Fix a possible sporadic response drops in weakly ordered arch
Miao Li (1):
usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader
Michael Ellerman (1):
powerpc/64s/mm: Move __real_pte stubs into hash-4k.h
Michal Luczaj (4):
vsock: Allow retrying on connect() failure bpf, vsock: Invoke proto::close on close()
vsock: Keep the binding until socket destruction
vsock: Orphan socket after transport release
Michal Pecio (2):
usb: xhci: Fix NULL pointer dereference on certain command aborts
usb: xhci: Enable the TRB overfetch quirk on VIA VL805
Mike Marshall (1):
orangefs: fix a oob in orangefs_debug_write
Mike Snitzer (1):
pnfs/flexfiles: retry getting layout segment for reads
Mingcong Bai (1):
platform/x86: thinkpad_acpi: Add battery quirk for ThinkPad X131e
Mingwei Zheng (2):
spi: zynq-qspi: Add check for clk_enable()
pwm: stm32: Add check for clk_enable()
Murad Masimov (1):
ALSA: usx2y: validate nrpacks module parameter on probe
Narayana Murty N (1):
powerpc/pseries/eeh: Fix get PE state translation
Nathan Chancellor (4):
efi: libstub: Use '-std=gnu11' to fix build with GCC 15
kbuild: Move -Wenum-enum-conversion to W=2 x86/boot: Use '-std=gnu11' to fix build with GCC 15
arm64: Handle .ARM.attributes section in linker scripts
Neil Armstrong (1):
dt-bindings: mmc: controller: clarify the address-cells description
Nicolas Frattaroli (1):
ASoC: es8328: fix route from DAC to output
Nikita Zhandarovich (6):
net/rose: prevent integer overflows in rose_setsockopt()
net: usb: rtl8150: enable basic endpoint checking
nilfs2: fix possible int overflows in nilfs_fiemap()
usbnet: gl620a: fix endpoint checking in genelink_bind()
wifi: cfg80211: regulatory: improve invalid hints checking
usb: atm: cxacru: fix a flaw in existing endpoint checks
Nikolay Aleksandrov (1):
be2net: fix sleeping while atomic bugs in be_ndo_bridge_getlink
Nikolay Kuratov (1):
ftrace: Avoid potential division by zero in function_stat_show()
Niravkumar L Rabara (4):
mtd: rawnand: cadence: fix error code in cadence_nand_init()
mtd: rawnand: cadence: use dma_map_resource for sdma address
mtd: rawnand: cadence: fix incorrect device in dma_unmap_single
mtd: rawnand: cadence: fix unchecked dereference
Octavian Purdila (1):
team: prevent adding a device which is already a team device lower
Oleksij Rempel (1):
rtc: pcf85063: fix potential OOB write in PCF85063 NVMEM read
Olga Kornievskaia (1):
NFSv4.2: fix COPY_NOTIFY xdr buf size calculation
Oliver Neukum (1):
media: rc: iguanair: handle timeouts
Olivier Gayot (1):
block: fix conversion of GPT partition name to 7-bit
Oscar Maes (1):
vlan: enforce underlying device type
Pablo Neira Ayuso (1):
netfilter: nf_tables: reject mismatching sum of field_len with set key length
Paolo Abeni (2):
mptcp: prevent excessive coalescing on receive
mptcp: always handle address removal under msk socket lock
Patrick Bellasi (1):
x86/cpu/kvm: SRSO: Fix possible missing IBPB on VM-Exit
Patrisious Haddad (1):
RDMA/mlx5: Fix bind QP error cleanup flow
Paul E. McKenney (1):
clocksource: Limit number of CPUs checked for clock synchronization
Paul Fertser (1):
net/ncsi: wait for the last response to Deselect Package before configuring channel
Paul Menzel (1):
scsi: mpt3sas: Set ioc->manu_pg11.EEDPTagMode directly to 1
Pawel Chmielewski (1):
intel_th: pci: Add Arrow Lake support
Peter Jones (1):
efi: Don't map the entire mokvar table to determine its size
Petr Tesarik (1):
xen: remove a confusing comment on auto-translated guest I/O
Philipp Stanner (1):
drm/sched: Fix preprocessor guard
Phillip Lougher (1):
Squashfs: check the inode number is not the invalid value of zero
Philo Lu (1):
ipvs: Always clear ipvs_property flag in skb_scrub_packet()
Prasad Pandit (1):
firmware: iscsi_ibft: fix ISCSI_IBFT Kconfig entry
Prashanth K (2):
usb: gadget: Set self-powered based on MaxPower and bmAttributes
usb: gadget: Check bmAttributes only if configuration is valid
Puranjay Mohan (1):
bpf: Send signals asynchronously if !preemptible
Qu Wenruo (1):
btrfs: output the reason for open_ctree() failure
Quang Le (1):
pfifo_tail_enqueue: Drop new packet when sch->limit == 0
Quinn Tran (1):
scsi: qla2xxx: Move FCE Trace buffer allocation to user control
Radu Rendec (1):
arm64: cacheinfo: Avoid out-of-bounds write to cacheinfo array
Rafael J. Wysocki (1):
cpufreq: schedutil: Simplify sugov_update_next_freq()
Rafał Miłecki (2):
ARM: dts: mediatek: mt7623: fix IR nodename
bgmac: reduce max frame size to support just MTU 1500
Ralf Schlatterbeck (1):
spi-mxs: Fix chipselect glitch
Ramesh Thomas (1):
vfio/pci: Enable iowrite64 and ioread64 for vfio pci
Randolph Ha (1):
i2c: Force ELAN06FA touchpad I2C bus freq to 100KHz
Randy Dunlap (1):
partitions: ldm: remove the initial kernel-doc notation
Ricardo B. Marliere (1):
ktest.pl: Check kernelrelease return in get_version
Ricardo Ribalda (5):
media: uvcvideo: Propagate buf->error to userspace
media: uvcvideo: Fix event flags in uvc_ctrl_send_events
media: uvcvideo: Remove redundant NULL assignment
media: uvcvideo: Only save async fh if success
media: uvcvideo: Remove dangling pointers
Richard Thier (1):
drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M
Rob Herring (Arm) (1):
Revert "of: reserved-memory: Fix using wrong number of cells to get property 'alignment'"
Roger Quadros (1):
net: ethernet: ti: am65-cpsw: fix freeing IRQ in am65_cpsw_nuss_remove_tx_chns()
Russell Senior (1):
x86/CPU: Fix warm boot hang regression on AMD SC1100 SoC systems
Ryusuke Konishi (6):
nilfs2: do not output warnings when clearing dirty buffers
nilfs2: do not force clear folio if buffer is referenced
nilfs2: protect access to buffers with no active references
nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link
nilfs2: eliminate staggered calls to kunmap in nilfs_rename
nilfs2: handle errors that nilfs_prepare_chunk() may return
Sam Bobrowicz (1):
media: ov5640: fix get_light_freq on auto
Sean Anderson (1):
net: cadence: macb: Synchronize stats calculations
Sean Christopherson (2):
KVM: Explicitly verify target vCPU is online in kvm_get_vcpu() perf/x86/intel: Ensure LBRs are disabled when a CPU is starting
Sean Rhodes (1):
drivers/card_reader/rtsx_usb: Restore interrupt based detection
Sebastian Andrzej Siewior (2):
module: Extend the preempt disabled section in dereference_symbol_descriptor().
clocksource: Replace deprecated CPU-hotplug functions.
Selvarasu Ganesan (1):
usb: dwc3: Fix timeout issue during controller enter/exit from halt state
Shawn Lin (1):
mmc: core: Respect quirk_max_rate for non-UHS SDIO card
Stas Sergeev (1):
tun: fix group permission check
Stefan Berger (1):
ima: Fix use-after-free on a dentry's dname.name
Stefan Eichenberger (1):
usb: core: fix pipe creation for get_bMaxPacketSize0
Stephan Gerhold (1):
soc: qcom: socinfo: Avoid out of bounds read of serial number
Su Yue (2):
ocfs2: mark dquot as inactive if failed to start trans while releasing dquot
ocfs2: check dir i_size in ocfs2_find_entry
Sui Jingfeng (1):
drm/etnaviv: Fix page property being used for non writecombine buffers
Suleiman Souhlal (1):
sched: Don't try to catch up excess steal time.
Sultan Alsawaf (unemployed) (1):
cpufreq: schedutil: Fix superfluous updates caused by need_freq_update
Sumit Garg (1):
tee: optee: Fix supplicant wait loop
Sven Eckelmann (4):
batman-adv: Ignore neighbor throughput metrics in error case
batman-adv: Add new include for min/max helpers
batman-adv: Drop initialization of flexible ethtool_link_ksettings
batman-adv: Drop unmanaged ELP metric worker
Takashi Iwai (2):
PCI/DPC: Quirk PIO log size for Intel Raptor Lake-P
ALSA: usb-audio: Avoid dropping MIDI events at closing multiple ports
Tetsuo Handa (1):
tomoyo: don't emit warning in tomoyo_write_control()
Thadeu Lima de Souza Cascardo (10):
wifi: rtlwifi: do not complete firmware loading needlessly
wifi: rtlwifi: rtl8192se: rise completion of firmware loading as last step
wifi: rtlwifi: wait for firmware loading before releasing memory
wifi: rtlwifi: fix init_sw_vars leak when probe fails
wifi: rtlwifi: usb: fix workqueue leak when probe fails
wifi: rtlwifi: remove unused check_buddy_priv
wifi: rtlwifi: destroy workqueue at rtl_deinit_core
wifi: rtlwifi: fix memory leaks and invalid access at probe error path
wifi: rtlwifi: pci: wait for firmware loading before releasing memory Revert "media: uvcvideo: Require entities to have a non-zero unique ID"
Thinh Nguyen (6):
usb: gadget: f_tcm: Fix Get/SetInterface return value
usb: gadget: f_tcm: Don't free command immediately
usb: gadget: f_tcm: Translate error to sense
usb: gadget: f_tcm: Decrement command ref count on cleanup
usb: gadget: f_tcm: ep_autoconfig with fullspeed endpoint
usb: gadget: f_tcm: Don't prepare BOT write request twice
Thomas Gleixner (3):
genirq: Make handle_enforce_irqctx() unconditionally available sched/core: Prevent rescheduling when interrupts are disabled
intel_idle: Handle older CPUs, which stop the TSC in deeper C states, correctly
Thomas Weißschuh (3):
padata: fix sysfs store callback check
ptp: Ensure info->enable callback is always set
kbuild: userprogs: use correct lld when linking through clang
Thomas Zimmermann (2):
m68k: vga: Fix I/O defines
drm/rockchip: cdn-dp: Use drm_connector_helper_hpd_irq_event()
Titus Rwantare (1):
hwmon: (pmbus) Initialise page count in pmbus_identify()
Toke Høiland-Jørgensen (1):
sched: sch_cake: add bounds checks to host bulk flow fairness counts
Tomi Valkeinen (1):
drm/tidss: Fix issue in irq handling causing irq-flood issue
Tyrone Ting (1):
i2c: npcm: disable interrupt enable bit before devm_request_irq
Vadim Fedorenko (1):
net/mlx5: use do_aux_work for PHC overflow checks
Val Packett (4):
arm64: dts: mediatek: mt8516: fix GICv2 range
arm64: dts: mediatek: mt8516: fix wdt irq type
arm64: dts: mediatek: mt8516: add i2c clock-div property
arm64: dts: mediatek: mt8516: reserve 192 KiB for TF-A
Viresh Kumar (1):
cpufreq: s3c64xx: Fix compilation warning
Visweswara Tanuku (1):
slimbus: messaging: Free transaction ID in delayed interrupt scenario
Vitaliy Shevtsov (2):
wifi: nl80211: reject cooked mode if it is set along with other flags
caif_virtio: fix wrong pointer check in cfv_probe()
Waiman Long (2):
clocksource: Use pr_info() for "Checking clocksource synchronization" message
clocksource: Use migrate_disable() to avoid calling get_random_u32() in atomic context
Wang Hai (1):
tcp: Defer ts_recent changes until req is owned
WangYuli (2):
wifi: mt76: mt76u_vendor_request: Do not print error messages when -EPROTO
MIPS: ftrace: Declare ftrace_get_parent_ra_addr() as static
Weili Qian (1):
crypto: hisilicon/qm - inject error before stopping queue
Wentao Liang (3):
PM: hibernate: Add error handling for syscore_suspend()
gpio: stmpe: Check return value of stmpe_reg_read in stmpe_gpio_irq_sync_unlock
mlxsw: Add return value check for mlxsw_sp_port_get_stats_raw()
Wesley Cheng (1):
usb: dwc3: Increase DWC3 controller halt timeout
Willem de Bruijn (2):
hexagon: fix using plain integer as NULL pointer warning in cmpxchg
tun: revert fix group permission check
Xi Ruoyao (1):
x86/mm: Don't disable PCID when INVLPG has been fixed by microcode
Xin Long (2):
vlan: introduce vlan_dev_free_egress_priority
vlan: move dev_put into vlan_dev_uninit
Xinghuo Chen (1):
hwmon: fix a NULL vs IS_ERR_OR_NULL() check in xgene_hwmon_probe()
Yan Zhai (2):
udp: gso: do not drop small packets when PMTU reduces
bpf: skip non exist keys in generic_map_lookup_batch
Yang Yang (1):
kernel/acct.c: use dedicated helper to access rlimit values
Yazen Ghannam (1):
x86/amd_nb: Restrict init function to AMD-based systems
Yu Kuai (1):
nbd: don't allow reconnect after disconnect
Yu-Chun Lin (1):
HID: google: fix unused variable warning under !CONFIG_ACPI
Yuanjie Yang (1):
mmc: sdhci-msm: Correctly set the load for the regulator
Yury Norov (1):
clocksource: Replace cpumask_weight() with cpumask_empty()
Zhang Lixu (1):
HID: intel-ish-hid: Fix use-after-free issue in ishtp_hid_remove()
Zheng Yongjun (1):
net: ipv6: rpl_iptunnel: simplify the return expression of rpl_do_srh()
Zhongqiu Han (3):
perf header: Fix one memory leakage in process_bpf_btf()
perf header: Fix one memory leakage in process_bpf_prog_info() perf bpf: Fix two memory leakages when calling perf_env__insert_bpf_prog_info()
Zijun Hu (5):
PCI: endpoint: Destroy the EPC device in devm_pci_epc_destroy()
blk-cgroup: Fix class @block_class's subsystem refcount leakage
of: Correct child specifier used as input of the 2nd nexus node
of: Fix of_find_node_opts_by_path() handling of alias+path+options
of: reserved-memory: Fix using wrong number of cells to get property 'alignment'
lei he (1):
crypto: testmgr - fix version number of RSA tests
pangliyuan (1):
ubifs: skip dumping tnc tree when zroot is null
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/kernel-parameters.txt +10 -0
@@ -583,6 +583,16 @@ unstable. Defaults to three retries, that is, four attempts to read the clock under test. + clocksource.verify_n_cpus= [KNL] + Limit the number of CPUs checked for clocksources + marked with CLOCK_SOURCE_VERIFY_PERCPU that + are marked unstable due to excessive skew. + A negative value says to check all CPUs, while + zero says not to check any. Values larger than + nr_cpu_ids are silently truncated to nr_cpu_ids. + The actual CPUs are chosen randomly, with + no replacement if the same CPU is chosen twice. + clearcpuid=BITNUM[,BITNUM...] [X86] Disable CPUID feature X for the kernel. See arch/x86/include/asm/cpufeatures.h for the valid bit
Documentation/devicetree/bindings/mmc/mmc-controller.yaml +1 -1
@@ -25,7 +25,7 @@ properties: "#address-cells": const: 1 description: | - The cell is the slot ID if a function subnode is used. + The cell is the SDIO function number if a function subnode is used. "#size-cells": const: 0
Makefile +6 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 234 +SUBLEVEL = 235 EXTRAVERSION = NAME = Dare mighty things
@@ -1022,6 +1022,11 @@ endif KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS)) KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS)) +# userspace programs are linked via the compiler, use the correct linker +ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_LD_IS_LLD),yy) +KBUILD_USERLDFLAGS += $(call cc-option, --ld-path=$(LD)) +endif + # make the checker run with the right architecture CHECKFLAGS += --arch=$(ARCH)
arch/alpha/include/uapi/asm/ptrace.h +2 -0
@@ -42,6 +42,8 @@ struct pt_regs {unsigned long trap_a0;unsigned long trap_a1;unsigned long trap_a2; +/* This makes the stack 16-byte aligned as GCC expects */ +unsigned long __pad0;/* These are saved by PAL-code: */ unsigned long ps;unsigned long pc;
arch/alpha/kernel/asm-offsets.c +2 -0
@@ -32,7 +32,9 @@ void foo(void)DEFINE (CRED_EGID , offsetof(struct cred , egid));BLANK (); +DEFINE (SP_OFF , offsetof(struct pt_regs , ps));DEFINE (SIZEOF_PT_REGS ,sizeof (struct pt_regs )); +DEFINE (SWITCH_STACK_SIZE ,sizeof (struct switch_stack ));DEFINE (PT_PTRACED ,PT_PTRACED );DEFINE (CLONE_VM ,CLONE_VM );DEFINE (CLONE_UNTRACED ,CLONE_UNTRACED );
arch/alpha/kernel/entry.S +10 -14
@@ -15,10 +15,6 @@ .set noat .cfi_sections .debug_frame -/* Stack offsets. */ -#define SP_OFF 184 -#define SWITCH_STACK_SIZE 320 - .macro CFI_START_OSF_FRAME func .align 4 .globl \func
@@ -199,8 +195,8 @@ CFI_END_OSF_FRAME entArith CFI_START_OSF_FRAME entMM SAVE_ALL /* save $9 - $15 so the inline exception code can manipulate them. */ - subq $sp, 56, $sp - .cfi_adjust_cfa_offset 56 + subq $sp, 64, $sp + .cfi_adjust_cfa_offset 64 stq $9, 0($sp) stq $10, 8($sp) stq $11, 16($sp)
@@ -215,7 +211,7 @@ CFI_START_OSF_FRAME entMM .cfi_rel_offset $13, 32 .cfi_rel_offset $14, 40 .cfi_rel_offset $15, 48 - addq $sp, 56, $19 + addq $sp, 64, $19 /* handle the fault */ lda $8, 0x3fff bic $sp, $8, $8
@@ -228,7 +224,7 @@ CFI_START_OSF_FRAME entMM ldq $13, 32($sp) ldq $14, 40($sp) ldq $15, 48($sp) - addq $sp, 56, $sp + addq $sp, 64, $sp .cfi_restore $9 .cfi_restore $10 .cfi_restore $11
@@ -236,7 +232,7 @@ CFI_START_OSF_FRAME entMM .cfi_restore $13 .cfi_restore $14 .cfi_restore $15 - .cfi_adjust_cfa_offset -56 + .cfi_adjust_cfa_offset -64 /* finish up the syscall as normal. */ br ret_from_sys_call CFI_END_OSF_FRAME entMM
@@ -383,8 +379,8 @@ entUnaUser: .cfi_restore $0 .cfi_adjust_cfa_offset -256 SAVE_ALL /* setup normal kernel stack */ - lda $sp, -56($sp) - .cfi_adjust_cfa_offset 56 + lda $sp, -64($sp) + .cfi_adjust_cfa_offset 64 stq $9, 0($sp) stq $10, 8($sp) stq $11, 16($sp)
@@ -400,7 +396,7 @@ entUnaUser: .cfi_rel_offset $14, 40 .cfi_rel_offset $15, 48 lda $8, 0x3fff - addq $sp, 56, $19 + addq $sp, 64, $19 bic $sp, $8, $8 jsr $26, do_entUnaUser ldq $9, 0($sp)
@@ -410,7 +406,7 @@ entUnaUser: ldq $13, 32($sp) ldq $14, 40($sp) ldq $15, 48($sp) - lda $sp, 56($sp) + lda $sp, 64($sp) .cfi_restore $9 .cfi_restore $10 .cfi_restore $11
@@ -418,7 +414,7 @@ entUnaUser: .cfi_restore $13 .cfi_restore $14 .cfi_restore $15 - .cfi_adjust_cfa_offset -56 + .cfi_adjust_cfa_offset -64 br ret_from_sys_call CFI_END_OSF_FRAME entUna
arch/alpha/kernel/traps.c +1 -1
@@ -709,7 +709,7 @@ s_reg_to_mem (unsigned long s_reg)static int unauser_reg_offsets[32 ] = {R (r0),R (r1),R (r2),R (r3),R (r4),R (r5),R (r6),R (r7),R (r8),/* r9 ... r15 are stored in front of regs. */ --56 ,-48 ,-40 ,-32 ,-24 ,-16 ,-8 , +-64 ,-56 ,-48 ,-40 ,-32 ,-24 ,-16 ,/* padding at -8 */ R (r16),R (r17),R (r18),R (r19),R (r20),R (r21),R (r22),R (r23),R (r24),R (r25),R (r26),R (r27),R (r28),R (gp),
arch/alpha/mm/fault.c +2 -2
@@ -78,8 +78,8 @@ __load_new_mm_context(struct mm_struct *next_mm)/* Macro for exception fixup code to access integer registers. */ #define dpf_reg (r) \ - (((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-16 : \ - (r) <= 18 ? (r)+10 : (r)-10]) + (((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-17 : \ + (r) <= 18 ? (r)+11 : (r)-10]) asmlinkage void do_page_fault(unsigned long address, unsigned long mmcsr,
arch/arm/boot/dts/mt7623.dtsi +1 -1
@@ -309,7 +309,7 @@ pwrap: pwrap@1000d000 { clock-names = "spi", "wrap"; }; - cir: cir@10013000 { + cir: ir-receiver@10013000 { compatible = "mediatek,mt7623-cir"; reg = <0 0x10013000 0 0x1000>; interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi +3 -26
@@ -905,7 +905,7 @@ pmic: mt6397 { interrupt-controller; #interrupt-cells = <2>; - clock: mt6397clock { + clock: clocks { compatible = "mediatek,mt6397-clk"; #clock-cells = <1>; };
@@ -917,11 +917,10 @@ pio6397: pinctrl { #gpio-cells = <2>; }; - regulator: mt6397regulator { + regulators { compatible = "mediatek,mt6397-regulator"; mt6397_vpca15_reg: buck_vpca15 { - regulator-compatible = "buck_vpca15"; regulator-name = "vpca15"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -931,7 +930,6 @@ mt6397_vpca15_reg: buck_vpca15 { }; mt6397_vpca7_reg: buck_vpca7 { - regulator-compatible = "buck_vpca7"; regulator-name = "vpca7"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -941,7 +939,6 @@ mt6397_vpca7_reg: buck_vpca7 { }; mt6397_vsramca15_reg: buck_vsramca15 { - regulator-compatible = "buck_vsramca15"; regulator-name = "vsramca15"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -950,7 +947,6 @@ mt6397_vsramca15_reg: buck_vsramca15 { }; mt6397_vsramca7_reg: buck_vsramca7 { - regulator-compatible = "buck_vsramca7"; regulator-name = "vsramca7"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -959,7 +955,6 @@ mt6397_vsramca7_reg: buck_vsramca7 { }; mt6397_vcore_reg: buck_vcore { - regulator-compatible = "buck_vcore"; regulator-name = "vcore"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -968,7 +963,6 @@ mt6397_vcore_reg: buck_vcore { }; mt6397_vgpu_reg: buck_vgpu { - regulator-compatible = "buck_vgpu"; regulator-name = "vgpu"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -977,7 +971,6 @@ mt6397_vgpu_reg: buck_vgpu { }; mt6397_vdrm_reg: buck_vdrm { - regulator-compatible = "buck_vdrm"; regulator-name = "vdrm"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1400000>;
@@ -986,7 +979,6 @@ mt6397_vdrm_reg: buck_vdrm { }; mt6397_vio18_reg: buck_vio18 { - regulator-compatible = "buck_vio18"; regulator-name = "vio18"; regulator-min-microvolt = <1620000>; regulator-max-microvolt = <1980000>;
@@ -995,18 +987,15 @@ mt6397_vio18_reg: buck_vio18 { }; mt6397_vtcxo_reg: ldo_vtcxo { - regulator-compatible = "ldo_vtcxo"; regulator-name = "vtcxo"; regulator-always-on; }; mt6397_va28_reg: ldo_va28 { - regulator-compatible = "ldo_va28"; regulator-name = "va28"; }; mt6397_vcama_reg: ldo_vcama { - regulator-compatible = "ldo_vcama"; regulator-name = "vcama"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
@@ -1014,18 +1003,15 @@ mt6397_vcama_reg: ldo_vcama { }; mt6397_vio28_reg: ldo_vio28 { - regulator-compatible = "ldo_vio28"; regulator-name = "vio28"; regulator-always-on; }; mt6397_vusb_reg: ldo_vusb { - regulator-compatible = "ldo_vusb"; regulator-name = "vusb"; }; mt6397_vmc_reg: ldo_vmc { - regulator-compatible = "ldo_vmc"; regulator-name = "vmc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>;
@@ -1033,7 +1019,6 @@ mt6397_vmc_reg: ldo_vmc { }; mt6397_vmch_reg: ldo_vmch { - regulator-compatible = "ldo_vmch"; regulator-name = "vmch"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>;
@@ -1041,7 +1026,6 @@ mt6397_vmch_reg: ldo_vmch { }; mt6397_vemc_3v3_reg: ldo_vemc3v3 { - regulator-compatible = "ldo_vemc3v3"; regulator-name = "vemc_3v3"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>;
@@ -1049,7 +1033,6 @@ mt6397_vemc_3v3_reg: ldo_vemc3v3 { }; mt6397_vgp1_reg: ldo_vgp1 { - regulator-compatible = "ldo_vgp1"; regulator-name = "vcamd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
@@ -1057,7 +1040,6 @@ mt6397_vgp1_reg: ldo_vgp1 { }; mt6397_vgp2_reg: ldo_vgp2 { - regulator-compatible = "ldo_vgp2"; regulator-name = "vcamio"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@@ -1065,7 +1047,6 @@ mt6397_vgp2_reg: ldo_vgp2 { }; mt6397_vgp3_reg: ldo_vgp3 { - regulator-compatible = "ldo_vgp3"; regulator-name = "vcamaf"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
@@ -1073,7 +1054,6 @@ mt6397_vgp3_reg: ldo_vgp3 { }; mt6397_vgp4_reg: ldo_vgp4 { - regulator-compatible = "ldo_vgp4"; regulator-name = "vgp4"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>;
@@ -1081,7 +1061,6 @@ mt6397_vgp4_reg: ldo_vgp4 { }; mt6397_vgp5_reg: ldo_vgp5 { - regulator-compatible = "ldo_vgp5"; regulator-name = "vgp5"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3000000>;
@@ -1089,7 +1068,6 @@ mt6397_vgp5_reg: ldo_vgp5 { }; mt6397_vgp6_reg: ldo_vgp6 { - regulator-compatible = "ldo_vgp6"; regulator-name = "vgp6"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
@@ -1098,7 +1076,6 @@ mt6397_vgp6_reg: ldo_vgp6 { }; mt6397_vibr_reg: ldo_vibr { - regulator-compatible = "ldo_vibr"; regulator-name = "vibr"; regulator-min-microvolt = <1300000>; regulator-max-microvolt = <3300000>;
@@ -1106,7 +1083,7 @@ mt6397_vibr_reg: ldo_vibr { }; }; - rtc: mt6397rtc { + rtc: rtc { compatible = "mediatek,mt6397-rtc"; };
arch/arm64/boot/dts/mediatek/mt8173-evb.dts +1 -24
@@ -303,11 +303,10 @@ pmic: mt6397 { interrupt-controller; #interrupt-cells = <2>; - mt6397regulator: mt6397regulator { + regulators { compatible = "mediatek,mt6397-regulator"; mt6397_vpca15_reg: buck_vpca15 { - regulator-compatible = "buck_vpca15"; regulator-name = "vpca15"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -316,7 +315,6 @@ mt6397_vpca15_reg: buck_vpca15 { }; mt6397_vpca7_reg: buck_vpca7 { - regulator-compatible = "buck_vpca7"; regulator-name = "vpca7"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -325,7 +323,6 @@ mt6397_vpca7_reg: buck_vpca7 { }; mt6397_vsramca15_reg: buck_vsramca15 { - regulator-compatible = "buck_vsramca15"; regulator-name = "vsramca15"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -334,7 +331,6 @@ mt6397_vsramca15_reg: buck_vsramca15 { }; mt6397_vsramca7_reg: buck_vsramca7 { - regulator-compatible = "buck_vsramca7"; regulator-name = "vsramca7"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -343,7 +339,6 @@ mt6397_vsramca7_reg: buck_vsramca7 { }; mt6397_vcore_reg: buck_vcore { - regulator-compatible = "buck_vcore"; regulator-name = "vcore"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -352,7 +347,6 @@ mt6397_vcore_reg: buck_vcore { }; mt6397_vgpu_reg: buck_vgpu { - regulator-compatible = "buck_vgpu"; regulator-name = "vgpu"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>;
@@ -361,7 +355,6 @@ mt6397_vgpu_reg: buck_vgpu { }; mt6397_vdrm_reg: buck_vdrm { - regulator-compatible = "buck_vdrm"; regulator-name = "vdrm"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1400000>;
@@ -370,7 +363,6 @@ mt6397_vdrm_reg: buck_vdrm { }; mt6397_vio18_reg: buck_vio18 { - regulator-compatible = "buck_vio18"; regulator-name = "vio18"; regulator-min-microvolt = <1620000>; regulator-max-microvolt = <1980000>;
@@ -379,19 +371,16 @@ mt6397_vio18_reg: buck_vio18 { }; mt6397_vtcxo_reg: ldo_vtcxo { - regulator-compatible = "ldo_vtcxo"; regulator-name = "vtcxo"; regulator-always-on; }; mt6397_va28_reg: ldo_va28 { - regulator-compatible = "ldo_va28"; regulator-name = "va28"; regulator-always-on; }; mt6397_vcama_reg: ldo_vcama { - regulator-compatible = "ldo_vcama"; regulator-name = "vcama"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <2800000>;
@@ -399,18 +388,15 @@ mt6397_vcama_reg: ldo_vcama { }; mt6397_vio28_reg: ldo_vio28 { - regulator-compatible = "ldo_vio28"; regulator-name = "vio28"; regulator-always-on; }; mt6397_vusb_reg: ldo_vusb { - regulator-compatible = "ldo_vusb"; regulator-name = "vusb"; }; mt6397_vmc_reg: ldo_vmc { - regulator-compatible = "ldo_vmc"; regulator-name = "vmc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>;
@@ -418,7 +404,6 @@ mt6397_vmc_reg: ldo_vmc { }; mt6397_vmch_reg: ldo_vmch { - regulator-compatible = "ldo_vmch"; regulator-name = "vmch"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>;
@@ -426,7 +411,6 @@ mt6397_vmch_reg: ldo_vmch { }; mt6397_vemc_3v3_reg: ldo_vemc3v3 { - regulator-compatible = "ldo_vemc3v3"; regulator-name = "vemc_3v3"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>;
@@ -434,7 +418,6 @@ mt6397_vemc_3v3_reg: ldo_vemc3v3 { }; mt6397_vgp1_reg: ldo_vgp1 { - regulator-compatible = "ldo_vgp1"; regulator-name = "vcamd"; regulator-min-microvolt = <1220000>; regulator-max-microvolt = <3300000>;
@@ -442,7 +425,6 @@ mt6397_vgp1_reg: ldo_vgp1 { }; mt6397_vgp2_reg: ldo_vgp2 { - regulator-compatible = "ldo_vgp2"; regulator-name = "vcamio"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3300000>;
@@ -450,7 +432,6 @@ mt6397_vgp2_reg: ldo_vgp2 { }; mt6397_vgp3_reg: ldo_vgp3 { - regulator-compatible = "ldo_vgp3"; regulator-name = "vcamaf"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>;
@@ -458,7 +439,6 @@ mt6397_vgp3_reg: ldo_vgp3 { }; mt6397_vgp4_reg: ldo_vgp4 { - regulator-compatible = "ldo_vgp4"; regulator-name = "vgp4"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>;
@@ -466,7 +446,6 @@ mt6397_vgp4_reg: ldo_vgp4 { }; mt6397_vgp5_reg: ldo_vgp5 { - regulator-compatible = "ldo_vgp5"; regulator-name = "vgp5"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3000000>;
@@ -474,7 +453,6 @@ mt6397_vgp5_reg: ldo_vgp5 { }; mt6397_vgp6_reg: ldo_vgp6 { - regulator-compatible = "ldo_vgp6"; regulator-name = "vgp6"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>;
@@ -482,7 +460,6 @@ mt6397_vgp6_reg: ldo_vgp6 { }; mt6397_vibr_reg: ldo_vibr { - regulator-compatible = "ldo_vibr"; regulator-name = "vibr"; regulator-min-microvolt = <1300000>; regulator-max-microvolt = <3300000>;
arch/arm64/boot/dts/mediatek/mt8516.dtsi +13 -25
@@ -144,10 +144,10 @@ reserved-memory { #size-cells = <2>; ranges; - /* 128 KiB reserved for ARM Trusted Firmware (BL31) */ + /* 192 KiB reserved for ARM Trusted Firmware (BL31) */ bl31_secmon_reserved: secmon@43000000 { no-map; - reg = <0 0x43000000 0 0x20000>; + reg = <0 0x43000000 0 0x30000>; }; };
@@ -206,7 +206,7 @@ toprgu: toprgu@10007000 { compatible = "mediatek,mt8516-wdt", "mediatek,mt6589-wdt"; reg = <0 0x10007000 0 0x1000>; - interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_FALLING>; + interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>; #reset-cells = <1>; };
@@ -262,7 +262,7 @@ gic: interrupt-controller@10310000 { interrupt-parent = <&gic>; interrupt-controller; reg = <0 0x10310000 0 0x1000>, - <0 0x10320000 0 0x1000>, + <0 0x1032f000 0 0x2000>, <0 0x10340000 0 0x2000>, <0 0x10360000 0 0x2000>; interrupts = <GIC_PPI 9
@@ -308,14 +308,10 @@ i2c0: i2c@11009000 { reg = <0 0x11009000 0 0x90>, <0 0x11000180 0 0x80>; interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>; - clocks = <&topckgen CLK_TOP_AHB_INFRA_D2>, - <&infracfg CLK_IFR_I2C0_SEL>, - <&topckgen CLK_TOP_I2C0>, + clock-div = <2>; + clocks = <&topckgen CLK_TOP_I2C0>, <&topckgen CLK_TOP_APDMA>; - clock-names = "main-source", - "main-sel", - "main", - "dma"; + clock-names = "main", "dma"; #address-cells = <1>; #size-cells = <0>; status = "disabled";
@@ -327,14 +323,10 @@ i2c1: i2c@1100a000 { reg = <0 0x1100a000 0 0x90>, <0 0x11000200 0 0x80>; interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>; - clocks = <&topckgen CLK_TOP_AHB_INFRA_D2>, - <&infracfg CLK_IFR_I2C1_SEL>, - <&topckgen CLK_TOP_I2C1>, + clock-div = <2>; + clocks = <&topckgen CLK_TOP_I2C1>, <&topckgen CLK_TOP_APDMA>; - clock-names = "main-source", - "main-sel", - "main", - "dma"; + clock-names = "main", "dma"; #address-cells = <1>; #size-cells = <0>; status = "disabled";
@@ -346,14 +338,10 @@ i2c2: i2c@1100b000 { reg = <0 0x1100b000 0 0x90>, <0 0x11000280 0 0x80>; interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>; - clocks = <&topckgen CLK_TOP_AHB_INFRA_D2>, - <&infracfg CLK_IFR_I2C2_SEL>, - <&topckgen CLK_TOP_I2C2>, + clock-div = <2>; + clocks = <&topckgen CLK_TOP_I2C2>, <&topckgen CLK_TOP_APDMA>; - clock-names = "main-source", - "main-sel", - "main", - "dma"; + clock-names = "main", "dma"; #address-cells = <1>; #size-cells = <0>; status = "disabled";
arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi +0 -2
@@ -48,7 +48,6 @@ volume-down { }; &i2c0 { - clock-div = <2>; pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins_a>; status = "okay";
@@ -157,7 +156,6 @@ cam_pwdn { }; &i2c2 { - clock-div = <2>; pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins_a>; status = "okay";
arch/arm64/boot/dts/qcom/msm8916.dtsi +1 -1
@@ -104,7 +104,7 @@ xo_board: xo-board { sleep_clk: sleep-clk { compatible = "fixed-clock"; #clock-cells = <0>; - clock-frequency = <32768>; + clock-frequency = <32764>; }; };
arch/arm64/boot/dts/qcom/msm8994.dtsi +1 -1
@@ -24,7 +24,7 @@ xo_board: xo-board { sleep_clk: sleep-clk { compatible = "fixed-clock"; #clock-cells = <0>; - clock-frequency = <32768>; + clock-frequency = <32764>; clock-output-names = "sleep_clk"; }; };
arch/arm64/boot/dts/qcom/sm8250.dtsi +1 -1
@@ -75,7 +75,7 @@ xo_board: xo-board { sleep_clk: sleep-clk { compatible = "fixed-clock"; - clock-frequency = <32768>; + clock-frequency = <32764>; #clock-cells = <0>; }; };
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +1 -1
@@ -176,7 +176,7 @@ &gmac { snps,reset-active-low; snps,reset-delays-us = <0 10000 50000>; tx_delay = <0x10>; - rx_delay = <0x10>; + rx_delay = <0x23>; status = "okay"; };
arch/arm64/include/asm/mman.h +6 -3
@@ -31,9 +31,12 @@ static inline unsigned long arch_calc_vm_flag_bits(struct file *file,* backed by tags-capable memory. The vm_flags may be overridden by a * filesystem supporting MTE (RAM-based). */ -if (system_supports_mte () && - ((flags &MAP_ANONYMOUS ) ||shmem_file (file))) -return VM_MTE_ALLOWED ; +if (system_supports_mte ()) { +if ((flags &MAP_ANONYMOUS ) && !(flags &MAP_HUGETLB )) +return VM_MTE_ALLOWED ; +if (shmem_file (file)) +return VM_MTE_ALLOWED ; + }return 0 ; }
arch/arm64/kernel/cacheinfo.c +7 -5
@@ -87,16 +87,18 @@ int populate_cache_leaves(unsigned int cpu)unsigned int level, idx;enum cache_type type;struct cpu_cacheinfo *this_cpu_ci =get_cpu_cacheinfo (cpu); -struct cacheinfo *this_leaf = this_cpu_ci->info_list; +struct cacheinfo *infos = this_cpu_ci->info_list;for (idx =0 , level =1 ; level <= this_cpu_ci->num_levels && - idx < this_cpu_ci->num_leaves; idx++, level++) { + idx < this_cpu_ci->num_leaves; level++) { type =get_cache_type (level);if (type ==CACHE_TYPE_SEPARATE ) { -ci_leaf_init (this_leaf++,CACHE_TYPE_DATA , level); -ci_leaf_init (this_leaf++,CACHE_TYPE_INST , level); +if (idx +1 >= this_cpu_ci->num_leaves) +break ; +ci_leaf_init (&infos[idx++],CACHE_TYPE_DATA , level); +ci_leaf_init (&infos[idx++],CACHE_TYPE_INST , level); }else { -ci_leaf_init (this_leaf++, type, level); +ci_leaf_init (&infos[idx++], type, level); } }return 0 ;
arch/arm64/kernel/vdso/vdso.lds.S +1 -0
@@ -37,6 +37,7 @@ SECTIONS */ /DISCARD/ : { *(.note.GNU-stack .note.gnu.property) + *(.ARM.attributes) } .note : { *(.note.*) } :text :note
arch/arm64/kernel/vmlinux.lds.S +1 -0
@@ -113,6 +113,7 @@ SECTIONS /DISCARD/ : { *(.interp .dynamic) *(.dynsym .dynstr .hash .gnu.hash) + *(.ARM.attributes) } . = KIMAGE_VADDR;
arch/hexagon/include/asm/cmpxchg.h +1 -1
@@ -56,7 +56,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr,__typeof__ (ptr) __ptr = (ptr); \ __typeof__(*(ptr)) __old = (old); \ __typeof__(*(ptr)) __new = (new); \ - __typeof__(*(ptr)) __oldval = 0; \ + __typeof__(*(ptr)) __oldval = (__typeof__(*(ptr))) 0; \ \ asmvolatile ( \ "1: %0 = memw_locked(%1);\n" \
arch/hexagon/kernel/traps.c +3 -1
@@ -199,8 +199,10 @@ int die(const char *str, struct pt_regs *regs, long err)printk (KERN_EMERG "Oops: %s[#%d]:\n" , str, ++die.counter);if (notify_die (DIE_OOPS , str, regs, err,pt_cause (regs),SIGSEGV ) == -NOTIFY_STOP ) +NOTIFY_STOP ) { +spin_unlock_irq (&die.lock);return 1 ; + }print_modules ();show_regs (regs);
arch/m68k/include/asm/vga.h +4 -4
@@ -9,7 +9,7 @@*/ #ifndef CONFIG_PCI -#include <asm/raw_io.h> +#include <asm/io.h> #include <asm/kmap.h> /*
@@ -29,9 +29,9 @@#define inw_p (port) 0#define outb_p (port, val) do { } while (0)#define outw (port, val) do { } while (0) -#define readb raw_inb -#define writeb raw_outb -#define writew raw_outw +#define readb __raw_readb +#define writeb __raw_writeb +#define writew __raw_writew#endif /* CONFIG_PCI */ #endif /* _ASM_M68K_VGA_H */
arch/mips/kernel/ftrace.c +1 -1
@@ -260,7 +260,7 @@ int ftrace_disable_ftrace_graph_caller(void)#define S_R_SP (0xafb0 << 16)/* s{d,w} R, offset(sp) */ #define OFFSET_MASK 0xffff/* stack offset range: 0 ~ PT_SIZE */ -unsigned long ftrace_get_parent_ra_addr (unsigned long self_ra,unsigned long +static unsigned long ftrace_get_parent_ra_addr (unsigned long self_ra,unsigned long old_parent_ra,unsigned long parent_ra_addr,unsigned long fp) {unsigned long sp, ip, tmp;
arch/powerpc/include/asm/book3s/64/hash-4k.h +28 -0
@@ -89,6 +89,34 @@ static inline int hash__hugepd_ok(hugepd_t hpd) }#endif +/* +* With 4K page size the real_pte machinery is all nops. +*/ +static inline real_pte_t __real_pte (pte_t pte,pte_t *ptep,int offset) +{ +return (real_pte_t ){pte}; +} + +#define __rpte_to_pte (r) ((r).pte) + +static inline unsigned long __rpte_to_hidx (real_pte_t rpte,unsigned long index) +{ +return pte_val (__rpte_to_pte (rpte)) >>H_PAGE_F_GIX_SHIFT ; +} + +#define pte_iterate_hashed_subpages (rpte, psize, va, index, shift) \ + do { \ + index = 0; \ + shift = mmu_psize_defs[psize].shift; \ + +#define pte_iterate_hashed_end () } while(0) + +/* +* We expect this to be called only for user addresses or kernel virtual +* addresses other than the linear mapping. +*/ +#define pte_pagesize_index (mm, addr, pte) MMU_PAGE_4K +/* * 4K PTE format is different from 64K PTE format. Saving the hash_slot is just * a matter of returning the PTE bits that need to be modified. On 64K PTE,
arch/powerpc/include/asm/book3s/64/pgtable.h +0 -26
@@ -332,32 +332,6 @@ extern unsigned long pci_io_base;#ifndef __ASSEMBLY__ -/* -* This is the default implementation of various PTE accessors, it's -* used in all cases except Book3S with 64K pages where we have a -* concept of sub-pages -*/ -#ifndef __real_pte - -#define __real_pte (e, p, o) ((real_pte_t){(e)}) -#define __rpte_to_pte (r) ((r).pte) -#define __rpte_to_hidx (r,index) (pte_val(__rpte_to_pte(r)) >> H_PAGE_F_GIX_SHIFT) - -#define pte_iterate_hashed_subpages (rpte, psize, va, index, shift) \ - do { \ - index = 0; \ - shift = mmu_psize_defs[psize].shift; \ - -#define pte_iterate_hashed_end () } while(0) - -/* -* We expect this to be called only for user addresses or kernel virtual -* addresses other than the linear mapping. -*/ -#define pte_pagesize_index (mm, addr, pte) MMU_PAGE_4K - -#endif /* __real_pte */ -static inline unsigned long pte_update (struct mm_struct *mm,unsigned long addr,pte_t *ptep,unsigned long clr,unsigned long set,int huge)
arch/powerpc/lib/code-patching.c +1 -1
@@ -47,7 +47,7 @@ static int text_area_cpu_up(unsigned int cpu) {struct vm_struct *area; - area =get_vm_area (PAGE_SIZE ,VM_ALLOC ); + area =get_vm_area (PAGE_SIZE ,0 );if (!area) {WARN_ONCE (1 ,"Failed to create text area for cpu %d\n" , cpu);
arch/powerpc/platforms/pseries/eeh_pseries.c +4 -2
@@ -578,8 +578,10 @@ static int pseries_eeh_get_state(struct eeh_pe *pe, int *delay)switch (rets[0 ]) {case 0 : - result =EEH_STATE_MMIO_ACTIVE | -EEH_STATE_DMA_ACTIVE ; + result =EEH_STATE_MMIO_ACTIVE | +EEH_STATE_DMA_ACTIVE | +EEH_STATE_MMIO_ENABLED | +EEH_STATE_DMA_ENABLED ;break ;case 1 : result = EEH_STATE_RESET_ACTIVE |
arch/s390/include/asm/futex.h +1 -1
@@ -45,7 +45,7 @@ static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval,break ;case FUTEX_OP_ANDN :__futex_atomic_op ("lr %2,%1\nnr %2,%5\n" , - ret, oldval, newval, uaddr, oparg); + ret, oldval, newval, uaddr, ~oparg);break ;case FUTEX_OP_XOR : __futex_atomic_op("lr %2,%1\nxr %2,%5\n",
arch/s390/kernel/traps.c +3 -3
@@ -276,10 +276,10 @@ static void __init test_monitor_call(void)return ; asmvolatile (" mc 0,0\n" -"0: xgr %0,%0\n" +"0: lhi %[val],0\n" "1:\n" - EX_TABLE(0b,1b) - : "+d" (val)); + EX_TABLE(0b, 1b) + : [val] "+d" (val)); if (!val)panic ("Monitor call doesn't work!\n" ); }
arch/s390/kvm/vsie.c +19 -6
@@ -1316,8 +1316,14 @@ static struct vsie_page *get_vsie_page(struct kvm *kvm, unsigned long addr) page =radix_tree_lookup (&kvm->arch.vsie.addr_to_page, addr >>9 );rcu_read_unlock ();if (page) { -if (page_ref_inc_return (page) ==2 ) -return page_to_virt (page); +if (page_ref_inc_return (page) ==2 ) { +if (page->index == addr) +return page_to_virt (page); +/* +* We raced with someone reusing + putting this vsie +* page before we grabbed it. +*/ + }page_ref_dec (page); }
@@ -1347,15 +1353,20 @@ static struct vsie_page *get_vsie_page(struct kvm *kvm, unsigned long addr) kvm->arch.vsie.next++; kvm->arch.vsie.next %= nr_vcpus; } -radix_tree_delete (&kvm->arch.vsie.addr_to_page, page->index >>9 ); +if (page->index !=ULONG_MAX ) +radix_tree_delete (&kvm->arch.vsie.addr_to_page, + page->index >>9 ); } - page->index = addr; -/* double use of the same address */ +/* Mark it as invalid until it resides in the tree. */ + page->index =ULONG_MAX ; + +/* Double use of the same address or allocation failure. */ if (radix_tree_insert (&kvm->arch.vsie.addr_to_page, addr >>9 , page)) {page_ref_dec (page);mutex_unlock (&kvm->arch.vsie.mutex);return NULL ; } + page->index = addr;mutex_unlock (&kvm->arch.vsie.mutex); vsie_page =page_to_virt (page);
@@ -1448,7 +1459,9 @@ void kvm_s390_vsie_destroy(struct kvm *kvm) vsie_page =page_to_virt (page);release_gmap_shadow (vsie_page);/* free the radix tree entry */ -radix_tree_delete (&kvm->arch.vsie.addr_to_page, page->index >>9 ); +if (page->index !=ULONG_MAX ) +radix_tree_delete (&kvm->arch.vsie.addr_to_page, + page->index >>9 );__free_page (page); } kvm->arch.vsie.page_count =0 ;
arch/x86/Kconfig +2 -1
@@ -2463,7 +2463,8 @@ config CPU_IBPB_ENTRY depends on CPU_SUP_AMD && X86_64 default y help - Compile the kernel with support for the retbleed=ibpb mitigation. + Compile the kernel with support for the retbleed=ibpb and + spec_rstack_overflow={ibpb,ibpb-vmexit} mitigations. config CPU_IBRS_ENTRY bool "Enable IBRS on kernel entry"
arch/x86/boot/compressed/Makefile +1 -0
@@ -33,6 +33,7 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \ # avoid errors with '-march=i386', and future flags may depend on the target to # be valid. KBUILD_CFLAGS := -m$(BITS) -O2 $(CLANG_FLAGS) +KBUILD_CFLAGS += -std=gnu11 KBUILD_CFLAGS += -fno-strict-aliasing -fPIE KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING cflags-$(CONFIG_X86_32) := -march=i386
arch/x86/events/intel/core.c +4 -1
@@ -4078,8 +4078,11 @@ static void intel_pmu_cpu_starting(int cpu)init_debug_store_on_cpu (cpu);/* -* Deal with CPUs that don't clear their LBRs on power-up. +* Deal with CPUs that don't clear their LBRs on power-up, and that may +* even boot with LBRs enabled. */ +if (!static_cpu_has (X86_FEATURE_ARCH_LBR ) && x86_pmu.lbr_nr) +msr_clear_bit (MSR_IA32_DEBUGCTLMSR ,DEBUGCTLMSR_LBR_BIT );intel_pmu_lbr_reset (); cpuc->lbr_sel =NULL ;
arch/x86/include/asm/msr-index.h +2 -1
@@ -326,7 +326,8 @@#define MSR_IA32_PASID_VALID BIT_ULL(31)/* DEBUGCTLMSR bits (others vary by model): */ -#define DEBUGCTLMSR_LBR (1UL << 0)/* last branch recording */ +#define DEBUGCTLMSR_LBR_BIT 0/* last branch recording */ +#define DEBUGCTLMSR_LBR (1UL << DEBUGCTLMSR_LBR_BIT)#define DEBUGCTLMSR_BTF_SHIFT 1#define DEBUGCTLMSR_BTF (1UL << 1)/* single-step on branches */ #define DEBUGCTLMSR_TR (1UL << 6)
arch/x86/kernel/amd_nb.c +4 -0
@@ -536,6 +536,10 @@ static __init void fix_erratum_688(void)static __init int init_amd_nbs (void ) { +if (boot_cpu_data.x86_vendor !=X86_VENDOR_AMD && + boot_cpu_data.x86_vendor !=X86_VENDOR_HYGON ) +return 0 ; +amd_cache_northbridges ();amd_cache_gart ();
arch/x86/kernel/cpu/bugs.c +14 -6
@@ -1061,6 +1061,8 @@ static void __init retbleed_select_mitigation(void)case RETBLEED_MITIGATION_IBPB :setup_force_cpu_cap (X86_FEATURE_ENTRY_IBPB ); +setup_force_cpu_cap (X86_FEATURE_IBPB_ON_VMEXIT ); + mitigate_smt = true;/* * IBPB on entry already obviates the need for
@@ -1070,8 +1072,6 @@ static void __init retbleed_select_mitigation(void)setup_clear_cpu_cap (X86_FEATURE_UNRET );setup_clear_cpu_cap (X86_FEATURE_RETHUNK ); - mitigate_smt = true; -/* * There is no need for RSB filling: entry_ibpb() ensures * all predictions, including the RSB, are invalidated,
@@ -2469,6 +2469,7 @@ static void __init srso_select_mitigation(void)if (IS_ENABLED (CONFIG_CPU_IBPB_ENTRY )) {if (has_microcode) {setup_force_cpu_cap (X86_FEATURE_ENTRY_IBPB ); +setup_force_cpu_cap (X86_FEATURE_IBPB_ON_VMEXIT ); srso_mitigation =SRSO_MITIGATION_IBPB ;/*
@@ -2478,6 +2479,13 @@ static void __init srso_select_mitigation(void)*/ setup_clear_cpu_cap (X86_FEATURE_UNRET );setup_clear_cpu_cap (X86_FEATURE_RETHUNK ); + +/* +* There is no need for RSB filling: entry_ibpb() ensures +* all predictions, including the RSB, are invalidated, +* regardless of IBPB implementation. +*/ +setup_clear_cpu_cap (X86_FEATURE_RSB_VMEXIT ); } }else {pr_err ("WARNING: kernel not compiled with CPU_IBPB_ENTRY.\n" );
@@ -2486,8 +2494,8 @@ static void __init srso_select_mitigation(void)break ;case SRSO_CMD_IBPB_ON_VMEXIT : -if (IS_ENABLED (CONFIG_CPU_SRSO )) { -if (!boot_cpu_has (X86_FEATURE_ENTRY_IBPB ) && has_microcode) { +if (IS_ENABLED (CONFIG_CPU_IBPB_ENTRY )) { +if (has_microcode) {setup_force_cpu_cap (X86_FEATURE_IBPB_ON_VMEXIT ); srso_mitigation =SRSO_MITIGATION_IBPB_ON_VMEXIT ;
@@ -2499,9 +2507,9 @@ static void __init srso_select_mitigation(void)setup_clear_cpu_cap (X86_FEATURE_RSB_VMEXIT ); } }else { -pr_err ("WARNING: kernel not compiled with CPU_SRSO.\n" ); +pr_err ("WARNING: kernel not compiled with CPU_IBPB_ENTRY.\n" ); goto pred_cmd; - } + }break ;default :
arch/x86/kernel/cpu/cacheinfo.c +1 -1
@@ -795,7 +795,7 @@ void init_intel_cacheinfo(struct cpuinfo_x86 *c)cpuid (2 , ®s[0 ], ®s[1 ], ®s[2 ], ®s[3 ]);/* If bit 31 is set, this is an unknown format */ -for (j =0 ; j <3 ; j++) +for (j =0 ; j <4 ; j++)if (regs[j] & (1 <<31 )) regs[j] =0 ;
arch/x86/kernel/cpu/cyrix.c +2 -2
@@ -152,8 +152,8 @@ static void geode_configure(void)u8 ccr3;local_irq_save (flags); -/* Suspend on halt power saving and enable #SUSP pin */ -setCx86 (CX86_CCR2 ,getCx86 (CX86_CCR2 ) |0x88 ); +/* Suspend on halt power saving */ +setCx86 (CX86_CCR2 ,getCx86 (CX86_CCR2 ) |0x08 ); ccr3 =getCx86 (CX86_CCR3 );setCx86 (CX86_CCR3 , (ccr3 &0x0f ) |0x10 );/* enable MAPEN */
arch/x86/kernel/cpu/intel.c +35 -17
81 lines not on this page · raw message
arch/x86/kernel/i8253.c +9 -2
@@ -8,6 +8,7 @@#include <linux/timex.h> #include <linux/i8253.h> +#include <asm/hypervisor.h> #include <asm/apic.h> #include <asm/hpet.h> #include <asm/time.h>
@@ -39,9 +40,15 @@ static bool __init use_pit(void)bool __init pit_timer_init (void ) { -if (!use_pit ()) +if (!use_pit ()) { +/* +* Don't just ignore the PIT. Ensure it's stopped, because +* VMMs otherwise steal CPU time just to pointlessly waggle +* the (masked) IRQ. +*/ +clockevent_i8253_disable ();return false; - + }clockevent_i8253_init (true); global_clock_event = &i8253_clockevent;return true;
arch/x86/kernel/static_call.c +0 -1
@@ -113,7 +113,6 @@ EXPORT_SYMBOL_GPL(arch_static_call_transform); noinstr void __static_call_update_early(void *tramp, void *func) {BUG_ON (system_state !=SYSTEM_BOOTING ); -BUG_ON (!early_boot_irqs_disabled);BUG_ON (static_call_initialized);__text_gen_insn (tramp,JMP32_INSN_OPCODE , tramp, func,JMP32_INSN_SIZE );sync_core ();
arch/x86/mm/init.c +14 -9
@@ -258,28 +258,33 @@ static void __init probe_page_size_mask(void) }/* -* INVLPG may not properly flush Global entries -* on these CPUs when PCIDs are enabled. +* INVLPG may not properly flush Global entries on +* these CPUs. New microcode fixes the issue. */ static const struct x86_cpu_id invlpg_miss_ids[] = { -X86_MATCH_INTEL_FAM6_MODEL (ALDERLAKE ,0 ), -X86_MATCH_INTEL_FAM6_MODEL (ALDERLAKE_L ,0 ), -X86_MATCH_INTEL_FAM6_MODEL (ALDERLAKE_N ,0 ), -X86_MATCH_INTEL_FAM6_MODEL (RAPTORLAKE ,0 ), -X86_MATCH_INTEL_FAM6_MODEL (RAPTORLAKE_P ,0 ), -X86_MATCH_INTEL_FAM6_MODEL (RAPTORLAKE_S ,0 ), +X86_MATCH_INTEL_FAM6_MODEL (ALDERLAKE ,0x2e ), +X86_MATCH_INTEL_FAM6_MODEL (ALDERLAKE_L ,0x42c ), +X86_MATCH_INTEL_FAM6_MODEL (ALDERLAKE_N ,0x11 ), +X86_MATCH_INTEL_FAM6_MODEL (RAPTORLAKE ,0x118 ), +X86_MATCH_INTEL_FAM6_MODEL (RAPTORLAKE_P ,0x4117 ), +X86_MATCH_INTEL_FAM6_MODEL (RAPTORLAKE_S ,0x2e ), {} };static void setup_pcid (void ) { +const struct x86_cpu_id *invlpg_miss_match; +if (!IS_ENABLED (CONFIG_X86_64 ))return ;if (!boot_cpu_has (X86_FEATURE_PCID ))return ; -if (x86_match_cpu (invlpg_miss_ids)) { + invlpg_miss_match =x86_match_cpu (invlpg_miss_ids); + +if (invlpg_miss_match && + boot_cpu_data.microcode < invlpg_miss_match->driver_data) {pr_info ("Incomplete global flushes, disabling PCID" );setup_clear_cpu_cap (X86_FEATURE_PCID );return ;
arch/x86/xen/mmu_pv.c +65 -14
153 lines not on this page · raw message
arch/x86/xen/xen-head.S +3 -2
@@ -115,8 +115,8 @@ SYM_FUNC_START(xen_hypercall_hvm) pop %ebx pop %eax #else - lea xen_hypercall_amd(%rip), %rbx - cmp %rax, %rbx + lea xen_hypercall_amd(%rip), %rcx + cmp %rax, %rcx #ifdef CONFIG_FRAME_POINTER pop %rax /* Dummy pop. */ #endif
@@ -130,6 +130,7 @@ SYM_FUNC_START(xen_hypercall_hvm) pop %rcx pop %rax #endif + FRAME_END /* Use correct hypercall function. */ jz xen_hypercall_amd jmp xen_hypercall_intel
block/blk-cgroup.c +1 -0
@@ -851,6 +851,7 @@ static void blkcg_fill_root_iostats(void) }disk_put_part (part); } +class_dev_iter_exit (&iter); }static int blkcg_print_stat (struct seq_file *sf,void *v)
block/partitions/efi.c +1 -1
@@ -672,7 +672,7 @@ static void utf16_le_to_7bit(const __le16 *in, unsigned int size, u8 *out) out[size] =0 ;while (i < size) { -u8 c =le16_to_cpu (in[i]) &0xff ; +u8 c =le16_to_cpu (in[i]) &0x7f ;if (c && !isprint (c)) c ='!' ;
block/partitions/ldm.h +1 -1
@@ -1,5 +1,5 @@// SPDX-License-Identifier: GPL-2.0-or-later -/** +/* * ldm - Part of the Linux-NTFS project. * * Copyright (C) 2001,2002 Richard Russon <[email protected]>
block/partitions/mac.c +15 -3
@@ -51,13 +51,25 @@ int mac_partition(struct parsed_partitions *state) } secsize =be16_to_cpu (md->block_size);put_dev_sector (sect); + +/* +* If the "block size" is not a power of 2, things get weird - we might +* end up with a partition straddling a sector boundary, so we wouldn't +* be able to read a partition entry with read_part_sector(). +* Real block sizes are probably (?) powers of two, so just require +* that. +*/ +if (!is_power_of_2 (secsize)) +return -1 ; datasize =round_down (secsize,512 ); data =read_part_sector (state, datasize /512 , §);if (!data)return -1 ; partoffset = secsize %512 ; -if (partoffset +sizeof (*part) > datasize) +if (partoffset +sizeof (*part) > datasize) { +put_dev_sector (sect);return -1 ; + } part = (struct mac_partition *) (data + partoffset);if (be16_to_cpu (part->signature) !=MAC_PARTITION_MAGIC ) {put_dev_sector (sect);
@@ -110,8 +122,8 @@ int mac_partition(struct parsed_partitions *state)int i, l; goodness++; - l =strlen (part->name); -if (strcmp (part->name,"/" ) ==0 ) + l =strnlen (part->name,sizeof (part->name)); +if (strncmp (part->name,"/" ,sizeof (part->name)) ==0 ) goodness++;for (i =0 ; i <= l -4 ; ++i) { if (strncasecmp(part->name + i, "root",
crypto/testmgr.h +165 -62
279 lines not on this page · raw message
drivers/acpi/apei/ghes.c +5 -5
@@ -155,8 +155,6 @@ static unsigned long ghes_estatus_pool_size_request;static struct ghes_estatus_cache *ghes_estatus_caches[GHES_ESTATUS_CACHES_SIZE ];static atomic_t ghes_estatus_cache_alloced; -static int ghes_panic_timeout__read_mostly =30 ; -static void __iomem *ghes_map (u64 pfn,enum fixed_addresses fixmap_idx) {phys_addr_t paddr;
@@ -858,14 +856,16 @@ static void __ghes_panic(struct ghes *ghes,struct acpi_hest_generic_status *estatus, u64 buf_paddr, enum fixed_addresses fixmap_idx) { + const char *msg = GHES_PFX "Fatal hardware error"; +__ghes_print_estatus (KERN_EMERG , ghes->generic, estatus);ghes_clear_estatus (ghes, estatus, buf_paddr, fixmap_idx); -/* reboot to log the error! */ if (!panic_timeout) - panic_timeout = ghes_panic_timeout; -panic ("Fatal hardware error!" ); +pr_emerg ("%s but panic disabled\n" , msg); + +panic (msg); }static int ghes_proc (struct ghes *ghes)
drivers/acpi/fan.c +8 -2
@@ -423,19 +423,25 @@ static int acpi_fan_probe(struct platform_device *pdev) result =sysfs_create_link (&pdev->dev.kobj, &cdev->device.kobj,"thermal_cooling" ); -if (result) +if (result) {dev_err (&pdev->dev,"Failed to create sysfs link 'thermal_cooling'\n" ); + goto err_unregister; + } result =sysfs_create_link (&cdev->device.kobj, &pdev->dev.kobj,"device" );if (result) {dev_err (&pdev->dev,"Failed to create sysfs link 'device'\n" ); - goto err_end; + goto err_remove_link; }return 0 ; +err_remove_link: +sysfs_remove_link (&pdev->dev.kobj,"thermal_cooling" ); +err_unregister: +thermal_cooling_device_unregister (cdev); err_end:if (fan->acpi4) {int i;
drivers/base/regmap/regmap-irq.c +2 -0
@@ -834,6 +834,7 @@ int regmap_add_irq_chip_fwnode(struct fwnode_handle *fwnode,kfree (d->wake_buf);kfree (d->mask_buf_def);kfree (d->mask_buf); +kfree (d->main_status_buf);kfree (d->status_buf);kfree (d->status_reg_buf);kfree (d);
@@ -904,6 +905,7 @@ void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *d)kfree (d->wake_buf);kfree (d->mask_buf_def);kfree (d->mask_buf); +kfree (d->main_status_buf);kfree (d->status_reg_buf);kfree (d->status_buf);kfree (d);
drivers/block/nbd.c +1 -0
@@ -2065,6 +2065,7 @@ static void nbd_disconnect_and_put(struct nbd_device *nbd)flush_workqueue (nbd->recv_workq);nbd_clear_que (nbd); nbd->task_setup =NULL ; +clear_bit (NBD_RT_BOUND , &nbd->config->runtime_flags);mutex_unlock (&nbd->config_lock); if (test_and_clear_bit(NBD_RT_HAS_CONFIG_REF,
drivers/char/ipmi/ipmb_dev_int.c +3 -0
@@ -322,6 +322,9 @@ static int ipmb_probe(struct i2c_client *client, ipmb_dev->miscdev.name =devm_kasprintf (&client->dev,GFP_KERNEL ,"%s%d" ,"ipmb-" , client->adapter->nr); +if (!ipmb_dev->miscdev.name) +return -ENOMEM ; + ipmb_dev->miscdev.fops = &ipmb_fops; ipmb_dev->miscdev.parent = &client->dev; ret =misc_register (&ipmb_dev->miscdev);
drivers/char/tpm/eventlog/acpi.c +14 -2
@@ -14,6 +14,7 @@* Access to the event log extended by the TCG BIOS of PC platform */ +#include <linux/device.h> #include <linux/seq_file.h> #include <linux/fs.h> #include <linux/security.h>
@@ -62,6 +63,11 @@ static bool tpm_is_tpm2_log(void *bios_event_log, u64 len)return n ==0 ; } +static void tpm_bios_log_free (void *data) +{ +kvfree (data); +} +/* read binary bios log */ int tpm_read_log_acpi (struct tpm_chip *chip) {
@@ -135,7 +141,7 @@ int tpm_read_log_acpi(struct tpm_chip *chip) }/* malloc EventLog space */ - log->bios_event_log =kmalloc (len,GFP_KERNEL ); + log->bios_event_log =kvmalloc (len,GFP_KERNEL );if (!log->bios_event_log)return -ENOMEM ;
@@ -161,10 +167,16 @@ int tpm_read_log_acpi(struct tpm_chip *chip) goto err; } + ret =devm_add_action (&chip->dev, tpm_bios_log_free, log->bios_event_log); +if (ret) { + log->bios_event_log =NULL ; + goto err; + } +return format; err: -kfree (log->bios_event_log); +tpm_bios_log_free (log->bios_event_log); log->bios_event_log =NULL ;return ret; }
drivers/char/tpm/eventlog/efi.c +7 -6
@@ -6,6 +6,7 @@* Thiebaud Weksteen <[email protected]> */ +#include <linux/device.h> #include <linux/efi.h> #include <linux/tpm_eventlog.h>
@@ -55,7 +56,7 @@ int tpm_read_log_efi(struct tpm_chip *chip) }/* malloc EventLog space */ - log->bios_event_log =kmemdup (log_tbl->log, log_size,GFP_KERNEL ); + log->bios_event_log =devm_kmemdup (&chip->dev, log_tbl->log, log_size,GFP_KERNEL );if (!log->bios_event_log) { ret = -ENOMEM ; goto out;
@@ -76,7 +77,7 @@ int tpm_read_log_efi(struct tpm_chip *chip) MEMREMAP_WB);if (!final_tbl) {pr_err ("Could not map UEFI TPM final log\n" ); -kfree (log->bios_event_log); +devm_kfree (&chip->dev, log->bios_event_log); ret = -ENOMEM ; goto out; }
@@ -91,11 +92,11 @@ int tpm_read_log_efi(struct tpm_chip *chip)* Allocate memory for the 'combined log' where we will append the * 'final events log' to. */ - tmp =krealloc (log->bios_event_log, - log_size + final_events_log_size, -GFP_KERNEL ); + tmp =devm_krealloc (&chip->dev, log->bios_event_log, + log_size + final_events_log_size, +GFP_KERNEL );if (!tmp) { -kfree (log->bios_event_log); +devm_kfree (&chip->dev, log->bios_event_log); ret = -ENOMEM ; goto out; }
drivers/char/tpm/eventlog/of.c +2 -1
@@ -10,6 +10,7 @@* Read the event log created by the firmware on PPC64 */ +#include <linux/device.h> #include <linux/slab.h> #include <linux/of.h> #include <linux/tpm_eventlog.h>
@@ -65,7 +66,7 @@ int tpm_read_log_of(struct tpm_chip *chip)return -EIO ; } - log->bios_event_log =kmemdup (__va (base), size,GFP_KERNEL ); + log->bios_event_log =devm_kmemdup (&chip->dev,__va (base), size,GFP_KERNEL );if (!log->bios_event_log)return -ENOMEM ;
drivers/char/tpm/tpm-chip.c +0 -1
@@ -267,7 +267,6 @@ static void tpm_dev_release(struct device *dev)idr_remove (&dev_nums_idr, chip->dev_num);mutex_unlock (&idr_lock); -kfree (chip->log.bios_event_log);kfree (chip->work_space.context_buf);kfree (chip->work_space.session_buf);kfree (chip->allocated_banks);
drivers/clk/analogbits/wrpll-cln28hpc.c +1 -1
@@ -287,7 +287,7 @@ int wrpll_configure_for_rate(struct wrpll_cfg *c, u32 target_rate, vco = vco_pre * f; } - delta =abs (target_rate - vco); + delta =abs (target_vco_rate - vco);if (delta < best_delta) { best_delta = delta; best_r = r;
drivers/clk/imx/clk-imx8mp.c +3 -2
@@ -410,8 +410,9 @@ static const char * const imx8mp_dram_core_sels[] = {"dram_pll_out", "dram_alt_rstatic const char *const imx8mp_clkout_sels[] = {"audio_pll1_out" ,"audio_pll2_out" ,"video_pll1_out" ,"dummy" ,"dummy" ,"gpu_pll_out" ,"vpu_pll_out" , -"arm_pll_out" ,"sys_pll1" ,"sys_pll2" ,"sys_pll3" , -"dummy" ,"dummy" ,"osc_24m" ,"dummy" ,"osc_32k" }; +"arm_pll_out" ,"sys_pll1_out" ,"sys_pll2_out" , +"sys_pll3_out" ,"dummy" ,"dummy" ,"osc_24m" , +"dummy" ,"osc_32k" };static struct clk_hw **hws;static struct clk_hw_onecell_data *clk_hw_data;
drivers/clk/qcom/clk-alpha-pll.c +2 -0
@@ -240,6 +240,8 @@ void clk_alpha_pll_configure(struct clk_alpha_pll *pll, struct regmap *regmap, mask |= config->pre_div_mask; mask |= config->post_div_mask; mask |= config->vco_mask; + mask |= config->alpha_en_mask; + mask |= config->alpha_mode_mask;regmap_update_bits (regmap,PLL_USER_CTL (pll), mask, val);
drivers/clk/qcom/clk-rpmh.c +1 -1
@@ -331,7 +331,7 @@ static unsigned long clk_rpmh_bcm_recalc_rate(struct clk_hw *hw, {struct clk_rpmh *c =to_clk_rpmh (hw); -return c->aggr_state * c->unit; +return (unsigned long )c->aggr_state * c->unit; }static const struct clk_ops clk_rpmh_bcm_ops = {
drivers/clk/sunxi-ng/ccu-sun50i-a100.c +3 -3
@@ -437,7 +437,7 @@ static SUNXI_CCU_MP_WITH_MUX_GATE_POSTDIV(mmc0_clk, "mmc0", mmc_parents, 0x830,24 ,2 ,/* mux */ BIT (31 ),/* gate */ 2 ,/* post-div */ - CLK_SET_RATE_NO_REPARENT); + 0); static SUNXI_CCU_MP_WITH_MUX_GATE_POSTDIV(mmc1_clk, "mmc1", mmc_parents, 0x834, 0, 4, /* M */
@@ -445,7 +445,7 @@ static SUNXI_CCU_MP_WITH_MUX_GATE_POSTDIV(mmc1_clk, "mmc1", mmc_parents, 0x834,24 ,2 ,/* mux */ BIT (31 ),/* gate */ 2 ,/* post-div */ - CLK_SET_RATE_NO_REPARENT); + 0); static SUNXI_CCU_MP_WITH_MUX_GATE_POSTDIV(mmc2_clk, "mmc2", mmc_parents, 0x838, 0, 4, /* M */
@@ -453,7 +453,7 @@ static SUNXI_CCU_MP_WITH_MUX_GATE_POSTDIV(mmc2_clk, "mmc2", mmc_parents, 0x838,24 ,2 ,/* mux */ BIT (31 ),/* gate */ 2 ,/* post-div */ - CLK_SET_RATE_NO_REPARENT); + 0); static SUNXI_CCU_GATE(bus_mmc0_clk, "bus-mmc0", "ahb3", 0x84c, BIT(0), 0); static SUNXI_CCU_GATE(bus_mmc1_clk, "bus-mmc1", "ahb3", 0x84c, BIT(1), 0);
drivers/clocksource/i8253.c +9 -4
@@ -108,11 +108,8 @@ int __init clocksource_i8253_init(void)#endif #ifdef CONFIG_CLKEVT_I8253 -static int pit_shutdown (struct clock_event_device *evt) +void clockevent_i8253_disable (void ) { -if (!clockevent_state_oneshot (evt) && !clockevent_state_periodic (evt)) -return 0 ; -raw_spin_lock (&i8253_lock);outb_p (0x30 ,PIT_MODE );
@@ -123,6 +120,14 @@ static int pit_shutdown(struct clock_event_device *evt) }raw_spin_unlock (&i8253_lock); +} + +static int pit_shutdown (struct clock_event_device *evt) +{ +if (!clockevent_state_oneshot (evt) && !clockevent_state_periodic (evt)) +return 0 ; + +clockevent_i8253_disable ();return 0 ; }
drivers/cpufreq/acpi-cpufreq.c +27 -9
@@ -630,7 +630,14 @@ static int acpi_cpufreq_blacklist(struct cpuinfo_x86 *c)#endif #ifdef CONFIG_ACPI_CPPC_LIB -static u64 get_max_boost_ratio (unsigned int cpu) +/* +* get_max_boost_ratio: Computes the max_boost_ratio as the ratio +* between the highest_perf and the nominal_perf. +* +* Returns the max_boost_ratio for @cpu. Returns the CPPC nominal +* frequency via @nominal_freq if it is non-NULL pointer. +*/ +static u64 get_max_boost_ratio (unsigned int cpu,u64 *nominal_freq) {struct cppc_perf_caps perf_caps;u64 highest_perf, nominal_perf;
@@ -649,6 +656,9 @@ static u64 get_max_boost_ratio(unsigned int cpu) highest_perf = perf_caps.highest_perf; nominal_perf = perf_caps.nominal_perf; +if (nominal_freq) + *nominal_freq = perf_caps.nominal_freq; +if (!highest_perf || !nominal_perf) {pr_debug ("CPU%d: highest or nominal performance missing\n" , cpu);return 0 ;
@@ -661,8 +671,12 @@ static u64 get_max_boost_ratio(unsigned int cpu) return div_u64(highest_perf << SCHED_CAPACITY_SHIFT, nominal_perf); } +#else -static inline u64 get_max_boost_ratio (unsigned int cpu) {return 0 ; } +static inline u64 get_max_boost_ratio (unsigned int cpu,u64 *nominal_freq) +{ +return 0 ; +}#endif static int acpi_cpufreq_cpu_init (struct cpufreq_policy *policy)
@@ -672,9 +686,9 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)struct acpi_cpufreq_data *data;unsigned int cpu = policy->cpu;struct cpuinfo_x86 *c = &cpu_data (cpu); +u64 max_boost_ratio, nominal_freq =0 ;unsigned int valid_states =0 ;unsigned int result =0 ; -u64 max_boost_ratio;unsigned int i;#ifdef CONFIG_SMP static int blacklisted;
@@ -824,16 +838,20 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) } freq_table[valid_states].frequency =CPUFREQ_TABLE_END ; - max_boost_ratio =get_max_boost_ratio (cpu); + max_boost_ratio =get_max_boost_ratio (cpu, &nominal_freq);if (max_boost_ratio) { -unsigned int freq = freq_table[0 ].frequency; +unsigned int freq = nominal_freq;/* -* Because the loop above sorts the freq_table entries in the -* descending order, freq is the maximum frequency in the table. -* Assume that it corresponds to the CPPC nominal frequency and -* use it to set cpuinfo.max_freq. +* The loop above sorts the freq_table entries in the +* descending order. If ACPI CPPC has not advertised +* the nominal frequency (this is possible in CPPC +* revisions prior to 3), then use the first entry in +* the pstate table as a proxy for nominal frequency. */ +if (!freq) + freq = freq_table[0 ].frequency; + policy->cpuinfo.max_freq = freq * max_boost_ratio >>SCHED_CAPACITY_SHIFT ; }else {/*
drivers/cpufreq/s3c64xx-cpufreq.c +7 -4
@@ -24,6 +24,7 @@ struct s3c64xx_dvfs {unsigned int vddarm_max; }; +#ifdef CONFIG_REGULATOR static struct s3c64xx_dvfs s3c64xx_dvfs_table[] = { [0 ] = {1000000 ,1150000 }, [1] = { 1050000, 1150000 },
@@ -31,6 +32,7 @@ static struct s3c64xx_dvfs s3c64xx_dvfs_table[] = { [3] = { 1200000, 1350000 }, [4] = { 1300000, 1350000 }, }; +#endif static struct cpufreq_frequency_table s3c64xx_freq_table[] = { {0 ,0 ,66000 },
@@ -51,15 +53,16 @@ static struct cpufreq_frequency_table s3c64xx_freq_table[] = { static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy, unsigned int index) { - struct s3c64xx_dvfs *dvfs; - unsigned int old_freq, new_freq; + unsigned int new_freq = s3c64xx_freq_table[index].frequency; int ret; +#ifdef CONFIG_REGULATOR + struct s3c64xx_dvfs *dvfs; + unsigned int old_freq; + old_freq = clk_get_rate(policy->clk) / 1000; - new_freq = s3c64xx_freq_table[index].frequency; dvfs = &s3c64xx_dvfs_table[s3c64xx_freq_table[index].driver_data]; -#ifdef CONFIG_REGULATOR if (vddarm && new_freq > old_freq) { ret = regulator_set_voltage(vddarm, dvfs->vddarm_min,
drivers/crypto/hisilicon/qm.c +23 -23
70 lines not on this page · raw message
drivers/crypto/qce/core.c +8 -5
@@ -45,16 +45,19 @@ static void qce_unregister_algs(struct qce_device *qce)static int qce_register_algs (struct qce_device *qce) {const struct qce_algo_ops *ops; -int i, ret = -ENODEV ; +int i, j, ret = -ENODEV ;for (i =0 ; i <ARRAY_SIZE (qce_ops); i++) { ops = qce_ops[i]; ret = ops->register_algs (qce); -if (ret) -break ; +if (ret) { +for (j = i -1 ; j >=0 ; j--) + ops->unregister_algs (qce); +return ret; + } } -return ret; +return 0 ; }static int qce_handle_request (struct crypto_async_request *async_req)
@@ -219,7 +222,7 @@ static int qce_crypto_probe(struct platform_device *pdev) ret =qce_check_version (qce);if (ret) - goto err_clks; + goto err_dma;spin_lock_init (&qce->lock); tasklet_init(&qce->done_tasklet, qce_tasklet_req_done,
drivers/dma/ti/edma.c +1 -2
@@ -217,7 +217,6 @@ struct edma_desc {struct edma_cc ;struct edma_tc { -struct device_node *node;u16 id; };
@@ -2524,13 +2523,13 @@ static int edma_probe(struct platform_device *pdev)if (ret || i == ecc->num_tc)break ; - ecc->tc_list[i].node = tc_args.np; ecc->tc_list[i].id = i; queue_priority_mapping[i][1 ] = tc_args.args[0 ];if (queue_priority_mapping[i][1 ] > lowest_priority) { lowest_priority = queue_priority_mapping[i][1 ]; info->default_queue = i; } +of_node_put (tc_args.np); }/* See if we have optional dma-channel-mask array */
drivers/firmware/Kconfig +1 -1
@@ -171,7 +171,7 @@ config ISCSI_IBFT select ISCSI_BOOT_SYSFS select ISCSI_IBFT_FIND if X86 depends on ACPI && SCSI && SCSI_LOWLEVEL - default n + default n help This option enables support for detection and exposing of iSCSI Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
drivers/firmware/efi/efi.c +4 -2
@@ -774,13 +774,15 @@ char * __init efi_md_typeattr_format(char *buf, size_t size,EFI_MEMORY_WB |EFI_MEMORY_UCE |EFI_MEMORY_RO |EFI_MEMORY_WP |EFI_MEMORY_RP |EFI_MEMORY_XP |EFI_MEMORY_NV |EFI_MEMORY_SP |EFI_MEMORY_CPU_CRYPTO | - EFI_MEMORY_RUNTIME | EFI_MEMORY_MORE_RELIABLE)) +EFI_MEMORY_MORE_RELIABLE |EFI_MEMORY_HOT_PLUGGABLE | + EFI_MEMORY_RUNTIME)) snprintf(pos, size, "|attr=0x%016llx]", (unsigned long long)attr); else snprintf(pos, size, -"|%3s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]" , +"|%3s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]" , attr &EFI_MEMORY_RUNTIME ?"RUN" :"" , + attr &EFI_MEMORY_HOT_PLUGGABLE ?"HP" :"" , attr &EFI_MEMORY_MORE_RELIABLE ?"MR" :"" , attr &EFI_MEMORY_CPU_CRYPTO ?"CC" :"" , attr & EFI_MEMORY_SP ? "SP" : "",
drivers/firmware/efi/libstub/Makefile +1 -1
@@ -7,7 +7,7 @@ # cflags-$(CONFIG_X86_32) := -march=i386 cflags-$(CONFIG_X86_64) := -mcmodel=small -cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ \ +cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -std=gnu11 \ -fPIC -fno-strict-aliasing -mno-red-zone \ -mno-mmx -mno-sse -fshort-wchar \ -Wno-pointer-sign \
drivers/firmware/efi/libstub/randomalloc.c +3 -0
@@ -24,6 +24,9 @@ static unsigned long get_entry_num_slots(efi_memory_desc_t *md,if (md->type !=EFI_CONVENTIONAL_MEMORY )return 0 ; +if (md->attribute &EFI_MEMORY_HOT_PLUGGABLE ) +return 0 ; +if (efi_soft_reserve_enabled () && (md->attribute &EFI_MEMORY_SP ))return 0 ;
drivers/firmware/efi/libstub/relocate.c +3 -0
@@ -62,6 +62,9 @@ efi_status_t efi_low_alloc_above(unsigned long size, unsigned long align,if (desc->type !=EFI_CONVENTIONAL_MEMORY )continue ; +if (desc->attribute &EFI_MEMORY_HOT_PLUGGABLE ) +continue ; +if (efi_soft_reserve_enabled () && (desc->attribute &EFI_MEMORY_SP ))continue ;
drivers/firmware/efi/mokvar-table.c +13 -28
68 lines not on this page · raw message
drivers/gpio/gpio-aggregator.c +17 -3
@@ -173,10 +173,15 @@ static ssize_t new_device_store(struct device_driver *driver, const char *buf,struct platform_device *pdev;int res, id; +if (!try_module_get (THIS_MODULE )) +return -ENOENT ; +/* kernfs guarantees string termination, so count + 1 is safe */ aggr =kzalloc (sizeof (*aggr) + count +1 ,GFP_KERNEL ); -if (!aggr) -return -ENOMEM ; +if (!aggr) { + res = -ENOMEM ; + goto put_module; + }memcpy (aggr->args, buf, count +1 );
@@ -215,6 +220,7 @@ static ssize_t new_device_store(struct device_driver *driver, const char *buf, } aggr->pdev = pdev; +module_put (THIS_MODULE );return count; remove_table:
@@ -229,6 +235,8 @@ static ssize_t new_device_store(struct device_driver *driver, const char *buf,kfree (aggr->lookups); free_ga:kfree (aggr); +put_module: +module_put (THIS_MODULE );return res; }
@@ -257,13 +265,19 @@ static ssize_t delete_device_store(struct device_driver *driver,if (error)return error; +if (!try_module_get (THIS_MODULE )) +return -ENOENT ; +mutex_lock (&gpio_aggregator_lock); aggr =idr_remove (&gpio_aggregator_idr, id);mutex_unlock (&gpio_aggregator_lock); -if (!aggr) +if (!aggr) { +module_put (THIS_MODULE );return -ENOENT ; + }gpio_aggregator_free (aggr); +module_put (THIS_MODULE );return count; }static DRIVER_ATTR_WO (delete_device);
drivers/gpio/gpio-bcm-kona.c +58 -13
126 lines not on this page · raw message
drivers/gpio/gpio-pca953x.c +0 -19
@@ -732,25 +732,6 @@ static bool pca953x_irq_pending(struct pca953x_chip *chip, unsigned long *pendinDECLARE_BITMAP (trigger,MAX_LINE );int ret; -if (chip->driver_data &PCA_PCAL ) { -/* Read the current interrupt status from the device */ - ret =pca953x_read_regs (chip,PCAL953X_INT_STAT , trigger); -if (ret) -return false; - -/* Check latched inputs and clear interrupt status */ - ret =pca953x_read_regs (chip, chip->regs->input, cur_stat); -if (ret) -return false; - -/* Apply filter for rising/falling edge selection */ -bitmap_replace (new_stat, chip->irq_trig_fall, chip->irq_trig_raise, cur_stat, gc->ngpio); - -bitmap_and (pending, new_stat, trigger, gc->ngpio); - -return !bitmap_empty (pending, gc->ngpio); - } - ret =pca953x_read_regs (chip, chip->regs->input, cur_stat);if (ret)return false;
drivers/gpio/gpio-rcar.c +6 -1
@@ -421,7 +421,12 @@ static int gpio_rcar_parse_dt(struct gpio_rcar_priv *p, unsigned int *npins) p->has_both_edge_trigger = info->has_both_edge_trigger; ret =of_parse_phandle_with_fixed_args (np,"gpio-ranges" ,3 ,0 , &args); - *npins = ret ==0 ? args.args[2 ] :RCAR_MAX_GPIO_PER_BANK ; +if (ret) { + *npins =RCAR_MAX_GPIO_PER_BANK ; + }else { + *npins = args.args[2 ]; +of_node_put (args.np); + }if (*npins ==0 || *npins >RCAR_MAX_GPIO_PER_BANK ) { dev_warn(p->dev, "Invalid number of gpio lines %u, using %u\n",
drivers/gpio/gpio-stmpe.c +12 -3
@@ -191,7 +191,7 @@ static void stmpe_gpio_irq_sync_unlock(struct irq_data *d) [REG_IE][CSB] = STMPE_IDX_IEGPIOR_CSB, [REG_IE][MSB] = STMPE_IDX_IEGPIOR_MSB, }; -int i, j; +int ret, i, j;/* * STMPE1600: to be able to get IRQ from pins,
@@ -199,8 +199,16 @@ static void stmpe_gpio_irq_sync_unlock(struct irq_data *d)* GPSR or GPCR registers */ if (stmpe->partnum ==STMPE1600 ) { -stmpe_reg_read (stmpe, stmpe->regs[STMPE_IDX_GPMR_LSB ]); -stmpe_reg_read (stmpe, stmpe->regs[STMPE_IDX_GPMR_CSB ]); + ret =stmpe_reg_read (stmpe, stmpe->regs[STMPE_IDX_GPMR_LSB ]); +if (ret <0 ) { +dev_err (stmpe->dev,"Failed to read GPMR_LSB: %d\n" , ret); + goto err; + } + ret =stmpe_reg_read (stmpe, stmpe->regs[STMPE_IDX_GPMR_CSB ]); +if (ret <0 ) { +dev_err (stmpe->dev,"Failed to read GPMR_CSB: %d\n" , ret); + goto err; + } }for (i =0 ; i <CACHE_NR_REGS ; i++) {
@@ -222,6 +230,7 @@ static void stmpe_gpio_irq_sync_unlock(struct irq_data *d) } } +err:mutex_unlock (&stmpe_gpio->irq_lock); }
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +11 -0
@@ -1098,6 +1098,17 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device *adev)if (amdgpu_sriov_vf (adev))return 0 ; +/* resizing on Dell G5 SE platforms causes problems with runtime pm */ +if ((amdgpu_runtime_pm !=0 ) && + adev->pdev->vendor ==PCI_VENDOR_ID_ATI && + adev->pdev->device ==0x731f && + adev->pdev->subsystem_vendor ==PCI_VENDOR_ID_DELL ) +return 0 ; + +/* PCI_EXT_CAP_ID_VNDR extended capability is located at 0x100 */ +if (!pci_find_ext_capability (adev->pdev,PCI_EXT_CAP_ID_VNDR )) +DRM_WARN ("System can't access extended configuration space,please check!!\n" ); +/* skip if the bios has already enabled large BAR */ if (adev->gmc.real_vram_size && (pci_resource_len (adev->pdev,0 ) >= adev->gmc.real_vram_size))
drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c +2 -0
@@ -1370,6 +1370,8 @@ int atomctrl_get_smc_sclk_range_table(struct pp_hwmgr *hwmgr, struct pp_atom_ctrGetIndexIntoMasterTable (DATA , SMU_Info), &size, &frev, &crev); +if (!psmu_info) +return -EINVAL ;for (i =0 ; i < psmu_info->ucSclkEntryNum; i++) { table->entry[i].ucVco_setting = psmu_info->asSclkFcwRangeEntry[i].ucVco_setting;
drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c +4 -0
@@ -160,6 +160,10 @@ static int komeda_wb_connector_add(struct komeda_kms_dev *kms, formats =komeda_get_layer_fourcc_list (&mdev->fmt_tbl, kwb_conn->wb_layer->layer_type, &n_formats); +if (!formats) { +kfree (kwb_conn); +return -ENOMEM ; + } err = drm_writeback_connector_init(&kms->base, wb_conn, &komeda_wb_connector_funcs,
drivers/gpu/drm/drm_dp_cec.c +3 -11
@@ -310,16 +310,6 @@ void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid)if (!aux->transfer)return ; -#ifndef CONFIG_MEDIA_CEC_RC -/* -* CEC_CAP_RC is part of CEC_CAP_DEFAULTS, but it is stripped by -* cec_allocate_adapter() if CONFIG_MEDIA_CEC_RC is undefined. -* -* Do this here as well to ensure the tests against cec_caps are -* correct. -*/ - cec_caps &= ~CEC_CAP_RC ; -#endif cancel_delayed_work_sync (&aux->cec.unregister_work);mutex_lock (&aux->cec.lock);
@@ -336,7 +326,9 @@ void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid) num_las =CEC_MAX_LOG_ADDRS ;if (aux->cec.adap) { -if (aux->cec.adap->capabilities == cec_caps && +/* Check if the adapter properties have changed */ +if ((aux->cec.adap->capabilities &CEC_CAP_MONITOR_ALL ) == + (cec_caps &CEC_CAP_MONITOR_ALL ) && aux->cec.adap->available_log_addrs == num_las) {/* Unchanged, so just set the phys addr */ cec_s_phys_addr_from_edid (aux->cec.adap, edid);
drivers/gpu/drm/drm_fb_helper.c +8 -6
@@ -1380,14 +1380,14 @@ int drm_fb_helper_set_par(struct fb_info *info) }EXPORT_SYMBOL (drm_fb_helper_set_par); -static void pan_set (struct drm_fb_helper *fb_helper,int x,int y) +static void pan_set (struct drm_fb_helper *fb_helper,int dx,int dy) {struct drm_mode_set *mode_set;mutex_lock (&fb_helper->client.modeset_mutex);drm_client_for_each_modeset (mode_set, &fb_helper->client) { - mode_set->x = x; - mode_set->y = y; + mode_set->x += dx; + mode_set->y += dy; }mutex_unlock (&fb_helper->client.modeset_mutex); }
@@ -1396,16 +1396,18 @@ static int pan_display_atomic(struct fb_var_screeninfo *var, struct fb_info *info) {struct drm_fb_helper *fb_helper = info->par; -int ret; +int ret, dx, dy; -pan_set (fb_helper, var->xoffset, var->yoffset); + dx = var->xoffset - info->var.xoffset; + dy = var->yoffset - info->var.yoffset; +pan_set (fb_helper, dx, dy); ret =drm_client_modeset_commit_locked (&fb_helper->client);if (!ret) { info->var.xoffset = var->xoffset; info->var.yoffset = var->yoffset; }else -pan_set (fb_helper, info->var.xoffset, info->var.yoffset); +pan_set (fb_helper, -dx, -dy);return ret; }
drivers/gpu/drm/drm_probe_helper.c +85 -31
142 lines not on this page · raw message
drivers/gpu/drm/etnaviv/etnaviv_gem.c +14 -2
@@ -351,6 +351,7 @@ void *etnaviv_gem_vmap(struct drm_gem_object *obj)static void *etnaviv_gem_vmap_impl (struct etnaviv_gem_object *obj) {struct page **pages; +pgprot_t prot;lockdep_assert_held (&obj->lock);
@@ -358,8 +359,19 @@ static void *etnaviv_gem_vmap_impl(struct etnaviv_gem_object *obj)if (IS_ERR (pages))return NULL ; -return vmap (pages, obj->base.size >>PAGE_SHIFT , -VM_MAP ,pgprot_writecombine (PAGE_KERNEL )); +switch (obj->flags &ETNA_BO_CACHE_MASK ) { +case ETNA_BO_CACHED : + prot =PAGE_KERNEL ; +break ; +case ETNA_BO_UNCACHED : + prot =pgprot_noncached (PAGE_KERNEL ); +break ; +case ETNA_BO_WC : +default : + prot =pgprot_writecombine (PAGE_KERNEL ); + } + +return vmap (pages, obj->base.size >>PAGE_SHIFT ,VM_MAP , prot); }static inline enum dma_data_direction etnaviv_op_to_dma_dir (u32 op)
drivers/gpu/drm/radeon/r300.c +2 -1
@@ -361,7 +361,8 @@ int r300_mc_wait_for_idle(struct radeon_device *rdev)return -1 ; } -static void r300_gpu_init (struct radeon_device *rdev) +/* rs400_gpu_init also calls this! */ +void r300_gpu_init (struct radeon_device *rdev) {uint32_t gb_tile_config, tmp;
drivers/gpu/drm/radeon/radeon_asic.h +1 -0
@@ -165,6 +165,7 @@ void r200_set_safe_registers(struct radeon_device *rdev);*/ extern int r300_init (struct radeon_device *rdev);extern void r300_fini (struct radeon_device *rdev); +extern void r300_gpu_init (struct radeon_device *rdev);extern int r300_suspend (struct radeon_device *rdev);extern int r300_resume (struct radeon_device *rdev);extern int r300_asic_reset (struct radeon_device *rdev,bool hard);
drivers/gpu/drm/radeon/rs400.c +16 -2
@@ -257,8 +257,22 @@ int rs400_mc_wait_for_idle(struct radeon_device *rdev)static void rs400_gpu_init (struct radeon_device *rdev) { -/* FIXME: is this correct ? */ -r420_pipes_init (rdev); +/* Earlier code was calling r420_pipes_init and then +* rs400_mc_wait_for_idle(rdev). The problem is that +* at least on my Mobility Radeon Xpress 200M RC410 card +* that ends up in this code path ends up num_gb_pipes == 3 +* while the card seems to have only one pipe. With the +* r420 pipe initialization method. +* +* Problems shown up as HyperZ glitches, see: +* https://bugs.freedesktop.org/show_bug.cgi?id=110897 +* +* Delegating initialization to r300 code seems to work +* and results in proper pipe numbers. The rs400 cards +* are said to be not r400, but r300 kind of cards. +*/ +r300_gpu_init (rdev); +if (rs400_mc_wait_for_idle (rdev)) {pr_warn ("rs400: Failed to wait MC idle while programming pipes. Bad things might happen. %08x\n" ,RREG32 (RADEON_MC_STATUS ));
drivers/gpu/drm/rockchip/cdn-dp-core.c +1 -8
@@ -915,9 +915,6 @@ static void cdn_dp_pd_event_work(struct work_struct *work) { struct cdn_dp_device *dp = container_of(work, struct cdn_dp_device, event_work); -struct drm_connector *connector = &dp->connector; -enum drm_connector_status old_status; -int ret;mutex_lock (&dp->lock);
@@ -979,11 +976,7 @@ static void cdn_dp_pd_event_work(struct work_struct *work) out:mutex_unlock (&dp->lock); - - old_status = connector->status; - connector->status = connector->funcs->detect (connector, false); -if (old_status != connector->status) -drm_kms_helper_hotplug_event (dp->drm_dev); +drm_connector_helper_hpd_irq_event (&dp->connector); } static int cdn_dp_pd_event(struct notifier_block *nb,
drivers/gpu/drm/scheduler/gpu_scheduler_trace.h +2 -2
@@ -21,7 +21,7 @@* */ -#if !defined(_GPU_SCHED_TRACE_H) || defined(TRACE_HEADER_MULTI_READ ) +#if !defined(_GPU_SCHED_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ )#define _GPU_SCHED_TRACE_H_#include <linux/stringify.h>
@@ -123,7 +123,7 @@ TRACE_EVENT(drm_sched_job_wait_dep, __entry->seqno) ); -#endif +#endif /* _GPU_SCHED_TRACE_H_ */ /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH
drivers/gpu/drm/tidss/tidss_dispc.c +12 -10
@@ -596,7 +596,7 @@ void dispc_k2g_set_irqenable(struct dispc_device *dispc, dispc_irq_t mask) {dispc_irq_t old_mask =dispc_k2g_read_irqenable (dispc); -/* clear the irqstatus for newly enabled irqs */ +/* clear the irqstatus for irqs that will be enabled */ dispc_k2g_clear_irqstatus (dispc, (mask ^ old_mask) & mask);dispc_k2g_vp_set_irqenable (dispc,0 , mask);
@@ -604,6 +604,9 @@ void dispc_k2g_set_irqenable(struct dispc_device *dispc, dispc_irq_t mask)dispc_write (dispc,DISPC_IRQENABLE_SET , (1 <<0 ) | (1 <<7 )); +/* clear the irqstatus for irqs that were disabled */ +dispc_k2g_clear_irqstatus (dispc, (mask ^ old_mask) & old_mask); +/* flush posted write */ dispc_k2g_read_irqenable (dispc); }
@@ -676,24 +679,20 @@ staticvoid dispc_k3_clear_irqstatus (struct dispc_device *dispc,dispc_irq_t clearmask) {unsigned int i; -u32 top_clear =0 ;for (i =0 ; i < dispc->feat->num_vps; ++i) { -if (clearmask &DSS_IRQ_VP_MASK (i)) { +if (clearmask &DSS_IRQ_VP_MASK (i))dispc_k3_vp_write_irqstatus (dispc, i, clearmask); - top_clear |=BIT (i); - } }for (i =0 ; i < dispc->feat->num_planes; ++i) { -if (clearmask &DSS_IRQ_PLANE_MASK (i)) { +if (clearmask &DSS_IRQ_PLANE_MASK (i))dispc_k3_vid_write_irqstatus (dispc, i, clearmask); - top_clear |=BIT (4 + i); - } }if (dispc->feat->subrev ==DISPC_K2G )return ; -dispc_write (dispc,DISPC_IRQSTATUS , top_clear); +/* always clear the top level irqstatus */ +dispc_write (dispc,DISPC_IRQSTATUS ,dispc_read (dispc,DISPC_IRQSTATUS ));/* Flush posted writes */ dispc_read (dispc,DISPC_IRQSTATUS );
@@ -739,7 +738,7 @@ static void dispc_k3_set_irqenable(struct dispc_device *dispc, old_mask =dispc_k3_read_irqenable (dispc); -/* clear the irqstatus for newly enabled irqs */ +/* clear the irqstatus for irqs that will be enabled */ dispc_k3_clear_irqstatus (dispc, (old_mask ^ mask) & mask);for (i =0 ; i < dispc->feat->num_vps; ++i) {
@@ -764,6 +763,9 @@ static void dispc_k3_set_irqenable(struct dispc_device *dispc,if (main_disable)dispc_write (dispc,DISPC_IRQENABLE_CLR , main_disable); +/* clear the irqstatus for irqs that were disabled */ +dispc_k3_clear_irqstatus (dispc, (old_mask ^ mask) & old_mask); +/* Flush posted writes */ dispc_read (dispc,DISPC_IRQENABLE_SET ); }
drivers/hid/hid-appleir.c +1 -1
@@ -188,7 +188,7 @@ static int appleir_raw_event(struct hid_device *hid, struct hid_report *report,static const u8 flatbattery[] = {0x25 ,0x87 ,0xe0 };unsigned long flags; -if (len !=5 ) +if (len !=5 || !(hid->claimed &HID_CLAIMED_INPUT )) goto out;if (!memcmp (data, keydown,sizeof (keydown))) {
drivers/hid/hid-core.c +2 -0
@@ -1124,6 +1124,8 @@ static void hid_apply_multiplier(struct hid_device *hid,while (multiplier_collection->parent_idx !=-1 && multiplier_collection->type !=HID_COLLECTION_LOGICAL ) multiplier_collection = &hid->collection[multiplier_collection->parent_idx]; +if (multiplier_collection->type !=HID_COLLECTION_LOGICAL ) + multiplier_collection =NULL ; effective_multiplier =hid_calculate_multiplier (hid, multiplier);
drivers/hid/hid-google-hammer.c +2 -0
@@ -266,11 +266,13 @@ static int cbas_ec_remove(struct platform_device *pdev)return 0 ; } +#ifdef CONFIG_ACPI static const struct acpi_device_id cbas_ec_acpi_ids[] = { {"GOOG000B" ,0 }, { } };MODULE_DEVICE_TABLE (acpi, cbas_ec_acpi_ids); +#endif static struct platform_driver cbas_ec_driver = { .probe = cbas_ec_probe,
drivers/hid/hid-multitouch.c +4 -1
@@ -1594,9 +1594,12 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi)break ; } -if (suffix) +if (suffix) { hi->input->name =devm_kasprintf (&hdev->dev,GFP_KERNEL ,"%s %s" , hdev->name, suffix); +if (!hi->input->name) +return -ENOMEM ; + }return 0 ; }
drivers/hid/hid-sensor-hub.c +14 -7
@@ -730,23 +730,30 @@ static int sensor_hub_probe(struct hid_device *hdev,return ret; } +static int sensor_hub_finalize_pending_fn (struct device *dev,void *data) +{ +struct hid_sensor_hub_device *hsdev = dev->platform_data; + +if (hsdev->pending.status) +complete (&hsdev->pending.ready); + +return 0 ; +} +static void sensor_hub_remove (struct hid_device *hdev) {struct sensor_hub_data *data =hid_get_drvdata (hdev);unsigned long flags; -int i;
Lines of this file are not shown. View the raw message.
drivers/hwmon/ntc_thermistor.c +33 -33
66 lines not on this page · raw message
drivers/media/dvb-frontends/cxd2841er.c +2 -6
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/mipi-csis.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/marvell-ccic/mcam-core.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/s3c-camif/camif-core.c +11 -2
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vidtv/vidtv_bridge.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/media/usb/dvb-usb-v2/lmedm04.c +12 -2
Lines of this file are not shown. View the raw message.
drivers/media/usb/uvc/uvc_ctrl.c +73 -12
85 lines not on this page · raw message
drivers/media/usb/uvc/uvc_driver.c +24 -39
63 lines not on this page · raw message
drivers/mmc/host/sdhci-msm.c +51 -2
53 lines not on this page · raw message
drivers/mtd/nand/onenand/onenand_base.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/cadence-nand-controller.c +33 -11
44 lines not on this page · raw message
drivers/net/ethernet/aquantia/atlantic/aq_nic.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/tg3.c +58 -0
58 lines not on this page · raw message
drivers/net/ethernet/cadence/macb_main.c +10 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/emulex/benet/be_cmds.c +98 -99
197 lines not on this page · raw message
drivers/net/ethernet/emulex/benet/be_main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fec_main.c +30 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hnae3.c +15 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hnae3.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +13 -11
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/netronome/nfp/bpf/cmsg.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ti/am65-cpsw-nuss.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/iwl-drv.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/usb.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/base.c +13 -29
42 lines not on this page · raw message
drivers/net/wireless/realtek/rtlwifi/base.h +0 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/pci.c +9 -58
67 lines not on this page · raw message
drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/usb.c +5 -8
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/wifi.h +0 -23
Lines of this file are not shown. View the raw message.
drivers/nvme/host/pci.c +58 -8
66 lines not on this page · raw message
drivers/phy/samsung/phy-exynos5-usbdrd.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/pps/pps.c +66 -61
127 lines not on this page · raw message
drivers/rapidio/devices/rio_mport_cdev.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/scsi/qla2xxx/qla_dfs.c +102 -22
124 lines not on this page · raw message
drivers/staging/media/imx/imx-media-of.c +2 -6
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/function/f_tcm.c +26 -40
66 lines not on this page · raw message
drivers/usb/serial/option.c +29 -20
49 lines not on this page · raw message
drivers/usb/typec/tcpm/tcpci_rt1711h.c +11 -0
Lines of this file are not shown. View the raw message.
drivers/vfio/platform/vfio_platform_common.c +10 -0
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c +1 -0
Lines of this file are not shown. View the raw message.
fs/btrfs/locking.c +64 -4
68 lines not on this page · raw message
fs/nfs/flexfilelayout/flexfilelayout.c +21 -6
Lines of this file are not shown. View the raw message.
fs/nilfs2/page.c +32 -23
55 lines not on this page · raw message
kernel/acct.c +86 -55
141 lines not on this page · raw message
kernel/padata.c +36 -9
45 lines not on this page · raw message
kernel/time/clocksource.c +76 -3
79 lines not on this page · raw message
net/batman-adv/bat_v_elp.c +87 -37
124 lines not on this page · raw message
net/core/flow_dissector.c +29 -20
49 lines not on this page · raw message
net/ipv6/rpl_iptunnel.c +39 -28
67 lines not on this page · raw message
net/llc/llc_s_ac.c +27 -22
49 lines not on this page · raw message
net/sched/sch_cake.c +75 -65
140 lines not on this page · raw message
net/vmw_vsock/af_vsock.c +55 -27
82 lines not on this page · raw message
security/integrity/ima/ima_template_lib.c +14 -3
Lines of this file are not shown. View the raw message.
sound/pci/hda/patch_realtek.c +78 -0
78 lines not on this page · raw message
tools/power/cpupower/utils/idle_monitor/mperf_monitor.c +9 -6
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_tc_tunnel.sh +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/drivers/net/netdevsim/udp_tunnel_nic.sh +8 -8
Lines of this file are not shown. View the raw message.
tools/testing/selftests/kselftest_harness.h +12 -12
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/rtnetlink.sh +2 -2
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.