Linux 5.10.271
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.271 kernel.
All users of the 5.10 kernel series must upgrade.
The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/ABI/testing/sysfs-devices-platform-trackpoint | 2 Documentation/driver-api/serial/tty.rst | 2 Documentation/networking/ip-sysctl.rst | 2 Documentation/s390/pci.rst | 144 +- Documentation/s390/vfio-ccw.rst | 2 Makefile | 2 arch/arm/mach-socfpga/Kconfig | 2 arch/arm/mm/alignment.c | 4 arch/arm/mm/fault.c | 82 + arch/arm64/include/asm/daifflags.h | 10 arch/arm64/include/asm/fixmap.h | 6 arch/arm64/include/asm/kprobes.h | 6 arch/arm64/include/asm/percpu.h | 16 arch/arm64/kernel/probes/kprobes.c | 23 arch/mips/cavium-octeon/octeon-platform.c | 4 arch/mips/kernel/cps-vec.S | 6 arch/powerpc/kernel/eeh_driver.c | 2 arch/powerpc/kernel/iommu.c | 2 arch/powerpc/kexec/file_load_64.c | 2 arch/powerpc/kvm/book3s_hv.c | 4 arch/powerpc/kvm/book3s_hv_uvmem.c | 5 arch/powerpc/platforms/pseries/kexec.c | 13 arch/s390/crypto/aes_s390.c | 16 arch/s390/pci/pci_sysfs.c | 9 arch/sparc/Kconfig | 1 arch/sparc/kernel/uprobes.c | 1 arch/x86/pci/fixup.c | 99 + block/blk-cgroup.c | 4 crypto/Makefile | 5 drivers/acpi/acpica/dsmethod.c | 43 drivers/acpi/acpica/evhandler.c | 11 drivers/acpi/acpica/exoparg3.c | 2 drivers/acpi/acpica/nsnames.c | 6 drivers/acpi/acpica/nsprepkg.c | 7 drivers/acpi/acpica/nsxfname.c | 4 drivers/acpi/acpica/psargs.c | 134 ++ drivers/acpi/acpica/psloop.c | 30 drivers/acpi/acpica/psparse.c | 14 drivers/acpi/acpica/utcopy.c | 10 drivers/acpi/acpica/utresrc.c | 30 drivers/ata/ahci.c | 22 drivers/ata/libahci.c | 15 drivers/ata/libata-pmp.c | 7 drivers/block/sunvdc.c | 26 drivers/bluetooth/btmtksdio.c | 4 drivers/bluetooth/btusb.c | 23 drivers/bluetooth/hci_mrvl.c | 3 drivers/char/ipmi/ipmi_si_platform.c | 5 drivers/char/nvram.c | 16 drivers/char/virtio_console.c | 22 drivers/clk/at91/pmc.h | 2 drivers/clk/clk-scpi.c | 2 drivers/clk/keystone/sci-clk.c | 8 drivers/clk/renesas/renesas-cpg-mssr.c | 3 drivers/clk/socfpga/clk-agilex.c | 2 drivers/cpufreq/cpufreq.c | 6 drivers/crypto/allwinner/Kconfig | 16 drivers/crypto/allwinner/sun8i-ce/Makefile | 1 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 54 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c | 164 -- drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h | 29 drivers/crypto/allwinner/sun8i-ss/Makefile | 1 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c | 39 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-prng.c | 175 --- drivers/crypto/allwinner/sun8i-ss/sun8i-ss.h | 23 drivers/crypto/atmel-ecc.c | 3 drivers/dma/dmaengine.c | 10 drivers/dma/mmp_pdma.c | 2 drivers/dma/sprd-dma.c | 3 drivers/dma/sun6i-dma.c | 9 drivers/dma/ti/k3-udma-glue.c | 5 drivers/dma/xilinx/xilinx_dma.c | 26 drivers/edac/edac_device_sysfs.c | 11 drivers/firmware/arm_scmi/base.c | 15 drivers/firmware/arm_scpi.c | 4 drivers/gpio/gpio-arizona.c | 8 drivers/gpio/gpio-dwapb.c | 17 drivers/gpio/gpio-pisosr.c | 4 drivers/gpio/gpio-zynq.c | 10 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 3 drivers/gpu/drm/amd/amdgpu/atom.c | 9 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 1 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 7 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 20 drivers/gpu/drm/amd/pm/powerplay/si_dpm.c | 31 drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 6 drivers/gpu/drm/arm/display/komeda/komeda_drv.c | 14 drivers/gpu/drm/arm/malidp_drv.c | 22 drivers/gpu/drm/drm_atomic_uapi.c | 13 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c | 21 drivers/gpu/drm/i915/i915_query.c | 4 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 8 drivers/gpu/drm/nouveau/nouveau_drm.c | 5 drivers/gpu/drm/nouveau/nouveau_gem.c | 2 drivers/gpu/drm/nouveau/nvif/vmm.c | 1 drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 23 drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c | 2 drivers/gpu/drm/panel/panel-simple.c | 28 drivers/gpu/drm/virtio/virtgpu_display.c | 2 drivers/gpu/drm/virtio/virtgpu_gem.c | 2 drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 drivers/hid/hid-alps.c | 6 drivers/hid/hid-hyperv.c | 58 - drivers/hid/hid-ids.h | 3 drivers/hid/hid-logitech-hidpp.c | 10 drivers/hid/hid-quirks.c | 1 drivers/hid/wacom_sys.c | 5 drivers/hwmon/adt7462.c | 8 drivers/hwmon/applesmc.c | 7 drivers/hwmon/aspeed-pwm-tacho.c | 4 drivers/hwmon/gpio-fan.c | 5 drivers/hwmon/pmbus/lm25066.c | 54 drivers/hwmon/pmbus/pmbus_core.c | 4 drivers/hwmon/w83791d.c | 1 drivers/hwmon/w83793.c | 4 drivers/i2c/busses/i2c-at91-core.c | 3 drivers/i2c/busses/i2c-at91-master.c | 12 drivers/i2c/busses/i2c-at91.h | 1 drivers/i2c/busses/i2c-imx.c | 2 drivers/i2c/i2c-core-smbus.c | 12 drivers/iio/accel/mma8452.c | 19 drivers/iio/adc/qcom-spmi-iadc.c | 18 drivers/infiniband/core/iwpm_util.c | 9 drivers/infiniband/core/mad.c | 3 drivers/infiniband/core/ucma.c | 7 drivers/infiniband/hw/mlx4/sysfs.c | 4 drivers/infiniband/hw/mlx5/cq.c | 3 drivers/infiniband/hw/mlx5/main.c | 11 drivers/infiniband/sw/siw/siw_cm.c | 75 - drivers/infiniband/sw/siw/siw_qp_rx.c | 2 drivers/infiniband/ulp/ipoib/ipoib.h | 7 drivers/infiniband/ulp/ipoib/ipoib_ib.c | 12 drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 16 drivers/infiniband/ulp/iser/iscsi_iser.c | 72 - drivers/infiniband/ulp/iser/iscsi_iser.h | 8 drivers/infiniband/ulp/iser/iser_initiator.c | 49 drivers/infiniband/ulp/iser/iser_memory.c | 87 - drivers/infiniband/ulp/iser/iser_verbs.c | 56 - drivers/infiniband/ulp/isert/ib_isert.c | 86 - drivers/infiniband/ulp/isert/ib_isert.h | 4 drivers/input/evdev.c | 2 drivers/input/input-compat.c | 2 drivers/input/joystick/xpad.c | 3 drivers/input/keyboard/atkbd.c | 8 drivers/input/misc/soc_button_array.c | 16 drivers/input/mouse/synaptics.c | 8 drivers/input/rmi4/rmi_driver.c | 13 drivers/input/rmi4/rmi_smbus.c | 10 drivers/input/serio/i8042-acpipnpio.h | 7 drivers/input/serio/serport.c | 3 drivers/input/touchscreen/eeti_ts.c | 1 drivers/iommu/rockchip-iommu.c | 8 drivers/irqchip/irq-gic-v3-its.c | 1 drivers/leds/leds-pca9532.c | 8 drivers/leds/uleds.c | 11 drivers/mailbox/mailbox.c | 6 drivers/md/raid5.c | 2 drivers/media/i2c/video-i2c.c | 5 drivers/media/pci/dm1105/dm1105.c | 7 drivers/media/rc/imon.c | 4 drivers/media/rc/mceusb.c | 2 drivers/media/usb/em28xx/em28xx-video.c | 4 drivers/media/v4l2-core/v4l2-h264.c | 3 drivers/mmc/core/bus.c | 2 drivers/mmc/core/sdio_uart.c | 3 drivers/mmc/host/davinci_mmc.c | 16 drivers/mmc/host/mmc_spi.c | 1 drivers/mmc/host/mxcmmc.c | 4 drivers/mmc/host/sdhci-of-aspeed.c | 5 drivers/mmc/host/sdhci_am654.c | 4 drivers/mmc/host/sh_mmcif.c | 3 drivers/net/bonding/bond_alb.c | 19 drivers/net/bonding/bond_main.c | 4 drivers/net/can/slcan.c | 3 drivers/net/can/usb/ems_usb.c | 43 drivers/net/dsa/bcm_sf2_cfp.c | 2 drivers/net/dsa/mv88e6xxx/chip.c | 22 drivers/net/dsa/sja1105/sja1105_flower.c | 4 drivers/net/ethernet/allwinner/sun4i-emac.c | 2 drivers/net/ethernet/amd/au1000_eth.c | 3 drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 3 drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 3 drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 3 drivers/net/ethernet/atheros/atlx/atl1.c | 3 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 16 drivers/net/ethernet/broadcom/tg3.c | 4 drivers/net/ethernet/cortina/gemini.c | 79 - drivers/net/ethernet/freescale/fman/fman.c | 1 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 3 drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c | 4 drivers/net/ethernet/ibm/emac/core.c | 3 drivers/net/ethernet/ibm/emac/mal.c | 6 drivers/net/ethernet/intel/e1000e/ethtool.c | 19 drivers/net/ethernet/intel/ice/ice_txrx.c | 20 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 3 drivers/net/ethernet/mellanox/mlx5/core/en/port.c | 15 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 3 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c | 2 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c | 7 drivers/net/ethernet/socionext/netsec.c | 2 drivers/net/ethernet/stmicro/stmmac/chain_mode.c | 10 drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c | 4 drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c | 12 drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h | 4 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c | 6 drivers/net/ethernet/stmicro/stmmac/enh_desc.c | 11 drivers/net/ethernet/stmicro/stmmac/hwif.h | 32 drivers/net/ethernet/stmicro/stmmac/norm_desc.c | 8 drivers/net/ethernet/stmicro/stmmac/ring_mode.c | 14 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 8 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c | 106 + drivers/net/ethernet/ti/cpsw_new.c | 4 drivers/net/ethernet/ti/netcp_core.c | 2 drivers/net/fddi/skfp/skfddi.c | 3 drivers/net/macvlan.c | 4 drivers/net/ppp/ppp_async.c | 90 - drivers/net/ppp/ppp_synctty.c | 3 drivers/net/slip/slip.c | 3 drivers/net/usb/catc.c | 15 drivers/net/usb/cdc_mbim.c | 5 drivers/net/usb/cx82310_eth.c | 1 drivers/net/usb/hso.c | 2 drivers/net/usb/lan78xx.c | 7 drivers/net/usb/qmi_wwan.c | 2 drivers/net/usb/sr9700.c | 3 drivers/net/vxlan/vxlan_core.c | 11 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c | 4 drivers/net/wireless/intel/ipw2x00/libipw_rx.c | 10 drivers/net/wireless/intel/iwlegacy/common.c | 2 drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 13 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 2 drivers/net/wireless/intersil/p54/eeprom.c | 22 drivers/net/wireless/mac80211_hwsim.c | 6 drivers/net/wireless/marvell/libertas/tx.c | 7 drivers/net/wireless/marvell/libertas_tf/main.c | 2 drivers/net/wireless/marvell/mwifiex/fw.h | 18 drivers/net/wireless/marvell/mwifiex/join.c | 8 drivers/net/wireless/marvell/mwifiex/pcie.c | 2 drivers/net/wireless/marvell/mwifiex/scan.c | 54 drivers/net/wireless/marvell/mwifiex/sta_cmd.c | 2 drivers/net/wireless/marvell/mwifiex/util.c | 10 drivers/net/wireless/mediatek/mt76/pci.c | 8 drivers/net/wireless/microchip/wilc1000/cfg80211.c | 14 drivers/net/wireless/microchip/wilc1000/wlan.c | 9 drivers/net/wireless/ralink/rt2x00/rt2400pci.c | 2 drivers/net/wireless/ralink/rt2x00/rt2500pci.c | 2 drivers/net/wireless/ralink/rt2x00/rt2800pci.c | 2 drivers/net/wireless/ralink/rt2x00/rt61pci.c | 2 drivers/net/wireless/rsi/rsi_91x_hal.c | 8 drivers/net/wireless/rsi/rsi_91x_mgmt.c | 8 drivers/net/wireless/ti/wlcore/main.c | 4 drivers/net/wireless/virt_wifi.c | 4 drivers/nfc/microread/microread.c | 6 drivers/nfc/nfcmrvl/fw_dnld.c | 11 drivers/nfc/pn533/pn533.c | 14 drivers/nfc/pn533/pn533.h | 4 drivers/nfc/pn533/usb.c | 4 drivers/nfc/pn544/pn544.c | 7 drivers/nfc/port100.c | 7 drivers/nfc/st21nfca/core.c | 12 drivers/nfc/st21nfca/i2c.c | 33 drivers/opp/of.c | 2 drivers/pci/controller/pcie-altera.c | 2 drivers/pci/controller/pcie-iproc.c | 2 drivers/pci/controller/pcie-mediatek.c | 2 drivers/pci/controller/pcie-rockchip-host.c | 2 drivers/pci/pci-driver.c | 10 drivers/pci/pci-sysfs.c | 11 drivers/pci/quirks.c | 3 drivers/pinctrl/pinctrl-single.c | 3 drivers/platform/x86/dell-laptop.c | 9 drivers/platform/x86/intel-hid.c | 7 drivers/rtc/rtc-aspeed.c | 1 drivers/rtc/rtc-bq32k.c | 9 drivers/s390/char/zcore.c | 8 drivers/s390/cio/device_ops.c | 2 drivers/s390/net/qeth_l2.h | 3 drivers/s390/net/qeth_l2_main.c | 26 drivers/s390/net/qeth_l2_sys.c | 7 drivers/scsi/bfa/bfa_fcs_lport.c | 2 drivers/scsi/libiscsi_tcp.c | 3 drivers/scsi/pm8001/pm8001_ctl.c | 8 drivers/scsi/pm8001/pm80xx_hwi.c | 7 drivers/soundwire/bus.c | 4 drivers/soundwire/cadence_master.c | 7 drivers/soundwire/slave.c | 4 drivers/spi/spi-zynqmp-gqspi.c | 18 drivers/staging/fbtft/fbtft-core.c | 9 drivers/target/iscsi/cxgbit/cxgbit.h | 8 drivers/target/iscsi/cxgbit/cxgbit_ddp.c | 4 drivers/target/iscsi/cxgbit/cxgbit_target.c | 34 drivers/target/iscsi/iscsi_target.c | 185 +-- drivers/target/iscsi/iscsi_target.h | 16 drivers/target/iscsi/iscsi_target_configfs.c | 14 drivers/target/iscsi/iscsi_target_datain_values.c | 18 drivers/target/iscsi/iscsi_target_datain_values.h | 12 drivers/target/iscsi/iscsi_target_device.c | 2 drivers/target/iscsi/iscsi_target_device.h | 4 drivers/target/iscsi/iscsi_target_erl0.c | 32 drivers/target/iscsi/iscsi_target_erl0.h | 8 drivers/target/iscsi/iscsi_target_erl1.c | 42 drivers/target/iscsi/iscsi_target_erl1.h | 20 drivers/target/iscsi/iscsi_target_erl2.c | 20 drivers/target/iscsi/iscsi_target_erl2.h | 8 drivers/target/iscsi/iscsi_target_nego.c | 2 drivers/target/iscsi/iscsi_target_seq_pdu_list.c | 34 drivers/target/iscsi/iscsi_target_seq_pdu_list.h | 10 drivers/target/iscsi/iscsi_target_tmr.c | 38 drivers/target/iscsi/iscsi_target_tmr.h | 8 drivers/target/iscsi/iscsi_target_util.c | 77 - drivers/target/iscsi/iscsi_target_util.h | 50 drivers/tee/optee/call.c | 3 drivers/thermal/tegra/soctherm.c | 6 drivers/thunderbolt/tb.c | 6 drivers/thunderbolt/xdomain.c | 13 drivers/tty/serial/8250/8250_port.c | 7 drivers/usb/core/hcd.c | 14 drivers/usb/gadget/udc/goku_udc.c | 3 drivers/usb/host/Kconfig | 2 drivers/usb/host/xhci-ring.c | 6 drivers/usb/host/xhci.c | 4 drivers/usb/usbip/vhci_sysfs.c | 52 drivers/vhost/scsi.c | 3 drivers/vhost/vdpa.c | 12 drivers/video/fbdev/pm2fb.c | 1 drivers/video/fbdev/vfb.c | 11 drivers/virtio/virtio_pci_common.c | 4 drivers/watchdog/digicolor_wdt.c | 13 drivers/watchdog/sp5100_tco.c | 6 drivers/watchdog/sunxi_wdt.c | 45 drivers/xen/gntalloc.c | 13 drivers/xen/xen-front-pgdir-shbuf.c | 12 fs/9p/vfs_dir.c | 12 fs/affs/affs.h | 5 fs/affs/super.c | 6 fs/autofs/inode.c | 4 fs/befs/linuxvfs.c | 3 fs/bfs/inode.c | 3 fs/btrfs/relocation.c | 47 fs/btrfs/transaction.c | 16 fs/btrfs/tree-checker.c | 2 fs/btrfs/volumes.c | 8 fs/cifs/cifsacl.c | 3 fs/configfs/dir.c | 12 fs/exec.c | 22 fs/f2fs/inline.c | 7 fs/freevxfs/vxfs_bmap.c | 3 fs/fuse/file.c | 3 fs/hfs/catalog.c | 9 fs/hfs/dir.c | 28 fs/hfs/hfs.h | 3 fs/hfs/hfs_fs.h | 2 fs/hfs/inode.c | 4 fs/hfsplus/catalog.c | 11 fs/hfsplus/dir.c | 28 fs/hfsplus/hfsplus_fs.h | 5 fs/hfsplus/inode.c | 40 fs/hfsplus/super.c | 2 fs/hpfs/super.c | 3 fs/iomap/buffered-io.c | 2 fs/isofs/inode.c | 3 fs/jfs/super.c | 3 fs/minix/inode.c | 3 fs/ocfs2/namei.c | 9 fs/ocfs2/xattr.c | 13 fs/ocfs2/xattr.h | 8 fs/omfs/inode.c | 6 fs/qnx4/inode.c | 3 fs/squashfs/xz_wrapper.c | 6 fs/ufs/cylinder.c | 10 fs/ufs/super.c | 17 include/keys/request_key_auth-type.h | 2 include/linux/bitfield.h | 2 include/linux/kcsan-checks.h | 6 include/linux/mailbox_controller.h | 2 include/linux/platform_data/asoc-ux500-msp.h | 20 include/linux/rculist.h | 29 include/linux/skbuff.h | 26 include/linux/tty_ldisc.h | 2 include/media/v4l2-hevc.h | 41 include/net/cfg80211.h | 2 include/net/gue.h | 19 include/net/netfilter/nf_conntrack.h | 5 include/net/netfilter/nf_flow_table.h | 1 include/net/netns/xfrm.h | 2 include/net/nfc/hci.h | 2 include/net/nfc/nfc.h | 3 include/target/iscsi/iscsi_target_core.h | 34 include/target/iscsi/iscsi_transport.h | 92 - kernel/bpf/btf.c | 19 kernel/bpf/cgroup.c | 1 kernel/dma/coherent.c | 79 - kernel/trace/trace_event_perf.c | 12 kernel/trace/trace_events_hist.c | 2 kernel/trace/trace_probe.c | 48 kernel/trace/trace_probe.h | 2 kernel/workqueue.c | 2 net/8021q/vlan_dev.c | 5 net/appletalk/aarp.c | 5 net/batman-adv/distributed-arp-table.c | 65 - net/batman-adv/types.h | 2 net/bluetooth/bnep/core.c | 17 net/bluetooth/bnep/netdev.c | 8 net/bluetooth/hci_sock.c | 20 net/bluetooth/l2cap_core.c | 31 net/bluetooth/l2cap_sock.c | 13 net/bluetooth/rfcomm/core.c | 6 net/bluetooth/rfcomm/sock.c | 6 net/bluetooth/smp.c | 17 net/bridge/br_arp_nd_proxy.c | 16 net/bridge/br_multicast.c | 2 net/bridge/br_stp_bpdu.c | 5 net/ceph/mon_client.c | 2 net/core/dev.c | 4 net/core/drop_monitor.c | 4 net/core/filter.c | 33 net/core/skbuff.c | 81 - net/core/sock.c | 9 net/hsr/hsr_netlink.c | 9 net/ieee802154/6lowpan/core.c | 2 net/ipv4/arp.c | 1 net/ipv4/fib_rules.c | 4 net/ipv4/fou_core.c | 6 net/ipv4/ip_gre.c | 12 net/ipv4/ip_tunnel_core.c | 6 net/ipv4/sysctl_net_ipv4.c | 4 net/ipv4/tcp_input.c | 3 net/ipv4/tcp_output.c | 6 net/ipv6/addrconf.c | 10 net/ipv6/exthdrs.c | 4 net/ipv6/exthdrs_core.c | 3 net/ipv6/ip6_fib.c | 4 net/ipv6/ip6_gre.c | 2 net/ipv6/mcast.c | 32 net/ipv6/netfilter/ip6_tables.c | 5 net/ipv6/netfilter/ip6t_rpfilter.c | 2 net/ipv6/netfilter/ip6t_rt.c | 11 net/ipv6/route.c | 22 net/ipv6/seg6.c | 4 net/ipv6/seg6_local.c | 3 net/ipv6/tcp_ipv6.c | 3 net/ipv6/xfrm6_output.c | 10 net/llc/llc_c_ac.c | 2 net/llc/llc_s_ac.c | 4 net/llc/llc_sap.c | 8 net/mac80211/cfg.c | 3 net/mac80211/debugfs_netdev.c | 6 net/mac80211/iface.c | 2 net/mac80211/mesh.c | 1 net/mac80211/mlme.c | 6 net/mac80211/tx.c | 2 net/mac80211/util.c | 6 net/mptcp/protocol.c | 10 net/mptcp/protocol.h | 3 net/mptcp/subflow.c | 18 net/mptcp/syncookies.c | 5 net/netfilter/ipset/ip_set_hash_gen.h | 13 net/netfilter/ipvs/ip_vs_core.c | 6 net/netfilter/ipvs/ip_vs_sync.c | 20 net/netfilter/nf_conntrack_expect.c | 3 net/netfilter/nf_conntrack_netlink.c | 13 net/netfilter/nf_conntrack_proto_tcp.c | 10 net/netfilter/nf_conntrack_sip.c | 2 net/netfilter/nf_flow_table_core.c | 12 net/netfilter/nf_flow_table_offload.c | 19 net/netfilter/nf_tables_api.c | 4 net/netfilter/nfnetlink_log.c | 13 net/netfilter/nfnetlink_queue.c | 77 - net/netfilter/nft_nat.c | 2 net/netfilter/nft_set_pipapo_avx2.c | 1 net/netfilter/nft_synproxy.c | 3 net/netlabel/netlabel_unlabeled.c | 2 net/nfc/core.c | 15 net/nfc/digital_dep.c | 8 net/nfc/llcp.h | 1 net/nfc/llcp_commands.c | 2 net/nfc/llcp_core.c | 175 ++- net/nfc/llcp_sock.c | 65 - net/nfc/nci/core.c | 10 net/nfc/netlink.c | 7 net/nfc/nfc.h | 3 net/openvswitch/conntrack.c | 14 net/openvswitch/flow_table.c | 4 net/packet/af_packet.c | 11 net/packet/internal.h | 2 net/phonet/pn_dev.c | 30 net/qrtr/af_qrtr.c | 4 net/rds/af_rds.c | 63 - net/rds/connection.c | 102 + net/rds/ib_cm.c | 27 net/rds/ib_frmr.c | 11 net/rds/ib_recv.c | 9 net/rds/message.c | 6 net/rds/send.c | 16 net/rds/tcp.c | 164 ++ net/rds/tcp_listen.c | 6 net/sched/act_api.c | 22 net/sched/act_csum.c | 8 net/sched/act_ct.c | 5 net/sched/act_gate.c | 30 net/sched/cls_api.c | 2 net/sched/cls_route.c | 45 net/sched/sch_drr.c | 13 net/sched/sch_ets.c | 12 net/sched/sch_fq_pie.c | 62 - net/sched/sch_hfsc.c | 22 net/sched/sch_hhf.c | 15 net/sched/sch_pie.c | 2 net/sched/sch_sfq.c | 7 net/sched/sch_teql.c | 7 net/sctp/associola.c | 15 net/sctp/ipv6.c | 10 net/sctp/protocol.c | 10 net/sctp/sm_make_chunk.c | 14 net/sctp/sm_sideeffect.c | 11 net/sctp/sm_statefuns.c | 2 net/smc/smc_clc.c | 8 net/smc/smc_clc.h | 17 net/sunrpc/xprtrdma/verbs.c | 21 net/sunrpc/xprtsock.c | 7 net/tipc/group.c | 4 net/tipc/monitor.c | 3 net/vmw_vsock/hyperv_transport.c | 2 net/vmw_vsock/vmci_transport.c | 2 net/wireless/nl80211.c | 2 net/wireless/scan.c | 12 net/wireless/util.c | 26 net/wireless/wext-sme.c | 9 net/xdp/xskmap.c | 2 net/xfrm/espintcp.c | 6 net/xfrm/xfrm_user.c | 228 ++-- scripts/mod/modpost.c | 11 security/integrity/ima/ima_appraise.c | 5 security/keys/gc.c | 4 security/keys/request_key_auth.c | 12 security/selinux/avc.c | 5 sound/core/pcm_timer.c | 7 sound/core/seq/oss/seq_oss_rw.c | 3 sound/isa/es18xx.c | 4 sound/pci/ctxfi/cthw20k2.c | 1 sound/pci/hda/hda_controller.c | 2 sound/pci/hda/patch_conexant.c | 12 sound/pci/hda/patch_realtek.c | 2 sound/soc/amd/renoir/acp3x-pdm-dma.c | 2 sound/soc/bcm/bcm63xx-i2s-whistler.c | 1 sound/soc/codecs/ab8500-codec.c | 555 ++++------ sound/soc/codecs/cx20442.c | 3 sound/soc/codecs/mt6351.c | 1 sound/soc/codecs/pcm3168a.c | 20 sound/soc/codecs/rk3328_codec.c | 54 sound/soc/codecs/rt5645.c | 4 sound/soc/intel/atom/sst/sst_pci.c | 1 sound/soc/intel/catpt/ipc.c | 8 sound/soc/intel/catpt/loader.c | 3 sound/soc/intel/catpt/registers.h | 12 sound/soc/rockchip/rockchip_pdm.c | 16 sound/soc/rockchip/rockchip_spdif.c | 1 sound/soc/sprd/sprd-pcm-compress.c | 15 sound/soc/sti/uniperif_reader.c | 4 sound/soc/ti/ams-delta.c | 3 sound/soc/ti/omap3pandora.c | 5 sound/soc/ux500/mop500.c | 8 sound/soc/ux500/ux500_msp_dai.c | 167 +-- sound/soc/ux500/ux500_msp_dai.h | 11 sound/soc/ux500/ux500_msp_i2s.c | 330 +++-- sound/soc/ux500/ux500_msp_i2s.h | 30 sound/soc/ux500/ux500_pcm.c | 83 - sound/usb/caiaq/audio.c | 10 sound/usb/caiaq/device.c | 53 sound/usb/caiaq/device.h | 4 sound/usb/caiaq/input.c | 6 sound/usb/caiaq/midi.c | 6 sound/usb/mixer_maps.c | 10 sound/usb/quirks-table.h | 22 sound/usb/usx2y/us122l.c | 9 sound/usb/usx2y/usbusx2y.c | 39 tools/perf/util/cs-etm.c | 81 - tools/testing/selftests/cgroup/test_kmem.c | 2 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc | 2 tools/testing/selftests/net/fib_nexthops.sh | 28 tools/testing/selftests/net/pmtu.sh | 2 tools/testing/selftests/powerpc/tm/tm.h | 8 584 files changed, 5744 insertions(+), 3744 deletions(-)
Aamir Ahmed (3):
net: hinic: fix mailbox segment buffer overflow
net: usb: catc: bound the RX packet length in catc_rx_done()
nfc: llcp: drop truncated I/RR/RNR PDUs in nfc_llcp_recv_hdlc()
Adrian Ng Ho Yin (1):
clk: socfpga: agilex: implement l3_main_free_clk
Adrian Wowk (1):
usbip: vhci_hcd: fix NULL deref in status_show_vhci
Adriana Stancu (1):
rtc: bq32000: add delay between RTC reads
Agalakov Daniil (1):
e1000e: limit endianness conversion to boundary words
Al Viro (1):
configfs_depend_prep(): pass configfs_dirent instead of dentry
Aldo Ariel Panzardo (4):
nfc: llcp: Fix list corruption / refcount desync in nfc_llcp_recv_dm()
Bluetooth: hci_sock: validate event length before filtering
Bluetooth: hci_sock: reject out-of-range OCF values
Bluetooth: L2CAP: validate frame length before control and FCS access
Alessandro Baldi (1):
media: imon: Add iMON VFD HID OEM v1.2 key mappings
Alex Bereza (2):
dmaengine: xilinx_dma: Fix hardware buffer descriptor reuse order
dmaengine: xilinx_dma: Fix hardware buffer descriptor chain after cyclic DMA
Alexander Chesnokov (1):
dmaengine: ti: k3-udma-glue: fix NULL dereference in k3_udma_glue_release_rx_chn()
Alexandre Courbot (1):
scripts: modpost: detect and report truncated buf_printf() output
Alexei Turtanov (1):
Input: atkbd - skip deactivate for Xiaomi Redmi Book Pro 16 2026
Ali Ahmet Memis (3):
ufs: create the root dentry after loading cylinder metadata
ufs: validate cylinder group metadata before caching it
wifi: wilc1000: fix out-of-bounds read in P2P public action frames
Alice Mikityanska (1):
net/sched: act_csum: don't mangle UDP tunnel GSO packets
Allison Henderson (6):
net/rds: Don't sleep inside rds_ib_conn_path_shutdown net/rds: use wq_has_sleeper() in release_in_xmit() net/rds: use clear_bit_unlock() in release_refill() net/rds: clear cp_flags bits individually in rds_conn_path_reset() net/rds: acquire RDS_IN_XMIT in rds_tcp_reset_callbacks() net/rds: don't let rds_conn_shutdown() consume a concurrent drop
Amit Machhiwal (1):
KVM: PPC: Book3S HV: fix secure device page leak on uv_page_in() failure
Andrea Mayer (1):
seg6: set IPSKB_L3SLAVE from IP6SKB_L3SLAVE on IPIP decapsulation
Andrei Faleichyk (1):
ALSA: hda/realtek: Add quirk for ASUS VivoBook X509DAP
Andrew Halaney (1):
net: stmmac: Remove some unnecessary void pointers
Andrew Stellman (1):
virtio-pci: return IRQ_HANDLED after non-zero ISR
Aohan Mei (2):
rds: ib: use rds_conn_drop() on protocol version mismatch
sctp: discard the rest of the packet on a stale-cookie error
Arash Golgol (1):
media: video-i2c: fix buffer queue ordering
Arnd Bergmann (3):
scsi: bfa: Reduce kernel stack usage in bfa_fcs_lport_fdmi_build_portattr_block()
ASoC: ux500: remove platform_data support
ASoC: ux500: remove stedma40 references
Baineng Shou (1):
dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg()
Bard Liao (2):
soundwire: only handle alert events when the peripheral is attached
soundwire: cadence_master: wait and cancel cdns->work before clock stop
Benoît Sevens (1):
HID: logitech-hidpp: fix race condition when accessing stale stack pointer
Carolina Jubran (2):
net/mlx5e: Fix ETS zero BW reporting when one TC holds 100% IB/IPoIB: Avoid restoring OPER_UP after multicast flush
Cezary Rojewski (2):
ASoC: Intel: catpt: Complete coredump handling
ASoC: codecs: pcm3168a: Drop CONFIG_PM-conditional preproc directive
Chen Changcheng (1):
HID: alps: fix use-after-free on input2 registration failure
Chen Cheng (1):
md/raid5: let stripe batch bm_seq comparison wrap-safe
Chen-Yu Tsai (1):
dma-coherent: Warn if OF reserved memory is beyond current coherent DMA mask
Chenguang Zhao (2):
RDMA/mlx5: Use QP port when decoding responder CQEs
netlabel: fix IPv6 unlabeled address add error handling
Chris Sommers (1):
Input: i8042 - add quirk for Acer Aspire Go 15 AG15-42P
Christian Göttsche (1):
selinux: always fill AVC decision in avc_has_perm_noaudit()
Christian Lugnberg (2):
dmaengine: sun6i: fix non-atomic read of DMA position registers
dmaengine: sun6i: fix undefined behaviour in sun6i_dma_tx_status
Christian Marangi (1):
usb: host: add ARCH_AIROHA in XHCI MTK dependency
Christiano Amora (1):
Bluetooth: SMP: reject Security Request over BR/EDR
Christoph Hellwig (10):
befs: handle set_blocksize failures
affs: handle set_blocksize failures
bfs: handle set_blocksize failures
minix: handle set_blocksize failures
qnx4: handle set_blocksize failures
jfs: handle set_blocksize failures
hpfs: handle set_blocksize failures
omfs: handle set_blocksize failures
isofs: handle set_blocksize failures
dma-mapping: simplify dma_init_coherent_memory
Chuck Lever (1):
xprtrdma: Add request-pool slack for delayed recycling
Colin Ian King (2):
OPP: of: Fix potential multiplication overflow when calculating freq
nfc: st21nfca: remove redundant assignment to variable i
Cong Nguyen (3):
hwmon: (gpio-fan) take fan_data->lock in gpio_fan_shutdown()
hwmon: (applesmc) fix key backlight workqueue leak on register failure
nfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure
Corentin Labbe (1):
wifi: ralink: RT2X00: init EEPROM properly
Cássio Gabriel (3):
ALSA: usx2y: Drain pending US-428 pipe-4 output commands
ASoC: codecs: rk3328: Use managed GPIO and clock helpers
ALSA: seq: oss: Reject reads that cannot fit the next event
Dairui Zhang (1):
af_packet: fix integer overflow in prb_calc_retire_blk_tmo()
Dan Carpenter (2):
drm/virtio: Fix a NULL vs ERR_PTR() bug in virtio_gpu_user_framebuffer_create() drm/nouveau/clk: fix list cursor use after loop in nvkm_clk_ustate_update
Daniel Borkmann (1):
bpf: Fix bpf_skb_change_tail wrt csum partial skbs
Daniel Lezcano (1):
thermal/drivers/tegra/soctherma: Switch to devm cooling device registration
Danielle Ratson (1):
bridge: Do not suppress ARP probes and DAD NS unconditionally
Dario Binacchi (1):
drm/panel: simple: Add AM-1280800W8TZQW-T00H
Darrick J. Wong (1):
iomap: iomap: fix memory corruption when recording errors during writeback
David Yang (1):
net: dsa: sja1105: flower: reject cross-chip redirect
Dawei Feng (1):
bpf: NUL-terminate replaced sysctl value
Deepanshu Kartikey (2):
wifi: cfg80211: validate IEs in cfg80211_wext_siwgenie()
nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid()Diogo Ivo (Schneider Electric) (1):
mmc: sdhci_am654: Reset command and data lines on failed tuning
Dmitriy Okunev (1):
net: mvpp2: prevent buffer overflow in page_pool allocation
Dmitry Bogdanov (1):
scsi: target: iscsi: Handle abort for WRITE_PENDING cmds
Dmitry Torokhov (2):
Input: rmi_smbus - fix out-of-bounds read in rmi_smb_write_block()
Input: synaptics-rmi4 - fix GPF in suspend and resume when unbound
Donggeun Yoo (2):
tracing: Free histogram the var ref when its initialization fails
dma-coherent: report a failed reserved memory assignment
Dongliang Qin (1):
rds: ib: Clear the sg list when mapping an MR fails
Doruk Tan Ozturk (2):
wifi: mwifiex: bound the pairwise-cipher OUI walk to the IE length
nfc: port100: reject frames whose declared length exceeds the received data
Edward Adam Davis (1):
ALSA: caiaq: Decoupling ep1_in_urb in caiaq dev
Emil Tsalapatis (1):
bpf: Fix bpf_sock context code generation
Emmanuel Grumbach (2):
wifi: iwlwifi: mvm: fix an off-by-1 boundary check
wifi: iwlwifi: bound aligned TLV advance in FW parser
Eric Biggers (3):
crypto: sun8i-ss - Remove crypto_rng interface
crypto: sun8i-ce - Remove crypto_rng interface
netfilter: nft_set_pipapo_avx2: add missing vzeroupper
Eric Dumazet (20):
net: bridge: remove stale rcu_barrier() in br_multicast_dev_del() net/sched: sch_drr: make cl->quantum lockless
ipv6: sr: restore network header before routing and forwarding
bonding: do not clear curr_active_slave prematurely when releasing all slaves
bonding: use skb_cow_head() in bond_do_alb_xmit() and rlb_arp_xmit()
net_sched: sch_fq_pie: implement lockless fq_pie_dump()
macvlan: inherit needed_headroom and needed_tailroom from lowerdev
ipv6: mcast: extend RCU protection in igmp6_send()
tcp: do not let tcp_rmem be set below 4096
drop_monitor: synchronize tracepoint unregistration on error path
drop_monitor: fix out-of-bounds write in reset_per_cpu_data()
net: lock the socket in sock_gettstamp()
llc: fix skb UAF and leaks on llc_mac_hdr_init() failure
bridge: check llc_mac_hdr_init() return value in br_send_bpdu() net/sched: sch_teql: fix shadowed err in __teql_resolve()
vlan: ensure sufficient headroom in vlan_dev_hard_header()
net: add and use skb_unclone_keeptruesize() helper
net: add skb_set_end_offset() helper
net: preserve skb_end_offset() in skb_unclone_keeptruesize()
tipc: reject invalid and unexpected GRP_ACK_MSG to prevent bc_ackers underflow
Erich Sartison (1):
Input: xpad - add support for Victrix Pro BFG Controller
Ethan Nelson-Moore (1):
ASoC: ti: omap3pandora: update board check to use DT compatible
Fan Wu (1):
mmc: mxcmmc: cancel data work and watchdog on remove
Farhad Alemi (1):
freevxfs: don't BUG() on unknown typed-extent type
Felix Gu (1):
mmc: sdio_uart: fix xmit_fifo leak when the port table is full
Fernando Fernandez Mancera (1):
ipv6: addrconf: fix temp address generation after prefix deprecation
Filipe Manana (3):
btrfs: fix use-after-free on reloc root after error in insert_dirty_subvol()
btrfs: fix reloc root cleanup in merge_reloc_roots()
btrfs: tree-checker: print dev extent offset in error message
Florian Westphal (5):
netfilter: nf_conntrack_expect: zero at allocation time
netfilter: nfnetlink_log: cope with concurrent instance destruction
netfilter: ip6_tables: set F_PROTO when proto value is nonzero
mptcp: hold mptcp socket before calling tcp_done
netfilter: nfnetlink_queue: hold nfnl mutex in event notifier
Fourie Zhang (1):
net: mpls: clear inner_protocol when the last label is popped
Francesco Magazzu (1):
drm/nouveau/clk: don't clobber reclock status when restoring volt/fan
Gajdos Tamás (3):
net: atl1: fix soft lockup on out-of-range cmb_tpd_next_to_clean read
net: atl1c: fix soft lockup on out-of-range tpd_cons read
net: atl1e: fix soft lockup on out-of-range hw_next_to_clean read
Galen Hassen (1):
ALSA: hda/conexant: Add pin config quirk for Lenovo IdeaPad Slim 5 16AKP10
Geert Uytterhoeven (2):
clk: renesas: cpg-mssr: Add number of clock cells check
clk: at91: pmc: #undef field_{get,prep}() before definition
Georgi Valkov (1):
wifi: mwifiex: replace one-element arrays with flexible array members
Gerd Rausch (1):
net/rds: tcp: don't force RDS_CONN_RESETTING over a concurrent shutdown
Ginger Li (1):
tipc: Fix a data race on mon->peer_cnt in mon_timeout()
Gleb Sonichev (1):
platform/x86: dell-laptop: add Inspiron N5110 to touchpad LED quirk table
Goldwyn Rodrigues (1):
ima: return error early if file xattr cannot be changed
Gongwei Li (1):
Bluetooth: hci_mrvl: Fix wrong return value check of wait_on_bit_timeout()
Greg Kroah-Hartman (1):
Linux 5.10.271
Greg Marsden (1):
net/rds: fix tcp stream corruption with large pages
Guangguan Wang (2):
net/smc: check smcd_v2_ext_offset when receiving proposal msg net/smc: check v2_ext_offset/eid_cnt/ism_gid_cnt when receiving proposal msg
Guanghui Yang (1):
btrfs: detach failed sprout device from transaction update list
Guangshuo Li (7):
net: cpsw_new: unregister devlink on port registration failure
hwmon: (w83791d) remove fan/pwm 4-5 sysfs group on remove
hwmon: (w83793) release probe data through kref
drm/msm/adreno: fix autosuspend cleanup during teardown drm/msm/hdmi_phy: fix runtime PM cleanup on probe failure drm/nouveau: fix autosuspend cleanup during teardown
drm/amdgpu/atom: Check kcalloc() for WS buffer in amdgpu_atom_execute_table_locked()
Guoqing Jiang (3):
RDMA/siw: Introduce siw_cep_set_free_and_put
RDMA/siw: Cleanup siw_accept
RDMA/siw: Clear association under lock if siw_qp_modify fails in siw_accept
Gustavo Kenji Mendonça Kaneko (2):
drm/arm/malidp: use clk_bulk API in runtime PM resume and suspend drm/arm/komeda: fix error handling for clk_prepare_enable() and callers
Hans Zhang (4):
PCI: iproc: Protect root bus removal with rescan lock
PCI: altera: Protect root bus removal with rescan lock
PCI: rockchip: Protect root bus removal with rescan lock
PCI: mediatek: Protect root bus removal with rescan lock
Hans de Goede (2):
Input: soc_button_array - fix MS Surface Pro 11 probe failure
Input: soc_button_array - check btns_desc->package.count
Haotian Zhang (1):
media: v4l2-h264: Fix memcmp() size in B1 reference list comparison
Haoxiang Li (2):
media: em28xx-video: fix missing res_free() on init_usb_xfer failure
fbdev: pm2fb: unwind WC setup on probe failure
Harald Freudenberger (1):
s390/crypto: Fix missing scrub of temp buffers with AES ctr and gcm algorithm
Harry Wentland (1):
dm/amdgpu: fix malformed link_settings debugfs output
Heiko Carstens (1):
s390/zcore: Removed unused variables
Henry Martin (2):
sctp: fix soft lockup from unpadded ASCONF-ACK parameter iteration tracing/probes: Fix use-after-free on field name/type of events with multiple probes
Hirokazu Honda (1):
tee: optee: Allow MT_NORMAL_TAGGED shared memory
Hohyun Sim (1):
net: fddi: skfp: fix NULL deref when setting the MAC address while down
Hongfu Li (1):
selftests/cgroup: Fix cg_run_in_subcgroups ignoring arg parameter
Hui Peng (6):
Bluetooth: bnep: fix out-of-bounds reads on short RX/TX frames and control fallthrough
Bluetooth: RFCOMM: Reject short EA=0 frames in rfcomm_recv_frame()
autofs: fix sbi->pipe file reference leak in autofs_kill_sb()
fou: reject omitted FOU_ATTR_IPPROTO on FOU_ENCAP_DIRECT
ipv6: sr: enforce exact attribute length for SEG6_ATTR_DST
Bluetooth: RFCOMM: fix NULL dereference of dlc->session in RFCOMM_CONNINFO
Hui Su (1):
staging: fbtft: make dirty_lock IRQ-safe
Håkon Bugge (1):
net/rds: acquire the fastpath locks in rds_conn_shutdown()
Ibrahim Hashimov (1):
wifi: mac80211_hwsim: reject undersized HWSIM_ATTR_TX_INFO
Ido Schimmel (3):
tunnels: Drop stale dst when building an ICMP error for PMTUD
ipv6: Select best matching nexthop object in fib6_table_lookup()
ipv6: Honor oif when choosing nexthop for locally generated traffic
Ilya Maximets (2):
netfilter: report NLM_F_DUMP_FILTERED when all is filtered out
net: openvswitch: conntrack: avoid modifying shared unconfirmed ct entry
Inbal Schussheim (1):
tcp: exclude old ACKs from tcp fast path
Iván Ezequiel Rodriguez (2):
Input: evdev - zero absinfo before partial copy in EVIOCSABS
Input: zero ff_effect before compat copy in input_ff_effect_from_user
Jad Keskes (1):
EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation
Jakub Kicinski (2):
net: dsa: bcm_sf2: bound the CFP rule dump by the caller's buffer size
net: dsa: mv88e6xxx: bound the policy rule dump by the caller's buffer size
Jamal Hadi Salim (9):
net: cap tx_queue_len at S16_MAX to prevent oversized ring allocations net/sched: fq_pie: clamp quantum in change path
net/sched: sfq: clamp quantum in change path
net/sched: hhf: clamp quantum in change and init paths net/sched: pie: clamp psched_mtu in pie_drop_early
net/sched: drr: clamp quantum in change class
net/sched: ets: clamp quantum in parse and fallback paths net/sched: hhf: cap hh_flows_limit at change time
net/sched: sch_hfsc: bound the classify inner-filter walk with a drift budget
James Hilliard (1):
watchdog: sunxi_wdt: preserve boot-enabled watchdog
James Nugraha (1):
net: amd-xgbe: discard rx packets with bad FCS
Jan Volckaert (1):
net: usb: qmi_wwan: add MeiG SRM813Q
Jann Horn (1):
exec: do_close_on_exec() before taking exec_update_lock
Jason Winter (1):
net: usb: cx82310_eth: drop URB after 0xffff reboot sentinel to prevent partial_data heap overflow
Jean-Louis Colaco (1):
ALSA: usb-audio: Add quirk for YAMAHA CDS3000
Jeffin Philip (1):
RDMA/core: fix refcount bug in iwpm_get_nlmsg_request()
Jens Axboe (1):
sunvdc: fix -EIO issue due to lack of retries
Jeremy Klarenbeek (1):
drm/amd/pm/si: Fix updating clock limits from power states
Jeremy Nyberg (1):
Input: xpad - fix PDP Marvel Xbox 360 controller
Jia Jia (2):
vhost-scsi: flush backend after device ioctls
virtio_console: do not free control-out buffers on remove
Jiajia Liu (1):
wifi: mt76: transform aspm_conf for pci_disable_link_state
Jiale Yao (1):
Bluetooth: RFCOMM: validate skb length in rfcomm_recv_frame
Jiangshan Yi (2):
wifi: brcmsmac: fix UAF in brcms_free_timer()
wifi: libertas_tf: fix UAF in lbtf_free_adapter()
Jiayuan Chen (4):
rds: annotate data-race around rs_seen_congestion
bpf: Fix NULL-ptr-deref when showing a void BTF type
bpf: Fix NULL-ptr-deref in btf_var_show()
bpf: Fix out-of-bounds read of rtt_min in sock_ops
Jinjie Ruan (1):
spi: zynqmp-gqspi: Use devm_spi_alloc_host()
Jiri Slaby (1):
tty: make tty_ldisc_ops::hangup return void
Joas Antonio dos Santos (1):
netfilter: nf_conntrack_sip: fix OOB read in sip_skip_whitespace()
Joe Damato (2):
bnxt_en: Handle buffer allocation failure in bnxt_rx_ring_reset()
bnxt_en: Propagate RX ring init failures in bnxt_init_nic()
Johan Hovold (1):
net: hso: fix TIOCMIWAIT race
Johannes Berg (7):
wifi: mac80211: always allow transmitting null-data on TXQs
wifi: cfg80211: check IP header size in cfg80211_classify8021d()
wifi: cfg80211: only group hidden BSSes with beacon entries
wifi: cfg80211: don't filter by BSS type when removing stale entries
wifi: mac80211: reset the AP_VLAN tailroom counter on ifdown
wifi: mac80211: don't RCU-dereference the mesh CSA settings we just set
wifi: mac80211: don't access the TSF of a down interface
Joonwon Kang (1):
mailbox: Make mbox_send_message() return error code when tx fails
Jose Ignacio Tornos Martinez (1):
PCI: Avoid SBR for Qualcomm WCN6855/WCN7850 WiFi, SDX62/SDX65 modems
Josef Bacik (1):
btrfs: return an error from btrfs_record_root_in_trans
Joseph Qi (1):
ocfs2: make ocfs2_calc_xattr_init() return void
Jozsef Kadlecsik (1):
netfilter: ipset: mark the rcu locked areas properly
Julian Anastasov (1):
ipvs: revalidate ihl before icmp_send
Junjie Cao (1):
HID: quirks: add ALWAYS_POLL quirk for SDINNOVATION gaming keyboard
Junrui Luo (2):
drm/virtio: fix object leak when drm_gem_handle_create() fails drm/virtio: fix object leak in virtio_gpu_resource_create_ioctl()
Jérémy Jean (3):
RDMA/siw: Bound fragmented header copies by the remaining length
netfilter: flowtable: publish HW_DEAD after worker is done
net: gue: reject invalid REMCSUM offsets
Karl Mehltretter (5):
keys: fix lost wakeup when reaping a dead key type
Input: trackpoint - fix the inertia attribute name in the ABI document
wifi: brcmfmac: fix lost 802.1x TX completion wakeup s390/pci/docs: Fix sriov_numvfs attribute name
netfilter: nft_synproxy: use the family-aware checksum helper
Kazuki Hanai (1):
ALSA: us122l: Prevent write upgrades for read mappings
Kory Maincent (1):
hwmon: (adt7462) Add of_match_table to support devicetree
Krzysztof Wilczyński (1):
PCI/sysfs: Use kstrtobool() to parse the ROM attribute input
Kumar Meiyappan (2):
scsi: pm8001: Reject firmware update in fatal error state
scsi: pm8001: Reject non-fatal dump when controller is crashed
Kuniyuki Iwashima (4):
af_packet: Don't cast tpacket_hdr.tp_len to int in tpacket_parse_header(). net/sched: cls_api: Don't replay RTM_GETCHAIN in tc_ctl_chain().
tcp: Don't call skb_clone_and_charge_r() for close()d listener in tcp_v6_do_rcv().
ip6_gre: Call ip6erspan_tunnel_unlink_md() in ip6erspan_changelink().
Kyle Zeng (3):
ipvs: fix reversed sequence option serialization
ipvs: reject invalid states in connection template sync records
xfrm: fix compat ALLOCSPI request use-after-free
Lee Jones (1):
nfc: llcp: Fix race condition in accept_queue lifecycle
Leonardo Bras (1):
arm64/daifflags: Make local_daif_*() helpers __always_inline
Li Qiang (1):
cifs: validate idmap key payload length
Li RongQing (2):
RDMA/mlx5: Fix state and counter desync on loopback enable failure RDMA/mad: Fix receive buffer leak when PKey enforcement fails
Li Youhong (1):
net: sun4i-emac: fix missing of_node_put() for phy_node
Liang Hao (1):
gpio: dwapb: Mask interrupts at hardware initialization
Linus Walleij (18):
ASoC: ab8500: Reset the audio block before configuring it
ASoC: ab8500: Repair the DAPM capture graph
ASoC: ab8500: Correct digital interface format setup
ASoC: ab8500: Validate and program TDM slots correctly
ASoC: ux500: Fix MSP stream lifecycle handling
ASoC: ux500: Propagate MSP setup errors
ASoC: ux500: Correct MSP frame and bit clock setup
ASoC: ux500: Validate MSP DAI configuration
ASoC: ux500: Request the MSP MMIO resource
ASoC: ux500: Program the MSP FIFO watermarks
net: ethernet: cortina: Fix budget accounting
net: ethernet: cortina: Finish RX updates before NAPI completion
net: ethernet: cortina: Count dropped frames as NAPI work
net: ethernet: cortina: No mapping is a dropped rx
net: ethernet: cortina: Count RX drops once per frame
net: ethernet: cortina: Count RX descriptors for freeq refill net/rds: Pass a pointer to virt_to_page()
net: ethernet: cortina: Ack RX overrun interrupt correctly
Lorenzo Bianconi (1):
net: stmmac: reconfigure RX packet parser table in stmmac_hw_setup() after reset
Luiz Augusto von Dentz (1):
Bluetooth: L2CAP: Fix deadlock
Lukas Wunner (2):
PCI: Stop setting cached power state to 'unknown' on unbind
crypto: ecc - Unbreak the build on arm with CONFIG_KASAN_STACK=y
Luxiao Xu (2):
netfilter: ip6t_rt: fix zero-address non-strict match out-of-bounds read
nfc: fix use-after-free in nfc_get_local_general_bytes
Madhavender Singh (1):
ALSA: hda/realtek: Add mute LED quirk for HP Laptop 14s-dr1xxx
Maoyi Xie (3):
rds: filter RDS_INFO_* getsockopt by caller's netns
hsr: broadcast netlink notifications in the device's net namespace
keys: translate request_key_auth pid for the reading procfs instance
Marco Elver (1):
kcsan: Silence -Wmaybe-uninitialized when calling __kcsan_check_access()
Marco Felsch (1):
serial: 8250: fix possible ISR soft lockup
Marek Behún (2):
net: dsa: mv88e6xxx: fix number of g1 interrupts for 6320 family
net: dsa: mv88e6xxx: enable .rmu_disable() for 6320 family
Mariano Baragiola (1):
wifi: virt_wifi: free skb when disconnected
Mario Limonciello (1):
x86/PCI: Disable enhanced atomics on AMD NBIO 7.7 and 7.11
Mark Amirkan (2):
net/packet: clear RX owner on VNET header error net/packet: avoid truncating TPACKET_V3 private size
Mark Brown (1):
ASoC: ab8500: Update to modern clocking terminology
Mark Rutland (2):
arm64: percpu: Fix this_cpu_write() casting
arm64: percpu: Fix this_cpu_and() mask generation
Mathias Nyman (1):
xhci: Prevent queuing new commands if xhci is inaccessible
Matthieu Baerts (NGI0) (1):
mptcp: syncookies: remember the request backup flag
Maurizio Lombardi (1):
scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands
Max Gurtovoy (4):
IB/iser: Align coding style across driver IB/iser: Remove iser_reg_data_sg helper function IB/iser: Use iser_fr_desc as registration context
scsi: target: iscsi: Rename iscsi_cmd to iscsit_cmd
Maxime Chevallier (4):
net: stmmac: selftests: Support running selftests on DSA conduits
net: stmmac: selftests: Check the dev->features for S-TAG offload testing
net: stmmac: selftests: Capture all packets for vlan checks
net: stmmac: dwmac4: Use the correct bufzise when the len is exactly 8K
Michael Bommarito (1):
media: hevc: add bounded tile-count helpers
Michael Walle (1):
clk: keystone: don't cache clock rate
Michal Swiatkowski (1):
ice: pass the return value of skb_checksum_help()
Mika Westerberg (3):
thunderbolt: Release request if tb_cfg_request() fails in __tb_xdomain_response()
thunderbolt: Keep the domain reference while processing hotplug
thunderbolt: Set tb->root_switch to NULL when domain is stopped
Ming Wang (1):
net: usb: cdc_mbim: add MeiG Smart SRM821 to ZLP whitelist
Minhong He (1):
phonet: check register_netdevice_notifier() error in phonet_device_init()
Miri Korenblit (1):
wifi: mac80211: don't call ieee80211_handle_reconfig_failure when not needed
Mostafa Saleh (1):
irqchip/gic-v4: Don't advertise VLPIs if no ITS is probed
Myeonghun Pak (3):
mmc: sdhci-of-aspeed: Remove children before releasing SDC resources
tg3: clean up PHYLIB resources on probe failure
pinctrl: single: free the IRQ on domain creation failure
Nagamani PV (1):
s390/qeth: allow bridgeport queries despite OS_MISMATCH
Nazim Amirul (1):
net: stmmac: xgmac2: disable RBUE in default RX interrupt mask
NeilBrown (1):
SUNRPC: lock against ->sock changing during sysfs read
Nguyen Ngoc Thang (2):
ALSA: pcm: set timer->private_data before registering the PCM timer net/sched: act_ct: don't WARN on benign flow_offload_alloc() failure
Nicolas Thibert (1):
Bluetooth: btusb: fix NXP IW610 composite device handling
Niklas Cassel (1):
ata: libahci: clear PxCLBU and PxFBU for AHCI_HFLAG_32BIT_ONLY
Niklas Schnelle (2):
s390/pci: expose UID uniqueness guarantee
docs: s390/pci: Improve and update PCI documentation
Nikolay Metchev (1):
platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table
Norbert Szetei (3):
net: openvswitch: fix use-after-free of the flow table mask array
net: xps: reject an out of range traffic class
ipv6: do not let ipv6_find_hdr() return an offset past the packet end
Oliver Neukum (1):
usb: core: hcd: fix possible deadlock in rh control transfers
Orgad Shaneh (1):
MIPS: Octeon: apply USB FDT fixups also when USB is modular
Osama Abdelkader (1):
mmc: davinci: fix mmc_add_host order in probe
Pablo Neira Ayuso (3):
netfilter: flowtable: hold reference on ct until flow is released
rculist: add list_splice_rcu() for private lists
netfilter: nf_tables: join hook list via splice_list_rcu() in commit phase
Paolo Abeni (2):
mptcp: avoid unneeded actions on subflow reset
mptcp: close race between scheduler and state change
Pauli Virtanen (2):
Bluetooth: L2CAP: fix chan mode for LE_CONN_REQ + EXT_FLOWCTL pchan
Bluetooth: L2CAP: clear FLAG_DEFER_SETUP only for same PID/PSM
Pavankumar Kondeti (1):
workqueue: Fix NULL current_pwq deref in flush dependency check
Peiyang He (1):
drm/nouveau: fix double-free in nvif_vmm_dtor
Peng Hao (1):
wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path
Pengpeng Hou (15):
soundwire: validate DT compatible before parsing it
ALSA: usb-audio: caiaq: validate EP1 reply lengths
wifi: rsi: avoid reading TKIP MIC keys for non-TKIP ciphers
wifi: libertas: reject short monitor TX frames
wifi: libipw: fix key index receive bound checks
wifi: rsi: validate beacon length before fixed buffer copy drm/gma500: return errors from Oaktrail HDMI I2C reads
hwmon: (aspeed-pwm-tacho) Propagate reset deassert errors
ARM: socfpga: select the PL310 erratum 753970 workaround
wifi: mwifiex: validate scan response extents
net: usb: sr9700: include receive overhead in the length check
nfc: nfcmrvl: validate helper command length before pull
nfc: st21nfca: validate received frame size
nfc: st21nfca: validate ISO15693 inventory length
can: ems_usb: validate CPC message lengths
Pierre Barre (1):
9p: invalidate readdir buffer on seek
Potin Lai (1):
hwmon: (pmbus/lm25066) Fix PMBus coefficients for LM5064/5066/5066i
Pu Hu (1):
arm64: kprobes: Allow reentering kprobes while single-stepping
Qingfang Deng (1):
ppp: ppp_async: simplify tty disc_data access
Qu Wenruo (1):
btrfs: do not force reloc root creation during qgroup_account_snapshot()
Quanye Yang (1):
RDMA/ucma: Serialize join and leave on copy_to_user failure
Raf Dickson (1):
vsock: use sk_acceptq_is_full() helper in all transports
Ran Hongyun (1):
squashfs: Add dictionary size range check to prevent shift-out-of-bounds
Randy Dunlap (1):
Documentation: s390: correct spelling
Raphael Zimmer (1):
libceph: Reject monmaps advertising zero monitors
Raphaël Larocque (1):
Input: synaptics - disable InterTouch on ThinkPad T440p (board id 2722)
Rengarajan S (2):
lan78xx: Enable 125 MHz CLK configuration for LAN7801 if NO EEPROM is detected
lan78xx: Enable Auto Speed and Auto Duplex configuration for LAN7801 if NO EEPROM is detected
Riccardo Boninsegna (1):
media: rc: mceusb: Add support for 04eb:e033
Ridham Khurana (1):
gpio: zynq: fix runtime PM leak on request error path
Rik van Riel (2):
perf/ftrace: Fix WARNING in __unregister_ftrace_function
wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver
Rob Herring (Arm) (1):
gpio: pisosr: Read "ngpios" as u32
Robert Abrahamse (1):
ALSA: usb-audio: Add quirk for Corsair Virtuoso (later revision)
Roman Prucha (1):
ALSA: ctxfi: Fix CA20K2 S/PDIF passthrough
Rosen Penev (7):
mips: cps: Assemble jr.hb with an R2 ISA level
net: ibm: emac: Reserve VLAN header in MJS limit
ipmi: si: Use platform_get_irq_optional() to retrieve interrupt
netfilter: nf_conntrack: use get_unaligned_be32() in tcp_sack()
net: ibm: emac: mal: fix potential system hang in mal_remove()
sparc64: uprobes: add missing break
sparc: Disable compat support with LLD
Rudi Heitbaum (1):
ASoC: rt5645: Perform the initial jack detect at probe
Runyu Xiao (5):
net: au1000: move free_irq out of the close-time spinlocked section
ASoC: sti: initialize IRQ lock before requesting IRQ
cpufreq: initialize policy rwsem before sysfs publication
mmc: sh_mmcif: initialize IRQ-thread mutex before requesting interrupt
wifi: wlcore: release runtime PM ref on regdomain config failure
Ruoyu Wang (2):
ALSA: es18xx: check control allocation before private data setup
dmaengine: sprd: Fix runtime PM reference leak in probe
Russell King (Oracle) (3):
ARM: fix hash_name() fault
ARM: fix branch predictor hardening
ARM: ensure interrupts are enabled in __do_user_fault()
Sabrina Dubroca (5):
xfrm: propagate extack to all netlink doit handlers
xfrm: add extack to verify_sec_ctx_len
xfrm: add extack support to verify_newsa_info
xfrm: add extack to verify_one_alg, verify_auth_trunc, verify_aead
xfrm: avoid RCU warnings around the per-netns netlink socket
Samuel Moelius (2):
Bluetooth: L2CAP: validate connectionless PSM length
f2fs: validate inline dentry name lengths before conversion
Sanjay Chitroda (1):
iio: accel: mma8452: switch to non-devm request_threaded_irq()
Sasha Levin (7):
Revert "Bluetooth: btusb: Add ASUS USB-BT600 for Realtek 8761CU" Revert "Bluetooth: btusb: Add ASUS USB-BT540 for Realtek 8761CU" Revert "bluetooth/l2cap: sync sock recv cb and release" Reapply "bluetooth/l2cap: sync sock recv cb and release" Revert "perf cs-etm: Avoid truncating AUX buffer sizes to int" Revert "perf cs-etm: Flush thread stacks after decoder reset"
ASoC: ux500: Parenthesize MSP_{RX,TX}_CLKPOL_BIT() arguments
Scott Mitchell (1):
netfilter: nfnetlink_queue: nfqnl_instance GFP_ATOMIC -> GFP_KERNEL_ACCOUNT allocation
Sebastian Andrzej Siewior (3):
scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_close_session()
scsi: target: iscsi: Avoid in_interrupt() usage in iscsit_check_session_usage_count()
scsi: target: iscsi: Redo iscsit_check_session_usage_count() return code
Seungwon Bae (1):
vxlan: reject dynamic fdb entries that reference a nexthop id
Shahar Shitrit (1):
net/mlx5e: Fix setting RS FEC after remapping
Shengzhuo Wei (4):
i2c: at91: release DMA channels on remove and probe error
i2c: imx: release DMA channels on probe error
wifi: p54: validate curve data length in the calibration curve converters
wifi: p54: require a full exp_if record in PDR_INTERFACE_LIST
Shihuang Liu (1):
net: skbuff: fix pull-bound underflow in skb_checksum_setup_ipv6()
Shivank Garg (3):
dmaengine: Fix device kref underflow in dma_chan_put()
dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel()
dmaengine: wait for RCU readers before releasing dma_device
Shivaprasad G Bhat (2):
powerpc/eeh: Fix recursive locking on devices without EEH sensitive driver powerpc/iommu: Fix the overflow validation in iommu_tce_check_ioba
Shmulik Cohen (2):
wifi: libipw: reject too-short beacon and probe responses
wifi: libipw: reject too-short association responses
Shuangpeng Bai (1):
IB/mlx4: Fix use-after-free on pkey sysfs registration failure
Simon Xue (1):
iommu/rockchip: disable fetch dte time limit
Slavin Liu (1):
ALSA: hda: trace PCM open only after assigning a stream
Stanislaw Gruszka (1):
wifi: iwlegacy: fix broadcast stations deallocation
Stepan Ionichev (3):
mmc: davinci: avoid NULL deref of host->data in IRQ handler
usb: gadget: goku_udc: avoid NULL deref of dev->driver in INT_USBRESET log
iio: adc: qcom-spmi-iadc: balance enable_irq_wake() on driver unbindStian Halseth (1):
sunvdc: unmap LDC cookies when the descriptor send fails
Sudeep Holla (1):
firmware: arm_scmi: Validate BASE_ERROR_EVENT payload size
Sven Eckelmann (1):
batman-adv: dat: atomically update mac addresses
Sven Schnelle (1):
selftests/ftrace: Fix unique symbol check in kprobe_non_uniq_symbol.tc
Takashi Iwai (1):
ALSA: caiaq: Fix potential double-free at error path
Tao Cui (1):
blk-cgroup: fix leaks and online flag on radix_tree_insert failure
Thadeu Lima de Souza Cascardo (1):
drm: Fix drm_pending_vblank_event leak in error path for out_fence_ptr
Theodor Arsenij Larionov Trichkine (1):
netfilter: nft_nat: fully initialise new_addr in netmap setup
Thibault Ferrante (1):
selftests/powerpc/tm: Fix tcheck() reading uninitialised CR value
Thiyagarajan Pandiyan (1):
wifi: nl80211: Increase ie_len size to prevent truncated IEs in new peer notifications
Thorsten Blum (3):
crypto: atmel-ecc - add support for atecc608b powerpc/kexec_file: Use inclusive range checks in add_usable_mem() drm/i915: Fix memory leak in query_perf_config_list()
Tianchu Chen (3):
ASoC: sprd: validate compress buffer sizes against fixed allocations
wifi: rsi: fix heap OOB write on key removal
wifi: wilc1000: fix RX buffer OOB-write in wilc_wlan_handle_isr_ext()
Timur Kristóf (1):
drm/amd/pm/si: Don't schedule thermal work when queue isn't initialized
Tobias Deiminger (1):
leds: pca9532: Don't stop blinking for non-zero brightness
Tom Chung (1):
drm/amd/display: Fix CRC open failure during active rendering
Tommy Huang (1):
rtc: aspeed: add AST2700 compatible
Tzung-Bi Shih (2):
Bluetooth: btmtksdio: Fix PM runtime reference leak in shutdown
watchdog: digicolor: Avoid division by zero
Uwe Küchler (1):
ALSA: usb-audio: Add quirk for Novation Mininova
Vaibhav Jain (1):
powerpc/pseries: Ensure vpa,slb_shadow & dtl are unregistered during crash
Venkat Rao Bagalkote (1):
char/nvram: Remove redundant nvram_mutex
Viacheslav Dubeyko (3):
hfsplus: fix issue of direct writes beyond end-of-file
hfsplus: rework hfsplus_readdir() logic
hfs: rework hfsplus_readdir() logic
Victor Nogueira (4):
net/sched: act_api: budget all shared attributes in notify skbs net/sched: act_api: size the RTM_GETACTION reply from the actions net/sched: cls_route: free emptied bucket on filter move net/sched: act_gate: budget the per-entry list in get_fill_size
Vineeth Vijayan (1):
s390/cio: Fix NULL pointer dereference in ccw_device_get_util_str()
Vishnu Razdan (1):
hwmon: (pmbus) Clear generic status alarms with CLEAR_FAULTS
Vitaly Kuznetsov (1):
HID: hyperv: streamline driver probe to avoid devres issues
Vlad Buslov (1):
netfilter: flowtable: allow unidirectional rules
Vlatko Kosturjak (1):
ppp_async: drop the errored frame instead of resetting its headroom
Wei Jie LAW (1):
HID: wacom: fix OOB read in wacom_wac_pen_serial_enforce()
Weiming Shi (7):
ACPICA: Fix NULL pointer dereference in acpi_ns_custom_package()
fbdev: vfb: defer cleanup until the last reference
i2c: smbus: reject oversized block transfers in the common path
net: appletalk: fix NULL pointer dereference in aarp_send_ddp()
bpf: Disallow bpf_skb_pull_data() for LWT_SEG6LOCAL net/sched: reject IDR error pointers when deleting actions
netfilter: ip6t_rpfilter: reject routes without inet6_dev
WenTao Liang (1):
drm/amd/display: set new_stream to NULL after release
Wentao Liang (8):
net: qrtr: fix node refcount leak on ctrl packet alloc failure
watchdog: sp5100_tco: Fix pci_dev reference leak in sp5100_tco_init() fsl/fman: Fix clk reference leak in read_dts_node()
gpio: arizona: Fix runtime PM leak in arizona_gpio_direction_out() drm/nouveau: Fix bridge reference leak in nv1a_ram_new() drm/nouveau: Fix gem reference leak in validate_init() net/mlx5: Fix rev_entry reference leak in mlx5_tc_ct_shared_counter_get()
net: hisilicon: hns_dsaf_mac: fix mdio device leak in hns_mac_register_phy()
Wyatt Feng (1):
net: xfrm: reject unrepresentable espintcp transport headers
Xianting Tian (1):
virtio-console: call scheduler when we free unused buffs
Xie Yuanbin (1):
ARM: 9484/1: enable interrupts when unhandled user faults are triggered
Xin Long (1):
sctp: fix a TOCTOU race in SCTP_CMD_TIMER_START
Xixin Liu (2):
firmware: arm_scpi: reject DVFS OPP count above MAX_DVFS_OPPS
clk: scpi: bound-check DVFS index in scpi_dvfs_recalc_rate
Xu Rao (2):
ata: libata-pmp: add JMicron JMS562 quirk
mmc: spi: reset bytes_xfered before retrying CRC failures
Xuanqiang Luo (2):
fou: Fix use-after-free in fou_create()
ip_gre: Reject enabling collect metadata through changelink
Yael Chemla (1):
net/mlx5: E-Switch: fix use-after-free in mlx5_eswitch_termtbl_put
Yehyeong Lee (3):
IB/iser: reject a remote invalidation of an unregistered direction IB/isert: wait for deferred control PDU completions before releasing the connection
scsi: libiscsi_tcp: Check the data direction of a Data-In PDU
Yige Jiang (1):
net: netsec: fix device_node reference leak on phy_np
Yiqi Sun (1):
sctp: avoid livelock while updating retransmit path
Yousef Alhouseen (3):
leds: uleds: Return -EFAULT on copy_to_user() failure xen/front-pgdir-shbuf: free grant reference head on errors xen/gntalloc: validate grant count before allocation
Yu Peng (1):
arm64: fixmap: Allow 256K early_ioremap() at any offset
Yu Zhang (1):
vhost-vdpa: don't install the eventfd_ctx_fdget() error in config_ctx
Yuho Choi (1):
sctp: Unwind address notifier registration on failure
Yury Norov (1):
bitfield: wire __bf_shf to __builtin_ctzll
Zhang Tianci (1):
fuse: set ff->flock only on success
Zhao Li (2):
wifi: mac80211: validate deauth frame length before reason access
wifi: mwifiex: validate action frame fixed fields
Zhaoyang Yu (1):
media: dm1105: fix missing error check for dma_alloc_coherent
ZhengYuan Huang (1):
btrfs: balance: fix potential bg lookup failure in btrfs_may_alloc_data_chunk()
Zhiling Zou (4):
ieee802154: 6lowpan: fix NULL dereference in lowpan_newlink
openvswitch: avoid reallocating confirmed conntrack labels
ipv6: xfrm: use full sockets in local error paths
xsk: Use a 32-bit compare in xsk_map_gen_lookup
Zhongqiu Han (1):
cpufreq: zero-initialize policy cpumask before sysfs publication
Zhu Ling (1):
mmc: core: Fix OF node reference leak on card add failure
Zihan Xi (3):
ipv6: fix fib6 walker UAF on seq stop
ipv4: fib: bound automatic table ID allocation
wifi: virt_wifi: don't transfer operstate before register
Zijie Huang (1):
net: arp: terminate device name before lookup
Zixuan Chai (1):
llc: reserve device headroom for allocated frames
bui duc phuc (4):
ASoC: rockchip: rockchip_pdm: Handle runtime PM resume failures in set_fmt
ASoC: rockchip: rockchip_pdm: Reorder clock enable sequence
ASoC: rockchip: spdif: Restore regcache cache-only mode on sync failure
net: ethernet: ti: netcp: fix pm_runtime usage counter leak on error
hackyzh002 (1):
drm/amdgpu: Fix integer overflow in amdgpu_cs_pass1
hpp.iscas (4):
ASoC: bcm: bcm63xx: Publish the OF module aliases
ASoC: Intel: SST: Publish the PCI module aliases
ASoC: mt6351: Publish the OF module alias
Input: eeti_ts - publish the OF module alias
ikaros (12):
ACPICA: Fix condition check in acpi_ps_parse_loop()
ACPICA: Fix use-after-free in acpi_ds_terminate_control_method()
ACPICA: add boundary checks in acpi_ps_get_next_field()
ACPICA: validate byte_count in acpi_ps_get_next_package_length()
ACPICA: Prevent adding invalid references
ACPICA: Fix integer overflow in acpi_ex_opcode_3A_1T_1R() (mid_op)
ACPICA: Improve argument parsing in acpi_ps_get_next_simple_arg()
ACPICA: validate handler object type in two places
ACPICA: Add package limit checks in parser functions
ACPICA: Add validation for node in acpi_ns_build_normalized_path()
ACPICA: Enhance buffer validation in acpi_ut_walk_aml_resources()
ACPICA: add boundary checks in two places
leixiang (1):
KVM: PPC: Book3S HV: Set irqfd->producer only on success
liyouhong (1):
ata: ahci: fail probe if BAR too small for claimed ports
wangdicheng (1):
ASoC: amd: renoir: fix disable_pdm_interrupts() to clear mask bits
Ömer Mete Kaya (3):
nfc: llcp: fix -ENOMEM on connect with zero-length service name
nfc: llcp: fix WKS SAP hijacking via prefix match in nfc_llcp_wks_sap()
nfc: llcp: fix slab-out-of-bounds reads when logging service names
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-devices-platform-trackpoint +1 -1
@@ -5,7 +5,7 @@ Contact: [email protected] Description: (RW) Trackpoint sensitivity. -What: /sys/devices/platform/i8042/.../intertia +What: /sys/devices/platform/i8042/.../inertia Date: Aug, 2005 KernelVersion: 2.6.14 Contact: [email protected]
Documentation/driver-api/serial/tty.rst +1 -1
@@ -58,7 +58,7 @@ close() This is called on a terminal when the line hangup() Called when the tty line is hung up. The line discipline should cease I/O to the tty. No further calls into the ldisc code will occur. - The return value is ignored. Can sleep. + Can sleep. read() (optional) A process requests reading data from the line. Multiple read calls may occur in parallel
Documentation/networking/ip-sysctl.rst +2 -0
@@ -642,6 +642,8 @@ tcp_rmem - vector of 3 INTEGERs: min, default, max case this value is ignored. Default: between 131072 and 6MB, depending on RAM size. + Each of the three values cannot be set below 4096. + tcp_sack - BOOLEAN Enable select acknowledgments (SACKS).
Documentation/s390/pci.rst +101 -43
200 lines not on this page · raw message
Documentation/s390/vfio-ccw.rst +1 -1
@@ -176,7 +176,7 @@ The process of how these work together. Use the 'mdev_create' sysfs file, we need to manually create one (and only one for our case) mediated device. 3. vfio_mdev.ko drives the mediated ccw device. - vfio_mdev is also the vfio device drvier. It will probe the mdev and + vfio_mdev is also the vfio device driver. It will probe the mdev and add it to an iommu_group and a vfio_group. Then we could pass through the mdev to a guest.
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 270 +SUBLEVEL = 271 EXTRAVERSION = NAME = Dare mighty things
arch/arm/mach-socfpga/Kconfig +1 -1
@@ -17,7 +17,7 @@ menuconfig ARCH_SOCFPGA select ARM_ERRATA_775420 select PL310_ERRATA_588369 select PL310_ERRATA_727915 - select PL310_ERRATA_753970 if PL310 + select PL310_ERRATA_753970 select PL310_ERRATA_769419 select RESET_CONTROLLER
arch/arm/mm/alignment.c +4 -0
@@ -23,6 +23,7 @@#include <asm/cp15.h> #include <asm/system_info.h> #include <asm/unaligned.h> +#include <asm/system_misc.h> #include <asm/opcodes.h> #include "fault.h"
@@ -809,6 +810,9 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)int thumb2_32b =0 ;int fault; +if (addr >=TASK_SIZE &&user_mode (regs)) +harden_branch_predictor (); +if (interrupts_enabled (regs))local_irq_enable ();
arch/arm/mm/fault.c +70 -12
139 lines not on this page · raw message
arch/arm64/include/asm/daifflags.h +5 -5
@@ -19,7 +19,7 @@/* mask/save/unmask/restore all exceptions, including interrupts. */ -static inline void local_daif_mask (void ) +static __always_inline void local_daif_mask(void) { WARN_ON(system_has_prio_mask_debugging() && (read_sysreg_s(SYS_ICC_PMR_EL1) == (GIC_PRIO_IRQOFF |
@@ -38,7 +38,7 @@ static inline void local_daif_mask(void)trace_hardirqs_off (); } -static inline unsigned long local_daif_save_flags (void ) +static __always_inline unsigned long local_daif_save_flags (void ) {unsigned long flags;
@@ -53,7 +53,7 @@ static inline unsigned long local_daif_save_flags(void)return flags; } -static inline unsigned long local_daif_save (void ) +static __always_inline unsigned long local_daif_save (void ) {unsigned long flags;
@@ -64,7 +64,7 @@ static inline unsigned long local_daif_save(void)return flags; } -static inline void local_daif_restore (unsigned long flags) +static __always_inline void local_daif_restore(unsigned long flags) {bool irq_disabled = flags &PSR_I_BIT ;
@@ -124,7 +124,7 @@ static inline void local_daif_restore(unsigned long flags)* Called by synchronous exception handlers to restore the DAIF bits that were * modified by taking an exception. */ -static inline void local_daif_inherit (struct pt_regs *regs) +static __always_inline void local_daif_inherit(struct pt_regs *regs) {unsigned long flags = regs->pstate &DAIF_MASK ;
arch/arm64/include/asm/fixmap.h +5 -1
@@ -73,8 +73,12 @@ enum fixed_addresses {/* * Temporary boot-time mappings, used by early_ioremap(), * before ioremap() is functional. +* +* Reserve one extra page so a 256K mapping may start at any +* offset within a page. early_ioremap() maps the page-aligned +* physical range, so the initial offset can consume an extra page. */ -#define NR_FIX_BTMAPS (SZ_256K / PAGE_SIZE) +#define NR_FIX_BTMAPS ((SZ_256K / PAGE_SIZE) + 1)#define FIX_BTMAPS_SLOTS 7#define TOTAL_FIX_BTMAPS (NR_FIX_BTMAPS * FIX_BTMAPS_SLOTS)
arch/arm64/include/asm/kprobes.h +6 -0
@@ -26,6 +26,12 @@struct prev_kprobe {struct kprobe *kp;unsigned int status; + +/* +* The original DAIF state of the outer kprobe, saved here before +* a nested kprobe overwrites kcb->saved_irqflag during reentry. +*/ +unsigned long saved_irqflag; };/* Single step context for kprobe */
arch/arm64/include/asm/percpu.h +8 -8
@@ -177,13 +177,13 @@ PERCPU_RET_OP(add, add, ldadd) _pcp_protect_return(__percpu_read_64, pcp)#define this_cpu_write_1 (pcp, val) \ - _pcp_protect(__percpu_write_8, pcp, (unsigned long)val) + _pcp_protect(__percpu_write_8, pcp, (unsigned long)(val))#define this_cpu_write_2 (pcp, val) \ - _pcp_protect(__percpu_write_16, pcp, (unsigned long)val) + _pcp_protect(__percpu_write_16, pcp, (unsigned long)(val))#define this_cpu_write_4 (pcp, val) \ - _pcp_protect(__percpu_write_32, pcp, (unsigned long)val) + _pcp_protect(__percpu_write_32, pcp, (unsigned long)(val))#define this_cpu_write_8 (pcp, val) \ - _pcp_protect(__percpu_write_64, pcp, (unsigned long)val) + _pcp_protect(__percpu_write_64, pcp, (unsigned long)(val))#define this_cpu_add_1 (pcp, val) \ _pcp_protect(__percpu_add_case_8, pcp, val)
@@ -204,13 +204,13 @@ PERCPU_RET_OP(add, add, ldadd) _pcp_protect_return(__percpu_add_return_case_64, pcp, val)#define this_cpu_and_1 (pcp, val) \ - _pcp_protect(__percpu_andnot_case_8, pcp, ~val) + _pcp_protect(__percpu_andnot_case_8, pcp, ~(u8)(val))#define this_cpu_and_2 (pcp, val) \ - _pcp_protect(__percpu_andnot_case_16, pcp, ~val) + _pcp_protect(__percpu_andnot_case_16, pcp, ~(u16)(val))#define this_cpu_and_4 (pcp, val) \ - _pcp_protect(__percpu_andnot_case_32, pcp, ~val) + _pcp_protect(__percpu_andnot_case_32, pcp, ~(u32)(val))#define this_cpu_and_8 (pcp, val) \ - _pcp_protect(__percpu_andnot_case_64, pcp, ~val) + _pcp_protect(__percpu_andnot_case_64, pcp, ~(u64)(val))#define this_cpu_or_1 (pcp, val) \ _pcp_protect(__percpu_or_case_8, pcp, val)
arch/arm64/kernel/probes/kprobes.c +22 -1
@@ -145,12 +145,27 @@ static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) { kcb->prev_kprobe.kp =kprobe_running (); kcb->prev_kprobe.status = kcb->kprobe_status; + +/* +* Save the outer kprobe's original DAIF flags before the nested +* kprobe calls kprobes_save_local_irqflag() and overwrites +* kcb->saved_irqflag. Without this, the outer kprobe will restore +* the wrong DAIF state and leave interrupts permanently masked. +*/ + kcb->prev_kprobe.saved_irqflag = kcb->saved_irqflag; }static void __kprobes restore_previous_kprobe (struct kprobe_ctlblk *kcb) {__this_cpu_write (current_kprobe, kcb->prev_kprobe.kp); kcb->kprobe_status = kcb->prev_kprobe.status; + +/* +* Restore the outer kprobe's saved_irqflag so that when its +* single-step completes, kprobes_restore_local_irqflag() uses +* the correct original DAIF value. +*/ + kcb->saved_irqflag = kcb->prev_kprobe.saved_irqflag; }static void __kprobes set_current_kprobe (struct kprobe *p)
@@ -225,10 +240,16 @@ static int __kprobes reenter_kprobe(struct kprobe *p,switch (kcb->kprobe_status) {case KPROBE_HIT_SSDONE :case KPROBE_HIT_ACTIVE : +case KPROBE_HIT_SS : +/* +* A probe can be hit while another kprobe is preparing or +* executing its XOL single-step instruction. This is still a +* recoverable one-level reentry, so handle it in the same way as +* reentry from KPROBE_HIT_ACTIVE or KPROBE_HIT_SSDONE. +*/ kprobes_inc_nmissed_count (p);setup_singlestep (p, regs, kcb,1 );break ; -case KPROBE_HIT_SS :case KPROBE_REENTER :pr_warn ("Unrecoverable kprobe detected.\n" );dump_kprobe (p);
arch/mips/cavium-octeon/octeon-platform.c +2 -2
@@ -15,7 +15,7 @@#include <asm/octeon/octeon.h> #include <asm/octeon/cvmx-helper-board.h> -#ifdef CONFIG_USB +#if IS_ENABLED (CONFIG_USB )#include <linux/usb/ehci_def.h> #include <linux/usb/ehci_pdriver.h> #include <linux/usb/ohci_pdriver.h>
@@ -1079,7 +1079,7 @@ int __init octeon_prune_device_tree(void) ; } -#ifdef CONFIG_USB +#if IS_ENABLED (CONFIG_USB )/* OHCI/UHCI USB */ alias_prop =fdt_getprop (initial_boot_params, aliases,"uctl" ,NULL );
arch/mips/kernel/cps-vec.S +6 -0
@@ -395,8 +395,11 @@ LEAF(mips_cps_boot_vpes) .set pop PTR_LA t1, 1f + .set push + .set MIPS_ISA_LEVEL_RAW jr.hb t1 nop + .set pop 1: mfc0 t1, CP0_MVPCONTROL ori t1, t1, MVPCONTROL_VPC mtc0 t1, CP0_MVPCONTROL
@@ -509,8 +512,11 @@ LEAF(mips_cps_boot_vpes) li t0, TCHALT_H mtc0 t0, CP0_TCHALT PTR_LA t0, 1f + .set push + .set MIPS_ISA_LEVEL_RAW 1: jr.hb t0 nop + .set pop 2:
arch/powerpc/kernel/eeh_driver.c +0 -2
@@ -534,9 +534,7 @@ static void eeh_rmv_device(struct eeh_dev *edev, void *userdata)if (rmv_data)list_add (&edev->rmv_entry, &rmv_data->removed_vf_list); }else { -pci_lock_rescan_remove ();pci_stop_and_remove_bus_device (dev); -pci_unlock_rescan_remove (); } }
arch/powerpc/kernel/iommu.c +1 -1
@@ -999,7 +999,7 @@ int iommu_tce_check_ioba(unsigned long page_shift,if (ioba < offset)return -EINVAL ; -if ((ioba +1 ) > (offset + size)) +if ((ioba + npages < ioba) || (ioba - offset + npages > size))return -EINVAL ;return 0 ;
arch/powerpc/kexec/file_load_64.c +1 -1
@@ -478,7 +478,7 @@ static int add_usable_mem(struct umem_info *um_info, u64 base, u64 end) loc_end = um_info->ranges[i].end;if (loc_base >= base && loc_end <= end) add = true; -else if (base < loc_end && end > loc_base) { +else if (base <= loc_end && end >= loc_base) {if (loc_base < base) loc_base = base;if (loc_end > end)
arch/powerpc/kvm/book3s_hv.c +2 -2
@@ -5286,12 +5286,12 @@ static int kvmppc_irq_bypass_add_producer_hv(struct irq_bypass_consumer *cons,struct kvm_kernel_irqfd *irqfd = container_of(cons, struct kvm_kernel_irqfd, consumer); - irqfd->producer = prod; - ret =kvmppc_set_passthru_irq (irqfd->kvm, prod->irq, irqfd->gsi);if (ret)pr_info ("kvmppc_set_passthru_irq (irq %d, gsi %d) fails: %d\n" , prod->irq, irqfd->gsi, ret); +else + irqfd->producer = prod;return ret; }
arch/powerpc/kvm/book3s_hv_uvmem.c +4 -1
@@ -770,8 +770,11 @@ static int kvmppc_svm_page_in(struct vm_area_struct *vma,if (spage) { ret =uv_page_in (kvm->arch.lpid, pfn << page_shift, gpa,0 , page_shift); -if (ret) +if (ret) { +unlock_page (dpage); +put_page (dpage); goto out_finalize; + } } }
arch/powerpc/platforms/pseries/kexec.c +8 -5
@@ -20,12 +20,15 @@void pseries_kexec_cpu_down (int crash_shutdown,int secondary) {/* -* Don't risk a hypervisor call if we're crashing -* XXX: Why? The hypervisor is not crashing. It might be better -* to at least attempt unregister to avoid the hypervisor stepping -* on our memory. +* Ensure vpa/slb_shadow/dtl cleanup even while we are crashing. +* Why? The hypervisor is not crashing so at least attempt unregister to +* avoid the hypervisor stepping on our memory. If hypervisor or kexec +* kernel steps on the old memory allocated to these areas before the +* new kexec-kernel happens to allocate and register new areas, +* the hypervisor will see invalid content which may cause +* unexpected behavior. */ -if (firmware_has_feature (FW_FEATURE_SPLPAR ) && !crash_shutdown) { +if (firmware_has_feature (FW_FEATURE_SPLPAR )) {int ret;int cpu =smp_processor_id ();int hwcpu =hard_smp_processor_id ();
arch/s390/crypto/aes_s390.c +12 -4
@@ -607,6 +607,7 @@ static int ctr_aes_crypt(struct skcipher_request *req)memcpy (walk.dst.virt.addr, buf, nbytes);crypto_inc (walk.iv,AES_BLOCK_SIZE ); ret =skcipher_walk_done (&walk,0 ); +memzero_explicit (buf,sizeof (buf)); }return ret;
@@ -908,10 +909,14 @@ static int gcm_aes_crypt(struct aead_request *req, unsigned int flags) gw_in.ptr, aad_bytes); n = aad_bytes + pc_bytes; -if (gcm_in_walk_done (&gw_in, n) != n) -return -ENOMEM ; -if (gcm_out_walk_done (&gw_out, n) != n) -return -ENOMEM ; +if (gcm_in_walk_done (&gw_in, n) != n) { + ret = -ENOMEM ; + goto out; + } +if (gcm_out_walk_done (&gw_out, n) != n) { + ret = -ENOMEM ; + goto out; + } aadlen -= aad_bytes; pclen -= pc_bytes; }while (aadlen + pclen >0 );
@@ -923,7 +928,10 @@ static int gcm_aes_crypt(struct aead_request *req, unsigned int flags) }else scatterwalk_map_and_copy (param.t, req->dst, len, taglen,1 ); +out:memzero_explicit (¶m,sizeof (param)); +memzero_explicit (gw_in.buf,sizeof (gw_in.buf)); +memzero_explicit (gw_out.buf,sizeof (gw_out.buf));return ret; }
arch/s390/pci/pci_sysfs.c +9 -0
@@ -131,6 +131,13 @@ static ssize_t report_error_write(struct file *filp, struct kobject *kobj, } static BIN_ATTR(report_error, S_IWUSR, NULL, report_error_write, PAGE_SIZE); +static ssize_t uid_is_unique_show (struct device *dev, +struct device_attribute *attr,char *buf) +{ +return sysfs_emit (buf,"%d\n" , zpci_unique_uid ?1 :0 ); +} +static DEVICE_ATTR_RO (uid_is_unique); +static struct bin_attribute *zpci_bin_attrs[] = { &bin_attr_util_string, &bin_attr_report_error,
@@ -148,8 +155,10 @@ static struct attribute *zpci_dev_attrs[] = { &dev_attr_uid.attr, &dev_attr_recover.attr, &dev_attr_mio_enabled.attr, + &dev_attr_uid_is_unique.attr, NULL, }; +static struct attribute_group zpci_attr_group = { .attrs = zpci_dev_attrs, .bin_attrs = zpci_bin_attrs,
arch/sparc/Kconfig +1 -0
@@ -496,6 +496,7 @@ endmenu config COMPAT bool depends on SPARC64 + depends on !LD_IS_LLD default y select COMPAT_BINFMT_ELF if BINFMT_ELF select HAVE_UID16
arch/sparc/kernel/uprobes.c +1 -0
@@ -278,6 +278,7 @@ int arch_uprobe_exception_notify(struct notifier_block *self,case DIE_SSTEP :if (uprobe_post_sstep_notifier (args->regs)) ret =NOTIFY_STOP ; +break ;default :break ;
arch/x86/pci/fixup.c +99 -0
103 lines not on this page · raw message
block/blk-cgroup.c +2 -2
@@ -295,15 +295,15 @@ static struct blkcg_gq *blkg_create(struct blkcg *blkcg, blkg->pd[i]->online = true; } } + blkg->online = true; } - blkg->online = true;spin_unlock (&blkcg->lock);if (!ret)return blkg;/* @blkg failed fully initialized, use the usual release path */ -blkg_put (blkg); +percpu_ref_kill (&blkg->refcnt);return ERR_PTR (ret); err_put_css:
crypto/Makefile +5 -0
@@ -176,6 +176,11 @@ obj-$(CONFIG_CRYPTO_ECC) += ecc.o obj-$(CONFIG_CRYPTO_ESSIV) += essiv.o obj-$(CONFIG_CRYPTO_CURVE25519) += curve25519-generic.o +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124949 +ifeq ($(CONFIG_ARM)$(CONFIG_KASAN_STACK)$(CONFIG_CC_IS_GCC),yyy) +CFLAGS_ecc.o += $(call cc-option,-Wframe-larger-than=1536) +endif + ecdh_generic-y += ecdh.o ecdh_generic-y += ecdh_helper.o obj-$(CONFIG_CRYPTO_ECDH) += ecdh_generic.o
drivers/acpi/acpica/dsmethod.c +43 -0
55 lines not on this page · raw message
drivers/acpi/acpica/evhandler.c +11 -0
@@ -130,6 +130,14 @@ acpi_ev_has_default_handler(struct acpi_namespace_node *node,/* Walk the linked list of handlers for this object */ while (handler_obj) { + +/* Validate handler object type before accessing fields */ + +if (handler_obj->common.type != +ACPI_TYPE_LOCAL_ADDRESS_HANDLER ) { +break ; + } +if (handler_obj->address_space.space_id == space_id) {if (handler_obj->address_space.handler_flags &ACPI_ADDR_HANDLER_DEFAULT_INSTALLED ) {
@@ -292,6 +300,9 @@ union acpi_operand_object *acpi_ev_find_region_handler(acpi_adr_space_type/* Walk the handler list for this device */ while (handler_obj) { +if (handler_obj->common.type !=ACPI_TYPE_LOCAL_ADDRESS_HANDLER ) { +break ; + }/* Same space_id indicates a handler is installed */
drivers/acpi/acpica/exoparg3.c +1 -1
@@ -152,7 +152,7 @@ acpi_status acpi_ex_opcode_3A_1T_1R(struct acpi_walk_state *walk_state)/* Truncate request if larger than the actual String/Buffer */ - else if ((index + length) > operand[0]->string.length) { + else if ((index + length) > operand[0]->string.length || (index + length) < index) { /* Check for overflow */ length = (acpi_size )operand[0 ]->string.length - (acpi_size )index;
drivers/acpi/acpica/nsnames.c +6 -0
@@ -222,6 +222,12 @@ acpi_ns_build_normalized_path(struct acpi_namespace_node *node, goto build_trailing_null; } +/* Validate the Node to avoid use-after-free vulnerabilities */ + +if (ACPI_GET_DESCRIPTOR_TYPE (node) !=ACPI_DESC_TYPE_NAMED ) { + goto build_trailing_null; + } + next_node = node;while (next_node && next_node != acpi_gbl_root_node) {if (next_node != node) {
drivers/acpi/acpica/nsprepkg.c +7 -0
@@ -631,6 +631,13 @@ acpi_ns_custom_package(struct acpi_evaluate_info *info,/* Get version number, must be Integer */ +if (!(*elements)) { +ACPI_WARN_PREDEFINED ((AE_INFO , info->full_pathname, + info->node_flags, +"Return Package has a NULL version element" )); +return_ACPI_STATUS (AE_AML_OPERAND_TYPE ); + } +if ((*elements)->common.type !=ACPI_TYPE_INTEGER ) { ACPI_WARN_PREDEFINED((AE_INFO, info->full_pathname, info->node_flags,
drivers/acpi/acpica/nsxfname.c +4 -0
@@ -512,6 +512,10 @@ acpi_status acpi_install_method(u8 *buffer) parser_state.aml +=acpi_ps_get_opcode_size (opcode); parser_state.pkg_end =acpi_ps_get_next_package_end (&parser_state); +if ((parser_state.pkg_end > parser_state.aml_end) || + (parser_state.pkg_end < parser_state.aml)) { +return (AE_AML_PACKAGE_LIMIT ); + } path =acpi_ps_get_next_namestring (&parser_state); method_flags = *parser_state.aml++;
drivers/acpi/acpica/psargs.c +123 -11
236 lines not on this page · raw message
drivers/acpi/acpica/psloop.c +29 -1
@@ -362,6 +362,13 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) walk_state->parser_state.aml =acpi_ps_get_next_package_end (&walk_state->parser_state); +if ((walk_state->parser_state.aml > + walk_state->parser_state.aml_end) + || (walk_state->parser_state.aml < + walk_state->aml)) { +return_ACPI_STATUS + (AE_AML_PACKAGE_LIMIT ); + } walk_state->aml = walk_state->parser_state.aml; }
@@ -422,11 +429,22 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) parser_state->aml =acpi_ps_get_next_package_end (parser_state); +if ((parser_state->aml > + parser_state->aml_end) + || (parser_state->aml < + walk_state->control_state-> + control.aml_predicate_start)) { +return_ACPI_STATUS + (AE_AML_PACKAGE_LIMIT ); + } walk_state->aml = parser_state->aml;ACPI_ERROR ((AE_INFO ,"Skipping While/If block" )); -if (*walk_state->aml ==AML_ELSE_OP ) { +if ((walk_state->aml < + parser_state->aml_end) + && (*walk_state->aml == +AML_ELSE_OP )) {ACPI_ERROR ((AE_INFO ,"Skipping Else block" )); walk_state->parser_state.aml =
@@ -434,6 +452,16 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) walk_state->parser_state.aml =acpi_ps_get_next_package_end (parser_state); +if ((walk_state->parser_state. + aml > + walk_state->parser_state. + aml_end) + || (walk_state-> + parser_state.aml < + walk_state->aml)) { +return_ACPI_STATUS + (AE_AML_PACKAGE_LIMIT ); + } walk_state->aml = parser_state->aml; }
drivers/acpi/acpica/psparse.c +14 -0
@@ -70,6 +70,9 @@ u16 acpi_ps_peek_opcode(struct acpi_parse_state * parser_state)u16 opcode; aml = parser_state->aml; +if (aml >= parser_state->aml_end) { +return (0xFFFF ); + } opcode = (u16 )ACPI_GET8 (aml);if (opcode ==AML_EXTENDED_PREFIX ) {
@@ -77,6 +80,9 @@ u16 acpi_ps_peek_opcode(struct acpi_parse_state * parser_state)/* Extended opcode, get the second opcode byte */ aml++; +if (aml >= parser_state->aml_end) { +return (0xFFFF ); + } opcode = (u16) ((opcode <<8 ) |ACPI_GET8 (aml)); }
@@ -300,6 +306,7 @@ acpi_ps_next_parse_state(struct acpi_walk_state *walk_state, {struct acpi_parse_state *parser_state = &walk_state->parser_state;acpi_status status =AE_CTRL_PENDING ; +u8 *aml;ACPI_FUNCTION_TRACE_PTR (ps_next_parse_state, op);
@@ -344,7 +351,14 @@ acpi_ps_next_parse_state(struct acpi_walk_state *walk_state,* Predicate of an IF was true, and we are at the matching ELSE. * Just close out this package */ + aml = parser_state->aml; + parser_state->aml =acpi_ps_get_next_package_end (parser_state); +if ((parser_state->aml > parser_state->aml_end) || + (parser_state->aml < aml)) { + status =AE_AML_PACKAGE_LIMIT ; +break ; + } status =AE_CTRL_PENDING ;break ;
drivers/acpi/acpica/utcopy.c +9 -1
@@ -731,7 +731,15 @@ acpi_ut_copy_simple_object(union acpi_operand_object *source_desc,break ; } -acpi_ut_add_reference (source_desc->reference.object); +/* +* Local/Arg/Debug references do not have a valid Object pointer +* that can be referenced +*/ +if ((source_desc->reference.class !=ACPI_REFCLASS_LOCAL ) && + (source_desc->reference.class !=ACPI_REFCLASS_ARG ) && + (source_desc->reference.class !=ACPI_REFCLASS_DEBUG )) { +acpi_ut_add_reference (source_desc->reference.object); + }break ;case ACPI_TYPE_REGION :
drivers/acpi/acpica/utresrc.c +30 -0
@@ -161,6 +161,28 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,/* Walk the byte list, abort on any invalid descriptor type or length */ while (aml < end_aml) { +/* +* Validate that the remaining buffer space can hold enough +* bytes to safely access fields during validation. +* For large resource descriptors (bit 7 set), we need enough +* bytes to access the Type field in serial_bus resources. +* Small resource descriptors only need sizeof(struct aml_resource_end_tag). +*/ +if ((acpi_size)(end_aml - aml) < +sizeof (struct aml_resource_end_tag )) { +return_ACPI_STATUS (AE_AML_BUFFER_LENGTH ); + } + +/* +* For large resource descriptors, ensure enough space for +* the header plus serial_bus Type field access. +*/ +if ((ACPI_GET8 (aml) &ACPI_RESOURCE_NAME_LARGE ) && + ((acpi_size)(end_aml - aml) < + ACPI_OFFSET(struct aml_resource_common_serialbus, + type) +1 )) { +return_ACPI_STATUS (AE_AML_BUFFER_LENGTH ); + }/* Validate the Resource Type and Resource Length */
@@ -178,6 +200,14 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state, length =acpi_ut_get_descriptor_length (aml); +/* +* Validate that the descriptor length doesn't exceed the +* remaining buffer size to prevent reading beyond the end. +*/ +if (length > (acpi_size)(end_aml - aml)) { +return_ACPI_STATUS (AE_AML_BUFFER_LENGTH ); + } +/* Invoke the user function */ if (user_function) {
drivers/ata/ahci.c +22 -0
@@ -1768,6 +1768,24 @@ static ssize_t remapped_nvme_show(struct device *dev,static DEVICE_ATTR_RO (remapped_nvme); +static int ahci_validate_bar_size (struct pci_dev *pdev,int bar, +struct ahci_host_priv *hpriv) +{ +u32 cap =readl (hpriv->mmio +HOST_CAP ); +unsigned int max_ports =ahci_nr_ports (cap); +u32 last_port_end =0x100 + (max_ports *0x80 ); +resource_size_t bar_size =pci_resource_len (pdev, bar); + +if (last_port_end > bar_size) { +dev_warn (&pdev->dev, +"BAR%d too small for %u ports (last port ends at %#x, BAR %pa)\n" , + bar, max_ports, last_port_end, &bar_size); +return -ENODEV ; + } + +return 0 ; +} +static int ahci_init_one (struct pci_dev *pdev,const struct pci_device_id *ent) {unsigned int board_id = ent->driver_data;
@@ -1872,6 +1890,10 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) hpriv->mmio =pcim_iomap_table (pdev)[ahci_pci_bar]; + rc =ahci_validate_bar_size (pdev, ahci_pci_bar, hpriv); +if (rc) +return rc; +/* detect remapped nvme devices */ ahci_remap_check (pdev, ahci_pci_bar, hpriv);
drivers/ata/libahci.c +14 -1
@@ -688,15 +688,28 @@ void ahci_start_fis_rx(struct ata_port *ap)struct ahci_port_priv *pp = ap->private_data;u32 tmp; -/* set FIS registers */ +/* +* On HBAs that only support 32-bit addressing PxCLBU is read only '0'. +* When applying the AHCI_HFLAG_32BIT_ONLY quirk, PxCLBU is RW, and the +* reset value is Implementation Specific, so we need to clear it to 0. +*/ if (hpriv->cap &HOST_CAP_64 )writel ((pp->cmd_slot_dma >>16 ) >>16 , port_mmio +PORT_LST_ADDR_HI ); +else if (hpriv->flags &AHCI_HFLAG_32BIT_ONLY ) +writel (0 , port_mmio +PORT_LST_ADDR_HI );writel (pp->cmd_slot_dma &0xffffffff , port_mmio +PORT_LST_ADDR ); +/* +* On HBAs that only support 32-bit addressing PxFBU is read only '0'. +* When applying the AHCI_HFLAG_32BIT_ONLY quirk, PxFBU is RW, and the +* reset value is Implementation Specific, so we need to clear it to 0. +*/ if (hpriv->cap &HOST_CAP_64 )writel ((pp->rx_fis_dma >>16 ) >>16 , port_mmio +PORT_FIS_ADDR_HI ); +else if (hpriv->flags &AHCI_HFLAG_32BIT_ONLY ) +writel (0 , port_mmio +PORT_FIS_ADDR_HI );writel (pp->rx_fis_dma &0xffffffff , port_mmio +PORT_FIS_ADDR );/* enable FIS reception */
drivers/ata/libata-pmp.c +6 -1
@@ -446,8 +446,13 @@ static void sata_pmp_quirks(struct ata_port *ap)* otherwise. Don't try hard to recover it. */ ap->pmp_link[ap->nr_pmp_links -1 ].flags |=ATA_LFLAG_NO_RETRY ; - }else if (vendor ==0x197b && (devid ==0x2352 || devid ==0x0325 )) { + }else if (vendor ==0x197b && + (devid ==0x0562 || devid ==0x2352 || devid ==0x0325 )) {/* +* 0x0562: JMicron JMS562, as used in QNAP QDA-A2AR RAID1 +* adapters. The exported device may stay not ready +* while the array is rebuilding, and SRST/classify can +* time out before the RAID volume is exported. * 0x2352: found in Thermaltake BlackX Duet, jmicron JMB350? * 0x0325: jmicron JMB394. */
drivers/block/sunvdc.c +25 -1
@@ -524,6 +524,23 @@ static int __send_request(struct request *req) err =__vdc_tx_trigger (port);if (err <0 ) { printk(KERN_ERR PFX "vdc_tx_trigger() failure, err=%d\n", err); +/* +* If the port was reset (-ENOTCONN), the dring and the +* LDC channel including all of its mappings are already +* torn down and reallocated - there is nothing to undo +* and @desc must not be touched. +* +* For any other failure the descriptor was never handed +* to the peer: unmap the cookies and free the descriptor +* again, so that a later retry of the request does not +* leak LDC map table entries. +*/ +if (err != -ENOTCONN ) { +ldc_unmap (port->vio.lp, desc->cookies, + desc->ncookies); + desc->hdr.state =VIO_DESC_FREE ; + rqe->req =NULL ; + } }else { port->req_id++; dr->prod =vio_dring_next (dr, dr->prod);
@@ -538,6 +555,7 @@ static blk_status_t vdc_queue_rq(struct blk_mq_hw_ctx *hctx,struct vdc_port *port = hctx->queue->queuedata;struct vio_dring_state *dr;unsigned long flags; +int ret; dr = &port->vio.drings[VIO_DRIVER_TX_RING ];
@@ -559,7 +577,13 @@ static blk_status_t vdc_queue_rq(struct blk_mq_hw_ctx *hctx,return BLK_STS_DEV_RESOURCE ; } -if (__send_request (bd->rq) <0 ) { + ret =__send_request (bd->rq); +if (ret == -EAGAIN ) { +spin_unlock_irqrestore (&port->vio.lock, flags); +/* already spun for 10msec, defer 10msec and retry */ +blk_mq_delay_kick_requeue_list (hctx->queue,10 ); +return BLK_STS_DEV_RESOURCE ; + }else if (ret <0 ) {spin_unlock_irqrestore (&port->vio.lock, flags);return BLK_STS_IOERR ; }
drivers/bluetooth/btmtksdio.c +1 -3
@@ -897,10 +897,8 @@ static int btmtksdio_shutdown(struct hci_dev *hdev) wmt_params.status =NULL ; err =mtk_hci_wmt_sync (hdev, &wmt_params); -if (err <0 ) { +if (err <0 )bt_dev_err (hdev,"Failed to send wmt func ctrl (%d)" , err); -return err; - }pm_runtime_put_noidle (bdev->dev);pm_runtime_disable (bdev->dev);
drivers/bluetooth/btusb.c +17 -6
@@ -62,6 +62,15 @@ static struct usb_driver btusb_driver;#define BTUSB_QCA_WCN6855 0x1000000static const struct usb_device_id btusb_table[] = { +/* +* NXP IW610 (0471:0215): the composite device reports Bluetooth +* class at the whole-device level, so the generic entry below +* would also match this WiFi vendor interface. Ignore it here +* first so mwifiex-nxp can bind it instead. +*/ + {USB_DEVICE_AND_INTERFACE_INFO (0x0471 ,0x0215 ,0xff ,0xff ,0xff ), + .driver_info =BTUSB_IGNORE }, +/* Generic Bluetooth USB device */ {USB_DEVICE_INFO (0xe0 ,0x01 ,0x01 ) },
@@ -359,6 +368,14 @@ static const struct usb_device_id blacklist_table[] = { { USB_DEVICE(0x1286, 0x2046), .driver_info = BTUSB_MARVELL }, { USB_DEVICE(0x1286, 0x204e), .driver_info = BTUSB_MARVELL }, +/* +* NXP IW610 BT interfaces (Marvell-lineage silicon, same quirk as +* the 0x1286 entries above). Scoped to the BT interface class, +* not just VID/PID -- see the btusb_table entry above. +*/ + { USB_DEVICE_AND_INTERFACE_INFO(0x0471, 0x0215, 0xe0, 0x01, 0x01), + .driver_info = BTUSB_MARVELL }, +/* Intel Bluetooth devices */ { USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_NEW | BTUSB_WIDEBAND_SPEECH |
@@ -481,12 +498,6 @@ static const struct usb_device_id blacklist_table[] = { { USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK }, - /* Additional Realtek 8761CU Bluetooth devices */ - { USB_DEVICE(0x0b05, 0x1bef), .driver_info = BTUSB_REALTEK | - BTUSB_WIDEBAND_SPEECH }, - { USB_DEVICE(0x0b05, 0x1d70), .driver_info = BTUSB_REALTEK | - BTUSB_WIDEBAND_SPEECH }, - /* Additional Realtek 8821AE Bluetooth devices */ { USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK },
drivers/bluetooth/hci_mrvl.c +1 -2
@@ -297,9 +297,8 @@ static int mrvl_load_firmware(struct hci_dev *hdev, const char *name) err =wait_on_bit_timeout (&mrvl->flags,STATE_FW_REQ_PENDING ,TASK_INTERRUPTIBLE ,msecs_to_jiffies (2000 )); -if (err ==1 ) { +if (err == -EINTR ) {bt_dev_err (hdev,"Firmware load interrupted" ); - err = -EINTR ;break ; }else if (err) {bt_dev_err (hdev,"Firmware request timeout" );
drivers/char/ipmi/ipmi_si_platform.c +4 -1
@@ -286,7 +286,10 @@ static int of_ipmi_probe(struct platform_device *pdev) io.regspacing = regspacing ?be32_to_cpup (regspacing) :DEFAULT_REGSPACING ; io.regshift = regshift ?be32_to_cpup (regshift) :0 ; - io.irq =irq_of_parse_and_map (pdev->dev.of_node,0 ); + io.irq =platform_get_irq_optional (pdev,0 ); +if (io.irq <0 ) + io.irq =0 ; + io.dev = &pdev->dev; dev_dbg(&pdev->dev, "addr 0x%lx regsize %d spacing %d irq %d\n",
drivers/char/nvram.c +3 -13
@@ -53,7 +53,6 @@#include <asm/nvram.h> #endif -static DEFINE_MUTEX (nvram_mutex);static DEFINE_SPINLOCK (nvram_state_lock);static int nvram_open_cnt;/* #times opened */ static int nvram_open_mode;/* special open modes */
@@ -310,11 +309,8 @@ static long nvram_misc_ioctl(struct file *file, unsigned int cmd,break ;#ifdef CONFIG_PPC32 case IOC_NVRAM_SYNC : -if (ppc_md.nvram_sync !=NULL ) { -mutex_lock (&nvram_mutex); +if (ppc_md.nvram_sync) ppc_md.nvram_sync (); -mutex_unlock (&nvram_mutex); - } ret =0 ;break ;#endif
@@ -324,11 +320,8 @@ static long nvram_misc_ioctl(struct file *file, unsigned int cmd,if (!capable (CAP_SYS_ADMIN ))return -EACCES ; -if (arch_nvram_ops.initialize !=NULL ) { -mutex_lock (&nvram_mutex); +if (arch_nvram_ops.initialize) ret = arch_nvram_ops.initialize (); -mutex_unlock (&nvram_mutex); - }break ;case NVRAM_SETCKS :/* just set checksum, contents unchanged (maybe useful after
@@ -336,11 +329,8 @@ static long nvram_misc_ioctl(struct file *file, unsigned int cmd,if (!capable (CAP_SYS_ADMIN ))return -EACCES ; -if (arch_nvram_ops.set_checksum !=NULL ) { -mutex_lock (&nvram_mutex); +if (arch_nvram_ops.set_checksum) ret = arch_nvram_ops.set_checksum (); -mutex_unlock (&nvram_mutex); - }break ;#endif /* CONFIG_X86 || CONFIG_M68K */ }
drivers/char/virtio_console.c +19 -3
@@ -1936,13 +1936,29 @@ static const struct file_operations portdev_fops = {static void remove_vqs (struct ports_device *portdev) {struct virtqueue *vq; +bool multiport =use_multiport (portdev);virtio_device_for_each_vq (portdev->vdev, vq) {struct port_buffer *buf; +unsigned int len; -flush_bufs (vq, true); -while ((buf =virtqueue_detach_unused_buf (vq))) -free_buf (buf, true); +/* +* c_ovq cookies are &portdev->cpkt, not port_buffer. +* Detach them but do not free_buf(). +*/ +if (multiport && vq == portdev->c_ovq) { +spin_lock (&portdev->c_ovq_lock); +while (virtqueue_get_buf (vq, &len)) + ; +while (virtqueue_detach_unused_buf (vq)) + ; +spin_unlock (&portdev->c_ovq_lock); + }else { +flush_bufs (vq, true); +while ((buf =virtqueue_detach_unused_buf (vq))) +free_buf (buf, true); + } +cond_resched (); } portdev->vdev->config->del_vqs (portdev->vdev);kfree (portdev->in_vqs);
drivers/clk/at91/pmc.h +2 -0
@@ -98,7 +98,9 @@ struct clk_pcr_layout {u32 pid_mask; }; +#undef field_get#define field_get (_mask, _reg) (((_reg) & (_mask)) >> (ffs(_mask) - 1)) +#undef field_prep#define field_prep (_mask, _val) (((_val) << (ffs(_mask) - 1)) & (_mask))#define ndck (a, s) (a[s - 1].id + 1)
drivers/clk/clk-scpi.c +1 -1
@@ -86,7 +86,7 @@ static unsigned long scpi_dvfs_recalc_rate(struct clk_hw *hw,int idx = clk->scpi_ops->dvfs_get_idx (clk->id);const struct scpi_opp *opp; -if (idx <0 ) +if (idx <0 || idx >= clk->info->count)return 0 ; opp = clk->info->opps + idx;
drivers/clk/keystone/sci-clk.c +8 -0
@@ -342,6 +342,14 @@ static int _sci_clk_build(struct sci_clk_provider *provider, init.ops = &sci_clk_ops; init.num_parents = sci_clk->num_parents; + +/* +* A clock rate query to the SCI firmware will return 0 if either the +* clock itself is disabled or the attached device/consumer is disabled. +* This makes it inherently unsuitable for the caching of the clk +* framework. +*/ + init.flags =CLK_GET_RATE_NOCACHE ; sci_clk->hw.init = &init; ret =devm_clk_hw_register (provider->dev, &sci_clk->hw);
drivers/clk/renesas/renesas-cpg-mssr.c +3 -0
@@ -280,6 +280,9 @@ struct clk *cpg_mssr_clk_src_twocell_get(struct of_phandle_args *clkspec,struct clk *clk;int range_check; +if (clkspec->args_count !=2 ) +return ERR_PTR (-EINVAL ); +switch (clkspec->args[0 ]) {case CPG_CORE : type ="core" ;
drivers/clk/socfpga/clk-agilex.c +2 -0
@@ -247,6 +247,8 @@ static const struct stratix10_perip_cnt_clock agilex_main_perip_cnt_clks[] = { 0, 0x3C, 0, 0, 0}, {AGILEX_NOC_FREE_CLK ,"noc_free_clk" ,NULL , noc_free_mux,ARRAY_SIZE (noc_free_mux), 0, 0x40, 0, 0, 0}, + { AGILEX_L3_MAIN_FREE_CLK, "l3_main_free_clk", "noc_free_clk", NULL, + 1, 0, 0, 1, 0, 0}, { AGILEX_L4_SYS_FREE_CLK, "l4_sys_free_clk", NULL, noc_mux, ARRAY_SIZE(noc_mux), 0, 0, 4, 0x30, 1}, { AGILEX_EMAC_A_FREE_CLK, "emaca_free_clk", NULL, emaca_free_mux, ARRAY_SIZE(emaca_free_mux),
drivers/cpufreq/cpufreq.c +3 -3
@@ -1204,7 +1204,7 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu)if (!policy)return NULL ; -if (!alloc_cpumask_var (&policy->cpus,GFP_KERNEL )) +if (!zalloc_cpumask_var (&policy->cpus,GFP_KERNEL )) goto err_free_policy;if (!zalloc_cpumask_var (&policy->related_cpus,GFP_KERNEL ))
@@ -1213,6 +1213,8 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu)if (!zalloc_cpumask_var (&policy->real_cpus,GFP_KERNEL )) goto err_free_rcpumask; +init_rwsem (&policy->rwsem); +init_completion (&policy->kobj_unregister); ret =kobject_init_and_add (&policy->kobj, &ktype_cpufreq, cpufreq_global_kobject,"policy%u" , cpu);
@@ -1227,8 +1229,6 @@ static struct cpufreq_policy *cpufreq_policy_alloc(unsigned int cpu) goto err_free_real_cpus; } -init_rwsem (&policy->rwsem); -freq_constraints_init (&policy->constraints); policy->nb_min.notifier_call = cpufreq_notifier_min;
drivers/crypto/allwinner/Kconfig +0 -16
@@ -69,14 +69,6 @@ config CRYPTO_DEV_SUN8I_CE_HASH help Say y to enable support for hash algorithms. -config CRYPTO_DEV_SUN8I_CE_PRNG - bool "Support for Allwinner Crypto Engine PRNG" - depends on CRYPTO_DEV_SUN8I_CE - select CRYPTO_RNG - help - Select this option if you want to provide kernel-side support for - the Pseudo-Random Number Generator found in the Crypto Engine. - config CRYPTO_DEV_SUN8I_CE_TRNG bool "Support for Allwinner Crypto Engine TRNG" depends on CRYPTO_DEV_SUN8I_CE
@@ -112,14 +104,6 @@ config CRYPTO_DEV_SUN8I_SS_DEBUG This will create /sys/kernel/debug/sun8i-ss/stats for displaying the number of requests per flow and per algorithm. -config CRYPTO_DEV_SUN8I_SS_PRNG - bool "Support for Allwinner Security System PRNG" - depends on CRYPTO_DEV_SUN8I_SS - select CRYPTO_RNG - help - Select this option if you want to provide kernel-side support for - the Pseudo-Random Number Generator found in the Security System. - config CRYPTO_DEV_SUN8I_SS_HASH bool "Enable support for hash on sun8i-ss" depends on CRYPTO_DEV_SUN8I_SS
drivers/crypto/allwinner/sun8i-ce/Makefile +0 -1
@@ -1,5 +1,4 @@ obj-$(CONFIG_CRYPTO_DEV_SUN8I_CE) += sun8i-ce.o sun8i-ce-y += sun8i-ce-core.o sun8i-ce-cipher.o sun8i-ce-$(CONFIG_CRYPTO_DEV_SUN8I_CE_HASH) += sun8i-ce-hash.o -sun8i-ce-$(CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG) += sun8i-ce-prng.o sun8i-ce-$(CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG) += sun8i-ce-trng.o
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +0 -54
120 lines not on this page · raw message
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-prng.c deleted +0 -164
164 lines not on this page · raw message
drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h +0 -29
@@ -15,7 +15,6 @@#include <linux/hw_random.h> #include <crypto/internal/hash.h> #include <crypto/md5.h> -#include <crypto/rng.h> #include <crypto/sha.h> /* CE Registers */
@@ -57,9 +56,7 @@#define CE_ALG_SHA384 20#define CE_ALG_SHA512 21#define CE_ALG_TRNG 48 -#define CE_ALG_PRNG 49#define CE_ALG_TRNG_V2 0x1c -#define CE_ALG_PRNG_V2 0x1d/* Used in ce_variant */ #define CE_ID_NOTSUPP 0xFF
@@ -94,10 +91,6 @@#define ESR_H5 3#define ESR_H6 4 -#define PRNG_DATA_SIZE (160 / 8) -#define PRNG_SEED_SIZE DIV_ROUND_UP(175, 8) -#define PRNG_LD BIT(17) -#define CE_DIE_ID_SHIFT 16#define CE_DIE_ID_MASK 0x07
@@ -130,13 +123,10 @@ struct ce_clock {* bytes or words * @hash_t_dlen_in_bytes: Does the request size for hash is in * bits or words -* @prng_t_dlen_in_bytes: Does the request size for PRNG is in -* bytes or words * @trng_t_dlen_in_bytes: Does the request size for TRNG is in * bytes or words * @ce_clks: list of clocks needed by this variant * @esr: The type of error register -* @prng: The CE_ALG_XXX value for the PRNG * @trng: The CE_ALG_XXX value for the TRNG */ struct ce_variant {
@@ -145,11 +135,9 @@ struct ce_variant {u32 op_mode[CE_ID_OP_MAX ];bool cipher_t_dlen_in_bytes;bool hash_t_dlen_in_bits; -bool prng_t_dlen_in_bytes;bool trng_t_dlen_in_bytes;struct ce_clock ce_clks[CE_MAX_CLOCKS ];int esr; -unsigned char prng;unsigned char trng; };
@@ -299,16 +287,6 @@ struct sun8i_ce_hash_reqctx {struct ahash_request fallback_req;// keep at the end }; -/* -* struct sun8i_ce_prng_ctx - context for PRNG TFM -* @seed: The seed to use -* @slen: The size of the seed -*/ -struct sun8i_ce_rng_tfm_ctx { -void *seed; -unsigned int slen; -}; -/* * struct sun8i_ce_alg_template - crypto_alg template * @type: the CRYPTO_ALG_TYPE for this template
@@ -329,7 +307,6 @@ struct sun8i_ce_alg_template {union {struct skcipher_alg skcipher;struct ahash_alg hash; -struct rng_alg rng; } alg;#ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG unsigned long stat_req;
@@ -365,11 +342,5 @@ int sun8i_ce_hash_finup(struct ahash_request *areq);int sun8i_ce_hash_digest (struct ahash_request *areq);int sun8i_ce_hash_run (struct crypto_engine *engine,void *breq); -int sun8i_ce_prng_generate (struct crypto_rng *tfm,const u8 *src, -unsigned int slen,u8 *dst,unsigned int dlen); -int sun8i_ce_prng_seed (struct crypto_rng *tfm,const u8 *seed,unsigned int slen); -void sun8i_ce_prng_exit (struct crypto_tfm *tfm); -int sun8i_ce_prng_init (struct crypto_tfm *tfm); -int sun8i_ce_hwrng_register (struct sun8i_ce_dev *ce);void sun8i_ce_hwrng_unregister (struct sun8i_ce_dev *ce);
drivers/crypto/allwinner/sun8i-ss/Makefile +0 -1
@@ -1,4 +1,3 @@ obj-$(CONFIG_CRYPTO_DEV_SUN8I_SS) += sun8i-ss.o sun8i-ss-y += sun8i-ss-core.o sun8i-ss-cipher.o -sun8i-ss-$(CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG) += sun8i-ss-prng.o sun8i-ss-$(CONFIG_CRYPTO_DEV_SUN8I_SS_HASH) += sun8i-ss-hash.o
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c +0 -39
@@ -22,7 +22,6 @@#include <linux/platform_device.h> #include <linux/pm_runtime.h> #include <linux/reset.h> -#include <crypto/internal/rng.h> #include <crypto/internal/skcipher.h> #include "sun8i-ss.h"
@@ -269,25 +268,6 @@ static struct sun8i_ss_alg_template ss_algs[] = { .decrypt = sun8i_ss_skdecrypt, } }, -#ifdef CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG -{ - .type = CRYPTO_ALG_TYPE_RNG, - .alg.rng = { - .base = { - .cra_name = "stdrng", - .cra_driver_name = "sun8i-ss-prng", - .cra_priority = 300, - .cra_ctxsize = sizeof(struct sun8i_ss_rng_tfm_ctx), - .cra_module = THIS_MODULE, - .cra_init = sun8i_ss_prng_init, - .cra_exit = sun8i_ss_prng_exit, - }, - .generate = sun8i_ss_prng_generate, - .seed = sun8i_ss_prng_seed, - .seedsize =PRNG_SEED_SIZE , - } -}, -#endif#ifdef CONFIG_CRYPTO_DEV_SUN8I_SS_HASH { .type = CRYPTO_ALG_TYPE_AHASH, .ss_algo_id = SS_ID_HASH_MD5,
@@ -431,12 +411,6 @@ static int sun8i_ss_debugfs_show(struct seq_file *seq, void *v) ss_algs[i].alg.skcipher.base.cra_name, ss_algs[i].stat_req, ss_algs[i].stat_fb);break ; -case CRYPTO_ALG_TYPE_RNG : -seq_printf (seq,"%s %s reqs=%lu tsize=%lu\n" , - ss_algs[i].alg.rng.base.cra_driver_name, - ss_algs[i].alg.rng.base.cra_name, - ss_algs[i].stat_req, ss_algs[i].stat_bytes); -break ;case CRYPTO_ALG_TYPE_AHASH : seq_printf(seq, "%s %s reqs=%lu fallback=%lu\n", ss_algs[i].alg.hash.halg.base.cra_driver_name,
@@ -626,14 +600,6 @@ static int sun8i_ss_register_algs(struct sun8i_ss_dev *ss)return err; }break ; -case CRYPTO_ALG_TYPE_RNG : - err =crypto_register_rng (&ss_algs[i].alg.rng); -if (err) { -dev_err (ss->dev,"Fail to register %s\n" , - ss_algs[i].alg.rng.base.cra_name); - ss_algs[i].ss =NULL ; - } -break ;case CRYPTO_ALG_TYPE_AHASH : id = ss_algs[i].ss_algo_id; ss_method = ss->variant->alg_hash[id];
@@ -675,11 +641,6 @@ static void sun8i_ss_unregister_algs(struct sun8i_ss_dev *ss) ss_algs[i].alg.skcipher.base.cra_name);crypto_unregister_skcipher (&ss_algs[i].alg.skcipher);break ; -case CRYPTO_ALG_TYPE_RNG : -dev_info (ss->dev,"Unregister %d %s\n" , i, - ss_algs[i].alg.rng.base.cra_name); -crypto_unregister_rng (&ss_algs[i].alg.rng); -break ;case CRYPTO_ALG_TYPE_AHASH :dev_info (ss->dev,"Unregister %d %s\n" , i, ss_algs[i].alg.hash.halg.base.cra_name);
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-prng.c deleted +0 -175
175 lines not on this page · raw message
drivers/crypto/allwinner/sun8i-ss/sun8i-ss.h +0 -23
@@ -8,7 +8,6 @@#include <crypto/aes.h> #include <crypto/des.h> #include <crypto/engine.h> -#include <crypto/rng.h> #include <crypto/skcipher.h> #include <linux/atomic.h> #include <linux/debugfs.h>
@@ -26,7 +25,6 @@#define SS_ALG_DES (1 << 2)#define SS_ALG_3DES (2 << 2)#define SS_ALG_MD5 (3 << 2) -#define SS_ALG_PRNG (4 << 2)#define SS_ALG_SHA1 (6 << 2)#define SS_ALG_SHA224 (7 << 2)#define SS_ALG_SHA256 (8 << 2)
@@ -67,8 +65,6 @@#define SS_FLOW0 BIT(30)#define SS_FLOW1 BIT(31) -#define SS_PRNG_CONTINUE BIT(18) -#define MAX_SG 8#define MAXFLOW 2
@@ -78,9 +74,6 @@#define SS_DIE_ID_SHIFT 20#define SS_DIE_ID_MASK 0x07 -#define PRNG_DATA_SIZE (160 / 8) -#define PRNG_SEED_SIZE DIV_ROUND_UP(175, 8) -/* * struct ss_clock - Describe clocks used by sun8i-ss * @name: Name of clock needed by this variant
@@ -214,16 +207,6 @@ struct sun8i_cipher_tfm_ctx {struct crypto_skcipher *fallback_tfm; }; -/* -* struct sun8i_ss_prng_ctx - context for PRNG TFM -* @seed: The seed to use -* @slen: The size of the seed -*/ -struct sun8i_ss_rng_tfm_ctx { -void *seed; -unsigned int slen; -}; -/* * struct sun8i_ss_hash_tfm_ctx - context for an ahash TFM * @enginectx: crypto_engine used by this TFM
@@ -273,7 +256,6 @@ struct sun8i_ss_alg_template {struct sun8i_ss_dev *ss;union {struct skcipher_alg skcipher; -struct rng_alg rng;struct ahash_alg hash; } alg;#ifdef CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG
@@ -297,11 +279,6 @@ int sun8i_ss_skencrypt(struct skcipher_request *areq);int sun8i_ss_get_engine_number (struct sun8i_ss_dev *ss);int sun8i_ss_run_task (struct sun8i_ss_dev *ss,struct sun8i_cipher_req_ctx *rctx,const char *name); -int sun8i_ss_prng_generate (struct crypto_rng *tfm,const u8 *src, -unsigned int slen,u8 *dst,unsigned int dlen); -int sun8i_ss_prng_seed (struct crypto_rng *tfm,const u8 *seed,unsigned int slen); -int sun8i_ss_prng_init (struct crypto_tfm *tfm); -void sun8i_ss_prng_exit (struct crypto_tfm *tfm);int sun8i_ss_hash_crainit (struct crypto_tfm *tfm);void sun8i_ss_hash_craexit (struct crypto_tfm *tfm);
drivers/crypto/atmel-ecc.c +3 -0
@@ -360,6 +360,8 @@ static int atmel_ecc_remove(struct i2c_client *client)static const struct of_device_id atmel_ecc_dt_ids[] = { { .compatible ="atmel,atecc508a" , + }, { + .compatible ="atmel,atecc608b" , }, {/* sentinel */ }
@@ -369,6 +371,7 @@ MODULE_DEVICE_TABLE(of, atmel_ecc_dt_ids);static const struct i2c_device_id atmel_ecc_id[] = { {"atecc508a" }, + {"atecc608b" }, { } };MODULE_DEVICE_TABLE (i2c, atmel_ecc_id);
drivers/dma/dmaengine.c +8 -2
@@ -426,6 +426,7 @@ static void dma_device_release(struct kref *ref)list_del_rcu (&device->global_node);dma_channel_rebalance (); +synchronize_rcu ();if (device->device_release) device->device_release (device);
@@ -493,10 +494,13 @@ static int dma_chan_get(struct dma_chan *chan)*/ static void dma_chan_put (struct dma_chan *chan) { +struct module *owner; +/* This channel is not in use, bail out */ if (!chan->client_count)return ; + owner =dma_chan_to_owner (chan); chan->client_count--;/* This channel is not in use anymore, free it */
@@ -513,8 +517,10 @@ static void dma_chan_put(struct dma_chan *chan) chan->route_data =NULL ; } -dma_device_put (chan->device); -module_put (dma_chan_to_owner (chan)); +/* This channel is not in use anymore, drop the device ref */ +if (!chan->client_count) +dma_device_put (chan->device); +module_put (owner); }enum dma_status dma_sync_wait (struct dma_chan *chan,dma_cookie_t cookie)
drivers/dma/mmp_pdma.c +1 -1
@@ -543,7 +543,7 @@ mmp_pdma_prep_slave_sg(struct dma_chan *dchan, struct scatterlist *sgl,for_each_sg (sgl, sg, sg_len, i) { addr =sg_dma_address (sg); - avail =sg_dma_len (sgl); + avail =sg_dma_len (sg); do { len = min_t(size_t, avail, PDMA_MAX_DESC_BYTES);
drivers/dma/sprd-dma.c +1 -2
@@ -1205,7 +1205,7 @@ static int sprd_dma_probe(struct platform_device *pdev) ret =pm_runtime_get_sync (&pdev->dev);if (ret <0 ) - goto err_rpm; + goto err_register; ret =dma_async_device_register (&sdev->dma_dev);if (ret <0 ) {
@@ -1227,7 +1227,6 @@ static int sprd_dma_probe(struct platform_device *pdev) err_register:pm_runtime_put_noidle (&pdev->dev);pm_runtime_disable (&pdev->dev); -err_rpm:sprd_dma_disable (sdev);return ret; }
drivers/dma/sun6i-dma.c +5 -4
@@ -345,8 +345,10 @@ static size_t sun6i_get_chan_size(struct sun6i_pchan *pchan)size_t bytes;dma_addr_t pos; - pos =readl (pchan->base +DMA_CHAN_LLI_ADDR ); - bytes =readl (pchan->base +DMA_CHAN_CUR_CNT ); +do { + pos =readl (pchan->base +DMA_CHAN_LLI_ADDR ); + bytes =readl (pchan->base +DMA_CHAN_CUR_CNT ); + }while (pos !=readl (pchan->base +DMA_CHAN_LLI_ADDR ));if (pos ==LLI_LAST_ITEM )return bytes;
@@ -929,7 +931,6 @@ static enum dma_status sun6i_dma_tx_status(struct dma_chan *chan,struct sun6i_pchan *pchan = vchan->phy;struct sun6i_dma_lli *lli;struct virt_dma_desc *vd; -struct sun6i_desc *txd;enum dma_status ret;unsigned long flags;size_t bytes =0 ;
@@ -941,9 +942,9 @@ static enum dma_status sun6i_dma_tx_status(struct dma_chan *chan,spin_lock_irqsave (&vchan->vc.lock, flags); vd =vchan_find_desc (&vchan->vc, cookie); - txd =to_sun6i_desc (&vd->tx);if (vd) { +struct sun6i_desc *txd =to_sun6i_desc (&vd->tx);for (lli = txd->v_lli; lli !=NULL ; lli = lli->v_lli_next) bytes += lli->len; }else if (!pchan || !pchan->desc) {
drivers/dma/ti/k3-udma-glue.c +3 -2
@@ -925,8 +925,9 @@ void k3_udma_glue_release_rx_chn(struct k3_udma_glue_rx_channel *rx_chn) rx_chn->psil_paired = false; } -for (i =0 ; i < rx_chn->flow_num; i++) -k3_udma_glue_release_rx_flow (rx_chn, i); +if (rx_chn->flows) +for (i =0 ; i < rx_chn->flow_num; i++) +k3_udma_glue_release_rx_flow (rx_chn, i);if (xudma_rflow_is_gp (rx_chn->common.udmax, rx_chn->flow_id_base)) xudma_free_gp_rflow_range(rx_chn->common.udmax,
drivers/dma/xilinx/xilinx_dma.c +18 -8
@@ -725,15 +725,25 @@ xilinx_aximcdma_alloc_tx_segment(struct xilinx_dma_chan *chan)return segment; } -static void xilinx_dma_clean_hw_desc (struct xilinx_axidma_desc_hw *hw) +static void xilinx_dma_clean_hw_desc (struct xilinx_dma_chan *chan, +struct xilinx_axidma_tx_segment *segment) { -u32 next_desc = hw->next_desc; -u32 next_desc_msb = hw->next_desc_msb; +dma_addr_t next; +u32 i; -memset (hw,0 ,sizeof (struct xilinx_axidma_desc_hw )); +/* +* Restore the buffer descriptor's next descriptor pointer to the value +* set up in xilinx_dma_alloc_chan_resources(). Otherwise using the DMA +* in cyclic mode leaves the next descriptor pointer altered and +* prevents subsequent non-cyclic transfers. +*/ + i = segment - chan->seg_v; + next = chan->seg_p + +sizeof (*chan->seg_v) * ((i +1 ) %XILINX_DMA_NUM_DESCS ); - hw->next_desc = next_desc; - hw->next_desc_msb = next_desc_msb; +memset (&segment->hw,0 ,sizeof (segment->hw)); + segment->hw.next_desc =lower_32_bits (next); + segment->hw.next_desc_msb =upper_32_bits (next); }static void xilinx_mcdma_clean_hw_desc (struct xilinx_aximcdma_desc_hw *hw)
@@ -755,7 +765,7 @@ static void xilinx_mcdma_clean_hw_desc(struct xilinx_aximcdma_desc_hw *hw)static void xilinx_dma_free_tx_segment (struct xilinx_dma_chan *chan,struct xilinx_axidma_tx_segment *segment) { -xilinx_dma_clean_hw_desc (&segment->hw); +xilinx_dma_clean_hw_desc (chan, segment);list_add_tail (&segment->node, &chan->free_seg_list); }
@@ -889,9 +899,9 @@ static void xilinx_dma_free_descriptors(struct xilinx_dma_chan *chan)spin_lock_irqsave (&chan->lock, flags); -xilinx_dma_free_desc_list (chan, &chan->pending_list);xilinx_dma_free_desc_list (chan, &chan->done_list);xilinx_dma_free_desc_list (chan, &chan->active_list); +xilinx_dma_free_desc_list (chan, &chan->pending_list);spin_unlock_irqrestore (&chan->lock, flags); }
drivers/edac/edac_device_sysfs.c +9 -2
@@ -90,14 +90,21 @@ static ssize_t edac_device_ctl_poll_msec_store(struct edac_device_ctl_info *ctl_info, const char *data, size_t count) { -unsigned long value; +unsigned int value; +int ret;/* get the value and enforce that it is non-zero, must be at least * one millisecond for the delay period, between scans * Then cancel last outstanding delay for the work request * and set a new one. */ - value =simple_strtoul (data,NULL ,0 ); + ret =kstrtouint (data,0 , &value); +if (ret <0 ) +return ret; + +if (value <1 ) +return -EINVAL ; +edac_device_reset_delay_period (ctl_info, value);return count;
drivers/firmware/arm_scmi/base.c +13 -2
@@ -280,6 +280,8 @@ static void *scmi_base_fill_custom_report(const struct scmi_handle *handle, void *report, u32 *src_id) { int i; +u32 error_status; +size_t expected_sz;const struct scmi_base_error_notify_payld *p = payld;struct scmi_base_error_report *r = report;
@@ -293,10 +295,19 @@ static void *scmi_base_fill_custom_report(const struct scmi_handle *handle,if (evt_id !=SCMI_EVENT_BASE_ERROR_EVENT ||sizeof (*p) < payld_sz)return NULL ; + expected_sz = offsetof(typeof(*p), msg_reports); +if (payld_sz < expected_sz) +return NULL ; + r->timestamp = timestamp; r->agent_id =le32_to_cpu (p->agent_id); - r->fatal =IS_FATAL_ERROR (le32_to_cpu (p->error_status)); - r->cmd_count =ERROR_CMD_COUNT (le32_to_cpu (p->error_status)); + error_status =le32_to_cpu (p->error_status); + r->fatal =IS_FATAL_ERROR (error_status); + r->cmd_count =ERROR_CMD_COUNT (error_status); + expected_sz += r->cmd_count *sizeof (p->msg_reports[0 ]); +if (payld_sz < expected_sz) +return NULL ; +for (i =0 ; i < r->cmd_count; i++) r->reports[i] =le64_to_cpu (p->msg_reports[i]); *src_id =0 ;
drivers/firmware/arm_scpi.c +2 -2
@@ -627,8 +627,8 @@ static struct scpi_dvfs_info *scpi_dvfs_get_info(u8 domain)if (ret)return ERR_PTR (ret); -if (!buf.opp_count) -return ERR_PTR (-ENOENT ); +if (!buf.opp_count || buf.opp_count >MAX_DVFS_OPPS ) +return ERR_PTR (-EINVAL ); info =kmalloc (sizeof (*info),GFP_KERNEL );if (!info)
drivers/gpio/gpio-arizona.c +6 -2
@@ -118,8 +118,12 @@ static int arizona_gpio_direction_out(struct gpio_chip *chip,if (value) value =ARIZONA_GPN_LVL ; -return regmap_update_bits (arizona->regmap,ARIZONA_GPIO1_CTRL + offset, -ARIZONA_GPN_DIR |ARIZONA_GPN_LVL , value); + ret =regmap_update_bits (arizona->regmap,ARIZONA_GPIO1_CTRL + offset, +ARIZONA_GPN_DIR |ARIZONA_GPN_LVL , value); +if (ret <0 && (val &ARIZONA_GPN_DIR ) && persistent) +pm_runtime_put_autosuspend (chip->parent); + +return ret; }static void arizona_gpio_set (struct gpio_chip *chip,unsigned offset,int value)
drivers/gpio/gpio-dwapb.c +17 -0
@@ -189,6 +189,22 @@ static void dwapb_toggle_trigger(struct dwapb_gpio *gpio, unsigned int offs)dwapb_write (gpio,GPIO_INT_POLARITY , pol); } +static int dwapb_irq_init_hw (struct gpio_chip *gc) +{ +struct dwapb_gpio *gpio =to_dwapb_gpio (gc); + +/* +* GPIO interrupts may retain stale state across warm reboots when +* peripherals stay powered. Force a known-safe state before the GPIO +* irqchip and irq domain are set up. +*/ +dwapb_write (gpio,GPIO_INTEN ,0 ); +dwapb_write (gpio,GPIO_INTMASK ,0xffffffff ); +dwapb_write (gpio,GPIO_PORTA_EOI ,0xffffffff ); + +return 0 ; +} +static u32 dwapb_do_irq (struct dwapb_gpio *gpio) {struct gpio_chip *gc = &gpio->ports[0 ].gc;
@@ -428,6 +444,7 @@ static void dwapb_configure_irqs(struct dwapb_gpio *gpio, girq = &gc->irq; girq->handler = handle_bad_irq; girq->default_type =IRQ_TYPE_NONE ; + girq->init_hw = dwapb_irq_init_hw; port->pirq = pirq; pirq->irqchip.name =DWAPB_DRIVER_NAME ;
drivers/gpio/gpio-pisosr.c +3 -1
@@ -128,6 +128,7 @@ static int pisosr_gpio_probe(struct spi_device *spi) {struct device *dev = &spi->dev;struct pisosr_gpio *gpio; +u32 ngpios;int ret; gpio =devm_kzalloc (dev,sizeof (*gpio),GFP_KERNEL );
@@ -138,7 +139,8 @@ static int pisosr_gpio_probe(struct spi_device *spi) gpio->chip = template_chip; gpio->chip.parent = dev; -of_property_read_u16 (dev->of_node,"ngpios" , &gpio->chip.ngpio); +if (!of_property_read_u32 (dev->of_node,"ngpios" , &ngpios)) + gpio->chip.ngpio = ngpios; gpio->spi = spi;
drivers/gpio/gpio-zynq.c +1 -9
@@ -793,15 +793,7 @@ static int __maybe_unused zynq_gpio_runtime_resume(struct device *dev)static int zynq_gpio_request (struct gpio_chip *chip,unsigned int offset) { -int ret; - - ret =pm_runtime_get_sync (chip->parent); - -/* -* If the device is already active pm_runtime_get() will return 1 on -* success, but gpio_request still needs to return 0. -*/ -return ret <0 ? ret :0 ; +return pm_runtime_resume_and_get (chip->parent); }static void zynq_gpio_free (struct gpio_chip *chip,unsigned int offset)
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +2 -1
@@ -100,7 +100,8 @@ static int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, union drm_amdgpu_csstruct amdgpu_vm *vm = &fpriv->vm;uint64_t *chunk_array_user;uint64_t *chunk_array; -unsigned size, num_ibs =0 ; +size_t size; +unsigned int num_ibs =0 ;uint32_t uf_offset =0 ;int i;int ret;
drivers/gpu/drm/amd/amdgpu/atom.c +7 -2
@@ -1225,10 +1225,15 @@ static int amdgpu_atom_execute_table_locked(struct atom_context *ctx, int index, ectx.ps = params; ectx.abort = false; ectx.last_jump =0 ; -if (ws) +if (ws) { ectx.ws =kcalloc (4 , ws,GFP_KERNEL ); -else +if (!ectx.ws) { + ret = -ENOMEM ; + goto free; + } + }else { ectx.ws =NULL ; + } debug_depth++;while (1 ) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1 -0
@@ -8448,6 +8448,7 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,/* Release extra reference */ if (new_stream)dc_stream_release (new_stream); + new_stream =NULL ;/* * We want to do dc stream updates that do not require a
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c +6 -1
@@ -176,8 +176,13 @@ int amdgpu_dm_crtc_set_crc_source(struct drm_crtc *crtc, const char *src_name)*/ ret =wait_for_completion_interruptible_timeout ( &commit->hw_done,10 *HZ ); -if (ret) +if (ret <0 ) + goto cleanup; + +if (ret ==0 ) { + ret = -ETIMEDOUT ; goto cleanup; + } } enable =amdgpu_dm_is_valid_crc_source (source);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +8 -12
@@ -185,7 +185,6 @@ static ssize_t dp_link_settings_read(struct file *f, char __user *buf,char *rd_buf_ptr =NULL ;const uint32_t rd_buf_size =100 ;uint32_t result =0 ; -uint8_t str_len =0 ;int r;if (*pos &3 || size &3 )
@@ -197,29 +196,26 @@ static ssize_t dp_link_settings_read(struct file *f, char __user *buf, rd_buf_ptr = rd_buf; - str_len =strlen ("Current: %d 0x%x %d " ); -snprintf (rd_buf_ptr, str_len,"Current: %d 0x%x %d " , + rd_buf_ptr +=scnprintf (rd_buf_ptr, rd_buf_size - (rd_buf_ptr - rd_buf), +"Current: %d 0x%x %d " , link->cur_link_settings.lane_count, link->cur_link_settings.link_rate, link->cur_link_settings.link_spread); - rd_buf_ptr += str_len; - str_len =strlen ("Verified: %d 0x%x %d " ); -snprintf (rd_buf_ptr, str_len,"Verified: %d 0x%x %d " , + rd_buf_ptr +=scnprintf (rd_buf_ptr, rd_buf_size - (rd_buf_ptr - rd_buf), +"Verified: %d 0x%x %d " , link->verified_link_cap.lane_count, link->verified_link_cap.link_rate, link->verified_link_cap.link_spread); - rd_buf_ptr += str_len; - str_len =strlen ("Reported: %d 0x%x %d " ); -snprintf (rd_buf_ptr, str_len,"Reported: %d 0x%x %d " , + rd_buf_ptr +=scnprintf (rd_buf_ptr, rd_buf_size - (rd_buf_ptr - rd_buf), +"Reported: %d 0x%x %d " , link->reported_link_cap.lane_count, link->reported_link_cap.link_rate, link->reported_link_cap.link_spread); - rd_buf_ptr += str_len; - str_len =strlen ("Preferred: %d 0x%x %d " ); -snprintf (rd_buf_ptr, str_len,"Preferred: %d 0x%x %d\n" , + rd_buf_ptr +=scnprintf (rd_buf_ptr, rd_buf_size - (rd_buf_ptr - rd_buf), +"Preferred: %d 0x%x %d\n" , link->preferred_link_setting.lane_count, link->preferred_link_setting.link_rate, link->preferred_link_setting.link_spread);
drivers/gpu/drm/amd/pm/powerplay/si_dpm.c +25 -6
@@ -7143,6 +7143,7 @@ static void si_parse_pplib_clock_info(struct amdgpu_device *adev,struct evergreen_power_info *eg_pi =evergreen_get_pi (adev);struct si_power_info *si_pi =si_get_pi (adev);struct si_ps *ps =si_get_ps (rps); +struct amdgpu_clock_and_voltage_limits *limits;u16 leakage_voltage;struct rv7xx_pl *pl = &ps->performance_levels[index];int ret;
@@ -7202,12 +7203,30 @@ static void si_parse_pplib_clock_info(struct amdgpu_device *adev, si_pi->mvdd_bootup_value = mvdd; } +/* +* Update maximum allowed clock limits. +* VBIOS can contain conflicting values between: +* - the maximum allowed clocks and voltages on AC or DC +* - the clocks and voltages in power states on AC or DC +*/ if ((rps->class &ATOM_PPLIB_CLASSIFICATION_UI_MASK ) == -ATOM_PPLIB_CLASSIFICATION_UI_PERFORMANCE ) { - adev->pm.dpm.dyn_state.max_clock_voltage_on_ac.sclk = pl->sclk; - adev->pm.dpm.dyn_state.max_clock_voltage_on_ac.mclk = pl->mclk; - adev->pm.dpm.dyn_state.max_clock_voltage_on_ac.vddc = pl->vddc; - adev->pm.dpm.dyn_state.max_clock_voltage_on_ac.vddci = pl->vddci; +ATOM_PPLIB_CLASSIFICATION_UI_PERFORMANCE ) + limits = &adev->pm.dpm.dyn_state.max_clock_voltage_on_ac; +else if ((rps->class &ATOM_PPLIB_CLASSIFICATION_UI_MASK ) == +ATOM_PPLIB_CLASSIFICATION_UI_BATTERY ) + limits = &adev->pm.dpm.dyn_state.max_clock_voltage_on_dc; +else + limits =NULL ; + +if (limits) { +if (pl->sclk > limits->sclk) + limits->sclk = pl->sclk; +if (pl->mclk > limits->mclk) + limits->mclk = pl->mclk; +if (pl->vddc > limits->vddc) + limits->vddc = pl->vddc; +if (pl->vddci > limits->vddci) + limits->vddci = pl->vddci; } }
@@ -7576,7 +7595,7 @@ static int si_dpm_process_interrupt(struct amdgpu_device *adev,break ; } -if (queue_thermal) +if (queue_thermal && amdgpu_dpm)schedule_work (&adev->pm.dpm.thermal.work);return 0 ;
drivers/gpu/drm/arm/display/komeda/komeda_dev.c +5 -1
@@ -334,7 +334,11 @@ void komeda_dev_destroy(struct komeda_dev *mdev)int komeda_dev_resume (struct komeda_dev *mdev) { -clk_prepare_enable (mdev->aclk); +int err; + + err =clk_prepare_enable (mdev->aclk); +if (err) +return err; mdev->funcs->enable_irq (mdev);
drivers/gpu/drm/arm/display/komeda/komeda_drv.c +9 -5
@@ -61,8 +61,11 @@ static int komeda_bind(struct device *dev) }pm_runtime_enable (dev); -if (!pm_runtime_enabled (dev)) -komeda_dev_resume (mdrv->mdev); +if (!pm_runtime_enabled (dev)) { + err =komeda_dev_resume (mdrv->mdev); +if (err) + goto err_destroy_mdev; + } mdrv->kms =komeda_kms_attach (mdrv->mdev);if (IS_ERR (mdrv->kms)) {
@@ -79,7 +82,7 @@ static int komeda_bind(struct device *dev)pm_runtime_disable (dev); else komeda_dev_suspend(mdrv->mdev); - +err_destroy_mdev:komeda_dev_destroy (mdrv->mdev); free_mdrv:
@@ -176,11 +179,12 @@ static int __maybe_unused komeda_pm_suspend(struct device *dev)static int __maybe_unused komeda_pm_resume (struct device *dev) {struct komeda_drv *mdrv =dev_get_drvdata (dev); +int err =0 ;if (!pm_runtime_status_suspended (dev)) -komeda_dev_resume (mdrv->mdev); + err =komeda_dev_resume (mdrv->mdev); -return drm_mode_config_helper_resume (&mdrv->kms->base); +return err ? err :drm_mode_config_helper_resume (&mdrv->kms->base); }static const struct dev_pm_ops komeda_pm_ops = {
drivers/gpu/drm/arm/malidp_drv.c +16 -6
@@ -670,6 +670,11 @@ static int malidp_runtime_pm_suspend(struct device *dev)struct drm_device *drm =dev_get_drvdata (dev);struct malidp_drm *malidp = drm->dev_private;struct malidp_hw_device *hwdev = malidp->dev; +struct clk_bulk_data clks[] = { + { .clk = hwdev->pclk }, + { .clk = hwdev->aclk }, + { .clk = hwdev->mclk }, + };/* we can only suspend if the hardware is in config mode */ WARN_ON (!hwdev->hw->in_config_mode (hwdev));
@@ -677,9 +682,7 @@ static int malidp_runtime_pm_suspend(struct device *dev)malidp_se_irq_fini (hwdev);malidp_de_irq_fini (hwdev); hwdev->pm_suspended = true; -clk_disable_unprepare (hwdev->mclk); -clk_disable_unprepare (hwdev->aclk); -clk_disable_unprepare (hwdev->pclk); +clk_bulk_disable_unprepare (ARRAY_SIZE (clks), clks);return 0 ; }
@@ -689,10 +692,17 @@ static int malidp_runtime_pm_resume(struct device *dev)struct drm_device *drm =dev_get_drvdata (dev);struct malidp_drm *malidp = drm->dev_private;struct malidp_hw_device *hwdev = malidp->dev; +struct clk_bulk_data clks[] = { + { .clk = hwdev->pclk }, + { .clk = hwdev->aclk }, + { .clk = hwdev->mclk }, + }; +int err; + + err =clk_bulk_prepare_enable (ARRAY_SIZE (clks), clks); +if (err) +return err; -clk_prepare_enable (hwdev->pclk); -clk_prepare_enable (hwdev->aclk); -clk_prepare_enable (hwdev->mclk); hwdev->pm_suspended = false;malidp_de_irq_hw_init (hwdev);malidp_se_irq_hw_init (hwdev);
drivers/gpu/drm/drm_atomic_uapi.c +10 -3
@@ -1163,10 +1163,12 @@ static int prepare_signaling(struct drm_device *dev,struct dma_fence *fence;struct drm_out_fence_state *f; + ret = -ENOMEM ; + f =krealloc (*fence_state,sizeof (**fence_state) * (*num_fences +1 ),GFP_KERNEL );if (!f) -return -ENOMEM ; + goto err_free_event;memset (&f[*num_fences],0 ,sizeof (*f));
@@ -1175,12 +1177,12 @@ static int prepare_signaling(struct drm_device *dev, fence =drm_crtc_create_fence (crtc);if (!fence) -return -ENOMEM ; + goto err_free_event; ret =setup_out_fence (&f[(*num_fences)++], fence);if (ret) {dma_fence_put (fence); -return ret; + goto err_free_event; } crtc_state->event->base.fence = fence;
@@ -1234,6 +1236,11 @@ static int prepare_signaling(struct drm_device *dev,return -EINVAL ;return 0 ; + +err_free_event: +drm_event_cancel_free (dev, &crtc_state->event->base); + crtc_state->event =NULL ; +return ret; } static void complete_signaling(struct drm_device *dev,
drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c +16 -5
@@ -95,6 +95,7 @@ static int xfer_read(struct i2c_adapter *adap, struct i2c_msg *pmsg)struct oaktrail_hdmi_dev *hdmi_dev =i2c_get_adapdata (adap);struct hdmi_i2c_dev *i2c_dev = hdmi_dev->i2c_dev;u32 temp; +int ret; i2c_dev->status =I2C_STAT_INIT ; i2c_dev->msg = pmsg;
@@ -106,9 +107,14 @@ static int xfer_read(struct i2c_adapter *adap, struct i2c_msg *pmsg)HDMI_WRITE (HDMI_HI2CHCR , temp);HDMI_READ (HDMI_HI2CHCR ); -while (i2c_dev->status !=I2C_TRANSACTION_DONE ) -wait_for_completion_interruptible_timeout (&i2c_dev->complete, +while (i2c_dev->status !=I2C_TRANSACTION_DONE ) { + ret =wait_for_completion_interruptible_timeout (&i2c_dev->complete,10 *HZ ); +if (ret <0 ) +return ret; +if (!ret)
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/adreno/adreno_gpu.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c +14 -9
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/virtio/virtgpu_display.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/hid/hid-hyperv.c +41 -17
58 lines not on this page · raw message
drivers/hwmon/pmbus/lm25066.c +28 -26
54 lines not on this page · raw message
drivers/infiniband/sw/siw/siw_cm.c +31 -44
75 lines not on this page · raw message
drivers/infiniband/ulp/ipoib/ipoib_ib.c +7 -5
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/ipoib/ipoib_multicast.c +8 -8
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/iser/iscsi_iser.c +28 -44
72 lines not on this page · raw message
drivers/infiniband/ulp/iser/iscsi_iser.h +4 -4
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/iser/iser_initiator.c +23 -26
49 lines not on this page · raw message
drivers/infiniband/ulp/iser/iser_memory.c +32 -55
87 lines not on this page · raw message
drivers/infiniband/ulp/iser/iser_verbs.c +26 -30
56 lines not on this page · raw message
drivers/infiniband/ulp/isert/ib_isert.c +54 -32
86 lines not on this page · raw message
drivers/infiniband/ulp/isert/ib_isert.h +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/usb/em28xx/em28xx-video.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/can/usb/ems_usb.c +43 -0
43 lines not on this page · raw message
drivers/net/dsa/sja1105/sja1105_flower.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/allwinner/sun4i-emac.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/xgbe/xgbe-dev.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/atheros/atl1c/atl1c_main.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/atheros/atl1e/atl1e_main.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/atheros/atlx/atl1.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt.c +14 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cortina/gemini.c +48 -31
79 lines not on this page · raw message
drivers/net/ethernet/freescale/fman/fman.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/e1000e/ethtool.c +12 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_txrx.c +9 -11
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/port.c +9 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/socionext/netsec.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/chain_mode.c +4 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac100_dma.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/enh_desc.c +6 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/hwif.h +20 -12
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/norm_desc.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/ring_mode.c +6 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c +83 -23
106 lines not on this page · raw message
drivers/net/ppp/ppp_async.c +9 -81
90 lines not on this page · raw message
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/ipw2x00/libipw_rx.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlegacy/common.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/iwl-drv.c +11 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intersil/p54/eeprom.c +17 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/libertas/tx.c +7 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/libertas_tf/main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/fw.h +9 -9
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/join.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/pcie.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/scan.c +41 -13
54 lines not on this page · raw message
drivers/net/wireless/marvell/mwifiex/sta_cmd.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/util.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/pci.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/microchip/wilc1000/cfg80211.c +14 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/microchip/wilc1000/wlan.c +9 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ralink/rt2x00/rt2400pci.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ralink/rt2x00/rt2500pci.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ralink/rt2x00/rt2800pci.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ralink/rt2x00/rt61pci.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/rsi/rsi_91x_mgmt.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-rockchip-host.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/cxgbit/cxgbit_ddp.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/cxgbit/cxgbit_target.c +17 -17
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target.c +97 -88
185 lines not on this page · raw message
drivers/target/iscsi/iscsi_target_configfs.c +7 -7
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_datain_values.c +9 -9
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_datain_values.h +6 -6
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_device.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_device.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_erl0.c +16 -16
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_erl0.h +4 -4
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_erl1.c +21 -21
42 lines not on this page · raw message
drivers/target/iscsi/iscsi_target_erl1.h +10 -10
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_erl2.c +10 -10
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_erl2.h +4 -4
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_nego.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_seq_pdu_list.c +17 -17
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_seq_pdu_list.h +5 -5
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_tmr.c +19 -19
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_tmr.h +4 -4
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_util.c +39 -38
77 lines not on this page · raw message
drivers/target/iscsi/iscsi_target_util.h +25 -25
50 lines not on this page · raw message
drivers/usb/usbip/vhci_sysfs.c +29 -23
52 lines not on this page · raw message
drivers/watchdog/sunxi_wdt.c +44 -1
45 lines not on this page · raw message
fs/btrfs/relocation.c +35 -12
47 lines not on this page · raw message
include/linux/platform_data/asoc-ux500-msp.h deleted +0 -20
Lines of this file are not shown. View the raw message.
include/media/v4l2-hevc.h new file +41 -0
41 lines not on this page · raw message
include/target/iscsi/iscsi_target_core.h +17 -17
Lines of this file are not shown. View the raw message.
include/target/iscsi/iscsi_transport.h +46 -46
92 lines not on this page · raw message
kernel/dma/coherent.c +36 -43
79 lines not on this page · raw message
kernel/trace/trace_probe.c +47 -1
48 lines not on this page · raw message
net/batman-adv/distributed-arp-table.c +45 -20
65 lines not on this page · raw message
net/core/skbuff.c +51 -30
81 lines not on this page · raw message
net/netfilter/nfnetlink_queue.c +36 -41
77 lines not on this page · raw message
net/nfc/llcp_core.c +122 -53
175 lines not on this page · raw message
net/nfc/llcp_sock.c +47 -18
65 lines not on this page · raw message
net/rds/af_rds.c +52 -11
63 lines not on this page · raw message
net/rds/connection.c +84 -18
102 lines not on this page · raw message
net/rds/tcp.c +115 -49
164 lines not on this page · raw message
net/sched/cls_route.c +22 -23
45 lines not on this page · raw message
net/sched/sch_fq_pie.c +35 -27
62 lines not on this page · raw message
net/xfrm/xfrm_user.c +148 -80
228 lines not on this page · raw message
sound/soc/codecs/ab8500-codec.c +265 -290
555 lines not on this page · raw message
sound/soc/codecs/rk3328_codec.c +13 -41
54 lines not on this page · raw message
sound/soc/ux500/ux500_msp_dai.c +56 -111
167 lines not on this page · raw message
sound/soc/ux500/ux500_msp_i2s.c +183 -147
330 lines not on this page · raw message
sound/soc/ux500/ux500_pcm.c +4 -79
83 lines not on this page · raw message
sound/usb/caiaq/device.c +38 -15
53 lines not on this page · raw message
tools/perf/util/cs-etm.c +15 -66
81 lines not on this page · raw message
tools/testing/selftests/cgroup/test_kmem.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/fib_nexthops.sh +28 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/powerpc/tm/tm.h +6 -2
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.