Linux 5.10.188
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.188 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/filesystems/autofs-mount-control.rst | 2 Documentation/filesystems/autofs.rst | 2 Documentation/filesystems/directory-locking.rst | 26 Documentation/networking/af_xdp.rst | 9 Documentation/networking/ip-sysctl.rst | 25 Makefile | 2 arch/alpha/include/asm/pgtable.h | 8 arch/arc/include/asm/linkage.h | 8 arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 2 arch/arm/boot/dts/bcm5301x.dtsi | 1 arch/arm/boot/dts/iwg20d-q7-common.dtsi | 2 arch/arm/boot/dts/meson8.dtsi | 4 arch/arm/boot/dts/meson8b.dtsi | 4 arch/arm/boot/dts/omap3-gta04a5one.dts | 4 arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi | 11 arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi | 8 arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi | 6 arch/arm/boot/dts/stm32mp15xx-dkx.dtsi | 2 arch/arm/include/asm/pgtable-3level.h | 2 arch/arm/mach-ep93xx/timer-ep93xx.c | 3 arch/arm/mach-omap2/board-generic.c | 1 arch/arm/mach-orion5x/board-dt.c | 3 arch/arm/mach-orion5x/common.h | 6 arch/arm/probes/kprobes/checkers-common.c | 2 arch/arm/probes/kprobes/core.c | 2 arch/arm/probes/kprobes/opt-arm.c | 2 arch/arm/probes/kprobes/test-core.c | 2 arch/arm/probes/kprobes/test-core.h | 4 arch/arm64/boot/dts/microchip/sparx5.dtsi | 2 arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi | 12 arch/arm64/boot/dts/qcom/apq8096-ifc6640.dts | 4 arch/arm64/boot/dts/qcom/msm8916.dtsi | 2 arch/arm64/boot/dts/qcom/msm8994.dtsi | 2 arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 3 arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts | 28 arch/arm64/include/asm/exception.h | 5 arch/arm64/include/asm/pgtable.h | 8 arch/arm64/mm/mmu.c | 4 arch/ia64/include/asm/pgtable.h | 4 arch/m68k/include/asm/motorola_pgtable.h | 2 arch/mips/include/asm/pgtable-64.h | 8 arch/mips/kernel/cpu-probe.c | 9 arch/parisc/include/asm/pgtable.h | 4 arch/powerpc/Kconfig.debug | 2 arch/powerpc/Makefile | 8 arch/powerpc/include/asm/book3s/64/pgtable.h | 11 arch/powerpc/include/asm/nohash/64/pgtable-4k.h | 6 arch/powerpc/include/asm/nohash/64/pgtable.h | 6 arch/powerpc/mm/book3s64/radix_pgtable.c | 40 arch/powerpc/mm/init_64.c | 2 arch/powerpc/mm/pgtable_64.c | 4 arch/powerpc/platforms/powernv/pci-sriov.c | 6 arch/riscv/include/asm/pgtable-64.h | 4 arch/riscv/net/bpf_jit.h | 5 arch/riscv/net/bpf_jit_comp64.c | 13 arch/riscv/net/bpf_jit_core.c | 29 arch/s390/Makefile | 1 arch/s390/kvm/kvm-s390.c | 4 arch/s390/kvm/vsie.c | 6 arch/sh/drivers/dma/dma-sh.c | 37 arch/sh/include/asm/pgtable-3level.h | 4 arch/sh/kernel/cpu/sh2/probe.c | 2 arch/sparc/include/asm/pgtable_32.h | 6 arch/sparc/include/asm/pgtable_64.h | 10 arch/um/Makefile | 2 arch/um/include/asm/pgtable-3level.h | 2 arch/x86/events/amd/core.c | 2 arch/x86/events/amd/ibs.c | 53 - arch/x86/include/asm/perf_event.h | 2 arch/x86/include/asm/pgtable.h | 8 arch/x86/include/asm/pgtable_64.h | 4 arch/x86/kernel/cpu/resctrl/rdtgroup.c | 8 arch/x86/kernel/smpboot.c | 24 arch/x86/mm/init_64.c | 4 arch/x86/mm/pat/set_memory.c | 4 arch/x86/mm/pgtable.c | 2 arch/xtensa/platforms/iss/network.c | 2 block/blk-iocost.c | 7 block/partitions/amiga.c | 104 +- drivers/acpi/button.c | 9 drivers/acpi/video_detect.c | 16 drivers/base/power/domain.c | 6 drivers/base/regmap/regmap-i2c.c | 8 drivers/base/regmap/regmap-spi-avmm.c | 2 drivers/base/regmap/regmap.c | 6 drivers/block/nbd.c | 3 drivers/bus/ti-sysc.c | 4 drivers/char/hw_random/imx-rngc.c | 6 drivers/char/hw_random/st-rng.c | 21 drivers/char/hw_random/virtio-rng.c | 88 + drivers/char/tpm/tpm_tis_core.c | 2 drivers/char/tpm/tpm_vtpm_proxy.c | 30 drivers/clk/clk-cdce925.c | 12 drivers/clk/clk-si5341.c | 242 ++++ drivers/clk/clk-versaclock5.c | 29 drivers/clk/imx/clk-imx8mn.c | 8 drivers/clk/imx/clk-imx8mp.c | 24 drivers/clk/keystone/sci-clk.c | 2 drivers/clk/qcom/gcc-ipq6018.c | 34 drivers/clk/qcom/reset.c | 8 drivers/clk/qcom/reset.h | 2 drivers/clk/tegra/clk-tegra124-emc.c | 2 drivers/clk/ti/clkctrl.c | 7 drivers/clocksource/timer-cadence-ttc.c | 19 drivers/cpufreq/intel_pstate.c | 2 drivers/crypto/marvell/cesa/cipher.c | 2 drivers/crypto/nx/Makefile | 2 drivers/crypto/nx/nx.h | 4 drivers/dax/bus.c | 61 - drivers/dax/dax-private.h | 4 drivers/extcon/extcon.c | 8 drivers/firmware/stratix10-svc.c | 2 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 20 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c | 13 drivers/gpu/drm/amd/display/dc/core/dc.c | 3 drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 2 drivers/gpu/drm/bridge/tc358768.c | 93 + drivers/gpu/drm/drm_atomic.c | 11 drivers/gpu/drm/drm_atomic_helper.c | 11 drivers/gpu/drm/drm_client_modeset.c | 6 drivers/gpu/drm/drm_gem_vram_helper.c | 6 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 5 drivers/gpu/drm/msm/dp/dp_display.c | 2 drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c | 11 drivers/gpu/drm/panel/panel-simple.c | 6 drivers/gpu/drm/radeon/ci_dpm.c | 28 drivers/gpu/drm/radeon/cypress_dpm.c | 8 drivers/gpu/drm/radeon/ni_dpm.c | 8 drivers/gpu/drm/radeon/rv740_dpm.c | 8 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 8 drivers/gpu/drm/sun4i/sun4i_tcon.c | 19 drivers/hid/hid-logitech-hidpp.c | 2 drivers/hid/wacom_wac.c | 6 drivers/hid/wacom_wac.h | 2 drivers/hwmon/gsc-hwmon.c | 6 drivers/hwmon/pmbus/adm1275.c | 96 + drivers/hwtracing/coresight/coresight-core.c | 9 drivers/i2c/busses/i2c-qup.c | 21 drivers/i2c/busses/i2c-xiic.c | 39 drivers/iio/adc/meson_saradc.c | 2 drivers/infiniband/core/cma.c | 23 drivers/infiniband/core/cma_priv.h | 1 drivers/infiniband/core/device.c | 11 drivers/infiniband/core/uverbs_cmd.c | 2 drivers/infiniband/hw/bnxt_re/main.c | 20 drivers/infiniband/hw/bnxt_re/qplib_fp.c | 40 drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 46 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 1 drivers/infiniband/hw/efa/efa_main.c | 3 drivers/infiniband/hw/hfi1/ipoib_tx.c | 4 drivers/infiniband/hw/hfi1/mmu_rb.c | 101 +- drivers/infiniband/hw/hfi1/mmu_rb.h | 3 drivers/infiniband/hw/hfi1/sdma.c | 27 drivers/infiniband/hw/hfi1/sdma.h | 62 - drivers/infiniband/hw/hfi1/sdma_txreq.h | 2 drivers/infiniband/hw/hfi1/user_sdma.c | 145 +- drivers/infiniband/hw/hfi1/user_sdma.h | 1 drivers/infiniband/hw/hfi1/vnic_sdma.c | 4 drivers/infiniband/hw/hns/hns_roce_cmd.c | 27 drivers/infiniband/hw/hns/hns_roce_cmd.h | 4 drivers/infiniband/hw/hns/hns_roce_cq.c | 2 drivers/infiniband/hw/hns/hns_roce_device.h | 2 drivers/infiniband/hw/hns/hns_roce_hem.c | 131 -- drivers/infiniband/hw/hns/hns_roce_hem.h | 15 drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 93 + drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 7 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 9 drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 6 drivers/infiniband/hw/hns/hns_roce_main.c | 8 drivers/infiniband/hw/hns/hns_roce_mr.c | 4 drivers/infiniband/hw/hns/hns_roce_qp.c | 2 drivers/infiniband/hw/hns/hns_roce_srq.c | 1 drivers/infiniband/hw/mlx4/main.c | 14 drivers/infiniband/hw/mlx5/main.c | 14 drivers/input/misc/adxl34x.c | 3 drivers/input/misc/drv260x.c | 1 drivers/irqchip/irq-jcore-aic.c | 11 drivers/leds/trigger/ledtrig-netdev.c | 3 drivers/mailbox/ti-msgmgr.c | 12 drivers/md/bcache/btree.c | 25 drivers/md/bcache/btree.h | 1 drivers/md/bcache/super.c | 4 drivers/md/bcache/writeback.c | 10 drivers/md/md-bitmap.c | 17 drivers/md/md.c | 23 drivers/md/raid0.c | 62 + drivers/md/raid0.h | 1 drivers/md/raid10.c | 38 drivers/media/cec/i2c/Kconfig | 1 drivers/media/platform/qcom/venus/helpers.c | 4 drivers/media/usb/dvb-usb-v2/az6007.c | 3 drivers/media/usb/siano/smsusb.c | 3 drivers/memory/brcmstb_dpfe.c | 4 drivers/memstick/host/r592.c | 4 drivers/mfd/intel-lpss-acpi.c | 3 drivers/mfd/rt5033.c | 3 drivers/mfd/stmfx.c | 7 drivers/mfd/stmpe.c | 4 drivers/misc/fastrpc.c | 2 drivers/misc/pci_endpoint_test.c | 10 drivers/mmc/core/quirks.h | 14 drivers/mmc/host/mmci.c | 1 drivers/mmc/host/sdhci.c | 4 drivers/mtd/nand/raw/meson_nand.c | 4 drivers/net/dsa/vitesse-vsc73xx-core.c | 6 drivers/net/ethernet/amazon/ena/ena_com.c | 3 drivers/net/ethernet/broadcom/bgmac.c | 4 drivers/net/ethernet/broadcom/genet/bcmmii.c | 2 drivers/net/ethernet/broadcom/tg3.c | 1 drivers/net/ethernet/google/gve/gve_ethtool.c | 3 drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 2 drivers/net/ethernet/intel/iavf/iavf_main.c | 5 drivers/net/ethernet/intel/igb/igb_main.c | 5 drivers/net/ethernet/intel/igc/igc.h | 33 drivers/net/ethernet/intel/igc/igc_ethtool.c | 2 drivers/net/ethernet/intel/igc/igc_main.c | 45 drivers/net/ethernet/intel/igc/igc_ptp.c | 57 - drivers/net/ethernet/marvell/mvneta.c | 4 drivers/net/ethernet/marvell/octeontx2/af/rvu.h | 11 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c | 2 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 5 drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 1 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 6 drivers/net/ethernet/microchip/lan743x_main.c | 21 drivers/net/ethernet/pensando/ionic/ionic_lif.c | 5 drivers/net/ethernet/sfc/ef10.c | 13 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 drivers/net/ethernet/ti/cpsw_ale.c | 24 drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 10 drivers/net/gtp.c | 2 drivers/net/ipvlan/ipvlan_core.c | 9 drivers/net/netdevsim/dev.c | 9 drivers/net/phy/phy_device.c | 21 drivers/net/ppp/pptp.c | 31 drivers/net/wireguard/netlink.c | 14 drivers/net/wireguard/queueing.c | 1 drivers/net/wireguard/queueing.h | 25 drivers/net/wireguard/receive.c | 2 drivers/net/wireguard/send.c | 2 drivers/net/wireless/ath/ath11k/mac.c | 2 drivers/net/wireless/ath/ath9k/ar9003_hw.c | 27 drivers/net/wireless/ath/ath9k/htc_hst.c | 8 drivers/net/wireless/ath/ath9k/main.c | 11 drivers/net/wireless/ath/ath9k/wmi.c | 4 drivers/net/wireless/atmel/atmel_cs.c | 13 drivers/net/wireless/cisco/airo.c | 5 drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 5 drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 2 drivers/net/wireless/intersil/orinoco/orinoco_cs.c | 13 drivers/net/wireless/intersil/orinoco/spectrum_cs.c | 13 drivers/net/wireless/marvell/mwifiex/scan.c | 6 drivers/net/wireless/microchip/wilc1000/hif.c | 8 drivers/net/wireless/ray_cs.c | 36 drivers/net/wireless/rsi/rsi_91x_sdio.c | 9 drivers/net/wireless/wl3501_cs.c | 27 drivers/ntb/hw/amd/ntb_hw_amd.c | 7 drivers/ntb/hw/idt/ntb_hw_idt.c | 7 drivers/ntb/hw/intel/ntb_hw_gen1.c | 7 drivers/ntb/ntb_transport.c | 2 drivers/ntb/test/ntb_tool.c | 2 drivers/nubus/proc.c | 22 drivers/nvme/host/pci.c | 3 drivers/pci/controller/cadence/pcie-cadence-host.c | 27 drivers/pci/controller/dwc/pcie-qcom.c | 2 drivers/pci/controller/pci-ftpci100.c | 14 drivers/pci/controller/pcie-rockchip-ep.c | 65 - drivers/pci/controller/pcie-rockchip.c | 17 drivers/pci/controller/pcie-rockchip.h | 11 drivers/pci/hotplug/pciehp_ctrl.c | 8 drivers/pci/pci.c | 10 drivers/pci/pcie/aspm.c | 21 drivers/pci/quirks.c | 2 drivers/perf/arm-cmn.c | 7 drivers/phy/tegra/xusb.c | 4 drivers/pinctrl/bcm/pinctrl-bcm2835.c | 6 drivers/pinctrl/intel/pinctrl-cherryview.c | 15 drivers/pinctrl/pinctrl-amd.c | 41 drivers/pinctrl/pinctrl-amd.h | 1 drivers/pinctrl/pinctrl-at91-pio4.c | 2 drivers/platform/x86/wmi.c | 64 - drivers/powercap/Kconfig | 4 drivers/powercap/intel_rapl_msr.c | 1 drivers/pwm/pwm-imx-tpm.c | 7 drivers/pwm/sysfs.c | 17 drivers/regulator/core.c | 30 drivers/rtc/rtc-st-lpc.c | 2 drivers/s390/net/qeth_l3_sys.c | 2 drivers/scsi/3w-xxxx.c | 4 drivers/scsi/qedf/qedf_main.c | 3 drivers/scsi/qla2xxx/qla_attr.c | 13 drivers/scsi/qla2xxx/qla_bsg.c | 6 drivers/scsi/qla2xxx/qla_def.h | 1 drivers/scsi/qla2xxx/qla_init.c | 2 drivers/scsi/qla2xxx/qla_inline.h | 5 drivers/scsi/qla2xxx/qla_iocb.c | 5 drivers/scsi/qla2xxx/qla_nvme.c | 3 drivers/scsi/qla2xxx/qla_os.c | 3 drivers/soc/amlogic/meson-secure-pwrc.c | 2 drivers/soc/fsl/qe/Kconfig | 1 drivers/spi/spi-bcm-qspi.c | 10 drivers/spi/spi-bcm63xx.c | 2 drivers/spi/spi-geni-qcom.c | 2 drivers/staging/media/atomisp/pci/atomisp_cmd.c | 3 drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c | 2 drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 3 drivers/thermal/mtk_thermal.c | 14 drivers/thermal/sun8i_thermal.c | 55 - drivers/tty/serial/8250/8250.h | 1 drivers/tty/serial/8250/8250_omap.c | 25 drivers/tty/serial/8250/8250_pci.c | 19 drivers/tty/serial/8250/8250_port.c | 11 drivers/tty/serial/atmel_serial.c | 4 drivers/tty/serial/fsl_lpuart.c | 1 drivers/tty/serial/samsung_tty.c | 14 drivers/usb/core/devio.c | 2 drivers/usb/dwc3/dwc3-meson-g12a.c | 5 drivers/usb/dwc3/dwc3-qcom.c | 17 drivers/usb/dwc3/gadget.c | 4 drivers/usb/gadget/function/u_serial.c | 13 drivers/usb/host/xhci-mem.c | 39 drivers/usb/host/xhci-pci.c | 12 drivers/usb/host/xhci.h | 2 drivers/usb/phy/phy-tahvo.c | 2 drivers/usb/serial/option.c | 4 drivers/video/fbdev/au1200fb.c | 3 drivers/video/fbdev/imsttfb.c | 36 drivers/video/fbdev/imxfb.c | 4 drivers/video/fbdev/omap/lcd_mipid.c | 6 drivers/w1/slaves/w1_therm.c | 31 drivers/w1/w1.c | 4 fs/btrfs/block-group.c | 9 fs/btrfs/disk-io.c | 3 fs/btrfs/qgroup.c | 3 fs/ceph/caps.c | 9 fs/dlm/plock.c | 4 fs/erofs/zdata.c | 2 fs/erofs/zmap.c | 6 fs/ext4/indirect.c | 8 fs/ext4/inode.c | 10 fs/ext4/mballoc.c | 17 fs/ext4/namei.c | 17 fs/ext4/super.c | 13 fs/ext4/xattr.c | 14 fs/f2fs/f2fs.h | 2 fs/f2fs/file.c | 2 fs/f2fs/gc.c | 22 fs/f2fs/namei.c | 16 fs/f2fs/node.c | 4 fs/fs_context.c | 3 fs/fuse/dir.c | 2 fs/inode.c | 42 fs/internal.h | 2 fs/jffs2/build.c | 5 fs/jffs2/xattr.c | 13 fs/jffs2/xattr.h | 4 fs/jfs/jfs_dmap.c | 6 fs/jfs/jfs_filsys.h | 2 fs/kernfs/dir.c | 2 fs/namei.c | 25 fs/nfs/nfs4proc.c | 1 fs/nfsd/nfs4xdr.c | 2 fs/notify/fanotify/fanotify_user.c | 22 fs/overlayfs/copy_up.c | 2 fs/overlayfs/dir.c | 3 fs/overlayfs/export.c | 3 fs/overlayfs/namei.c | 3 fs/overlayfs/overlayfs.h | 6 fs/overlayfs/super.c | 2 fs/overlayfs/util.c | 24 fs/pstore/ram_core.c | 2 fs/ramfs/inode.c | 2 include/asm-generic/pgtable-nop4d.h | 2 include/asm-generic/pgtable-nopmd.h | 2 include/asm-generic/pgtable-nopud.h | 2 include/linux/bpf-cgroup.h | 27 include/linux/etherdevice.h | 12 include/linux/indirect_call_wrapper.h | 6 include/linux/netdevice.h | 18 include/linux/nmi.h | 2 include/linux/pci.h | 1 include/linux/pgtable.h | 4 include/linux/pipe_fs_i.h | 4 include/linux/ramfs.h | 1 include/linux/sched/signal.h | 2 include/linux/serial_8250.h | 1 include/linux/tcp.h | 2 include/linux/workqueue.h | 15 include/net/netfilter/nf_tables.h | 41 include/net/netns/ipv4.h | 1 include/net/netns/nftables.h | 7 include/net/nfc/nfc.h | 4 include/net/pkt_sched.h | 2 include/net/sock.h | 3 include/net/tcp.h | 32 include/trace/events/timer.h | 6 include/uapi/linux/affs_hardblocks.h | 68 - include/uapi/linux/auto_dev-ioctl.h | 2 include/uapi/linux/videodev2.h | 2 io_uring/io_uring.c | 66 + kernel/bpf/bpf_lru_list.c | 21 kernel/bpf/bpf_lru_list.h | 7 kernel/bpf/cgroup.c | 46 kernel/kcsan/core.c | 2 kernel/kexec_core.c | 5 kernel/rcu/rcuscale.c | 214 ++-- kernel/rcu/tasks.h | 37 kernel/sched/fair.c | 2 kernel/time/posix-timers.c | 74 + kernel/trace/ftrace.c | 72 - kernel/trace/ring_buffer.c | 24 kernel/trace/trace.c | 3 kernel/trace/trace_events_hist.c | 9 kernel/trace/trace_probe_tmpl.h | 2 kernel/watchdog_hld.c | 6 kernel/workqueue.c | 13 lib/debugobjects.c | 9 lib/test_firmware.c | 12 lib/ts_bm.c | 4 mm/shmem.c | 2 net/bridge/br_if.c | 5 net/bridge/br_stp_if.c | 3 net/can/bcm.c | 12 net/can/isotp.c | 5 net/core/devlink.c | 5 net/core/rtnetlink.c | 104 +- net/core/skbuff.c | 5 net/core/sock.c | 17 net/dsa/tag_sja1105.c | 4 net/ipv4/esp4.c | 2 net/ipv4/inet_connection_sock.c | 3 net/ipv4/inet_hashtables.c | 17 net/ipv4/inet_timewait_sock.c | 8 net/ipv4/sysctl_net_ipv4.c | 9 net/ipv4/tcp.c | 68 - net/ipv4/tcp_fastopen.c | 6 net/ipv4/tcp_input.c | 12 net/ipv4/tcp_ipv4.c | 3 net/ipv4/tcp_minisocks.c | 9 net/ipv4/tcp_output.c | 2 net/ipv4/tcp_timer.c | 10 net/ipv6/addrconf.c | 3 net/ipv6/icmp.c | 5 net/ipv6/ip6_gre.c | 3 net/ipv6/tcp_ipv6.c | 3 net/ipv6/udp.c | 2 net/llc/llc_input.c | 3 net/netfilter/nf_conntrack_helper.c | 4 net/netfilter/nf_conntrack_proto_dccp.c | 52 + net/netfilter/nf_conntrack_sip.c | 2 net/netfilter/nf_tables_api.c | 681 +++++++++----- net/netfilter/nf_tables_offload.c | 30 net/netfilter/nft_byteorder.c | 14 net/netfilter/nft_chain_filter.c | 11 net/netfilter/nft_dynset.c | 6 net/netfilter/nft_immediate.c | 90 + net/netfilter/nft_set_bitmap.c | 5 net/netfilter/nft_set_hash.c | 23 net/netfilter/nft_set_pipapo.c | 20 net/netfilter/nft_set_rbtree.c | 5 net/netlink/af_netlink.c | 5 net/netlink/diag.c | 7 net/nfc/core.c | 4 net/nfc/hci/llc_shdlc.c | 10 net/nfc/llcp.h | 9 net/nfc/llcp_commands.c | 59 - net/nfc/llcp_core.c | 93 + net/nfc/llcp_sock.c | 21 net/nfc/netlink.c | 20 net/nfc/nfc.h | 3 net/sched/act_pedit.c | 1 net/sched/cls_flower.c | 10 net/sched/cls_fw.c | 10 net/sched/sch_qfq.c | 41 net/sctp/socket.c | 22 net/socket.c | 3 net/sunrpc/svcsock.c | 23 net/wireless/scan.c | 213 ++-- net/wireless/wext-core.c | 6 net/xdp/xsk.c | 5 samples/bpf/tcp_basertt_kern.c | 2 samples/ftrace/ftrace-direct-too.c | 14 scripts/mod/modpost.c | 26 scripts/tags.sh | 9 security/apparmor/policy_unpack.c | 9 security/integrity/evm/evm_main.c | 2 security/integrity/iint.c | 15 security/integrity/ima/ima_modsig.c | 3 security/integrity/ima/ima_policy.c | 3 security/keys/request_key.c | 35 security/keys/trusted-keys/trusted_tpm2.c | 2 sound/core/jack.c | 15 sound/pci/ac97/ac97_codec.c | 4 sound/pci/hda/patch_realtek.c | 28 sound/soc/codecs/es8316.c | 23 sound/soc/fsl/fsl_sai.c | 2 sound/soc/fsl/fsl_sai.h | 1 sound/soc/fsl/imx-audmix.c | 9 sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 13 tools/bpf/bpftool/feature.c | 24 tools/include/uapi/linux/tcp.h | 357 +++++++ tools/lib/bpf/bpf_helpers.h | 15 tools/perf/builtin-bench.c | 7 tools/perf/builtin-script.c | 34 tools/perf/tests/builtin-test.c | 3 tools/perf/tests/shell/test_uprobe_from_different_cu.sh | 77 + tools/perf/util/dwarf-aux.c | 2 tools/testing/selftests/bpf/prog_tests/bpf_tcp_ca.c | 1 tools/testing/selftests/bpf/prog_tests/cls_redirect.c | 1 tools/testing/selftests/bpf/prog_tests/sockmap_basic.c | 1 tools/testing/selftests/bpf/prog_tests/sockopt_sk.c | 28 tools/testing/selftests/bpf/progs/sockopt_sk.c | 23 tools/testing/selftests/bpf/test_progs.h | 1 tools/testing/selftests/bpf/test_verifier.c | 12 tools/testing/selftests/bpf/verifier/spill_fill.c | 30 tools/testing/selftests/net/rtnetlink.sh | 1 tools/testing/selftests/tc-testing/config | 1 tools/testing/selftests/tc-testing/settings | 1 tools/testing/selftests/wireguard/netns.sh | 30 521 files changed, 5599 insertions(+), 2681 deletions(-)
Ahmed S. Darwish (1):
scripts/tags.sh: Resolve gtags empty index generation
Alan Maguire (1):
bpftool: JIT limited misreported as negative value on aarch64
Alexander Aring (1):
fs: dlm: return positive pid value for F_GETLK
Alexander Mikhalitsyn (1):
sctp: add bpf_bypass_getsockopt proto callback
Alexey Romanov (1):
drivers: meson: secure-pwrc: always enable DMA domain
Amelie Delaunay (2):
mfd: stmfx: Fix error path in stmfx_chip_init
mfd: stmfx: Nullify stmfx->vdd in case of error
Amir Goldstein (2):
ovl: update of dentry revalidate flags after copy up
fanotify: disallow mount/sb marks on kernel internal pseudo fs
Amisha Patel (1):
wifi: wilc1000: fix for absent RSN capabilities WFA testcase
Andres Freund (1):
io_uring: Use io_schedule* in cqring wait
Andrii Nakryiko (1):
libbpf: fix offsetof() and container_of() to work with CO-RE
Andy Shevchenko (6):
wifi: ray_cs: Utilize strnlen() in parse_addr()
wifi: ray_cs: Drop useless status variable in parse_addr()
pinctrl: cherryview: Return correct value if pin in push-pull mode
extcon: Fix kernel doc of property fields to avoid warnings
extcon: Fix kernel doc of property capability fields to avoid warnings platform/x86: wmi: Break possible infinite loop when parsing GUID
Aneesh Kumar K.V (4):
mm: rename pud_page_vaddr to pud_pgtable and make it return pmd_t *
mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t * powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross-boundary
Arnaldo Carvalho de Melo (3):
perf bench: Add missing setlocale() call to allow usage of %'d style formatting perf script: Fixup 'struct evsel_script' method prefix
perf script: Fix allocation of evsel->priv related to per-event dump files
Arnd Bergmann (9):
fs: pipe: reveal missing function protoypes
ARM: 9303/1: kprobes: avoid missing-declaration warnings memstick r592: make memstick_debug_get_tpc_name() static
ARM: ep93xx: fix missing-prototype warnings
ARM: omap2: fix missing tick_broadcast() prototype
crypto: marvell/cesa - Fix type mismatch warning
usb: hide unused usbfs_notify_suspend/resume functions
autofs: use flexible array in ioctl structure
ARM: orion5x: fix d2net gpio initialization
Arseniy Krasnov (1):
mtd: rawnand: meson: fix unaligned DMA buffers handling
Artur Rojek (1):
sh: dma: Fix DMA channel offset calculation
Baokun Li (1):
ext4: only update i_reserved_data_blocks on successful block allocation
Barnabás Pőcze (3):
platform/x86: wmi: remove unnecessary argument platform/x86: wmi: use guid_t and guid_equal() platform/x86: wmi: move variables
Bartosz Golaszewski (1):
net: stmmac: fix double serdes powerdown
Bas Nieuwenhuizen (1):
drm/amdgpu: Validate VM ioctl flags.
Benjamin Berg (1):
wifi: cfg80211: rewrite merging of inherited elements
Bikash Hazarika (2):
scsi: qla2xxx: Fix potential NULL pointer dereference
scsi: qla2xxx: Correct the index of array
Bjorn Andersson (1):
drm/msm/dp: Free resources after unregistering them
Björn Töpel (1):
riscv, bpf: Fix inconsistent JIT image generation
Brendan Cunningham (1):
IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate
Brian Norris (2):
drm/atomic: Allow vblank-enabled + self-refresh "disable" drm/rockchip: vop: Leave vblank enabled in self-refresh
Cambda Zhu (1):
ipvlan: Fix return value of ipvlan_queue_xmit()
Chao Yu (2):
f2fs: fix error path handling in truncate_dnode()
f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()
Chengchang Tang (1):
RDMA/hns: Fix hns_roce_table_get return value
Chengfeng Ye (1):
sctp: fix potential deadlock on &net->sctp.addr_wq_lock
Chevron Li (1):
mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used.
Chia-I Wu (1):
amdgpu: validate offset_in_bo of drm_amdgpu_gem_va
Christian Lamparter (1):
ARM: dts: BCM5301X: fix duplex-full => full-duplex
Christian Marangi (1):
leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
Christophe JAILLET (18):
thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe()
wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
wifi: atmel: Fix an error handling path in atmel_probe()
wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
wifi: ray_cs: Fix an error handling path in ray_probe()
IB/hfi1: Use bitmap_zalloc() when applicable
fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors
usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove()
usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe()
usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe()
mfd: stmpe: Only disable the regulators if they are enabled
rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool()
Christophe Leroy (1):
kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures
Chu Lin (1):
hwmon: (adm1275) enable adm1272 temperature reporting
Chunhai Guo (1):
erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF
Claudiu Beznea (10):
clk: vc5: check memory returned by kasprintf()
clk: cdce925: check return value of kasprintf()
clk: si5341: return error if one synth clock registration fails
clk: si5341: check return value of {devm_}kasprintf()
clk: si5341: free unused memory on probe failure
clk: keystone: sci-clk: check return value of kasprintf()
clk: ti: clkctrl: check return value of kasprintf()
ASoC: imx-audmix: check return value of devm_kasprintf()
pinctrl: at91-pio4: check return value of devm_kasprintf()
phy: tegra: xusb: check return value of devm_kzalloc()
Colin Ian King (1):
powerpc/powernv/sriov: perform null check on iov before dereferencing iov
Cristian Ciocaltea (2):
ASoC: es8316: Increment max value for ALC Capture Target Volume control
ASoC: es8316: Do not set rate constraints for unsupported MCLKs
Dai Ngo (1):
NFSD: add encoding of op_recall flag for write delegation
Damien Le Moal (3):
PCI: rockchip: Set address alignment for endpoint mode
misc: pci_endpoint_test: Free IRQs before removing the device
misc: pci_endpoint_test: Re-init completion for every test
Dan Carpenter (6):
modpost: fix off by one in is_executable_section()
w1: fix loop in w1_fini()
media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var()
scsi: qla2xxx: Fix error code in qla2x00_start_sp()
netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write()
serial: atmel: don't enable IRQs prematurely
Dan Williams (2):
dax: Fix dax_mapping_release() use after free
dax: Introduce alloc_dev_dax_id()
Daniel Vetter (1):
drm/atomic: Fix potential use-after-free in nonblocking commits
Daniil Dulov (2):
drm/amdkfd: Fix potential deallocation of previously deallocated memory.
media: usb: Check az6007_read() return value
Danila Chernetsov (1):
apparmor: fix missing error check for rhashtable_insert_fast
Dario Binacchi (1):
drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
David Sterba (1):
btrfs: add xxhash to fast checksum implementations
Davide Tronchin (1):
USB: serial: option: add LARA-R6 01B PIDs
Ding Hui (4):
PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free
SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
iavf: Fix use-after-free in free_netdev
iavf: Fix out-of-bounds when setting channels on remove
Dmitry Antipov (1):
wifi: ath9k: convert msecs to jiffies where needed
Dmitry Baryshkov (2):
drm/panel: sharp-ls043t1le01: adjust mode settings drm/msm/dpu: do not enable color-management if DSPPs are not available
Douglas Anderson (2):
watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config watchdog/perf: more properly prevent false positives with turbo modes
Duoming Zhou (1):
media: usb: siano: Fix warning due to null work_func_t function pointer
EJ Hsu (1):
phy: tegra: xusb: Clear the driver reference in usb-phy dev
Edward Cree (1):
sfc: fix crash when reading stats while NIC is resetting
Edwin Peer (1):
rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO
Ekansh Gupta (1):
misc: fastrpc: Create fastrpc scalar with correct buffer count
Eric Dumazet (15):
netlink: fix potential deadlock in netlink_set_err()
netlink: do not hard code device address lenth in fdb dumps
tcp: annotate data races in __tcp_oow_rate_limited()
udp6: fix udp6_ehashfn() typo
tcp: annotate data-races around tcp_rsk(req)->ts_recent
tcp: annotate data-races around tp->tcp_tx_delay
tcp: annotate data-races around tp->keepalive_time
tcp: annotate data-races around tp->keepalive_intvl
tcp: annotate data-races around tp->keepalive_probes
tcp: annotate data-races around icsk->icsk_syn_retries
tcp: annotate data-races around tp->linger2
tcp: annotate data-races around rskq_defer_accept
tcp: annotate data-races around tp->notsent_lowat
tcp: annotate data-races around icsk->icsk_user_timeout
tcp: annotate data-races around fastopenq.max_qlenEric Whitney (1):
ext4: correct inline offset when handling xattrs in inode body
Fabian Frederick (1):
jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
Fabio Estevam (1):
drm/panel: simple: Add connector_type for innolux_at043tn24
Fancy Fang (1):
pwm: imx-tpm: force 'real_period' to be zero in suspend
Fedor Pchelkin (2):
wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
Feng Mingxi (1):
clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
Filipe Manana (2):
btrfs: fix race when deleting quota root from the dirty cow roots list
btrfs: fix warning when putting transaction with qgroups enabled after abort
Finn Thain (1):
nubus: Partially revert proc_create_single_data() conversion
Florent Revest (2):
netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
samples: ftrace: Save required argument registers in sample trampolines
Florian Fainelli (1):
net: bcmgenet: Ensure MDIO unregistration has clocks enabled
Florian Kauer (2):
igc: Fix launchtime before start of cycle
igc: Fix inserting of empty frame for launchtime
Florian Westphal (7):
netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
netfilter: nf_tables: use net_generic infra for transaction data
netfilter: nf_tables: add rescheduling points during loop detection walks
netfilter: nf_tables: fix scheduling-while-atomic splat
netfilter: nf_tables: fix spurious set element insertion failure
netfilter: nf_tables: can't schedule in nft_chain_validate
netfilter: nft_set_pipapo: fix improper element removal
Francesco Dolcini (9):
drm/bridge: tc358768: always enable HS video mode drm/bridge: tc358768: fix PLL parameters computation drm/bridge: tc358768: fix PLL target frequency drm/bridge: tc358768: fix TCLK_ZEROCNT computation drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation drm/bridge: tc358768: fix TCLK_TRAILCNT computation drm/bridge: tc358768: fix THS_ZEROCNT computation drm/bridge: tc358768: fix TXTAGOCNT computation drm/bridge: tc358768: fix THS_TRAILCNT computation
Gao Xiang (1):
erofs: fix compact 4B support for 16k block size
Geert Uytterhoeven (4):
regulator: core: Fix more error checking for debugfs_create_dir()
regulator: core: Streamline debugfs operations
ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier
sh: pgtable-3level: Fix cast to pointer from integer of different size
Geetha sowjanya (1):
octeontx2-pf: Dont allocate BPIDs for LBK interfaces
Georg Müller (1):
perf probe: Add test for regression introduced by switch to die_get_decl_file()
George Stark (1):
meson saradc: fix clock divider mask length
Gilad Reti (1):
selftests/bpf: Add verifier test for PTR_TO_MEM spill
Greg Kroah-Hartman (3):
video: imsttfb: check for ioremap() failures
Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" Linux 5.10.188
Guenter Roeck (1):
hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272
Guillaume Nault (1):
pptp: Fix fib lookup calls.
Gustavo A. R. Silva (1):
wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point()
Hans de Goede (3):
ACPI: button: Add lid disable DMI quirk for Nextbook Ares 8A
ACPI: video: Add backlight=native DMI quirk for Apple iMac11,3
ACPI: video: Add backlight=native DMI quirk for Lenovo ThinkPad X131e (3371 AMD version)
Hao Luo (1):
clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe
Hariprasad Kelam (1):
octeontx2-af: Fix mapping for NIX block from CGX connection
Heiko Carstens (1):
s390/decompressor: fix misaligned symbol build error
Herbert Xu (1):
hwrng: virtio - Fix race on data_avail and actual data
Huacai Chen (1):
MIPS: Loongson: Fix cpu_probe_loongson() again
Ido Schimmel (1):
net/sched: flower: Ensure both minimum and maximum ports are specified
Ilia.Gavrilov (1):
netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
Ilya Maximets (1):
xsk: Honor SO_BINDTODEVICE on bind
Jakub Kicinski (2):
net: create netdev->dev_addr assignment helpers
wl3501_cs: use eth_hw_addr_set()James Clark (1):
coresight: Fix loss of connection info when a module is unloaded
Jan Kara (5):
ext4: Remove ext4 locking of moved directory
Revert "f2fs: fix potential corruption when moving a directory"
fs: Establish locking order for unrelated directories
fs: Lock moved directories
fs: no need to check source
Jarkko Sakkinen (1):
tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
Jason A. Donenfeld (2):
wireguard: queueing: use saner cpu selection wrapping
wireguard: netlink: send staged packets when setting initial private key
Jason Baron (1):
md/raid0: add discard support for the 'original' layout
Jason Gerecke (1):
HID: wacom: Use ktime_t rather than int when dealing with timestamps
Jason Gunthorpe (2):
RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests
Jens Axboe (3):
io_uring: ensure IOPOLL locks around deferred work
io_uring: wait interruptibly for request completions on exit
io_uring: add reschedule point to handle_tw_list()
Jeremy Sowden (1):
lib/ts_bm: reset initial match offset for every block of text
Jesper Dangaard Brouer (1):
igc: Enable and fix RX hash usage by netstack
Jiangong.Han (1):
rcuscale: Console output claims too few grace periods
Jiapeng Chong (1):
security: keys: Modify mismatched function name
Jiaqing Zhao (1):
Revert "8250: add support for ASIX devices with a FIFO bug"
Jiasheng Jiang (3):
pstore/ram: Add check for kstrdup
mfd: intel-lpss: Add missing check for platform_get_resource
NTB: ntb_tool: Add check for devm_kcalloc
Jinhong Zhu (1):
scsi: qedf: Fix NULL dereference in error handling
Jisheng Zhang (2):
riscv: bpf: Move bpf_jit_alloc_exec() and bpf_jit_free_exec() to core
riscv: bpf: Avoid breaking W^X
Jocelyn Falempe (2):
drm/client: Fix memory leak in drm_client_target_cloned drm/client: Fix memory leak in drm_client_modeset_probe
Johannes Berg (2):
wifi: iwlwifi: pull from TXQs with softirqs disabled
wifi: iwlwifi: mvm: avoid baid size integer overflow
John Ogness (2):
serial: 8250: lock port for stop_rx() in omap8250_irq()
serial: 8250: lock port for UART_IER access in omap8250_irq()
John Paul Adrian Glaubitz (2):
irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
sh: j2: Use ioremap() to translate device tree address into kernel memory
Jonas Gorski (2):
spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
spi: bcm63xx: fix max prepend length
Juergen Gross (1):
x86/mm: Fix __swp_entry_to_pte() for Xen PV guests
Junfeng Guo (1):
gve: Set default duplex configuration to full
Junyan Ye (1):
PCI: ftpci100: Release the clock resources
Kailang Yang (1):
ALSA: hda/realtek - remove 3k pull low procedure
Kalesh AP (4):
RDMA/bnxt_re: Fix to remove unnecessary return labels RDMA/bnxt_re: Use unique names while registering interrupts RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid RDMA/bnxt_re: Fix to remove an unnecessary log
Kashyap Desai (2):
RDMA/bnxt_re: wraparound mbox producer index RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
Keerthy (1):
arm64: dts: ti: k3-j7200: Fix physical address of pin
Kees Cook (1):
um: Use HOST_DIR for mrproper
Kemeng Shi (3):
ext4: fix wrong unit use in ext4_mb_clear_bb
ext4: get block from bh in ext4_free_blocks for fast commit replay
ext4: fix wrong unit use in ext4_mb_new_blocks
Klaus Kudielka (1):
net: mvneta: fix txq_map in case of txq_number==1
Krishna Kurapati (1):
usb: dwc3: gadget: Propagate core init errors to UDC during pullup
Krister Johansen (1):
net: ena: fix shift-out-of-bounds in exponential backoff
Krzysztof Kozlowski (8):
nfc: constify several pointers to u8, char and sk_buff
nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
nfc: llcp: simplify llcp_sock_connect() error paths
arm64: dts: qcom: msm8916: correct camss unit address
arm64: dts: qcom: msm8994: correct SPMI unit address
arm64: dts: qcom: msm8996: correct camss unit address
arm64: dts: qcom: apq8096: fix fixed regulator name property
memory: brcmstb_dpfe: fix testing array offset after use
Kuniyuki Iwashima (8):
gtp: Fix use-after-free in __gtp_encap_destroy().
netlink: Add __sock_i_ino() for __netlink_diag_dump().
icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev().
bridge: Add extack warning when enabling STP in netns. Revert "tcp: avoid the lookup process failing to get sk in ehash table"
llc: Don't drop packet from non-root netns.
net: Introduce net.ipv4.tcp_migrate_req.
tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries.
Lang Cheng (1):
RDMA/hns: Fix coding style issues
Laurent Vivier (4):
hwrng: virtio - add an internal buffer
hwrng: virtio - don't wait on cleanup
hwrng: virtio - don't waste entropy
hwrng: virtio - always add a pending request
Lee Jones (1):
wl3501_cs: Fix misspelling and provide missing documentation
Li Nan (6):
blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost md/raid10: check slab-out-of-bounds in md_bitmap_get_counter md/raid10: fix overflow of md/safe_mode_delay md/raid10: fix wrong setting of max_corr_read_errors md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request md/raid10: fix io loss while replacement replace rdev
Li Yang (1):
usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
Li Zhijian (1):
rcuscale: Always log error message
Lin Ma (2):
net: nfc: Fix use-after-free caused by nfc_llcp_find_local net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
Lino Sanfilippo (1):
tpm, tpm_tis: Claim locality in interrupt handler
Linus Torvalds (2):
workqueue: clean up WORK_* constant types, clarify masking
ftrace: Store the order of pages allocated in ftrace_page
Luc Ma (1):
drm/vram-helper: fix function names in vram helper doc
Luca Weiss (1):
Input: drv260x - sleep between polling GO bit
Luka Guzenko (1):
ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx
M A Ramdhan (1):
net/sched: cls_fw: Fix improper refcount update leads to use-after-free
Manish Rangankar (1):
scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue
Manivannan Sadhasivam (1):
PCI: qcom: Disable write access to read only registers for IP v2.3.3
Mantas Pucka (1):
clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks
Marc Zyngier (1):
irqchip/jcore-aic: Kill use of irq_create_strict_mappings()
Marek Vasut (10):
wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled
wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
Input: adxl34x - do not hardcode interrupt trigger type
ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards
ARM: dts: stm32: Shorten the AV96 HDMI sound card name
ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2
media: videodev2.h: Fix struct v4l2_input tuner index comment
pwm: sysfs: Do not apply state to already disabled PWMs
i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process() drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags
Mario Limonciello (5):
pinctrl: amd: Fix mistake in handling clearing pins at startup
pinctrl: amd: Detect internal GPIO0 debounce handling
pinctrl: amd: Only use special debounce behavior for GPIO 0 drm/amd/display: Correct DMUB_FW_VERSION macro
pinctrl: amd: Use amd_pinconf_set() for all config options
Mark Brown (2):
regmap: Drop initial version of maximum transfer length fixes
regmap: Account for register length in SMBus I/O limits
Mark Rutland (1):
arm64: mm: fix VA-range sanity check
Martin Blumenstingl (1):
ARM: dts: meson8: correct uart_B and uart_C clock references
Martin KaFai Lau (1):
bpf: Address KCSAN report on bpf_lru_list
Martin Kaiser (3):
hwrng: st - keep clock enabled while hwrng is registered
hwrng: imx-rngc - fix the timeout for init and self check
fbdev: imxfb: warn about invalid left/right margin
Masahiro Yamada (3):
modpost: fix section mismatch message for R_ARM_ABS32
modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
Masami Hiramatsu (Google) (1):
tracing/probes: Fix not to count error code to total length
Mateusz Stachyra (1):
tracing: Fix null pointer dereference in tracing_err_log_open()
Matt Corallo (1):
btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile
Matthieu Baerts (2):
selftests: tc: set timeout to 15 minutes
selftests: tc: add 'ct' action kconfig dep
Matus Gajdos (1):
ASoC: fsl_sai: Disable bit clock with transmitter
Max Filippov (1):
xtensa: ISS: fix call to split_if_spec
Maxim Kochetkov (1):
net: axienet: Move reset before 64-bit DMA detection
Maxime Bizon (1):
wifi: ath11k: fix registration of 6Ghz-only phy without the full channel range
Michael Schmitz (4):
block: fix signed int overflow in Amiga partition support
block: change all __u32 annotations to __be32 in affs_hardblocks.h
block: add overflow checks for Amiga partition support block/partition: fix signedness issue for Amiga partitions
Mike Hommey (1):
HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651.
Miklos Szeredi (1):
fuse: revalidate: don't invalidate if interrupted
Ming Lei (1):
nvme-pci: fix DMA direction of unmapping integrity data
Mingzhe Zou (1):
bcache: fixup btree_cache_wait list damage
Mirsad Goran Todorovac (1):
test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
Mohamed Khalfella (2):
tracing/histograms: Add histograms to hist_vars if they have referenced variables tracing/histograms: Return an error if we fail to add histogram to hist_vars list
Moritz Fischer (1):
net: lan743x: Don't sleep in atomic context
Muchun Song (1):
kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR
Muhammad Husaini Zulkifli (1):
igc: Remove delay during TX ring configuration
Namhyung Kim (1):
perf dwarf-aux: Fix off-by-one in die_get_varname()
Naveen N Rao (1):
powerpc: Fail build if using recordmcount with binutils v2.37
Nicholas Kazlauskas (1):
drm/amd/display: Explicitly specify update type per plane info change
Nico Boehr (1):
KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
Nikita Zhandarovich (3):
PM: domains: fix integer overflow issues in genpd_parse_state()
radeon: avoid double free in ci_dpm_init() drm/radeon: fix possible division-by-zero errors
Nilesh Javali (2):
scsi: qla2xxx: Array index may go out of bound
scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
Nishanth Menon (1):
mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
Nitya Sunkad (1):
ionic: remove WARN_ON to prevent panic_on_warn
Olga Kornievskaia (1):
NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION
Oliver Hartkopp (1):
can: isotp: isotp_sendmsg(): fix return error fix on TX path
Olivier Moysan (1):
ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx
Ondrej Zary (1):
PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
Pablo Neira Ayuso (10):
netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
netfilter: nf_tables: fix chain binding transaction logic
netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
netfilter: nf_tables: reject unbound anonymous set before commit phase
netfilter: nf_tables: reject unbound chain set before commit phase
netfilter: nftables: rename set element data activation/deactivation functions
netfilter: nf_tables: drop map element references from preparation phase
netfilter: nf_tables: unbind non-anonymous set if rule construction fails
netfilter: nf_tables: skip bound chain in netns release path
netfilter: nf_tables: skip bound chain on rule flush
Paolo Abeni (1):
net: prevent skb corruption on frag list segmentation
Patrick Kelsey (1):
IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
Paul E. McKenney (4):
rcuscale: Move shutdown from wait_event() to wait_event_idle()
rcu-tasks: Mark ->trc_reader_nesting data races
rcu-tasks: Mark ->trc_reader_special.b.need_qs data races
rcu-tasks: Simplify trc_read_check_handler() atomic operations
Pawel Dembicki (1):
net: dsa: vsc73xx: fix MTU configuration
Pedro Tammela (4):
net/sched: make psched_mtu() RTNL-less safe net/sched: sch_qfq: refactor parsing of netlink parameters net/sched: sch_qfq: account for stab overhead in qfq_enqueue net/sched: sch_qfq: reintroduce lmax bound check for MTU
Pengcheng Yang (1):
samples/bpf: Fix buffer overflow in tcp_basertt
Peter Seiderer (1):
wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
Petr Oros (1):
devlink: report devlink_port_type_warn source device
Petr Pavlu (1):
keys: Fix linking a duplicate key to a keyring's assoc_array
Pierre Morel (1):
KVM: s390: vsie: fix the length of APCB bitmap
Potin Lai (1):
hwmon: (adm1275) Allow setting sample averaging
Prasad Koya (1):
igc: set TP bit in 'supported' and 'advertising' fields of ethtool_link_ksettings
Prashanth K (2):
usb: gadget: u_serial: Add null pointer check in gserial_suspend
usb: common: usb-conn-gpio: Set last role to unknown before initial detection
Pu Lehui (1):
bpf, riscv: Support riscv jit to provide bpf_line_info
Qiuxu Zhuo (2):
rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup() rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale
Quinn Tran (2):
scsi: qla2xxx: Wait for io return on terminate rport
scsi: qla2xxx: Fix buffer overrun
Rafał Miłecki (2):
ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
net: bgmac: postpone turning IRQs off to avoid SoC hangs
Randy Dunlap (5):
soc/fsl/qe: fix usb.c build errors
crypto: nx - fix build warnings when DEBUG_FS is not enabled
media: cec: i2c: ch7322: also select REGMAP
powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
wifi: airo: avoid uninitialized warning in airo_get_rate()
Ravi Bangoria (1):
perf/ibs: Fix interface via core pmu events
Remi Pommarel (1):
wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
Ricardo Cañuelo (1):
Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe"
Ricardo Ribalda Delgado (2):
ASoC: mediatek: mt8173: Fix irq error path
ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path
Rick Wertenbroek (5):
PCI: rockchip: Assert PCI Configuration Enable bit after probe
PCI: rockchip: Write PCI Device ID to correct register
PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
PCI: rockchip: Use u32 variable to access 32-bit registers
Rikard Falkeborn (1):
media: venus: helpers: Fix ALIGN() of non power of two
Robert Hancock (3):
clk: si5341: Allow different output VDD_SEL values
clk: si5341: Add sysfs properties to allow checking/resetting device faults
i2c: xiic: Don't try to handle more interrupt events after error
Robert Marko (5):
arm64: dts: microchip: sparx5: do not use PSCI on reference boards
clk: qcom: reset: support resetting multiple bits
clk: qcom: ipq6018: fix networking resets
mmc: core: disable TRIM on Kingston EMMC04G-M627
mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
Roberto Sassu (3):
evm: Complete description of evm_inode_setattr()
ima: Fix build warnings
shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs
Robin Murphy (2):
perf/arm-cmn: Fix DTC reset
PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
Rongguang Wei (1):
PCI: pciehp: Cancel bringup sequence if card is not present
Sabrina Dubroca (1):
selftests: rtnetlink: remove netdevsim device after ipsec offload test
Sebastian Andrzej Siewior (1):
tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode().
Selvin Xavier (1):
RDMA/bnxt_re: Disable/kill tasklet only if it is enabled
Shawn Wang (1):
x86/resctrl: Only show tasks' pid in current pid namespace
Sherry Sun (1):
tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
Shreyas Deodhar (1):
scsi: qla2xxx: Pointer may be dereferenced
Shuai Jiang (1):
i2c: qup: Add missing unwind goto in qup_i2c_probe()
Siddh Raman Pant (1):
jfs: jfs_dmap: Validate db_l2nbperpage while mounting
Siddharth Vadapalli (1):
PCI: cadence: Fix Gen2 Link Retraining process
Sohaib Mohamed (1):
perf bench: Use unbuffered output when pipe/tee'ing to a file
Stanislav Fomichev (1):
bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE
Stefan Wahren (1):
w1: w1_therm: fix locking behavior in convert_t
Stephan Gerhold (2):
clk: qcom: reset: Allow specifying custom reset delay
mfd: rt5033: Drop rt5033-battery sub-device
Su Hui (1):
ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
Sui Jingfeng (1):
PCI: Add pci_clear_master() stub for non-CONFIG_PCI
Takashi Iwai (1):
ALSA: jack: Fix mutex call in snd_jack_report()
Tanmay Patil (1):
net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
Tero Kristo (1):
cpufreq: intel_pstate: Fix energy_performance_preference for passive
Tetsuo Handa (1):
debugobjects: Recheck debug_objects_enabled before reporting
Thadeu Lima de Souza Cascardo (2):
netfilter: nf_tables: do not ignore genmask when looking up chain by id
netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
Thomas Gleixner (3):
x86/smp: Use dedicated cache-line for mwait_play_dead()
posix-timers: Prevent RT livelock in itimer_delete()
posix-timers: Ensure timer ID search-loop limit is valid
Thomas Weißschuh (1):
fs: avoid empty option when generating legacy mount string
Thorsten Winkler (1):
s390/qeth: Fix vipa deletion
Tianjia Zhang (1):
integrity: Fix possible multiple allocation in integrity_inode_get()
Tim Harvey (1):
hwmon: (gsc-hwmon) fix fan pwm temperature scaling
Tobias Heider (1):
Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
Tony Lindgren (4):
bus: ti-sysc: Fix dispc quirk masking bool variables
ARM: dts: gta04: Move model property out of pinctrl node
serial: 8250: omap: Fix freeing of resources on failed register
serial: 8250_omap: Use force_suspend and resume for system suspend
Tsuchiya Yuto (1):
media: atomisp: fix "variable dereferenced before check 'asd'"
Ulf Hansson (1):
mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS
Vijaya Krishna Nivarthi (1):
spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG
Vinicius Costa Gomes (1):
igc: Fix race condition in PTP tx code
Vlad Buslov (1):
net/mlx5e: Check for NOT_READY flag state after locking
Vladimir Oltean (3):
net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
net: dsa: tag_sja1105: fix MAC DA patching from meta frames
net: phy: prevent stale pointer dereference in phy_init()
Vladislav Efanov (1):
usb: dwc3: qcom: Fix potential memory leak
Wang Ming (1):
net: ipv4: Use kfree_sensitive instead of kfree
Weihang Li (1):
RDMA/hns: Use refcount_t APIs for HEM
Weitao Wang (3):
xhci: Fix resume issue of some ZHAOXIN hosts
xhci: Fix TRB prefetch issue of ZHAOXIN hosts
xhci: Show ZHAOXIN xHCI root hub speed correctly
Wolfram Sang (1):
arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
Xi Wang (1):
RDMA/hns: Clean the hardware related code for HEM
Xiubo Li (1):
ceph: don't let check_caps skip sending responses for revoke msgs
XuDong Liu (1):
drm: sun4i_tcon: use devm_clk_get_enabled in sun4i_tcon_init_clocks
Yang Yingliang (1):
NTB: ntb_transport: fix possible memory leak while device_register() fails
Yicong Yang (1):
sched/fair: Don't balance task to its current running CPU
Ying Hsu (1):
igb: Fix igb_down hung on surprise removal
Youngmin Nam (1):
arm64: set __exception_irq_entry with __irq_entry as a default
Yu Kuai (2):
md: fix data corruption for raid456 when reshape restart while grow up md/raid10: prevent soft lockup while flush writes
Yuan Can (4):
clk: tegra: tegra124-emc: Fix potential memory leak
ntb: idt: Fix error handling in idt_pci_driver_init()
NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
Yuanjun Gong (1):
net:ipv6: check return value of pskb_trim()
Yuchen Yang (1):
scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
YueHaibing (1):
can: bcm: Fix UAF in bcm_proc_show()
Yuxing Liu (1):
clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe()
Zhang Rui (1):
powercap: RAPL: Fix CONFIG_IOSF_MBI dependency
Zhang Shurong (1):
fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
Zhen Lei (1):
kexec: fix a memory leak in crash_shrink_memory()
Zheng Wang (3):
fbdev: imsttfb: Fix use after free bug in imsttfb_probe
bcache: Remove unnecessary NULL point check in node allocations
bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
Zheng Yejian (3):
ring-buffer: Fix deadloop issue on reading trace_pipe
tracing: Fix memory leak of iter->temp when reading trace_pipe
ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()
Zhengchao Shao (1):
net/mlx5e: fix double free in mlx5e_destroy_flow_table
Zhihao Cheng (1):
ext4: Fix reusing stale buffer heads from last failed mounting
Zhong Jinghua (1):
nbd: Add the maximum limit of allocated index in nbd_dev_add
Ziyang Xuan (1):
ipv6/addrconf: fix a potential refcount underflow for idev
[email protected] (1):
ARM: dts: meson8b: correct uart_B and uart_C clock references
Greg Kroah-Hartman
maintainerDocumentation/filesystems/autofs-mount-control.rst +1 -1
@@ -196,7 +196,7 @@ information and return operation results:: struct args_ismountpoint ismountpoint; }; - char path[0]; + char path[]; }; The ioctlfd field is a mount point file descriptor of an autofs mount
Documentation/filesystems/autofs.rst +1 -1
@@ -467,7 +467,7 @@ Each ioctl is passed a pointer to an `autofs_dev_ioctl` structure:: struct args_ismountpoint ismountpoint; }; - char path[0]; + char path[]; }; For the **OPEN_MOUNT** and **IS_MOUNTPOINT** commands, the target
Documentation/filesystems/directory-locking.rst +14 -12
@@ -22,12 +22,11 @@ exclusive. 3) object removal. Locking rules: caller locks parent, finds victim, locks victim and calls the method. Locks are exclusive. -4) rename() that is _not_ cross-directory. Locking rules: caller locks -the parent and finds source and target. In case of exchange (with -RENAME_EXCHANGE in flags argument) lock both. In any case, -if the target already exists, lock it. If the source is a non-directory, -lock it. If we need to lock both, lock them in inode pointer order. -Then call the method. All locks are exclusive. +4) rename() that is _not_ cross-directory. Locking rules: caller locks the +parent and finds source and target. We lock both (provided they exist). If we +need to lock two inodes of different type (dir vs non-dir), we lock directory +first. If we need to lock two inodes of the same type, lock them in inode +pointer order. Then call the method. All locks are exclusive. NB: we might get away with locking the source (and target in exchange case) shared.
@@ -44,15 +43,17 @@ All locks are exclusive. rules: * lock the filesystem - * lock parents in "ancestors first" order. + * lock parents in "ancestors first" order. If one is not ancestor of + the other, lock them in inode pointer order. * find source and target. * if old parent is equal to or is a descendent of target fail with -ENOTEMPTY * if new parent is equal to or is a descendent of source fail with -ELOOP - * If it's an exchange, lock both the source and the target. - * If the target exists, lock it. If the source is a non-directory, - lock it. If we need to lock both, do so in inode pointer order. + * Lock both the source and the target provided they exist. If we + need to lock two inodes of different type (dir vs non-dir), we lock + the directory first. If we need to lock two inodes of the same type, + lock them in inode pointer order. * call the method. All ->i_rwsem are taken exclusive. Again, we might get away with locking
@@ -66,8 +67,9 @@ If no directory is its own ancestor, the scheme above is deadlock-free. Proof: - First of all, at any moment we have a partial ordering of the - objects - A < B iff A is an ancestor of B. + First of all, at any moment we have a linear ordering of the + objects - A < B iff (A is an ancestor of B) or (B is not an ancestor + of A and ptr(A) < ptr(B)). That ordering can change. However, the following is true:
Documentation/networking/af_xdp.rst +9 -0
@@ -433,6 +433,15 @@ start N bytes into the buffer leaving the first N bytes for the application to use. The final option is the flags field, but it will be dealt with in separate sections for each UMEM flag. +SO_BINDTODEVICE setsockopt +-------------------------- + +This is a generic SOL_SOCKET option that can be used to tie AF_XDP +socket to a particular network interface. It is useful when a socket +is created by a privileged process and passed to a non-privileged one. +Once the option is set, kernel will refuse attempts to bind that socket +to a different interface. Updating the value requires CAP_NET_RAW. + XDP_STATISTICS getsockopt -------------------------
Documentation/networking/ip-sysctl.rst +25 -0
@@ -713,6 +713,31 @@ tcp_syncookies - INTEGER network connections you can set this knob to 2 to enable unconditionally generation of syncookies. +tcp_migrate_req - BOOLEAN + The incoming connection is tied to a specific listening socket when + the initial SYN packet is received during the three-way handshake. + When a listener is closed, in-flight request sockets during the + handshake and established sockets in the accept queue are aborted. + + If the listener has SO_REUSEPORT enabled, other listeners on the + same port should have been able to accept such connections. This + option makes it possible to migrate such child sockets to another + listener after close() or shutdown(). + + The BPF_SK_REUSEPORT_SELECT_OR_MIGRATE type of eBPF program should + usually be used to define the policy to pick an alive listener. + Otherwise, the kernel will randomly pick an alive listener only if + this option is enabled. + + Note that migration between listeners with different settings may + crash applications. Let's say migration happens from listener A to + B, and only B has TCP_SAVE_SYN enabled. B cannot read SYN data from + the requests migrated from A. To avoid such a situation, cancel + migration by returning SK_DROP in the type of eBPF program, or + disable this option. + + Default: 0 + tcp_fastopen - INTEGER Enable TCP Fast Open (RFC7413) to send and accept data in the opening SYN packet.
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 187 +SUBLEVEL = 188 EXTRAVERSION = NAME = Dare mighty things
arch/alpha/include/asm/pgtable.h +5 -3
@@ -241,8 +241,10 @@ pmd_page_vaddr(pmd_t pmd)#define pud_page (pud) (mem_map + ((pud_val(pud) & _PFN_MASK) >> 32))#endif -extern inline unsigned long pud_page_vaddr (pud_t pgd) -{return PAGE_OFFSET + ((pud_val (pgd) & _PFN_MASK) >> (32 -PAGE_SHIFT )); } +extern inline pmd_t *pud_pgtable (pud_t pgd) +{ +return (pmd_t *)(PAGE_OFFSET + ((pud_val (pgd) & _PFN_MASK) >> (32 -PAGE_SHIFT ))); +}extern inline int pte_none (pte_t pte) {return !pte_val (pte); }extern inline int pte_present (pte_t pte) {return pte_val (pte) & _PAGE_VALID; }
@@ -292,7 +294,7 @@ extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= __ACCESS_BITS; retu/* Find an entry in the second-level page table.. */ extern inline pmd_t *pmd_offset (pud_t * dir,unsigned long address) { -pmd_t *ret = (pmd_t *)pud_page_vaddr (*dir) + ((address >>PMD_SHIFT ) & (PTRS_PER_PAGE -1 )); +pmd_t *ret =pud_pgtable (*dir) + ((address >>PMD_SHIFT ) & (PTRS_PER_PAGE -1 ));smp_rmb ();/* see above */ return ret; }
arch/arc/include/asm/linkage.h +4 -4
@@ -8,6 +8,10 @@#include <asm/dwarf.h> +#define ASM_NL `/* use '`' to mark new line in macro */ +#define __ALIGN .align 4 +#define __ALIGN_STR __stringify(__ALIGN) +#ifdef __ASSEMBLY__ .macro ST2 e, o, off
@@ -28,10 +32,6 @@#endif .endm -#define ASM_NL `/* use '`' to mark new line in macro */ -#define __ALIGN .align 4 -#define __ALIGN_STR __stringify(__ALIGN) - /* annotation for data we want in DCCM - if enabled in .config */ .macro ARCFP_DATA nm #ifdef CONFIG_ARC_HAS_DCCM
arch/arm/boot/dts/bcm53015-meraki-mr26.dts +1 -1
@@ -128,7 +128,7 @@ port@5 { fixed-link { speed = <1000>; - duplex-full; + full-duplex; }; }; };
arch/arm/boot/dts/bcm53016-meraki-mr32.dts +1 -1
@@ -212,7 +212,7 @@ port@5 { fixed-link { speed = <1000>; - duplex-full; + full-duplex; }; }; };
arch/arm/boot/dts/bcm5301x.dtsi +0 -1
@@ -532,7 +532,6 @@ spi@18029200 { "spi_lr_session_done", "spi_lr_overread"; clocks = <&iprocmed>; - clock-names = "iprocmed"; num-cs = <2>; #address-cells = <1>; #size-cells = <0>;
arch/arm/boot/dts/iwg20d-q7-common.dtsi +1 -1
@@ -49,7 +49,7 @@ audio_clock: audio_clock { lcd_backlight: backlight { compatible = "pwm-backlight"; - pwms = <&pwm3 0 5000000 0>; + pwms = <&pwm3 0 5000000>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; enable-gpios = <&gpio5 14 GPIO_ACTIVE_HIGH>;
arch/arm/boot/dts/meson8.dtsi +2 -2
@@ -611,13 +611,13 @@ &uart_A { &uart_B { compatible = "amlogic,meson8-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; }; &uart_C { compatible = "amlogic,meson8-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; };
arch/arm/boot/dts/meson8b.dtsi +2 -2
@@ -599,13 +599,13 @@ &uart_A { &uart_B { compatible = "amlogic,meson8b-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; }; &uart_C { compatible = "amlogic,meson8b-uart"; - clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; + clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>; clock-names = "xtal", "pclk", "baud"; };
arch/arm/boot/dts/omap3-gta04a5one.dts +3 -1
@@ -5,9 +5,11 @@ #include "omap3-gta04a5.dts" -&omap3_pmx_core { +/ { model = "Goldelico GTA04A5/Letux 2804 with OneNAND"; +}; +&omap3_pmx_core { gpmc_pins: pinmux_gpmc_pins { pinctrl-single,pins = <
arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi +7 -4
@@ -120,10 +120,13 @@ lcd_panel_in: endpoint { sound { compatible = "audio-graph-card"; - routing = - "MIC_IN", "Capture", - "Capture", "Mic Bias", - "Playback", "HP_OUT"; + widgets = "Headphone", "Headphone Jack", + "Line", "Line In Jack", + "Microphone", "Microphone Jack"; + routing = "Headphone Jack", "HP_OUT", + "LINE_IN", "Line In Jack", + "MIC_IN", "Microphone Jack", + "Microphone Jack", "Mic Bias"; dais = <&sai2a_port &sai2b_port>; status = "okay"; };
arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi +7 -1
@@ -88,7 +88,7 @@ sd_switch: regulator-sd_switch { sound { compatible = "audio-graph-card"; - label = "STM32MP1-AV96-HDMI"; + label = "STM32-AV96-HDMI"; dais = <&sai2a_port>; status = "okay"; };
@@ -232,6 +232,12 @@ adv7513_i2s0: endpoint { }; }; }; + + dh_mac_eeprom: eeprom@53 { + compatible = "atmel,24c02"; + reg = <0x53>; + pagesize = <16>; + }; }; <dc {
arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi +0 -6
@@ -167,12 +167,6 @@ watchdog { status = "disabled"; }; }; - - eeprom@53 { - compatible = "atmel,24c02"; - reg = <0x53>; - pagesize = <16>; - }; }; &iwdg2 {
arch/arm/boot/dts/stm32mp15xx-dkx.dtsi +1 -1
@@ -406,7 +406,7 @@ &i2s2 { i2s2_port: port { i2s2_endpoint: endpoint { remote-endpoint = <&sii9022_tx_endpoint>; - format = "i2s"; + dai-format = "i2s"; mclk-fs = <256>; }; };
arch/arm/include/asm/pgtable-3level.h +1 -1
@@ -130,7 +130,7 @@flush_pmd_entry (pudp); \ }while (0 ) -static inline pmd_t *pud_page_vaddr(pud_t pud) +static inline pmd_t *pud_pgtable(pud_t pud) {return __va (pud_val (pud) &PHYS_MASK & (s32 )PAGE_MASK ); }
arch/arm/mach-ep93xx/timer-ep93xx.c +2 -1
@@ -9,6 +9,7 @@#include <linux/io.h> #include <asm/mach/time.h> #include "soc.h" +#include "platform.h" /************************************************************************* * Timer handling for EP93xx
@@ -60,7 +61,7 @@ static u64 notrace ep93xx_read_sched_clock(void)return ret; } -u64 ep93xx_clocksource_read (struct clocksource *c) +static u64 ep93xx_clocksource_read (struct clocksource *c) {u64 ret;
arch/arm/mach-omap2/board-generic.c +1 -0
@@ -13,6 +13,7 @@#include <linux/of_platform.h> #include <linux/irqdomain.h> #include <linux/clocksource.h> +#include <linux/clockchips.h> #include <asm/setup.h> #include <asm/mach/arch.h>
arch/arm/mach-orion5x/board-dt.c +3 -0
@@ -63,6 +63,9 @@ static void __init orion5x_dt_init(void)if (of_machine_is_compatible ("maxtor,shared-storage-2" ))mss2_init (); +if (of_machine_is_compatible ("lacie,d2-network" )) +d2net_init (); +of_platform_default_populate (NULL , orion5x_auxdata_lookup,NULL ); }
arch/arm/mach-orion5x/common.h +6 -0
@@ -75,6 +75,12 @@ extern void mss2_init(void);static inline void mss2_init (void ) {}#endif +#ifdef CONFIG_MACH_D2NET_DT +void d2net_init (void ); +#else +static inline void d2net_init (void ) {} +#endif +/***************************************************************************** * Helpers to access Orion registers ****************************************************************************/
arch/arm/probes/kprobes/checkers-common.c +1 -1
@@ -40,7 +40,7 @@ enum probes_insn checker_stack_use_imm_0xx(probes_opcode_t insn,* Different from other insn uses imm8, the real addressing offset of * STRD in T32 encoding should be imm8 * 4. See ARMARM description. */ -enum probes_insn checker_stack_use_t32strd (probes_opcode_t insn, +static enum probes_insn checker_stack_use_t32strd (probes_opcode_t insn,struct arch_probes_insn *asi,const struct decode_header *h) {
arch/arm/probes/kprobes/core.c +1 -1
@@ -231,7 +231,7 @@ singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb)* kprobe, and that level is reserved for user kprobe handlers, so we can't * risk encountering a new kprobe in an interrupt handler. */ -void __kprobes kprobe_handler (struct pt_regs *regs) +static void __kprobes kprobe_handler (struct pt_regs *regs) {struct kprobe *p, *cur;struct kprobe_ctlblk *kcb;
arch/arm/probes/kprobes/opt-arm.c +0 -2
@@ -145,8 +145,6 @@ __arch_remove_optimized_kprobe(struct optimized_kprobe *op, int dirty) } } -extern void kprobe_handler (struct pt_regs *regs); -static void optimized_callback (struct optimized_kprobe *op,struct pt_regs *regs) {
arch/arm/probes/kprobes/test-core.c +1 -1
@@ -720,7 +720,7 @@ static const char coverage_register_lookup[16] = { [REG_TYPE_NOSPPCX] = COVERAGE_ANY_REG | COVERAGE_SP, }; -unsigned coverage_start_registers (const struct decode_header *h) +static unsigned coverage_start_registers (const struct decode_header *h) {unsigned regs =0 ;int i;
arch/arm/probes/kprobes/test-core.h +4 -0
@@ -453,3 +453,7 @@ void kprobe_thumb32_test_cases(void);#else void kprobe_arm_test_cases (void );#endif + +void __kprobes_test_case_start (void ); +void __kprobes_test_case_end_16 (void ); +void __kprobes_test_case_end_32 (void );
arch/arm64/boot/dts/microchip/sparx5.dtsi +1 -1
@@ -61,7 +61,7 @@ arm-pmu { interrupt-affinity = <&cpu0>, <&cpu1>; }; - psci { + psci: psci { compatible = "arm,psci-0.2"; method = "smc"; };
arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi +12 -0
@@ -6,6 +6,18 @@ /dts-v1/; #include "sparx5.dtsi" +&psci { + status = "disabled"; +}; + +&cpu0 { + enable-method = "spin-table"; +}; + +&cpu1 { + enable-method = "spin-table"; +}; + &uart0 { status = "okay"; };
arch/arm64/boot/dts/qcom/apq8096-ifc6640.dts +2 -2
@@ -26,7 +26,7 @@ chosen { v1p05: v1p05-regulator { compatible = "regulator-fixed"; - reglator-name = "v1p05"; + regulator-name = "v1p05"; regulator-always-on; regulator-boot-on;
@@ -38,7 +38,7 @@ v1p05: v1p05-regulator { v12_poe: v12-poe-regulator { compatible = "regulator-fixed"; - reglator-name = "v12_poe"; + regulator-name = "v12_poe"; regulator-always-on; regulator-boot-on;
arch/arm64/boot/dts/qcom/msm8916.dtsi +1 -1
@@ -1006,7 +1006,7 @@ dsi_phy0: dsi-phy@1a98300 { }; }; - camss: camss@1b00000 { + camss: camss@1b0ac00 { compatible = "qcom,msm8916-camss"; reg = <0x01b0ac00 0x200>, <0x01b00030 0x4>,
arch/arm64/boot/dts/qcom/msm8994.dtsi +1 -1
@@ -489,7 +489,7 @@ restart@fc4ab000 { reg = <0xfc4ab000 0x4>; }; - spmi_bus: spmi@fc4c0000 { + spmi_bus: spmi@fc4cf000 { compatible = "qcom,spmi-pmic-arb"; reg = <0xfc4cf000 0x1000>, <0xfc4cb000 0x1000>,
arch/arm64/boot/dts/qcom/msm8996.dtsi +1 -1
@@ -956,7 +956,7 @@ ufsphy_lane: lanes@627400 { }; }; - camss: camss@a00000 { + camss: camss@a34000 { compatible = "qcom,msm8996-camss"; reg = <0x00a34000 0x1000>, <0x00a00030 0x4>,
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +1 -2
@@ -270,7 +270,7 @@ hscif0_pins: hscif0 { }; scif1_pins: scif1 { - groups = "scif1_data_b", "scif1_ctrl"; + groups = "scif1_data_b"; function = "scif1"; };
@@ -330,7 +330,6 @@ rsnd_for_pcm3168a_capture: endpoint { &scif1 { pinctrl-0 = <&scif1_pins>; pinctrl-names = "default"; - uart-has-rtscts; status = "okay"; };
arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts +14 -14
@@ -19,25 +19,25 @@ chosen { &wkup_pmx2 { mcu_cpsw_pins_default: mcu-cpsw-pins-default { pinctrl-single,pins = < - J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */ - J721E_WKUP_IOPAD(0x006c, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */ - J721E_WKUP_IOPAD(0x0070, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */ - J721E_WKUP_IOPAD(0x0074, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */ - J721E_WKUP_IOPAD(0x0078, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */ - J721E_WKUP_IOPAD(0x007c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */ - J721E_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */ - J721E_WKUP_IOPAD(0x008c, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */ - J721E_WKUP_IOPAD(0x0090, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */ - J721E_WKUP_IOPAD(0x0094, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */ - J721E_WKUP_IOPAD(0x0080, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */ - J721E_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* MCU_RGMII1_RXC */ + J721E_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */ + J721E_WKUP_IOPAD(0x0004, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */ + J721E_WKUP_IOPAD(0x0008, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */ + J721E_WKUP_IOPAD(0x000c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */ + J721E_WKUP_IOPAD(0x0010, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */ + J721E_WKUP_IOPAD(0x0014, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */ + J721E_WKUP_IOPAD(0x0020, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */ + J721E_WKUP_IOPAD(0x0024, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */ + J721E_WKUP_IOPAD(0x0028, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */ + J721E_WKUP_IOPAD(0x002c, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */ + J721E_WKUP_IOPAD(0x0018, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */ + J721E_WKUP_IOPAD(0x001c, PIN_INPUT, 0) /* MCU_RGMII1_RXC */ >; }; mcu_mdio_pins_default: mcu-mdio1-pins-default { pinctrl-single,pins = < - J721E_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */ - J721E_WKUP_IOPAD(0x0098, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */ + J721E_WKUP_IOPAD(0x0034, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */ + J721E_WKUP_IOPAD(0x0030, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */ >; }; };
arch/arm64/include/asm/exception.h +0 -5
@@ -8,16 +8,11 @@#define __ASM_EXCEPTION_H#include <asm/esr.h> -#include <asm/kprobes.h> #include <asm/ptrace.h> #include <linux/interrupt.h> -#ifdef CONFIG_FUNCTION_GRAPH_TRACER #define __exception_irq_entry __irq_entry -#else -#define __exception_irq_entry __kprobes -#endif static inline u32 disr_to_esr (u64 disr) {
arch/arm64/include/asm/pgtable.h +4 -4
@@ -633,9 +633,9 @@ static inline phys_addr_t pud_page_paddr(pud_t pud)return __pud_to_phys (pud); } -static inline unsigned long pud_page_vaddr (pud_t pud) +static inline pmd_t *pud_pgtable (pud_t pud) { -return (unsigned long )__va (pud_page_paddr (pud)); +return (pmd_t *)__va (pud_page_paddr (pud)); }/* Find an entry in the second-level page table. */
@@ -694,9 +694,9 @@ static inline phys_addr_t p4d_page_paddr(p4d_t p4d)return __p4d_to_phys (p4d); } -static inline unsigned long p4d_page_vaddr (p4d_t p4d) +static inline pud_t *p4d_pgtable (p4d_t p4d) { -return (unsigned long )__va (p4d_page_paddr (p4d)); +return (pud_t *)__va (p4d_page_paddr (p4d)); }/* Find an entry in the frst-level page table. */
arch/arm64/mm/mmu.c +2 -2
@@ -421,7 +421,7 @@ static phys_addr_t pgd_pgtable_alloc(int shift)static void __init create_mapping_noalloc (phys_addr_t phys,unsigned long virt,phys_addr_t size,pgprot_t prot) { -if ((virt >=PAGE_END ) && (virt <VMALLOC_START )) { +if (virt <PAGE_OFFSET ) {pr_warn ("BUG: not creating mapping for %pa at 0x%016lx - outside kernel range\n" , &phys, virt);return ;
@@ -448,7 +448,7 @@ void __init create_pgd_mapping(struct mm_struct *mm, phys_addr_t phys,static void update_mapping_prot (phys_addr_t phys,unsigned long virt,phys_addr_t size,pgprot_t prot) { -if ((virt >=PAGE_END ) && (virt <VMALLOC_START )) { +if (virt <PAGE_OFFSET ) {pr_warn ("BUG: not updating mapping for %pa at 0x%016lx - outside kernel range\n" , &phys, virt);return ;
arch/ia64/include/asm/pgtable.h +2 -2
@@ -279,7 +279,7 @@ extern unsigned long VMALLOC_END;#define pud_bad (pud) (!ia64_phys_addr_valid(pud_val(pud)))#define pud_present (pud) (pud_val(pud) != 0UL)#define pud_clear (pudp) (pud_val(*(pudp)) = 0UL) -#define pud_page_vaddr (pud) ((unsigned long) __va(pud_val(pud) & _PFN_MASK)) +#define pud_pgtable (pud) ((pmd_t *) __va(pud_val(pud) & _PFN_MASK))#define pud_page (pud) virt_to_page((pud_val(pud) + PAGE_OFFSET))#if CONFIG_PGTABLE_LEVELS ==4
@@ -287,7 +287,7 @@ extern unsigned long VMALLOC_END;#define p4d_bad (p4d) (!ia64_phys_addr_valid(p4d_val(p4d)))#define p4d_present (p4d) (p4d_val(p4d) != 0UL)#define p4d_clear (p4dp) (p4d_val(*(p4dp)) = 0UL) -#define p4d_page_vaddr (p4d) ((unsigned long) __va(p4d_val(p4d) & _PFN_MASK)) +#define p4d_pgtable (p4d) ((pud_t *) __va(p4d_val(p4d) & _PFN_MASK))#define p4d_page (p4d) virt_to_page((p4d_val(p4d) + PAGE_OFFSET))#endif
arch/m68k/include/asm/motorola_pgtable.h +1 -1
@@ -129,7 +129,7 @@ static inline void pud_set(pud_t *pudp, pmd_t *pmdp)#define __pte_page (pte) ((unsigned long)__va(pte_val(pte) & PAGE_MASK))#define pmd_page_vaddr (pmd) ((unsigned long)__va(pmd_val(pmd) & _TABLE_MASK)) -#define pud_page_vaddr (pud) ((unsigned long)__va(pud_val(pud) & _TABLE_MASK)) +#define pud_pgtable (pud) ((pmd_t *)__va(pud_val(pud) & _TABLE_MASK))#define pte_none (pte) (!pte_val(pte))
arch/mips/include/asm/pgtable-64.h +4 -4
@@ -210,9 +210,9 @@ static inline void p4d_clear(p4d_t *p4dp)p4d_val (*p4dp) = (unsigned long )invalid_pud_table; } -static inline unsigned long p4d_page_vaddr (p4d_t p4d) +static inline pud_t *p4d_pgtable (p4d_t p4d) { -return p4d_val (p4d); +return (pud_t *)p4d_val (p4d); }#define p4d_phys (p4d) virt_to_phys((void *)p4d_val(p4d))
@@ -314,9 +314,9 @@ static inline void pud_clear(pud_t *pudp)#endif #ifndef __PAGETABLE_PMD_FOLDED -static inline unsigned long pud_page_vaddr (pud_t pud) +static inline pmd_t *pud_pgtable (pud_t pud) { -return pud_val (pud); +return (pmd_t *)pud_val (pud); }#define pud_phys (pud) virt_to_phys((void *)pud_val(pud))#define pud_page (pud) (pfn_to_page(pud_phys(pud) >> PAGE_SHIFT))
arch/mips/kernel/cpu-probe.c +3 -6
@@ -1721,7 +1721,10 @@ static inline void decode_cpucfg(struct cpuinfo_mips *c)static inline void cpu_probe_loongson (struct cpuinfo_mips *c,unsigned int cpu) { + c->cputype =CPU_LOONGSON64 ; +/* All Loongson processors covered here define ExcCode 16 as GSExc. */ +decode_configs (c); c->options |=MIPS_CPU_GSEXCEX ;switch (c->processor_id &PRID_IMP_MASK ) {
@@ -1731,7 +1734,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)case PRID_REV_LOONGSON2K_R1_1 :case PRID_REV_LOONGSON2K_R1_2 :case PRID_REV_LOONGSON2K_R1_3 : - c->cputype =CPU_LOONGSON64 ; __cpu_name[cpu] ="Loongson-2K" ;set_elf_platform (cpu,"gs264e" );set_isa (c,MIPS_CPU_ISA_M64R2 );
@@ -1744,14 +1746,12 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)switch (c->processor_id &PRID_REV_MASK ) {case PRID_REV_LOONGSON3A_R2_0 :case PRID_REV_LOONGSON3A_R2_1 : - c->cputype =CPU_LOONGSON64 ; __cpu_name[cpu] ="ICT Loongson-3" ;set_elf_platform (cpu,"loongson3a" );set_isa (c,MIPS_CPU_ISA_M64R2 );break ;case PRID_REV_LOONGSON3A_R3_0 :case PRID_REV_LOONGSON3A_R3_1 : - c->cputype =CPU_LOONGSON64 ; __cpu_name[cpu] ="ICT Loongson-3" ;set_elf_platform (cpu,"loongson3a" );set_isa (c,MIPS_CPU_ISA_M64R2 );
@@ -1771,7 +1771,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) c->ases &= ~MIPS_ASE_VZ ;/* VZ of Loongson-3A2000/3000 is incomplete */ break ;case PRID_IMP_LOONGSON_64G : - c->cputype =CPU_LOONGSON64 ; __cpu_name[cpu] ="ICT Loongson-3" ;set_elf_platform (cpu,"loongson3a" );set_isa (c,MIPS_CPU_ISA_M64R2 );
@@ -1781,8 +1780,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)panic ("Unknown Loongson Processor ID!" ); break; } - -decode_configs (c); }#else static inline void cpu_probe_loongson (struct cpuinfo_mips *c,unsigned int cpu) { }
arch/parisc/include/asm/pgtable.h +2 -2
@@ -330,8 +330,8 @@ static inline void pmd_clear(pmd_t *pmd) {#if CONFIG_PGTABLE_LEVELS ==3 -#define pud_page_vaddr (pud) ((unsigned long) __va(pud_address(pud))) -#define pud_page (pud) virt_to_page((void *)pud_page_vaddr(pud)) +#define pud_pgtable (pud) ((pmd_t *) __va(pud_address(pud))) +#define pud_page (pud) virt_to_page((void *)pud_pgtable(pud))/* For 64 bit we have three level tables */
arch/powerpc/Kconfig.debug +1 -1
@@ -234,7 +234,7 @@ config PPC_EARLY_DEBUG_40x config PPC_EARLY_DEBUG_CPM bool "Early serial debugging for Freescale CPM-based serial ports" - depends on SERIAL_CPM + depends on SERIAL_CPM=y help Select this to enable early debugging for Freescale chips using a CPM-based serial port. This assumes that the bootwrapper
arch/powerpc/Makefile +8 -0
@@ -429,3 +429,11 @@ checkbin: echo -n '*** Please use a different binutils version.' ; \ false ; \ fi + @if test "x${CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT}" = "xy" -a \ + "x${CONFIG_LD_IS_BFD}" = "xy" -a \ + "${CONFIG_LD_VERSION}" = "23700" ; then \ + echo -n '*** binutils 2.37 drops unused section symbols, which recordmcount ' ; \ + echo 'is unable to handle.' ; \ + echo '*** Please use a different binutils version.' ; \ + false ; \ + fi
arch/powerpc/include/asm/book3s/64/pgtable.h +9 -2
@@ -1030,8 +1030,15 @@ extern struct page *p4d_page(p4d_t p4d);/* Pointers in the page table tree are physical addresses */ #define __pgtable_ptr_val (ptr) __pa(ptr) -#define pud_page_vaddr (pud) __va(pud_val(pud) & ~PUD_MASKED_BITS) -#define p4d_page_vaddr (p4d) __va(p4d_val(p4d) & ~P4D_MASKED_BITS) +static inline pud_t *p4d_pgtable (p4d_t p4d) +{ +return (pud_t *)__va (p4d_val (p4d) & ~P4D_MASKED_BITS ); +} + +static inline pmd_t *pud_pgtable (pud_t pud) +{ +return (pmd_t *)__va (pud_val (pud) & ~PUD_MASKED_BITS ); +}#define pte_ERROR (e) \ pr_err("%s:%d: bad pte %08lx.\n", __FILE__, __LINE__, pte_val(e))
arch/powerpc/include/asm/nohash/64/pgtable-4k.h +5 -1
@@ -56,10 +56,14 @@#define p4d_none (p4d) (!p4d_val(p4d))#define p4d_bad (p4d) (p4d_val(p4d) == 0)#define p4d_present (p4d) (p4d_val(p4d) != 0) -#define p4d_page_vaddr (p4d) (p4d_val(p4d) & ~P4D_MASKED_BITS)#ifndef __ASSEMBLY__ +static inline pud_t *p4d_pgtable (p4d_t p4d) +{ +return (pud_t *) (p4d_val (p4d) & ~P4D_MASKED_BITS ); +} +static inline void p4d_clear (p4d_t *p4dp) { *p4dp =__p4d (0 );
arch/powerpc/include/asm/nohash/64/pgtable.h +5 -1
@@ -164,7 +164,11 @@ static inline void pud_clear(pud_t *pudp)#define pud_bad (pud) (!is_kernel_addr(pud_val(pud)) \ || (pud_val(pud) & PUD_BAD_BITS))#define pud_present (pud) (pud_val(pud) != 0) -#define pud_page_vaddr (pud) (pud_val(pud) & ~PUD_MASKED_BITS) + +static inline pmd_t *pud_pgtable (pud_t pud) +{ +return (pmd_t *)(pud_val (pud) & ~PUD_MASKED_BITS ); +}extern struct page *pud_page (pud_t pud);
arch/powerpc/mm/book3s64/radix_pgtable.c +25 -15
@@ -783,9 +783,9 @@ static void free_pud_table(pud_t *pud_start, p4d_t *p4d) }static void remove_pte_table (pte_t *pte_start,unsigned long addr, -unsigned long end) +unsigned long end,bool direct) { -unsigned long next; +unsigned long next, pages =0 ;pte_t *pte; pte = pte_start +pte_index (addr);
@@ -807,13 +807,16 @@ static void remove_pte_table(pte_t *pte_start, unsigned long addr, }pte_clear (&init_mm, addr, pte); + pages++; } +if (direct) +update_page_count (mmu_virtual_psize, -pages); }static void __meminit remove_pmd_table (pmd_t *pmd_start,unsigned long addr, -unsigned long end) +unsigned long end,bool direct) { -unsigned long next; +unsigned long next, pages =0 ;pte_t *pte_base;pmd_t *pmd;
@@ -831,19 +834,22 @@ static void __meminit remove_pmd_table(pmd_t *pmd_start, unsigned long addr,continue ; }pte_clear (&init_mm, addr, (pte_t *)pmd); + pages++;continue ; } pte_base = (pte_t *)pmd_page_vaddr (*pmd); -remove_pte_table (pte_base, addr, next); +remove_pte_table (pte_base, addr, next, direct);free_pte_table (pte_base, pmd); } +if (direct) +update_page_count (MMU_PAGE_2M , -pages); }static void __meminit remove_pud_table (pud_t *pud_start,unsigned long addr, -unsigned long end) +unsigned long end,bool direct) { -unsigned long next; +unsigned long next, pages =0 ;pmd_t *pmd_base;pud_t *pud;
@@ -861,16 +867,20 @@ static void __meminit remove_pud_table(pud_t *pud_start, unsigned long addr,continue ; }pte_clear (&init_mm, addr, (pte_t *)pud); + pages++;continue ; } - pmd_base = (pmd_t *)pud_page_vaddr (*pud); -remove_pmd_table (pmd_base, addr, next); + pmd_base =pud_pgtable (*pud); +remove_pmd_table (pmd_base, addr, next, direct);free_pmd_table (pmd_base, pud); } +if (direct) +update_page_count (MMU_PAGE_1G , -pages); } -static void __meminit remove_pagetable (unsigned long start,unsigned long end) +static void __meminit remove_pagetable (unsigned long start,unsigned long end, +bool direct) {unsigned long addr, next;pud_t *pud_base;
@@ -898,8 +908,8 @@ static void __meminit remove_pagetable(unsigned long start, unsigned long end)continue ; } - pud_base = (pud_t *)p4d_page_vaddr (*p4d); -remove_pud_table (pud_base, addr, next); + pud_base =p4d_pgtable (*p4d); +remove_pud_table (pud_base, addr, next, direct);free_pud_table (pud_base, p4d); }
@@ -922,7 +932,7 @@ int __meminit radix__create_section_mapping(unsigned long start,int __meminit radix__remove_section_mapping (unsigned long start,unsigned long end) { -remove_pagetable (start, end); +remove_pagetable (start, end, true);return 0 ; }#endif /* CONFIG_MEMORY_HOTPLUG */
@@ -958,7 +968,7 @@ int __meminit radix__vmemmap_create_mapping(unsigned long start,#ifdef CONFIG_MEMORY_HOTPLUG void __meminit radix__vmemmap_remove_mapping (unsigned long start,unsigned long page_size) { -remove_pagetable (start, start + page_size); +remove_pagetable (start, start + page_size, false); }#endif #endif
@@ -1156,7 +1166,7 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)pmd_t *pmd;int i; - pmd = (pmd_t *)pud_page_vaddr (*pud); + pmd =pud_pgtable (*pud);pud_clear (pud);flush_tlb_kernel_range (addr, addr +PUD_SIZE );
arch/powerpc/mm/init_64.c +1 -1
@@ -188,7 +188,7 @@ static bool altmap_cross_boundary(struct vmem_altmap *altmap, unsigned long starunsigned long nr_pfn = page_size /sizeof (struct page );unsigned long start_pfn =page_to_pfn ((struct page *)start); -if ((start_pfn + nr_pfn) > altmap->end_pfn) +if ((start_pfn + nr_pfn -1 ) > altmap->end_pfn)return true;if (start_pfn < altmap->base_pfn)
arch/powerpc/mm/pgtable_64.c +2 -2
@@ -106,7 +106,7 @@ struct page *p4d_page(p4d_t p4d)VM_WARN_ON (!p4d_huge (p4d)); return pte_page(p4d_pte(p4d)); } -return virt_to_page (p4d_page_vaddr (p4d)); +return virt_to_page (p4d_pgtable (p4d)); }#endif
@@ -117,7 +117,7 @@ struct page *pud_page(pud_t pud)VM_WARN_ON (!pud_huge (pud));return pte_page (pud_pte (pud)); } -return virt_to_page (pud_page_vaddr (pud)); +return virt_to_page (pud_pgtable (pud)); }/*
arch/powerpc/platforms/powernv/pci-sriov.c +3 -3
@@ -600,12 +600,12 @@ static void pnv_pci_sriov_disable(struct pci_dev *pdev)struct pnv_iov_data *iov; iov =pnv_iov_get (pdev); - num_vfs = iov->num_vfs; - base_pe = iov->vf_pe_arr[0 ].pe_number; -if (WARN_ON (!iov))return ; + num_vfs = iov->num_vfs; + base_pe = iov->vf_pe_arr[0 ].pe_number; +/* Release VF PEs */ pnv_ioda_release_vf_PE (pdev);
arch/riscv/include/asm/pgtable-64.h +2 -2
@@ -60,9 +60,9 @@ static inline void pud_clear(pud_t *pudp)set_pud (pudp,__pud (0 )); } -static inline unsigned long pud_page_vaddr (pud_t pud) +static inline pmd_t *pud_pgtable (pud_t pud) { -return (unsigned long )pfn_to_virt (pud_val (pud) >> _PAGE_PFN_SHIFT); +return (pmd_t *)pfn_to_virt (pud_val (pud) >> _PAGE_PFN_SHIFT); }static inline struct page *pud_page (pud_t pud)
arch/riscv/net/bpf_jit.h +3 -2
@@ -69,6 +69,7 @@ struct rv_jit_context {struct bpf_prog *prog;u16 *insns;/* RV insns */ int ninsns; +int prologue_len;int epilogue_offset;int *offset;/* BPF to RV */ unsigned long flags;
@@ -214,8 +215,8 @@ static inline int rv_offset(int insn, int off, struct rv_jit_context *ctx)int from, to; off++;/* BPF branch is from PC+1, RV is from PC */ - from = (insn >0 ) ? ctx->offset[insn -1 ] :0 ; - to = (insn + off >0 ) ? ctx->offset[insn + off -1 ] :0 ; + from = (insn >0 ) ? ctx->offset[insn -1 ] : ctx->prologue_len; + to = (insn + off >0 ) ? ctx->offset[insn + off -1 ] : ctx->prologue_len;return ninsns_rvoff (to - from); }
arch/riscv/net/bpf_jit_comp64.c +0 -13
@@ -1144,16 +1144,3 @@ void bpf_jit_build_epilogue(struct rv_jit_context *ctx) {__build_epilogue (false, ctx); } - -void *bpf_jit_alloc_exec (unsigned long size) -{ -return __vmalloc_node_range (size,PAGE_SIZE ,BPF_JIT_REGION_START , -BPF_JIT_REGION_END ,GFP_KERNEL , -PAGE_KERNEL_EXEC ,0 ,NUMA_NO_NODE , -__builtin_return_address (0 )); -} - -void bpf_jit_free_exec (void *addr) -{ -return vfree (addr); -}
arch/riscv/net/bpf_jit_core.c +28 -1
@@ -83,6 +83,12 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) prog = orig_prog; goto out_offset; } + +if (build_body (ctx, extra_pass,NULL )) { + prog = orig_prog; + goto out_offset; + } +for (i =0 ; i < prog->len; i++) { prev_ninsns +=32 ; ctx->offset[i] = prev_ninsns;
@@ -91,11 +97,15 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)for (i =0 ; i <NR_JIT_ITERATIONS ; i++) { pass++; ctx->ninsns =0 ; + +bpf_jit_build_prologue (ctx); + ctx->prologue_len = ctx->ninsns; +if (build_body (ctx, extra_pass, ctx->offset)) { prog = orig_prog; goto out_offset; } -bpf_jit_build_prologue (ctx); + ctx->epilogue_offset = ctx->ninsns;bpf_jit_build_epilogue (ctx);
@@ -153,6 +163,10 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)bpf_flush_icache (jit_data->header, ctx->insns + ctx->ninsns);if (!prog->is_func || extra_pass) { +bpf_jit_binary_lock_ro (jit_data->header); +for (i =0 ; i < prog->len; i++) + ctx->offset[i] =ninsns_rvoff (ctx->offset[i]); +bpf_prog_fill_jited_linfo (prog, ctx->offset); out_offset:kfree (ctx->offset);kfree (jit_data);
@@ -165,3 +179,16 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) tmp : orig_prog);return prog; } + +void *bpf_jit_alloc_exec (unsigned long size) +{ +return __vmalloc_node_range (size,PAGE_SIZE ,BPF_JIT_REGION_START , +BPF_JIT_REGION_END ,GFP_KERNEL , +PAGE_KERNEL ,0 ,NUMA_NO_NODE , +__builtin_return_address (0 )); +} + +void bpf_jit_free_exec (void *addr) +{ +return vfree (addr); +}
arch/s390/Makefile +1 -0
@@ -29,6 +29,7 @@ KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding KBUILD_CFLAGS_DECOMPRESSOR += -fno-stack-protector +KBUILD_CFLAGS_DECOMPRESSOR += -fPIE KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member) KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g) KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,))
arch/s390/kvm/kvm-s390.c +4 -0
@@ -2005,6 +2005,10 @@ static unsigned long kvm_s390_next_dirty_cmma(struct kvm_memslots *slots, ms = slots->memslots + slotidx; ofs =0 ; } + +if (cur_gfn < ms->base_gfn) + ofs =0 ; + ofs =find_next_bit (kvm_second_dirty_bitmap (ms), ms->npages, ofs);while ((slotidx >0 ) && (ofs >= ms->npages)) { slotidx--;
arch/s390/kvm/vsie.c +4 -2
@@ -168,7 +168,8 @@ static int setup_apcb00(struct kvm_vcpu *vcpu, unsigned long *apcb_s, sizeof(struct kvm_s390_apcb0)))return -EFAULT ; -bitmap_and (apcb_s, apcb_s, apcb_h,sizeof (struct kvm_s390_apcb0 )); +bitmap_and (apcb_s, apcb_s, apcb_h, +BITS_PER_BYTE *sizeof (struct kvm_s390_apcb0 ));return 0 ; }
@@ -190,7 +191,8 @@ static int setup_apcb11(struct kvm_vcpu *vcpu, unsigned long *apcb_s, sizeof(struct kvm_s390_apcb1)))return -EFAULT ; -bitmap_and (apcb_s, apcb_s, apcb_h,sizeof (struct kvm_s390_apcb1 )); +bitmap_and (apcb_s, apcb_s, apcb_h, +BITS_PER_BYTE *sizeof (struct kvm_s390_apcb1 ));return 0 ; }
arch/sh/drivers/dma/dma-sh.c +24 -13
@@ -18,6 +18,18 @@#include <cpu/dma-register.h> #include <cpu/dma.h> +/* +* Some of the SoCs feature two DMAC modules. In such a case, the channels are +* distributed equally among them. +*/ +#ifdef SH_DMAC_BASE1 +#define SH_DMAC_NR_MD_CH (CONFIG_NR_ONCHIP_DMA_CHANNELS / 2) +#else +#define SH_DMAC_NR_MD_CH CONFIG_NR_ONCHIP_DMA_CHANNELS +#endif + +#define SH_DMAC_CH_SZ 0x10 +/* * Define the default configuration for dual address memory-memory transfer. * The 0x400 value represents auto-request, external->external.
@@ -29,7 +41,7 @@ static unsigned long dma_find_base(unsigned int chan)unsigned long base =SH_DMAC_BASE0 ;#ifdef SH_DMAC_BASE1 -if (chan >=6 ) +if (chan >=SH_DMAC_NR_MD_CH ) base =SH_DMAC_BASE1 ;#endif
@@ -40,13 +52,13 @@ static unsigned long dma_base_addr(unsigned int chan) {unsigned long base =dma_find_base (chan); -/* Normalize offset calculation */ -if (chan >=9 ) - chan -=6 ; -if (chan >=4 ) - base +=0x10 ; + chan = (chan %SH_DMAC_NR_MD_CH ) *SH_DMAC_CH_SZ ; + +/* DMAOR is placed inside the channel register space. Step over it. */ +if (chan >=DMAOR ) + base +=SH_DMAC_CH_SZ ; -return base + (chan *0x10 ); +return base + chan; }#ifdef CONFIG_SH_DMA_IRQ_MULTI
@@ -250,12 +262,11 @@ static int sh_dmac_get_dma_residue(struct dma_channel *chan)#define NR_DMAOR 1#endif -/* -* DMAOR bases are broken out amongst channel groups. DMAOR0 manages -* channels 0 - 5, DMAOR1 6 - 11 (optional). -*/ -#define dmaor_read_reg (n) __raw_readw(dma_find_base((n)*6)) -#define dmaor_write_reg (n, data) __raw_writew(data, dma_find_base(n)*6) +#define dmaor_read_reg (n) __raw_readw(dma_find_base((n) * \ + SH_DMAC_NR_MD_CH) + DMAOR) +#define dmaor_write_reg (n, data) __raw_writew(data, \ + dma_find_base((n) * \ + SH_DMAC_NR_MD_CH) + DMAOR)static inline int dmaor_reset (int no) {
arch/sh/include/asm/pgtable-3level.h +2 -2
@@ -32,9 +32,9 @@ typedef struct { unsigned long long pmd; } pmd_t;#define pmd_val (x) ((x).pmd)#define __pmd (x) ((pmd_t) { (x) } ) -static inline unsigned long pud_page_vaddr (pud_t pud) +static inline pmd_t *pud_pgtable (pud_t pud) { -return pud_val (pud); +return (pmd_t *)(unsigned long )pud_val (pud); }/* only used by the stubbed out hugetlb gup code, should never be called */
arch/sh/kernel/cpu/sh2/probe.c +1 -1
@@ -21,7 +21,7 @@ static int __init scan_cache(unsigned long node, const char *uname,if (!of_flat_dt_is_compatible (node,"jcore,cache" ))return 0 ; - j2_ccr_base = (u32 __iomem *)of_flat_dt_translate_address (node); + j2_ccr_base =ioremap (of_flat_dt_translate_address (node),4 );return 1 ; }
arch/sparc/include/asm/pgtable_32.h +3 -3
@@ -152,13 +152,13 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd)return (unsigned long )__nocache_va (v <<4 ); } -static inline unsigned long pud_page_vaddr (pud_t pud) +static inline pmd_t *pud_pgtable (pud_t pud) {if (srmmu_device_memory (pud_val (pud))) { -return ~0 ; +return (pmd_t *)~0 ; }else {unsigned long v =pud_val (pud) &SRMMU_PTD_PMASK ; -return (unsigned long )__nocache_va (v <<4 ); +return (pmd_t *)__nocache_va (v <<4 ); } }
arch/sparc/include/asm/pgtable_64.h +5 -5
@@ -845,23 +845,23 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd)return ((unsigned long )__va (pfn <<PAGE_SHIFT )); } -static inline unsigned long pud_page_vaddr (pud_t pud) +static inline pmd_t *pud_pgtable (pud_t pud) {pte_t pte =__pte (pud_val (pud));unsigned long pfn; pfn =pte_pfn (pte); -return ((unsigned long )__va (pfn <<PAGE_SHIFT )); +return ((pmd_t *)__va (pfn <<PAGE_SHIFT )); }#define pmd_page (pmd) virt_to_page((void *)pmd_page_vaddr(pmd)) -#define pud_page (pud) virt_to_page((void *)pud_page_vaddr(pud)) +#define pud_page (pud) virt_to_page((void *)pud_pgtable(pud))#define pmd_clear (pmdp) (pmd_val(*(pmdp)) = 0UL)#define pud_present (pud) (pud_val(pud) != 0U)#define pud_clear (pudp) (pud_val(*(pudp)) = 0UL) -#define p4d_page_vaddr (p4d) \ - ((unsigned long) __va(p4d_val(p4d))) +#define p4d_pgtable (p4d) \ + ((pud_t *) __va(p4d_val(p4d)))#define p4d_present (p4d) (p4d_val(p4d) != 0U)#define p4d_clear (p4dp) (p4d_val(*(p4dp)) = 0UL)
arch/um/Makefile +1 -1
@@ -147,7 +147,7 @@ export LDFLAGS_vmlinux := $(LDFLAGS_EXECSTACK) # When cleaning we don't include .config, so we don't include # TT or skas makefiles and don't clean skas_ptregs.h. CLEAN_FILES += linux x.i gmon.out -MRPROPER_FILES += arch/$(SUBARCH)/include/generated +MRPROPER_FILES += $(HOST_DIR)/include/generated archclean: @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \
arch/um/include/asm/pgtable-3level.h +1 -1
@@ -84,7 +84,7 @@ static inline void pud_clear (pud_t *pud) }#define pud_page (pud) phys_to_page(pud_val(pud) & PAGE_MASK) -#define pud_page_vaddr (pud) ((unsigned long) __va(pud_val(pud) & PAGE_MASK)) +#define pud_pgtable (pud) ((pmd_t *) __va(pud_val(pud) & PAGE_MASK))static inline unsigned long pte_pfn (pte_t pte) {
arch/x86/events/amd/core.c +1 -1
@@ -364,7 +364,7 @@ static int amd_pmu_hw_config(struct perf_event *event)/* pass precise event sampling to ibs: */ if (event->attr.precise_ip &&get_ibs_caps ()) -return -ENOENT ; +return forward_event_to_ibs (event);if (has_branch_stack (event))return -EOPNOTSUPP ;
arch/x86/events/amd/ibs.c +26 -27
80 lines not on this page · raw message
arch/x86/include/asm/perf_event.h +2 -0
@@ -412,8 +412,10 @@ struct pebs_xmm {#ifdef CONFIG_X86_LOCAL_APIC extern u32 get_ibs_caps (void ); +extern int forward_event_to_ibs (struct perf_event *event);#else static inline u32 get_ibs_caps (void ) {return 0 ; } +static inline int forward_event_to_ibs (struct perf_event *event) {return -ENOENT ; }#endif #ifdef CONFIG_PERF_EVENTS
arch/x86/include/asm/pgtable.h +4 -4
@@ -865,9 +865,9 @@ static inline int pud_present(pud_t pud)return pud_flags (pud) & _PAGE_PRESENT; } -static inline unsigned long pud_page_vaddr (pud_t pud) +static inline pmd_t *pud_pgtable (pud_t pud) { -return (unsigned long )__va (pud_val (pud) &pud_pfn_mask (pud)); +return (pmd_t *)__va (pud_val (pud) &pud_pfn_mask (pud)); }/*
@@ -906,9 +906,9 @@ static inline int p4d_present(p4d_t p4d)return p4d_flags (p4d) & _PAGE_PRESENT; } -static inline unsigned long p4d_page_vaddr (p4d_t p4d) +static inline pud_t *p4d_pgtable (p4d_t p4d) { -return (unsigned long )__va (p4d_val (p4d) &p4d_pfn_mask (p4d)); +return (pud_t *)__va (p4d_val (p4d) &p4d_pfn_mask (p4d)); }/*
arch/x86/include/asm/pgtable_64.h +2 -2
@@ -235,8 +235,8 @@ static inline void native_pgd_clear(pgd_t *pgd)#define __pte_to_swp_entry (pte) ((swp_entry_t) { pte_val((pte)) })#define __pmd_to_swp_entry (pmd) ((swp_entry_t) { pmd_val((pmd)) }) -#define __swp_entry_to_pte (x) ((pte_t) { .pte = (x).val }) -#define __swp_entry_to_pmd (x) ((pmd_t) { .pmd = (x).val }) +#define __swp_entry_to_pte (x) (__pte((x).val)) +#define __swp_entry_to_pmd (x) (__pmd((x).val))extern int kern_addr_valid (unsigned long addr);extern void cleanup_highmap (void );
arch/x86/kernel/cpu/resctrl/rdtgroup.c +6 -2
@@ -715,11 +715,15 @@ static ssize_t rdtgroup_tasks_write(struct kernfs_open_file *of,static void show_rdt_tasks (struct rdtgroup *r,struct seq_file *s) {struct task_struct *p, *t; +pid_t pid;rcu_read_lock ();for_each_process_thread (p, t) { -if (is_closid_match (t, r) ||is_rmid_match (t, r)) -seq_printf (s,"%d\n" , t->pid); +if (is_closid_match (t, r) ||is_rmid_match (t, r)) { + pid =task_pid_vnr (t); +if (pid) +seq_printf (s,"%d\n" , pid); + } }rcu_read_unlock (); }
arch/x86/kernel/smpboot.c +14 -10
@@ -100,6 +100,17 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_llc_shared_map); DEFINE_PER_CPU_READ_MOSTLY(struct cpuinfo_x86, cpu_info);EXPORT_PER_CPU_SYMBOL (cpu_info); +struct mwait_cpu_dead { +unsigned int control; +unsigned int status; +}; + +/* +* Cache line aligned data for mwait_play_dead(). Separate on purpose so +* that it's unlikely to be touched by other CPUs. +*/ +static DEFINE_PER_CPU_ALIGNED(struct mwait_cpu_dead, mwait_cpu_dead); +/* Logical package management. We might want to allocate that dynamically */ unsigned int __max_logical_packages__read_mostly ;EXPORT_SYMBOL (__max_logical_packages);
@@ -1674,10 +1685,10 @@ EXPORT_SYMBOL_GPL(cond_wakeup_cpu0);*/ static inline void mwait_play_dead (void ) { +struct mwait_cpu_dead *md =this_cpu_ptr (&mwait_cpu_dead);unsigned int eax, ebx, ecx, edx;unsigned int highest_cstate =0 ;unsigned int highest_subcstate =0 ; -void *mwait_ptr;int i; if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
@@ -1712,13 +1723,6 @@ static inline void mwait_play_dead(void) (highest_subcstate -1 ); } -/* -* This should be a memory location in a cache line which is -* unlikely to be touched by other processors. The actual -* content is immaterial as it is not actually modified in any way. -*/ - mwait_ptr = ¤t_thread_info ()->flags; -wbinvd ();while (1 ) {
@@ -1730,9 +1734,9 @@ static inline void mwait_play_dead(void)* case where we return around the loop. */ mb (); -clflush (mwait_ptr); +clflush (md);mb (); -__monitor (mwait_ptr,0 ,0 ); +__monitor (md,0 ,0 );mb ();__mwait (eax,0 );
arch/x86/mm/init_64.c +2 -2
@@ -193,8 +193,8 @@ static void sync_global_pgds_l4(unsigned long start, unsigned long end)spin_lock (pgt_lock);if (!p4d_none (*p4d_ref) && !p4d_none (*p4d)) -BUG_ON (p4d_page_vaddr (*p4d) - !=p4d_page_vaddr (*p4d_ref)); +BUG_ON (p4d_pgtable (*p4d) + !=p4d_pgtable (*p4d_ref));if (p4d_none (*p4d))set_p4d (p4d, *p4d_ref);
arch/x86/mm/pat/set_memory.c +2 -2
@@ -1126,7 +1126,7 @@ static void __unmap_pmd_range(pud_t *pud, pmd_t *pmd, unsigned long start, unsigned long end) { if (unmap_pte_range(pmd, start, end)) - if (try_to_free_pmd_page((pmd_t *)pud_page_vaddr(*pud))) + if (try_to_free_pmd_page(pud_pgtable(*pud))) pud_clear(pud); }
@@ -1170,7 +1170,7 @@ static void unmap_pmd_range(pud_t *pud, unsigned long start, unsigned long end)* Try again to free the PMD page if haven't succeeded above. */ if (!pud_none (*pud)) -if (try_to_free_pmd_page ((pmd_t *)pud_page_vaddr (*pud))) +if (try_to_free_pmd_page (pud_pgtable (*pud)))pud_clear (pud); }
arch/x86/mm/pgtable.c +1 -1
@@ -805,7 +805,7 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)pte_t *pte;int i; - pmd = (pmd_t *)pud_page_vaddr (*pud); + pmd =pud_pgtable (*pud); pmd_sv = (pmd_t *)__get_free_page (GFP_KERNEL );if (!pmd_sv)return 0 ;
arch/xtensa/platforms/iss/network.c +1 -1
@@ -231,7 +231,7 @@ static int tuntap_probe(struct iss_net_private *lp, int index, char *init) init +=sizeof (TRANSPORT_TUNTAP_NAME ) -1 ;if (*init ==',' ) { - rem =split_if_spec (init +1 , &mac_str, &dev_name); + rem =split_if_spec (init +1 , &mac_str, &dev_name,NULL );if (rem !=NULL ) {pr_err ("%s: extra garbage on specification : '%s'\n" , dev->name, rem);
block/blk-iocost.c +4 -3
@@ -2426,6 +2426,7 @@ static u64 adjust_inuse_and_calc_cost(struct ioc_gq *iocg, u64 vtime,u32 hwi, adj_step;s64 margin;u64 cost, new_inuse; +unsigned long flags;current_hweight (iocg,NULL , &hwi); old_hwi = hwi;
@@ -2444,11 +2445,11 @@ static u64 adjust_inuse_and_calc_cost(struct ioc_gq *iocg, u64 vtime, iocg->inuse == iocg->active)return cost; -spin_lock_irq (&ioc->lock); +spin_lock_irqsave (&ioc->lock, flags);/* we own inuse only when @iocg is in the normal active state */ if (iocg->abs_vdebt ||list_empty (&iocg->active_list)) { -spin_unlock_irq (&ioc->lock); +spin_unlock_irqrestore (&ioc->lock, flags);return cost; }
@@ -2469,7 +2470,7 @@ static u64 adjust_inuse_and_calc_cost(struct ioc_gq *iocg, u64 vtime, }while (time_after64 (vtime + cost, now->vnow) && iocg->inuse != iocg->active); -spin_unlock_irq (&ioc->lock); +spin_unlock_irqrestore (&ioc->lock, flags);TRACE_IOCG_PATH (inuse_adjust, iocg, now, old_inuse, iocg->inuse, old_hwi, hwi);
block/partitions/amiga.c +86 -18
153 lines not on this page · raw message
drivers/acpi/button.c +9 -0
@@ -82,6 +82,15 @@ static const struct dmi_system_id dmi_lid_quirks[] = { }, .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_DISABLED, }, + { +/* Nextbook Ares 8A tablet, _LID device always reports lid closed */ + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"Insyde" ), +DMI_MATCH (DMI_PRODUCT_NAME ,"CherryTrail" ), + DMI_MATCH(DMI_BIOS_VERSION, "M882"), + }, + .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_DISABLED, + }, {/* * Medion Akoya E2215T, notification of the LID device only
drivers/acpi/video_detect.c +16 -0
@@ -332,6 +332,22 @@ static const struct dmi_system_id video_detect_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "82BK"), }, }, + { + .callback = video_detect_force_native, +/* Lenovo ThinkPad X131e (3371 AMD version) */ + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"LENOVO" ), + DMI_MATCH(DMI_PRODUCT_NAME, "3371"), + }, + }, + { + .callback = video_detect_force_native, +/* Apple iMac11,3 */ + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"Apple Inc." ), + DMI_MATCH(DMI_PRODUCT_NAME, "iMac11,3"), + }, + }, {/* https://bugzilla.redhat.com/show_bug.cgi?id=1217249 */ .callback = video_detect_force_native,
drivers/base/power/domain.c +3 -3
@@ -2763,10 +2763,10 @@ static int genpd_parse_state(struct genpd_power_state *genpd_state, err =of_property_read_u32 (state_node,"min-residency-us" , &residency);if (!err) - genpd_state->residency_ns =1000 * residency; + genpd_state->residency_ns =1000LL * residency; - genpd_state->power_on_latency_ns =1000 * exit_latency; - genpd_state->power_off_latency_ns =1000 * entry_latency; + genpd_state->power_on_latency_ns =1000LL * exit_latency; + genpd_state->power_off_latency_ns =1000LL * entry_latency; genpd_state->fwnode = &state_node->fwnode;return 0 ;
drivers/base/regmap/regmap-i2c.c +4 -4
@@ -242,8 +242,8 @@ static int regmap_i2c_smbus_i2c_read(void *context, const void *reg,static const struct regmap_bus regmap_i2c_smbus_i2c_block = { .write = regmap_i2c_smbus_i2c_write, .read = regmap_i2c_smbus_i2c_read, - .max_raw_read =I2C_SMBUS_BLOCK_MAX , - .max_raw_write =I2C_SMBUS_BLOCK_MAX , + .max_raw_read =I2C_SMBUS_BLOCK_MAX -1 , + .max_raw_write =I2C_SMBUS_BLOCK_MAX -1 , }; static int regmap_i2c_smbus_i2c_write_reg16(void *context, const void *data,
@@ -299,8 +299,8 @@ static int regmap_i2c_smbus_i2c_read_reg16(void *context, const void *reg,static const struct regmap_bus regmap_i2c_smbus_i2c_block_reg16 = { .write = regmap_i2c_smbus_i2c_write_reg16, .read = regmap_i2c_smbus_i2c_read_reg16, - .max_raw_read =I2C_SMBUS_BLOCK_MAX , - .max_raw_write =I2C_SMBUS_BLOCK_MAX , + .max_raw_read =I2C_SMBUS_BLOCK_MAX -2 , + .max_raw_write =I2C_SMBUS_BLOCK_MAX -2 , }; static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
drivers/base/regmap/regmap-spi-avmm.c +1 -1
@@ -666,7 +666,7 @@ static const struct regmap_bus regmap_spi_avmm_bus = { .reg_format_endian_default = REGMAP_ENDIAN_NATIVE, .val_format_endian_default = REGMAP_ENDIAN_NATIVE, .max_raw_read = SPI_AVMM_VAL_SIZE * MAX_READ_CNT, - .max_raw_write = SPI_AVMM_REG_SIZE + SPI_AVMM_VAL_SIZE * MAX_WRITE_CNT, + .max_raw_write = SPI_AVMM_VAL_SIZE * MAX_WRITE_CNT, .free_context = spi_avmm_bridge_ctx_free, };
drivers/base/regmap/regmap.c +2 -4
@@ -1998,8 +1998,6 @@ int _regmap_raw_write(struct regmap *map, unsigned int reg,size_t val_count = val_len / val_bytes;size_t chunk_count, chunk_bytes;size_t chunk_regs = val_count; -size_t max_data = map->max_raw_write - map->format.reg_bytes - - map->format.pad_bytes;int ret, i;if (!val_count)
@@ -2007,8 +2005,8 @@ int _regmap_raw_write(struct regmap *map, unsigned int reg,if (map->use_single_write) chunk_regs =1 ; -else if (map->max_raw_write && val_len > max_data) - chunk_regs = max_data / val_bytes; +else if (map->max_raw_write && val_len > map->max_raw_write) + chunk_regs = map->max_raw_write / val_bytes; chunk_count = val_count / chunk_regs; chunk_bytes = chunk_regs * val_bytes;
drivers/block/nbd.c +2 -1
@@ -1723,7 +1723,8 @@ static int nbd_dev_add(int index)if (err == -ENOSPC ) err = -EEXIST ; }else { - err =idr_alloc (&nbd_index_idr, nbd,0 ,0 ,GFP_KERNEL ); + err =idr_alloc (&nbd_index_idr, nbd,0 , + (MINORMASK >> part_shift) +1 ,GFP_KERNEL );if (err >=0 ) index = err; }
drivers/bus/ti-sysc.c +2 -2
@@ -1748,7 +1748,7 @@ static u32 sysc_quirk_dispc(struct sysc *ddata, int dispc_offset,if (!ddata->module_va)return -EIO ; -/* DISP_CONTROL */ +/* DISP_CONTROL, shut down lcd and digit on disable if enabled */ val =sysc_read (ddata, dispc_offset +0x40 ); lcd_en = val & lcd_en_mask; digit_en = val & digit_en_mask;
@@ -1760,7 +1760,7 @@ static u32 sysc_quirk_dispc(struct sysc *ddata, int dispc_offset,else irq_mask |=BIT (2 ) |BIT (3 );/* EVSYNC bits */ } -if (disable & (lcd_en | digit_en)) +if (disable && (lcd_en || digit_en))sysc_write (ddata, dispc_offset +0x40 , val & ~(lcd_en_mask | digit_en_mask));
drivers/char/hw_random/imx-rngc.c +2 -4
@@ -110,7 +110,7 @@ static int imx_rngc_self_test(struct imx_rngc *rngc) cmd =readl (rngc->base +RNGC_COMMAND );writel (cmd |RNGC_CMD_SELF_TEST , rngc->base +RNGC_COMMAND ); - ret =wait_for_completion_timeout (&rngc->rng_op_done,RNGC_TIMEOUT ); + ret =wait_for_completion_timeout (&rngc->rng_op_done,msecs_to_jiffies (RNGC_TIMEOUT ));imx_rngc_irq_mask_clear (rngc);if (!ret)return -ETIMEDOUT ;
@@ -187,9 +187,7 @@ static int imx_rngc_init(struct hwrng *rng) cmd =readl (rngc->base +RNGC_COMMAND );writel (cmd |RNGC_CMD_SEED , rngc->base +RNGC_COMMAND ); - ret =wait_for_completion_timeout (&rngc->rng_op_done, -RNGC_TIMEOUT ); - + ret =wait_for_completion_timeout (&rngc->rng_op_done,msecs_to_jiffies (RNGC_TIMEOUT ));if (!ret) { ret = -ETIMEDOUT ; goto err;
drivers/char/hw_random/st-rng.c +1 -20
@@ -42,7 +42,6 @@struct st_rng_data {void __iomem *base; -struct clk *clk;struct hwrng ops; };
@@ -85,26 +84,18 @@ static int st_rng_probe(struct platform_device *pdev)if (IS_ERR (base))return PTR_ERR (base); - clk =devm_clk_get (&pdev->dev,NULL ); + clk =devm_clk_get_enabled (&pdev->dev,NULL );if (IS_ERR (clk))return PTR_ERR (clk); - ret =clk_prepare_enable (clk); -if (ret) -return ret; - ddata->ops.priv = (unsigned long )ddata; ddata->ops.read = st_rng_read; ddata->ops.name = pdev->name; ddata->base = base; - ddata->clk = clk; - -dev_set_drvdata (&pdev->dev, ddata); ret =devm_hwrng_register (&pdev->dev, &ddata->ops);if (ret) {dev_err (&pdev->dev,"Failed to register HW RNG\n" ); -clk_disable_unprepare (clk);return ret; }
@@ -113,15 +104,6 @@ static int st_rng_probe(struct platform_device *pdev)return 0 ; } -static int st_rng_remove (struct platform_device *pdev) -{ -struct st_rng_data *ddata =dev_get_drvdata (&pdev->dev); - -clk_disable_unprepare (ddata->clk); - -return 0 ; -} -static const struct of_device_id st_rng_match[]__maybe_unused = { { .compatible ="st,rng" }, {},
@@ -134,7 +116,6 @@ static struct platform_driver st_rng_driver = { .of_match_table = of_match_ptr(st_rng_match), }, .probe = st_rng_probe, - .remove = st_rng_remove };module_platform_driver (st_rng_driver);
drivers/char/hw_random/virtio-rng.c +66 -22
158 lines not on this page · raw message
drivers/char/tpm/tpm_tis_core.c +2 -0
@@ -731,7 +731,9 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)wake_up_interruptible (&priv->int_queue);/* Clear interrupts handled with TPM_EOI */ +tpm_tis_request_locality (chip,0 ); rc =tpm_tis_write32 (priv,TPM_INT_STATUS (priv->locality), interrupt); +tpm_tis_relinquish_locality (chip,0 );if (rc <0 )return IRQ_NONE ;
drivers/char/tpm/tpm_vtpm_proxy.c +7 -23
@@ -683,37 +683,21 @@ static struct miscdevice vtpmx_miscdev = { .fops = &vtpmx_fops, }; -static int vtpmx_init (void ) -{ -return misc_register (&vtpmx_miscdev); -} - -static void vtpmx_cleanup (void ) -{ -misc_deregister (&vtpmx_miscdev); -} -static int __init vtpm_module_init (void ) {int rc; - rc =vtpmx_init (); -if (rc) { -pr_err ("couldn't create vtpmx device\n" ); -return rc; - } - workqueue =create_workqueue ("tpm-vtpm" );if (!workqueue) {pr_err ("couldn't create workqueue\n" ); - rc = -ENOMEM ; - goto err_vtpmx_cleanup; +return -ENOMEM ; } -return 0 ; - -err_vtpmx_cleanup: -vtpmx_cleanup (); + rc =misc_register (&vtpmx_miscdev); +if (rc) { +pr_err ("couldn't create vtpmx device\n" ); +destroy_workqueue (workqueue); + }return rc; }
@@ -721,7 +705,7 @@ static int __init vtpm_module_init(void) static void __exit vtpm_module_exit(void) {destroy_workqueue (workqueue); -vtpmx_cleanup (); +misc_deregister (&vtpmx_miscdev); }module_init (vtpm_module_init);
drivers/clk/clk-cdce925.c +12 -0
@@ -705,6 +705,10 @@ static int cdce925_probe(struct i2c_client *client,for (i =0 ; i < data->chip_info->num_plls; ++i) { pll_clk_name[i] =kasprintf (GFP_KERNEL ,"%pOFn.pll%d" , client->dev.of_node, i); +if (!pll_clk_name[i]) { + err = -ENOMEM ; + goto error; + } init.name = pll_clk_name[i]; data->pll[i].chip = data; data->pll[i].hw.init = &init;
@@ -746,6 +750,10 @@ static int cdce925_probe(struct i2c_client *client, init.num_parents =1 ; init.parent_names = &parent_name;/* Mux Y1 to input */ init.name =kasprintf (GFP_KERNEL ,"%pOFn.Y1" , client->dev.of_node); +if (!init.name) { + err = -ENOMEM ; + goto error; + } data->clk[0 ].chip = data; data->clk[0 ].hw.init = &init; data->clk[0 ].index =0 ;
@@ -764,6 +772,10 @@ static int cdce925_probe(struct i2c_client *client,for (i =1 ; i < data->chip_info->num_outputs; ++i) { init.name =kasprintf (GFP_KERNEL ,"%pOFn.Y%d" , client->dev.of_node, i+1 ); +if (!init.name) { + err = -ENOMEM ; + goto error; + } data->clk[i].chip = data; data->clk[i].hw.init = &init; data->clk[i].index = i;
drivers/clk/clk-si5341.c +215 -27
445 lines not on this page · raw message
drivers/clk/clk-versaclock5.c +29 -0
@@ -906,6 +906,11 @@ static int vc5_probe(struct i2c_client *client, const struct i2c_device_id *id) } init.name =kasprintf (GFP_KERNEL ,"%pOFn.mux" , client->dev.of_node); +if (!init.name) { + ret = -ENOMEM ; + goto err_clk; + } + init.ops = &vc5_mux_ops; init.flags =0 ; init.parent_names = parent_names;
@@ -920,6 +925,10 @@ static int vc5_probe(struct i2c_client *client, const struct i2c_device_id *id)memset (&init,0 ,sizeof (init)); init.name =kasprintf (GFP_KERNEL ,"%pOFn.dbl" , client->dev.of_node); +if (!init.name) { + ret = -ENOMEM ; + goto err_clk; + } init.ops = &vc5_dbl_ops; init.flags =CLK_SET_RATE_PARENT ; init.parent_names = parent_names;
@@ -935,6 +944,10 @@ static int vc5_probe(struct i2c_client *client, const struct i2c_device_id *id)/* Register PFD */ memset (&init,0 ,sizeof (init)); init.name =kasprintf (GFP_KERNEL ,"%pOFn.pfd" , client->dev.of_node); +if (!init.name) { + ret = -ENOMEM ; + goto err_clk; + } init.ops = &vc5_pfd_ops; init.flags =CLK_SET_RATE_PARENT ; init.parent_names = parent_names;
@@ -952,6 +965,10 @@ static int vc5_probe(struct i2c_client *client, const struct i2c_device_id *id)/* Register PLL */ memset (&init,0 ,sizeof (init)); init.name =kasprintf (GFP_KERNEL ,"%pOFn.pll" , client->dev.of_node); +if (!init.name) { + ret = -ENOMEM ; + goto err_clk; + } init.ops = &vc5_pll_ops; init.flags =CLK_SET_RATE_PARENT ; init.parent_names = parent_names;
@@ -971,6 +988,10 @@ static int vc5_probe(struct i2c_client *client, const struct i2c_device_id *id)memset (&init,0 ,sizeof (init)); init.name =kasprintf (GFP_KERNEL ,"%pOFn.fod%d" , client->dev.of_node, idx); +if (!init.name) { + ret = -ENOMEM ; + goto err_clk; + } init.ops = &vc5_fod_ops; init.flags =CLK_SET_RATE_PARENT ; init.parent_names = parent_names;
@@ -989,6 +1010,10 @@ static int vc5_probe(struct i2c_client *client, const struct i2c_device_id *id)memset (&init,0 ,sizeof (init)); init.name =kasprintf (GFP_KERNEL ,"%pOFn.out0_sel_i2cb" , client->dev.of_node); +if (!init.name) { + ret = -ENOMEM ; + goto err_clk; + } init.ops = &vc5_clk_out_ops; init.flags =CLK_SET_RATE_PARENT ; init.parent_names = parent_names;
@@ -1015,6 +1040,10 @@ static int vc5_probe(struct i2c_client *client, const struct i2c_device_id *id)memset (&init,0 ,sizeof (init)); init.name =kasprintf (GFP_KERNEL ,"%pOFn.out%d" , client->dev.of_node, idx +1 ); +if (!init.name) { + ret = -ENOMEM ; + goto err_clk; + } init.ops = &vc5_clk_out_ops; init.flags =CLK_SET_RATE_PARENT ; init.parent_names = parent_names;
drivers/clk/imx/clk-imx8mn.c +4 -4
@@ -291,7 +291,7 @@ static int imx8mn_clocks_probe(struct platform_device *pdev)void __iomem *base;int ret; - clk_hw_data =kzalloc (struct_size (clk_hw_data, hws, + clk_hw_data =devm_kzalloc (dev,struct_size (clk_hw_data, hws,IMX8MN_CLK_END ),GFP_KERNEL );if (WARN_ON (!clk_hw_data))return -ENOMEM ;
@@ -308,10 +308,10 @@ static int imx8mn_clocks_probe(struct platform_device *pdev) hws[IMX8MN_CLK_EXT4 ] =imx_obtain_fixed_clk_hw (np,"clk_ext4" ); np =of_find_compatible_node (NULL ,NULL ,"fsl,imx8mn-anatop" ); - base =of_iomap (np,0 ); + base =devm_of_iomap (dev, np,0 ,NULL );of_node_put (np); -if (WARN_ON (!base)) { - ret = -ENOMEM ; +if (WARN_ON (IS_ERR (base))) { + ret =PTR_ERR (base); goto unregister_hws; }
drivers/clk/imx/clk-imx8mp.c +13 -11
@@ -425,25 +425,22 @@ static int imx8mp_clocks_probe(struct platform_device *pdev)struct device *dev = &pdev->dev;struct device_node *np = dev->of_node;void __iomem *anatop_base, *ccm_base; +int err; np =of_find_compatible_node (NULL ,NULL ,"fsl,imx8mp-anatop" ); - anatop_base =of_iomap (np,0 ); + anatop_base =devm_of_iomap (dev, np,0 ,NULL );of_node_put (np); -if (WARN_ON (!anatop_base)) -return -ENOMEM ; +if (WARN_ON (IS_ERR (anatop_base))) +return PTR_ERR (anatop_base); np = dev->of_node; ccm_base =devm_platform_ioremap_resource (pdev,0 ); -if (WARN_ON (IS_ERR (ccm_base))) { -iounmap (anatop_base); +if (WARN_ON (IS_ERR (ccm_base)))return PTR_ERR (ccm_base); - } - clk_hw_data =kzalloc (struct_size (clk_hw_data, hws,IMX8MP_CLK_END ),GFP_KERNEL ); -if (WARN_ON (!clk_hw_data)) { -iounmap (anatop_base); + clk_hw_data =devm_kzalloc (dev,struct_size (clk_hw_data, hws,IMX8MP_CLK_END ),GFP_KERNEL ); +if (WARN_ON (!clk_hw_data))return -ENOMEM ; - } clk_hw_data->num =IMX8MP_CLK_END ; hws = clk_hw_data->hws;
@@ -743,7 +740,12 @@ static int imx8mp_clocks_probe(struct platform_device *pdev)imx_check_clk_hws (hws,IMX8MP_CLK_END ); -of_clk_add_hw_provider (np, of_clk_hw_onecell_get, clk_hw_data); + err =of_clk_add_hw_provider (np, of_clk_hw_onecell_get, clk_hw_data); +if (err <0 ) { +dev_err (dev,"failed to register hws for i.MX8MP\n" ); +imx_unregister_hw_clocks (hws,IMX8MP_CLK_END ); +return err; + }imx_register_uart_clocks (4 );
drivers/clk/keystone/sci-clk.c +2 -0
@@ -302,6 +302,8 @@ static int _sci_clk_build(struct sci_clk_provider *provider, name =kasprintf (GFP_KERNEL ,"clk:%d:%d" , sci_clk->dev_id, sci_clk->clk_id); +if (!name) +return -ENOMEM ; init.name = name;
drivers/clk/qcom/gcc-ipq6018.c +17 -17
@@ -1654,7 +1654,7 @@ static struct clk_rcg2 sdcc1_apps_clk_src = { .name = "sdcc1_apps_clk_src", .parent_data = gcc_xo_gpll0_gpll2_gpll0_out_main_div2, .num_parents = 4, - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, };
@@ -4517,24 +4517,24 @@ static const struct qcom_reset_map gcc_ipq6018_resets[] = { [GCC_PCIE0_AHB_ARES] = { 0x75040, 5 }, [GCC_PCIE0_AXI_MASTER_STICKY_ARES] = { 0x75040, 6 }, [GCC_PCIE0_AXI_SLAVE_STICKY_ARES] = { 0x75040, 7 }, - [GCC_PPE_FULL_RESET] = { 0x68014, 0 }, - [GCC_UNIPHY0_SOFT_RESET] = { 0x56004, 0 }, + [GCC_PPE_FULL_RESET] = { .reg = 0x68014, .bitmask = 0xf0000 }, + [GCC_UNIPHY0_SOFT_RESET] = { .reg = 0x56004, .bitmask = 0x3ff2 }, [GCC_UNIPHY0_XPCS_RESET] = { 0x56004, 2 }, - [GCC_UNIPHY1_SOFT_RESET] = { 0x56104, 0 }, + [GCC_UNIPHY1_SOFT_RESET] = { .reg = 0x56104, .bitmask = 0x32 }, [GCC_UNIPHY1_XPCS_RESET] = { 0x56104, 2 }, - [GCC_EDMA_HW_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT1_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT2_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT3_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT4_RESET] = { 0x68014, 0 }, - [GCC_NSSPORT5_RESET] = { 0x68014, 0 }, - [GCC_UNIPHY0_PORT1_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT2_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT3_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT4_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT5_ARES] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT_4_5_RESET] = { 0x56004, 0 }, - [GCC_UNIPHY0_PORT_4_RESET] = { 0x56004, 0 }, + [GCC_EDMA_HW_RESET] = { .reg = 0x68014, .bitmask = 0x300000 }, + [GCC_NSSPORT1_RESET] = { .reg = 0x68014, .bitmask = 0x1000003 }, + [GCC_NSSPORT2_RESET] = { .reg = 0x68014, .bitmask = 0x200000c }, + [GCC_NSSPORT3_RESET] = { .reg = 0x68014, .bitmask = 0x4000030 }, + [GCC_NSSPORT4_RESET] = { .reg = 0x68014, .bitmask = 0x8000300 }, + [GCC_NSSPORT5_RESET] = { .reg = 0x68014, .bitmask = 0x10000c00 }, + [GCC_UNIPHY0_PORT1_ARES] = { .reg = 0x56004, .bitmask = 0x30 }, + [GCC_UNIPHY0_PORT2_ARES] = { .reg = 0x56004, .bitmask = 0xc0 }, + [GCC_UNIPHY0_PORT3_ARES] = { .reg = 0x56004, .bitmask = 0x300 }, + [GCC_UNIPHY0_PORT4_ARES] = { .reg = 0x56004, .bitmask = 0xc00 }, + [GCC_UNIPHY0_PORT5_ARES] = { .reg = 0x56004, .bitmask = 0x3000 }, + [GCC_UNIPHY0_PORT_4_5_RESET] = { .reg = 0x56004, .bitmask = 0x3c02 }, + [GCC_UNIPHY0_PORT_4_RESET] = { .reg = 0x56004, .bitmask = 0xc02 }, [GCC_LPASS_BCR] = {0x1F000, 0}, [GCC_UBI32_TBU_BCR] = {0x65000, 0}, [GCC_LPASS_TBU_BCR] = {0x6C000, 0},
drivers/clk/qcom/reset.c +5 -3
@@ -13,8 +13,10 @@static int qcom_reset (struct reset_controller_dev *rcdev,unsigned long id) { +struct qcom_reset_controller *rst =to_qcom_reset_controller (rcdev); + rcdev->ops->assert (rcdev, id); -udelay (1 ); +udelay (rst->reset_map[id].udelay ?:1 );/* use 1 us as default */ rcdev->ops->deassert (rcdev, id);return 0 ; }
@@ -28,7 +30,7 @@ qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id) rst =to_qcom_reset_controller (rcdev); map = &rst->reset_map[id]; - mask =BIT (map->bit); + mask = map->bitmask ? map->bitmask :BIT (map->bit);return regmap_update_bits (rst->regmap, map->reg, mask, mask); }
@@ -42,7 +44,7 @@ qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id) rst =to_qcom_reset_controller (rcdev); map = &rst->reset_map[id]; - mask =BIT (map->bit); + mask = map->bitmask ? map->bitmask :BIT (map->bit);return regmap_update_bits (rst->regmap, map->reg, mask,0 ); }
drivers/clk/qcom/reset.h +2 -0
@@ -11,6 +11,8 @@struct qcom_reset_map {unsigned int reg;u8 bit; +u8 udelay; +u32 bitmask; };struct regmap ;
drivers/clk/tegra/clk-tegra124-emc.c +2 -0
@@ -455,6 +455,7 @@ static int load_timings_from_dt(struct tegra_clk_emc *tegra, err =load_one_timing_from_dt (tegra, timing, child);if (err) {of_node_put (child); +kfree (tegra->timings);return err; }
@@ -506,6 +507,7 @@ struct clk *tegra_clk_register_emc(void __iomem *base, struct device_node *np, err =load_timings_from_dt (tegra, node, node_ram_code);if (err) {of_node_put (node); +kfree (tegra);return ERR_PTR (err); } }
drivers/clk/ti/clkctrl.c +7 -0
@@ -267,6 +267,9 @@ static const char * __init clkctrl_get_clock_name(struct device_node *np,if (clkctrl_name && !legacy_naming) { clock_name =kasprintf (GFP_KERNEL ,"%s-clkctrl:%04x:%d" , clkctrl_name, offset, index); +if (!clock_name) +return NULL ; +strreplace (clock_name,'_' ,'-' );return clock_name;
@@ -598,6 +601,10 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node)if (clkctrl_name) { provider->clkdm_name =kasprintf (GFP_KERNEL ,"%s_clkdm" , clkctrl_name); +if (!provider->clkdm_name) { +kfree (provider); +return ; + } goto clkdm_found; }
drivers/clocksource/timer-cadence-ttc.c +13 -6
@@ -486,10 +486,10 @@ static int __init ttc_timer_probe(struct platform_device *pdev)* and use it. Note that the event timer uses the interrupt and it's the * 2nd TTC hence the irq_of_parse_and_map(,1) */ - timer_baseaddr =of_iomap (timer,0 ); -if (!timer_baseaddr) { + timer_baseaddr =devm_of_iomap (&pdev->dev, timer,0 ,NULL ); +if (IS_ERR (timer_baseaddr)) {pr_err ("ERROR: invalid timer base address\n" ); -return -ENXIO ; +return PTR_ERR (timer_baseaddr); } irq =irq_of_parse_and_map (timer,1 );
@@ -513,20 +513,27 @@ static int __init ttc_timer_probe(struct platform_device *pdev) clk_ce =of_clk_get (timer, clksel);if (IS_ERR (clk_ce)) {pr_err ("ERROR: timer input clock not found\n" ); -return PTR_ERR (clk_ce); + ret =PTR_ERR (clk_ce); + goto put_clk_cs; } ret =ttc_setup_clocksource (clk_cs, timer_baseaddr, timer_width);if (ret) -return ret; + goto put_clk_ce; ret =ttc_setup_clockevent (clk_ce, timer_baseaddr +4 , irq);if (ret) -return ret; + goto put_clk_ce;pr_info ("%pOFn #0 at %p, irq=%d\n" , timer, timer_baseaddr, irq);return 0 ; + +put_clk_ce: +clk_put (clk_ce); +put_clk_cs: +clk_put (clk_cs); +return ret; }static const struct of_device_id ttc_timer_of_match[] = {
drivers/cpufreq/intel_pstate.c +2 -0
@@ -777,6 +777,8 @@ static ssize_t store_energy_performance_preference( err =cpufreq_start_governor (policy);if (!ret) ret = err; + }else { + ret =0 ; } }
drivers/crypto/marvell/cesa/cipher.c +1 -1
@@ -287,7 +287,7 @@ static int mv_cesa_des_setkey(struct crypto_skcipher *cipher, const u8 *key,static int mv_cesa_des3_ede_setkey (struct crypto_skcipher *cipher,const u8 *key,unsigned int len) { -struct mv_cesa_des_ctx *ctx =crypto_skcipher_ctx (cipher); +struct mv_cesa_des3_ctx *ctx =crypto_skcipher_ctx (cipher);int err; err =verify_skcipher_des3_key (cipher, key);
drivers/crypto/nx/Makefile +1 -1
@@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_NX_ENCRYPT) += nx-crypto.o nx-crypto-objs := nx.o \ - nx_debugfs.o \ nx-aes-cbc.o \ nx-aes-ecb.o \ nx-aes-gcm.o \
@@ -11,6 +10,7 @@ nx-crypto-objs := nx.o \ nx-sha256.o \ nx-sha512.o +nx-crypto-$(CONFIG_DEBUG_FS) += nx_debugfs.o obj-$(CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES) += nx-compress-pseries.o nx-compress.o obj-$(CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV) += nx-compress-powernv.o nx-compress.o nx-compress-objs := nx-842.o
drivers/crypto/nx/nx.h +2 -2
@@ -170,8 +170,8 @@ struct nx_sg *nx_walk_and_build(struct nx_sg *, unsigned int,void nx_debugfs_init (struct nx_crypto_driver *);void nx_debugfs_fini (struct nx_crypto_driver *);#else -#define NX_DEBUGFS_INIT (drv) (0) -#define NX_DEBUGFS_FINI (drv) (0) +#define NX_DEBUGFS_INIT (drv) do {} while (0) +#define NX_DEBUGFS_FINI (drv) do {} while (0)#endif #define NX_PAGE_NUM (x) ((u64)(x) & 0xfffffffffffff000ULL)
drivers/dax/bus.c +38 -23
136 lines not on this page · raw message
drivers/dax/dax-private.h +3 -1
@@ -52,7 +52,8 @@ struct dax_mapping {* @region - parent region * @dax_dev - core dax functionality * @target_node: effective numa node if dev_dax memory range is onlined -* @id: ida allocated id +* @dyn_id: is this a dynamic or statically created instance +* @id: ida allocated id when the dax_region is not static * @ida: mapping id allocator * @dev - device core * @pgmap - pgmap for memmap setup / lifetime (driver owned)
@@ -64,6 +65,7 @@ struct dev_dax {struct dax_device *dax_dev;unsigned int align;int target_node; +bool dyn_id;int id;struct ida ida;struct device dev;
drivers/extcon/extcon.c +8 -0
@@ -196,6 +196,14 @@ static const struct __extcon_info {* @attr_name: "name" sysfs entry * @attr_state: "state" sysfs entry * @attrs: the array pointing to attr_name and attr_state for attr_g +* @usb_propval: the array of USB connector properties +* @chg_propval: the array of charger connector properties +* @jack_propval: the array of jack connector properties +* @disp_propval: the array of display connector properties +* @usb_bits: the bit array of the USB connector property capabilities +* @chg_bits: the bit array of the charger connector property capabilities +* @jack_bits: the bit array of the jack connector property capabilities +* @disp_bits: the bit array of the display connector property capabilities */ struct extcon_cable {struct extcon_dev *edev;
drivers/firmware/stratix10-svc.c +1 -1
@@ -622,7 +622,7 @@ svc_create_memory_pool(struct platform_device *pdev, end =rounddown (sh_memory->addr + sh_memory->size,PAGE_SIZE ); paddr = begin; size = end - begin; - va =memremap (paddr, size,MEMREMAP_WC ); + va =devm_memremap (dev, paddr, size,MEMREMAP_WC );if (!va) {dev_err (dev,"fail to remap shared memory\n" );return ERR_PTR (-EINVAL );
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +12 -8
@@ -2229,14 +2229,14 @@ int amdgpu_vm_bo_map(struct amdgpu_device *adev,uint64_t eaddr;/* validate the parameters */ -if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || - size ==0 || size & ~PAGE_MASK ) +if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || size & ~PAGE_MASK ) +return -EINVAL ; +if (saddr + size <= saddr || offset + size <= offset)return -EINVAL ;/* make sure object fit at this offset */ eaddr = saddr + size -1 ; -if (saddr >= eaddr || - (bo && offset + size >amdgpu_bo_size (bo)) || +if ((bo && offset + size >amdgpu_bo_size (bo)) || (eaddr >= adev->vm_manager.max_pfn <<AMDGPU_GPU_PAGE_SHIFT ))return -EINVAL ;
@@ -2295,14 +2295,14 @@ int amdgpu_vm_bo_replace_map(struct amdgpu_device *adev,int r;/* validate the parameters */ -if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || - size ==0 || size & ~PAGE_MASK ) +if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK || size & ~PAGE_MASK ) +return -EINVAL ; +if (saddr + size <= saddr || offset + size <= offset)return -EINVAL ;/* make sure object fit at this offset */ eaddr = saddr + size -1 ;
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c +7 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc.c +0 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dmub/dmub_srv.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/tc358768.c +73 -20
93 lines not on this page · raw message
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c +6 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/hwmon/pmbus/adm1275.c +66 -30
96 lines not on this page · raw message
drivers/hwtracing/coresight/coresight-core.c +2 -7
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/qplib_fp.c +23 -17
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/qplib_fp.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +34 -12
46 lines not on this page · raw message
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hfi1/mmu_rb.c +63 -38
101 lines not on this page · raw message
drivers/infiniband/hw/hfi1/sdma.h +39 -23
62 lines not on this page · raw message
drivers/infiniband/hw/hfi1/sdma_txreq.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hfi1/user_sdma.c +58 -87
145 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_cmd.c +13 -14
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_cmd.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_cq.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_device.h +0 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hem.c +26 -105
131 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_hem.h +4 -11
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hw_v1.c +80 -13
93 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_hw_v1.h +6 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +3 -6
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hw_v2.h +3 -3
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_main.c +3 -5
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_mr.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_qp.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_srq.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/md/raid0.c +54 -8
62 lines not on this page · raw message
drivers/media/platform/qcom/venus/helpers.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amazon/ena/ena_com.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/genet/bcmmii.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/google/gve/gve_ethtool.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/iavf/iavf_ethtool.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/iavf/iavf_main.c +1 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/igb/igb_main.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/igc/igc_ethtool.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/igc/igc_main.c +35 -10
45 lines not on this page · raw message
drivers/net/ethernet/intel/igc/igc_ptp.c +31 -26
57 lines not on this page · raw message
drivers/net/ethernet/marvell/octeontx2/af/rvu.h +11 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan743x_main.c +17 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/pensando/ionic/ionic_lif.c +0 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +0 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/xilinx/xilinx_axienet_main.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/ar9003_hw.c +18 -9
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_hst.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/ops.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/sta.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intersil/orinoco/orinoco_cs.c +11 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intersil/orinoco/spectrum_cs.c +11 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/scan.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/microchip/wilc1000/hif.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/rsi/rsi_91x_sdio.c +2 -7
Lines of this file are not shown. View the raw message.
drivers/pci/controller/cadence/pcie-cadence-host.c +27 -0
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-rockchip-ep.c +24 -41
65 lines not on this page · raw message
drivers/pci/controller/pcie-rockchip.c +17 -0
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-rockchip.h +10 -1
Lines of this file are not shown. View the raw message.
drivers/pinctrl/intel/pinctrl-cherryview.c +10 -5
Lines of this file are not shown. View the raw message.
drivers/pinctrl/pinctrl-amd.c +26 -15
41 lines not on this page · raw message
drivers/platform/x86/wmi.c +32 -32
64 lines not on this page · raw message
drivers/soc/amlogic/meson-secure-pwrc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/atomisp_cmd.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/atomisp_ioctl.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/thermal/sun8i_thermal.c +18 -37
55 lines not on this page · raw message
drivers/usb/gadget/function/u_serial.c +11 -2
Lines of this file are not shown. View the raw message.
fs/inode.c +42 -0
42 lines not on this page · raw message
include/net/netfilter/nf_tables.h +39 -2
41 lines not on this page · raw message
include/uapi/linux/affs_hardblocks.h +34 -34
68 lines not on this page · raw message
io_uring/io_uring.c +55 -11
66 lines not on this page · raw message
kernel/bpf/cgroup.c +46 -0
46 lines not on this page · raw message
kernel/rcu/rcuscale.c +109 -105
214 lines not on this page · raw message
kernel/time/posix-timers.c +53 -21
74 lines not on this page · raw message
kernel/trace/ftrace.c +44 -28
72 lines not on this page · raw message
net/core/rtnetlink.c +55 -49
104 lines not on this page · raw message
net/ipv4/tcp.c +43 -25
68 lines not on this page · raw message
net/netfilter/nf_conntrack_proto_dccp.c +49 -3
52 lines not on this page · raw message
net/netfilter/nf_tables_api.c +478 -203
681 lines not on this page · raw message
net/netfilter/nft_immediate.c +81 -9
90 lines not on this page · raw message
net/nfc/llcp_commands.c +35 -24
59 lines not on this page · raw message
net/nfc/llcp_core.c +66 -27
93 lines not on this page · raw message
net/sched/sch_qfq.c +25 -16
41 lines not on this page · raw message
net/wireless/scan.c +124 -89
213 lines not on this page · raw message
security/keys/trusted-keys/trusted_tpm2.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c +7 -6
Lines of this file are not shown. View the raw message.
tools/include/uapi/linux/tcp.h new file +357 -0
357 lines not on this page · raw message
tools/perf/tests/shell/test_uprobe_from_different_cu.sh new file +77 -0
77 lines not on this page · raw message
tools/testing/selftests/bpf/prog_tests/bpf_tcp_ca.c +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/cls_redirect.c +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/sockmap_basic.c +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/sockopt_sk.c +28 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/sockopt_sk.c +21 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_progs.h +0 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_verifier.c +11 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/verifier/spill_fill.c +30 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/rtnetlink.sh +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/tc-testing/config +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/tc-testing/settings new file +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/wireguard/netns.sh +26 -4
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.