Skip to contentSkip to conversation

Linux 5.4.160

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Nov 17, 2021 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.160 kernel.

All users of the 5.4 kernel series must upgrade.

The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/admin-guide/kernel-parameters.txt                 |    7 
 Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt |   23 -
 Makefile                                                        |    2 
 arch/arm/Makefile                                               |   22 -
 arch/arm/boot/dts/at91-tse850-3.dts                             |    2 
 arch/arm/boot/dts/omap3-gta04.dtsi                              |    2 
 arch/arm/boot/dts/qcom-msm8974.dtsi                             |    4 
 arch/arm/boot/dts/stm32mp157c.dtsi                              |   16 -
 arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts                 |    2 
 arch/arm/kernel/stacktrace.c                                    |    3 
 arch/arm/mm/Kconfig                                             |    2 
 arch/arm/mm/mmu.c                                               |    4 
 arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts               |    2 
 arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts                 |    2 
 arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts              |    2 
 arch/arm64/boot/dts/rockchip/rk3328.dtsi                        |    2 
 arch/arm64/include/asm/pgtable.h                                |   12 
 arch/arm64/net/bpf_jit_comp.c                                   |    5 
 arch/ia64/Kconfig.debug                                         |    2 
 arch/ia64/kernel/kprobes.c                                      |    9 
 arch/m68k/Kconfig.machine                                       |    1 
 arch/mips/Kconfig                                               |    1 
 arch/mips/include/asm/mips-cm.h                                 |   12 
 arch/mips/kernel/mips-cm.c                                      |   21 -
 arch/mips/kernel/r2300_fpu.S                                    |    4 
 arch/mips/kernel/syscall.c                                      |    9 
 arch/mips/lantiq/xway/dma.c                                     |   14 -
 arch/parisc/kernel/entry.S                                      |    2 
 arch/parisc/kernel/smp.c                                        |   19 +
 arch/parisc/kernel/unwind.c                                     |   21 +
 arch/parisc/kernel/vmlinux.lds.S                                |    3 
 arch/parisc/mm/fixmap.c                                         |    5 
 arch/parisc/mm/init.c                                           |    4 
 arch/powerpc/include/asm/code-patching.h                        |    1 
 arch/powerpc/include/asm/security_features.h                    |    5 
 arch/powerpc/kernel/security.c                                  |    5 
 arch/powerpc/lib/code-patching.c                                |    7 
 arch/powerpc/net/bpf_jit.h                                      |   33 +-
 arch/powerpc/net/bpf_jit64.h                                    |    8 
 arch/powerpc/net/bpf_jit_comp64.c                               |   91 +++++--
 arch/powerpc/platforms/44x/fsp2.c                               |    2 
 arch/powerpc/platforms/85xx/mpc85xx_pm_ops.c                    |    3 
 arch/powerpc/platforms/powernv/opal-prd.c                       |   12 
 arch/s390/kvm/priv.c                                            |    2 
 arch/s390/mm/gmap.c                                             |    5 
 arch/sh/kernel/cpu/fpu.c                                        |   10 
 arch/x86/hyperv/hv_init.c                                       |    5 
 arch/x86/include/asm/page_64_types.h                            |    2 
 arch/x86/kernel/cpu/amd.c                                       |    2 
 arch/x86/kernel/cpu/common.c                                    |   44 ++-
 arch/x86/kernel/cpu/cpu.h                                       |    1 
 arch/x86/kernel/cpu/hygon.c                                     |    2 
 arch/x86/kernel/irq.c                                           |    4 
 arch/x86/kvm/vmx/vmx.c                                          |    8 
 arch/x86/mm/mem_encrypt_identity.c                              |    9 
 block/blk-mq.c                                                  |    1 
 crypto/Kconfig                                                  |    2 
 crypto/pcrypt.c                                                 |   12 
 drivers/acpi/acpica/acglobal.h                                  |    2 
 drivers/acpi/acpica/hwesleep.c                                  |    8 
 drivers/acpi/acpica/hwsleep.c                                   |   11 
 drivers/acpi/acpica/hwxfsleep.c                                 |    7 
 drivers/acpi/battery.c                                          |    2 
 drivers/acpi/pmic/intel_pmic.c                                  |   51 ++-
 drivers/android/binder.c                                        |   22 +
 drivers/ata/libata-core.c                                       |    2 
 drivers/ata/libata-eh.c                                         |    8 
 drivers/auxdisplay/ht16k33.c                                    |   66 ++---
 drivers/auxdisplay/img-ascii-lcd.c                              |   10 
 drivers/block/ataflop.c                                         |   18 -
 drivers/block/zram/zram_drv.c                                   |    2 
 drivers/bluetooth/btmtkuart.c                                   |   13 -
 drivers/char/hw_random/mtk-rng.c                                |    9 
 drivers/char/ipmi/ipmi_msghandler.c                             |   10 
 drivers/char/ipmi/ipmi_watchdog.c                               |   17 -
 drivers/char/tpm/tpm2-space.c                                   |    3 
 drivers/clk/at91/pmc.c                                          |    5 
 drivers/clk/mvebu/ap-cpu-clk.c                                  |   14 -
 drivers/clocksource/Kconfig                                     |    1 
 drivers/cpuidle/sysfs.c                                         |    5 
 drivers/crypto/caam/caampkc.c                                   |   19 +
 drivers/crypto/caam/regs.h                                      |    3 
 drivers/crypto/qat/qat_common/adf_pf2vf_msg.c                   |   13 +
 drivers/crypto/qat/qat_common/adf_vf_isr.c                      |    6 
 drivers/crypto/s5p-sss.c                                        |    2 
 drivers/dma-buf/dma-buf.c                                       |    1 
 drivers/dma/at_xdmac.c                                          |    2 
 drivers/dma/dmaengine.h                                         |    2 
 drivers/edac/amd64_edac.c                                       |   22 +
 drivers/edac/sb_edac.c                                          |    2 
 drivers/firmware/psci/psci_checker.c                            |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c                     |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h                     |    2 
 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c                           |    4 
 drivers/gpu/drm/drm_panel_orientation_quirks.c                  |   47 +++
 drivers/gpu/drm/drm_plane_helper.c                              |    1 
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c                     |    8 
 drivers/gpu/drm/msm/msm_gem.c                                   |    4 
 drivers/gpu/drm/v3d/v3d_gem.c                                   |    4 
 drivers/gpu/drm/virtio/virtgpu_vq.c                             |    8 
 drivers/hid/hid-u2fzero.c                                       |   10 
 drivers/hv/hyperv_vmbus.h                                       |    1 
 drivers/hwmon/hwmon.c                                           |    6 
 drivers/hwmon/pmbus/lm25066.c                                   |   25 +
 drivers/i2c/busses/i2c-xlr.c                                    |    6 
 drivers/iio/dac/ad5446.c                                        |    9 
 drivers/infiniband/hw/bnxt_re/qplib_fp.c                        |    3 
 drivers/infiniband/hw/mlx4/qp.c                                 |    4 
 drivers/infiniband/hw/qedr/verbs.c                              |   15 -
 drivers/infiniband/sw/rxe/rxe_param.h                           |    2 
 drivers/input/joystick/iforce/iforce-usb.c                      |    2 
 drivers/input/mouse/elantech.c                                  |   13 +
 drivers/input/serio/i8042-x86ia64io.h                           |   14 +
 drivers/irqchip/irq-bcm6345-l1.c                                |    2 
 drivers/irqchip/irq-s3c24xx.c                                   |   22 +
 drivers/irqchip/irq-sifive-plic.c                               |    8 
 drivers/media/dvb-frontends/mn88443x.c                          |   18 +
 drivers/media/i2c/ir-kbd-i2c.c                                  |    1 
 drivers/media/i2c/mt9p031.c                                     |   28 ++
 drivers/media/i2c/tda1997x.c                                    |    8 
 drivers/media/pci/cx23885/cx23885-alsa.c                        |    3 
 drivers/media/pci/netup_unidvb/netup_unidvb_core.c              |   27 +-
 drivers/media/platform/mtk-vpu/mtk_vpu.c                        |    5 
 drivers/media/platform/rcar-vin/rcar-csi2.c                     |    2 
 drivers/media/platform/s5p-mfc/s5p_mfc.c                        |    6 
 drivers/media/platform/stm32/stm32-dcmi.c                       |   19 -
 drivers/media/radio/radio-wl1273.c                              |    2 
 drivers/media/radio/si470x/radio-si470x-i2c.c                   |    2 
 drivers/media/radio/si470x/radio-si470x-usb.c                   |    2 
 drivers/media/rc/ite-cir.c                                      |    2 
 drivers/media/rc/mceusb.c                                       |    1 
 drivers/media/spi/cxd2880-spi.c                                 |    2 
 drivers/media/usb/dvb-usb/az6027.c                              |    1 
 drivers/media/usb/dvb-usb/dibusb-common.c                       |    2 
 drivers/media/usb/em28xx/em28xx-cards.c                         |    5 
 drivers/media/usb/em28xx/em28xx-core.c                          |    5 
 drivers/media/usb/tm6000/tm6000-video.c                         |    3 
 drivers/media/usb/uvc/uvc_driver.c                              |    7 
 drivers/media/usb/uvc/uvc_v4l2.c                                |    7 
 drivers/media/usb/uvc/uvc_video.c                               |    5 
 drivers/media/v4l2-core/v4l2-ioctl.c                            |   60 +++-
 drivers/memory/fsl_ifc.c                                        |   13 -
 drivers/memstick/core/ms_block.c                                |    2 
 drivers/memstick/host/jmb38x_ms.c                               |    2 
 drivers/memstick/host/r592.c                                    |    8 
 drivers/mmc/host/Kconfig                                        |    2 
 drivers/mmc/host/dw_mmc.c                                       |    3 
 drivers/mmc/host/mxs-mmc.c                                      |   10 
 drivers/mmc/host/sdhci-omap.c                                   |    3 
 drivers/mtd/mtdcore.c                                           |    4 
 drivers/mtd/spi-nor/hisi-sfc.c                                  |    1 
 drivers/net/bonding/bond_sysfs_slave.c                          |   36 --
 drivers/net/dsa/rtl8366rb.c                                     |    2 
 drivers/net/ethernet/amd/xgbe/xgbe-common.h                     |    8 
 drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c                     |   20 +
 drivers/net/ethernet/cavium/thunder/nic_main.c                  |    2 
 drivers/net/ethernet/cavium/thunder/nicvf_main.c                |    4 
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c              |    7 
 drivers/net/ethernet/chelsio/cxgb4/t4_hw.h                      |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c          |    2 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c           |    9 
 drivers/net/ethernet/ibm/ibmvnic.c                              |    5 
 drivers/net/ethernet/netronome/nfp/bpf/main.c                   |   16 -
 drivers/net/ethernet/netronome/nfp/bpf/main.h                   |    2 
 drivers/net/ethernet/netronome/nfp/bpf/offload.c                |   17 +
 drivers/net/ethernet/realtek/r8169_main.c                       |    1 
 drivers/net/ethernet/sfc/ptp.c                                  |    4 
 drivers/net/ethernet/sfc/siena_sriov.c                          |    2 
 drivers/net/ethernet/ti/davinci_emac.c                          |   16 +
 drivers/net/phy/micrel.c                                        |    5 
 drivers/net/phy/phylink.c                                       |    2 
 drivers/net/vmxnet3/vmxnet3_drv.c                               |    1 
 drivers/net/vrf.c                                               |   28 +-
 drivers/net/wireless/ath/ath10k/mac.c                           |   45 ++-
 drivers/net/wireless/ath/ath10k/usb.c                           |    7 
 drivers/net/wireless/ath/ath10k/wmi.c                           |    4 
 drivers/net/wireless/ath/ath10k/wmi.h                           |    3 
 drivers/net/wireless/ath/ath6kl/usb.c                           |    7 
 drivers/net/wireless/ath/ath9k/main.c                           |    4 
 drivers/net/wireless/ath/dfs_pattern_detector.c                 |   10 
 drivers/net/wireless/ath/wcn36xx/dxe.c                          |   12 
 drivers/net/wireless/ath/wcn36xx/main.c                         |    4 
 drivers/net/wireless/ath/wcn36xx/smd.c                          |   44 ++-
 drivers/net/wireless/broadcom/b43/phy_g.c                       |    2 
 drivers/net/wireless/broadcom/b43legacy/radio.c                 |    2 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c          |   10 
 drivers/net/wireless/intel/iwlwifi/mvm/utils.c                  |    3 
 drivers/net/wireless/marvell/libertas/if_usb.c                  |    2 
 drivers/net/wireless/marvell/libertas_tf/if_usb.c               |    2 
 drivers/net/wireless/marvell/mwifiex/11n.c                      |    5 
 drivers/net/wireless/marvell/mwifiex/cfg80211.c                 |   32 --
 drivers/net/wireless/marvell/mwifiex/pcie.c                     |    8 
 drivers/net/wireless/marvell/mwifiex/usb.c                      |   16 +
 drivers/net/wireless/marvell/mwl8k.c                            |    2 
 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c                |   13 -
 drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8225.c          |   14 -
 drivers/net/wireless/rsi/rsi_91x_core.c                         |    2 
 drivers/net/wireless/rsi/rsi_91x_hal.c                          |   10 
 drivers/net/wireless/rsi/rsi_91x_mac80211.c                     |   74 +----
 drivers/net/wireless/rsi/rsi_91x_main.c                         |   17 +
 drivers/net/wireless/rsi/rsi_91x_mgmt.c                         |   24 +
 drivers/net/wireless/rsi/rsi_91x_sdio.c                         |    5 
 drivers/net/wireless/rsi/rsi_91x_usb.c                          |    5 
 drivers/net/wireless/rsi/rsi_hal.h                              |   11 
 drivers/net/wireless/rsi/rsi_main.h                             |   15 -
 drivers/net/xen-netfront.c                                      |    8 
 drivers/nfc/pn533/pn533.c                                       |    6 
 drivers/nvme/host/multipath.c                                   |    9 
 drivers/nvme/host/rdma.c                                        |    2 
 drivers/nvme/target/configfs.c                                  |    2 
 drivers/nvme/target/tcp.c                                       |   21 +
 drivers/opp/of.c                                                |    2 
 drivers/pci/controller/pci-aardvark.c                           |  129 ++++++++--
 drivers/pci/pci-bridge-emul.c                                   |   13 +
 drivers/pci/quirks.c                                            |    1 
 drivers/phy/qualcomm/phy-qcom-qusb2.c                           |   16 -
 drivers/pinctrl/core.c                                          |    2 
 drivers/platform/x86/thinkpad_acpi.c                            |    2 
 drivers/platform/x86/wmi.c                                      |    9 
 drivers/power/supply/bq27xxx_battery_i2c.c                      |    3 
 drivers/power/supply/max17042_battery.c                         |    8 
 drivers/power/supply/rt5033_battery.c                           |    2 
 drivers/regulator/s5m8767.c                                     |   21 -
 drivers/reset/reset-socfpga.c                                   |   26 ++
 drivers/s390/char/tape_std.c                                    |    3 
 drivers/s390/cio/css.c                                          |    4 
 drivers/s390/cio/device_ops.c                                   |   12 
 drivers/scsi/csiostor/csio_lnode.c                              |    2 
 drivers/scsi/dc395x.c                                           |    1 
 drivers/scsi/qla2xxx/qla_attr.c                                 |   24 +
 drivers/scsi/qla2xxx/qla_gbl.h                                  |    2 
 drivers/scsi/qla2xxx/qla_init.c                                 |    4 
 drivers/scsi/qla2xxx/qla_mr.c                                   |   23 -
 drivers/scsi/qla2xxx/qla_os.c                                   |   37 --
 drivers/scsi/qla2xxx/qla_target.c                               |   14 -
 drivers/soc/fsl/dpaa2-console.c                                 |    1 
 drivers/soc/tegra/pmc.c                                         |    2 
 drivers/spi/spi-bcm-qspi.c                                      |    5 
 drivers/spi/spi-pl022.c                                         |    5 
 drivers/staging/ks7010/Kconfig                                  |    3 
 drivers/staging/media/imx/imx-media-dev-common.c                |    2 
 drivers/staging/media/ipu3/ipu3-v4l2.c                          |    7 
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c               |    3 
 drivers/tty/serial/8250/8250_dw.c                               |    2 
 drivers/tty/serial/serial_core.c                                |   16 +
 drivers/tty/serial/xilinx_uartps.c                              |    3 
 drivers/usb/chipidea/core.c                                     |   23 +
 drivers/usb/gadget/legacy/hid.c                                 |    4 
 drivers/usb/host/xhci-hub.c                                     |    3 
 drivers/usb/host/xhci-pci.c                                     |   16 +
 drivers/usb/misc/iowarrior.c                                    |    8 
 drivers/usb/serial/keyspan.c                                    |   15 -
 drivers/video/backlight/backlight.c                             |    6 
 drivers/video/fbdev/chipsfb.c                                   |    2 
 drivers/watchdog/Kconfig                                        |    2 
 drivers/watchdog/f71808e_wdt.c                                  |    4 
 drivers/watchdog/omap_wdt.c                                     |    6 
 drivers/xen/balloon.c                                           |   86 ++++--
 drivers/xen/xen-pciback/conf_space_capability.c                 |    2 
 fs/btrfs/disk-io.c                                              |    3 
 fs/btrfs/tree-log.c                                             |    4 
 fs/btrfs/volumes.c                                              |   14 -
 fs/f2fs/inode.c                                                 |    2 
 fs/f2fs/namei.c                                                 |    2 
 fs/fuse/dev.c                                                   |   14 -
 fs/jfs/jfs_mount.c                                              |   51 +--
 fs/nfs/flexfilelayout/flexfilelayoutdev.c                       |    4 
 fs/nfs/nfs4proc.c                                               |   15 -
 fs/nfs/pnfs_nfs.c                                               |    4 
 fs/nfs/write.c                                                  |   17 -
 fs/ocfs2/file.c                                                 |    8 
 fs/orangefs/dcache.c                                            |    4 
 fs/overlayfs/file.c                                             |   47 +++
 fs/quota/quota_tree.c                                           |   15 +
 fs/tracefs/inode.c                                              |    3 
 include/linux/console.h                                         |    2 
 include/linux/filter.h                                          |    1 
 include/linux/libata.h                                          |    2 
 include/linux/lsm_hooks.h                                       |   28 +-
 include/linux/rpmsg.h                                           |    2 
 include/linux/sched/task_stack.h                                |    4 
 include/linux/security.h                                        |   33 +-
 include/net/llc.h                                               |    4 
 include/net/neighbour.h                                         |   12 
 include/net/sch_generic.h                                       |    4 
 include/net/strparser.h                                         |   16 +
 include/net/udp.h                                               |    5 
 include/uapi/linux/pci_regs.h                                   |    6 
 kernel/bpf/core.c                                               |    4 
 kernel/cgroup/cgroup.c                                          |   31 ++
 kernel/kprobes.c                                                |    3 
 kernel/locking/lockdep.c                                        |    2 
 kernel/power/swap.c                                             |    7 
 kernel/rcu/tree_exp.h                                           |    2 
 kernel/signal.c                                                 |   18 -
 kernel/trace/tracing_map.c                                      |   40 +--
 kernel/workqueue.c                                              |   15 -
 lib/decompress_unxz.c                                           |    2 
 lib/iov_iter.c                                                  |    5 
 lib/xz/xz_dec_lzma2.c                                           |   21 +
 lib/xz/xz_dec_stream.c                                          |    6 
 mm/oom_kill.c                                                   |   23 -
 mm/zsmalloc.c                                                   |    7 
 net/8021q/vlan.c                                                |    3 
 net/8021q/vlan_dev.c                                            |    3 
 net/9p/client.c                                                 |    2 
 net/bluetooth/l2cap_sock.c                                      |   10 
 net/bluetooth/sco.c                                             |   33 +-
 net/can/j1939/main.c                                            |    7 
 net/can/j1939/transport.c                                       |    6 
 net/core/dev.c                                                  |    5 
 net/core/filter.c                                               |   21 +
 net/core/neighbour.c                                            |   48 ++-
 net/core/net-sysfs.c                                            |   55 ++++
 net/core/net_namespace.c                                        |    4 
 net/core/stream.c                                               |    3 
 net/core/sysctl_net_core.c                                      |    2 
 net/ipv4/tcp.c                                                  |    2 
 net/ipv6/addrconf.c                                             |    3 
 net/ipv6/udp.c                                                  |    2 
 net/netfilter/nf_conntrack_proto_udp.c                          |    7 
 net/netfilter/nfnetlink_queue.c                                 |    2 
 net/netfilter/nft_dynset.c                                      |   11 
 net/rxrpc/rtt.c                                                 |    2 
 net/sched/sch_generic.c                                         |    9 
 net/sched/sch_mq.c                                              |   24 +
 net/sched/sch_mqprio.c                                          |   23 +
 net/sched/sch_taprio.c                                          |   27 +-
 net/smc/af_smc.c                                                |   20 -
 net/strparser/strparser.c                                       |   10 
 net/sunrpc/xprt.c                                               |   28 +-
 net/vmw_vsock/af_vsock.c                                        |    2 
 samples/kprobes/kretprobe_example.c                             |    2 
 scripts/leaking_addresses.pl                                    |    3 
 security/apparmor/label.c                                       |    4 
 security/integrity/evm/evm_main.c                               |    2 
 security/security.c                                             |   14 -
 security/selinux/hooks.c                                        |   36 +-
 security/smack/smackfs.c                                        |   11 
 sound/core/oss/mixer_oss.c                                      |   43 ++-
 sound/core/timer.c                                              |   17 -
 sound/pci/hda/hda_intel.c                                       |   28 +-
 sound/pci/hda/patch_realtek.c                                   |    4 
 sound/soc/codecs/cs42l42.c                                      |    9 
 sound/synth/emux/emux.c                                         |    2 
 sound/usb/6fire/comm.c                                          |    2 
 sound/usb/6fire/firmware.c                                      |    6 
 sound/usb/line6/driver.c                                        |   14 -
 sound/usb/line6/driver.h                                        |    2 
 sound/usb/line6/podhd.c                                         |    6 
 sound/usb/line6/toneport.c                                      |    2 
 sound/usb/misc/ua101.c                                          |    4 
 sound/usb/quirks.c                                              |    1 
 tools/lib/bpf/btf.c                                             |   16 -
 tools/perf/util/bpf-event.c                                     |    4 
 tools/testing/selftests/bpf/progs/strobemeta.h                  |    4 
 tools/testing/selftests/bpf/test_progs.c                        |    4 
 tools/testing/selftests/kvm/x86_64/mmio_warning_test.c          |    2 
 tools/testing/selftests/net/udpgso_bench_rx.c                   |   11 
 359 files changed, 2538 insertions(+), 1210 deletions(-)

Ahmad Fatoum (1):
watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT

Ajay Singh (1):
wilc1000: fix possible memory leak in cfg_scan_result()

Alagu Sankar (1):
ath10k: high latency fixes for beacon buffer

Aleksander Jan Bajkowski (2):
MIPS: lantiq: dma: add small delay after reset
MIPS: lantiq: dma: reset correct number of channel

Alex Bee (1):
arm64: dts: rockchip: Fix GPU register width for RK3328

Alex Deucher (1):
drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits

Alex Xu (Hello71) (1):
drm/plane-helper: fix uninitialized variable reference

Alexander Tsoy (1):
ALSA: usb-audio: Add registration quirk for JBL Quantum 400

Alok Prasad (1):
RDMA/qedr: Fix NULL deref for query_qp on the GSI QP

Amit Engel (1):
nvmet-tcp: fix header digest verification

Anand Jain (1):
btrfs: call btrfs_check_rw_degradable only if there is a missing device

Anand Moon (1):
arm64: dts: meson-g12a: Fix the pwm regulator supply properties

Anant Thazhemadam (1):
media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte()

Anders Roxell (1):
PM: hibernate: fix sparse warnings

Andrea Righi (1):
selftests/bpf: Fix fclose/pclose mismatch in test_progs

Andreas Gruenbacher (1):
iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value

Andreas Kemnade (1):
arm: dts: omap3-gta04a4: accelerometer irq fix

Andrej Shadura (2):
HID: u2fzero: clarify error check and length calculations
HID: u2fzero: properly handle timeouts in usb_submit_urb

Andrii Nakryiko (3):
selftests/bpf: Fix strobemeta selftest regression
libbpf: Fix BTF data layout checks and allow empty BTF selftests/bpf: Fix also no-alu32 strobemeta selftest

André Almeida (1):
ACPI: battery: Accept charges over the design capacity as full

Andy Shevchenko (1):
serial: 8250_dw: Drop wrong use of ACPI_PTR()

Anel Orazgaliyeva (1):
cpuidle: Fix kobject memory leaks in error paths

Anssi Hannula (1):
serial: xilinx_uartps: Fix race condition causing stuck TX

Antoine Tenart (1):
net-sysfs: try not to restart the syscall if it will fail eventually

Arnaud Pouliquen (1):
rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined

Arnd Bergmann (8):
hyperv/vmbus: include linux/bitops.h
ARM: 9136/1: ARMv7-M uses BE-8, not BE-32
drm/amdgpu: fix warning for overflow check
crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency
memstick: avoid out-of-range warning
arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions
ARM: 9156/1: drop cc-option fallbacks for architecture selection
ath10k: fix invalid dma_addr_t token assignment

Arun Easi (1):
scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file

Austin Kim (2):
ALSA: synth: missing check for possible NULL after the call to kstrdup
evm: mark evm_fixmode as __ro_after_init

Baptiste Lepers (1):
pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds

Barnabás Pőcze (1):
platform/x86: wmi: do not fail if disabling fails

Bastien Roucariès (1):
ARM: dts: sun7i: A20-olinuxino-lime2: Fix ethernet phy-mode

Benjamin Li (2):
wcn36xx: handle connection loss indication
wcn36xx: add proper DMA memory barriers in rx path

Bixuan Cui (1):
powerpc/44x/fsp2: add missing of_node_put

Bryant Mairs (1):
drm: panel-orientation-quirks: Add quirk for Aya Neo 2021

Charan Teja Reddy (1):
dma-buf: WARN on dmabuf release with pending attachments

Chengfeng Ye (1):
nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails

Christian Löhle (1):
mmc: dw_mmc: Dont wait for DRTO on Write RSP error

Christophe JAILLET (5):
media: mtk-vpu: Fix a resource leak in the error handling path of 'mtk_vpu_probe()'
mmc: mxs-mmc: disable regulator on error and in the remove function
clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths soc/tegra: Fix an error handling path in tegra_powergate_power_up()
i2c: xlr: Fix a resource leak in the error handling path of 'xlr_i2c_probe()'

Christophe Leroy (1):
video: fbdev: chipsfb: use memset_io() instead of memset()

Claudiu Beznea (1):
dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro

Clément Léger (1):
clk: at91: check pmc node status before registering syscore ops

Colin Ian King (3):
media: cxd2880-spi: Fix a null pointer dereference on error handling path
media: cx23885: Fix snd_card_free call on null card pointer
media: em28xx: Don't use ops->suspend if it is NULL

Corey Minyard (1):
ipmi: Disable some operations during a panic

Cyril Strejc (1):
net: multicast: calculate csum of looped-back and forwarded packets

Damien Le Moal (1):
libata: fix read log timeout value

Dan Carpenter (8):
tpm: Check for integer overflow in tpm2_map_response_body()
b43legacy: fix a lower bounds test
b43: fix a lower bounds test
memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() drm/msm: uninitialized variable in msm_gem_import()
usb: gadget: hid: fix error code in do_config()
scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
zram: off by one in read_block_state()

Daniel Borkmann (2):
net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE

Daniel Jordan (1):

      crypto: pcrypt - Delay write to padata->info

David Hildenbrand (1):
s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap()

Desmond Cheong Zhi Xi (1):
Bluetooth: fix init and cleanup of sco_conn.timeout_work

Dinghao Liu (1):
Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync

Dirk Bender (1):
media: mt9p031: Fix corrupted frame after restarting stream

Dmitriy Ulitin (1):
media: stm32: Potential NULL pointer dereference in dcmi_irq_thread()

Dmitry Bogdanov (1):
scsi: qla2xxx: Fix unmap of already freed sgl

Dominique Martinet (1):
9p/net: fix missing error check in p9_check_errors

Dongli Zhang (2):
xen/netfront: stop tx queues during live migration
vmxnet3: do not stop tx queues after netif_device_detach()

Dongliang Mu (2):
JFS: fix memleak in jfs_mount
memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe

Dust Li (1):
net/smc: fix sk_refcnt underflow on linkdown and fallback

Eiichi Tsukata (1):
vsock: prevent unnecessary refcnt inc for nonblocking connect

Eric Badger (1):
EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell

Eric Dumazet (3):
net: annotate data-race in neigh_output()
llc: fix out-of-bound array index in llc_sk_dev_hash() net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any

Eric W. Biederman (3):
signal: Remove the bogus sigkill_pending in ptrace_stop signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL)

Erik Ekman (1):
sfc: Don't use netif_info before net_device setup

Evgeny Novikov (2):
media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable()
mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare()

Filipe Manana (1):
btrfs: fix lost error handling when replaying directory deletes

Florian Westphal (2):
vrf: run conntrack only in context of lower/physdev for locally generated packets
netfilter: nfnetlink_queue: fix OOB when mac header was cleared

Geert Uytterhoeven (4):
mips: cm: Convert to bitfield API to fix out-of-bounds access
auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string
auxdisplay: ht16k33: Connect backlight to fbdev
auxdisplay: ht16k33: Fix frame buffer device blanking

Giovanni Cabiddu (2):
crypto: qat - detect PFVF collision after ACK
crypto: qat - disregard spurious PFVF interrupts

Greg Kroah-Hartman (1):

      Linux 5.4.160

Guangbin Huang (1):
net: hns3: allow configure ETS bandwidth of all TCs

Guo Ren (1):
irqchip/sifive-plic: Fixup EOI failed when masked

Halil Pasic (1):
s390/cio: make ccw_device_dma_* more robust

Hannes Reinecke (1):
nvme: drop scan_lock and always kick requeue list when removing namespaces

Hans de Goede (6):
drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2)
drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1
drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6
brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet
power: supply: bq27xxx: Fix kernel crash on IRQ handler register error
ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses

Helge Deller (4):
parisc: Fix ptrace check on syscall return
task_stack: Fix end_of_stack() for architectures with upwards-growing stack
parisc: Fix backtrace to always include init funtion names
parisc: Fix set_fixmap() on PA1.x CPUs

Henrik Grimler (1):
power: supply: max17042_battery: use VFSOC for capacity when no rsns

Huang Guobin (1):
bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed

Iago Toral Quiroga (1):
drm/v3d: fix wait for TMU write combiner flush

Ian Rogers (1):
perf bpf: Add missing free to bpf_event__print_bpf_prog_info()

Ingmar Klein (1):
PCI: Mark Atheros QCA6174 to avoid bus reset

Israel Rukshin (2):
nvmet: fix use-after-free when a port is removed
nvmet-tcp: fix use-after-free when a port is removed

Jackie Liu (3):
ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc()
MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT
ar7: fix kernel builds for compiler test

Jaegeuk Kim (1):
f2fs: should use GFP_NOFS for directory inodes

Jakob Hauser (1):
power: supply: rt5033_battery: Change voltage values to µV

Jakub Kicinski (3):
net: sched: update default qdisc visibility after Tx queue cnt changes
net: stream: don't purge sk_error_queue in sk_stream_kill_queues()
udp6: allow SO_MARK ctrl msg to affect routing

Jan Kara (1):
ocfs2: fix data corruption on truncate

Jane Malalane (1):
x86/cpu: Fix migration safety with X86_BUG_NULL_SEL

Janghyub Seo (1):

      r8169: Add device 10ec:8162 to driver r8169

Janis Schoetterl-Glausch (1):
KVM: s390: Fix handle_sske page fault handling

Jaroslav Kysela (1):
ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N

Jens Axboe (1):
block: remove inaccurate requeue check

Jessica Zhang (1):
drm/msm: Fix potential NULL dereference in DPU SSPP

Jia-Ju Bai (1):
fs: orangefs: fix error return code of orangefs_revalidate_lookup()

Jiasheng Jiang (1):
rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies()

Johan Hovold (12):
Input: iforce - fix control-message timeout
ALSA: ua101: fix division by zero at probe
ALSA: 6fire: fix control and bulk message timeouts
ALSA: line6: fix control and interrupt message timeouts
mwifiex: fix division by zero in fw download path
ath6kl: fix division by zero in send path
ath6kl: fix control-message timeout
ath10k: fix control-message timeout
ath10k: fix division by zero in send path
rtl8187: fix control-message timeouts
USB: iowarrior: fix control-message timeouts
USB: chipidea: fix interrupt deadlock

Johannes Berg (1):
iwlwifi: mvm: disable RX-diversity in powersave

John Fastabend (1):
bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding

Jon Maxwell (1):
tcp: don't free a FIN sk_buff in tcp_remove_empty_skb()

Jonas Dreßler (4):
mwifiex: Read a PCI register after writing the TX ring write pointer
mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type
mwifiex: Properly initialize private structure on interface type changes
mwifiex: Send DELBA requests according to spec

Josef Bacik (1):
btrfs: do not take the uuid_mutex in btrfs_rm_device

Juergen Gross (1):
xen/balloon: add late_initcall_sync() for initial ballooning done

Junji Wei (1):
RDMA/rxe: Fix wrong port_cap_flags

Kai-Heng Feng (1):
ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED

Kalesh Singh (1):
tracing/cfi: Fix cmp_entries_* functions signature mismatch

Kees Cook (5):
leaking_addresses: Always print a trailing newline
media: radio-wl1273: Avoid card name truncation
media: si470x: Avoid card name truncation
media: tm6000: Avoid card name truncation clocksource/drivers/timer-ti-dm: Select TIMER_OF

Krzysztof Kozlowski (2):
regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property

Lars-Peter Clausen (1):
dmaengine: dmaengine_desc_callback_valid(): Check for callback_result

Lasse Collin (2):
lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression lib/xz: Validate the value before assigning it to an enum variable

Leon Romanovsky (1):
RDMA/mlx4: Return missed an error if device doesn't support steering

Li Zhang (1):
btrfs: clear MISSING device status bit in btrfs_close_one_device

Linus Lüssing (1):
ath9k: Fix potential interrupt storm on queue reset

Linus Walleij (1):
net: dsa: rtl8366rb: Fix off-by-one bug

Loic Poulain (2):
wcn36xx: Fix HT40 capability for 2Ghz band
ath10k: Fix missing frame timestamp for beacon/probe-resp

Lorenz Bauer (2):
bpf: Define bpf_jit_alloc_exec_limit for arm64 JIT
bpf: Prevent increasing bpf_jit_limit above max

Lorenzo Bianconi (1):

      mt76: mt76x02: fix endianness warnings in mt76x02_mac.c

Marek Behún (4):
PCI: pci-bridge-emul: Fix emulation of W1C bits
PCI: aardvark: Fix return value of MSI domain .alloc() method
PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG
PCI: aardvark: Don't spam about PIO Response Status

Marek Vasut (2):
rsi: Fix module dev_oper_mode parameter description
video: backlight: Drop maximum brightness override for brightness zero

Marijn Suijten (1):
ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY

Mario (1):
drm: panel-orientation-quirks: Add quirk for GPD Win3

Mark Rutland (1):
irq: mips: avoid nested irq_enter()

Markus Schneider-Pargmann (1):
hwrng: mtk - Force runtime pm ops for sleep ops

Martin Fuzzey (3):
rsi: fix occasional initialisation failure with BT coex
rsi: fix key enabled check causing unwanted encryption for vap_id > 0
rsi: fix rate mask set leading to P2P failure

Martin Kepplinger (1):
media: imx: set a media_device bus_info string

Masami Hiramatsu (2):
ia64: kprobes: Fix to pass correct trampoline address to the handler
ARM: clang: Do not rely on lr register for stacktrace

Mathias Nyman (1):
xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay

Maurizio Lombardi (1):
nvmet-tcp: fix a memory leak when releasing a queue

Max Gurtovoy (1):
nvme-rdma: fix error code in nvme_rdma_setup_ctrl

Maxim Kiselev (1):
net: davinci_emac: Fix interrupt pacing disable

Menglong Dong (1):
workqueue: make sysfs of unbound kworker cpumask more clever

Miaohe Lin (1):
mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration()

Michael Schmitz (1):
block: ataflop: fix breakage introduced at blk-mq refactoring

Michael Walle (1):
crypto: caam - disable pkc for non-E SoCs

Michal Hocko (1):
mm, oom: do not trigger out_of_memory from the #PF

Michał Mirosław (1):

      ARM: 9155/1: fix early early_iounmap()

Miklos Szeredi (2):
fuse: fix page stealing
ovl: fix deadlock in splice write

Nadezda Lutovinova (2):
media: s5p-mfc: Add checking to s5p_mfc_probe().
media: rcar-csi2: Add checking to rcsi2_start_receiver()

Nathan Chancellor (1):
platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning

Naveen N. Rao (5):
powerpc/lib: Add helper to check if offset is within conditional branch range powerpc/bpf: Validate branch ranges
powerpc/bpf: Fix BPF_SUB when imm == 0x80000000 powerpc/security: Add a helper to query stf_barrier type powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC

Neeraj Upadhyay (1):
rcu: Fix existing exp request check in sync_sched_exp_online_cleanup()

Nehal Bakulchandra Shah (1):
usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform

Olivier Moysan (1):
ARM: dts: stm32: fix SAI sub nodes register range

Pablo Neira Ayuso (2):
netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream state
netfilter: nft_dynset: relax superfluous check on set updates

Pali Rohár (7):
serial: core: Fix initializing and restoring termios speed
PCI: aardvark: Do not clear status bits of masked interrupts
PCI: aardvark: Fix checking for link up via LTSSM state
PCI: aardvark: Do not unmask unused interrupts
PCI: aardvark: Fix reporting Data Link Layer Link Active
PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge
PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros

Pavel Skripkin (3):
ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume
media: em28xx: add missing em28xx_close_extension
media: dvb-usb: fix ununit-value in az6027_rc_query

Pawan Gupta (1):
smackfs: Fix use-after-free in netlbl_catmap_walk()

Paweł Anikiel (1):
reset: socfpga: add empty driver allowing consumers to probe

Pekka Korpinen (1):

      iio: dac: ad5446: Fix ad5622_write() return value

Peter Rosin (1):

      ARM: dts: at91: tse850: the emac<->phy interface is rmii

Peter Zijlstra (2):
locking/lockdep: Avoid RCU-induced noinstr fail
x86: Increase exception stack sizes

Phoenix Huang (1):
Input: elantench - fix misreporting trackpoint coordinates

Punit Agrawal (1):
kprobes: Do not use local variable when creating debugfs file

Quinn Tran (3):
scsi: qla2xxx: Fix use after free in eh_abort path
scsi: qla2xxx: Fix gnl list corruption
scsi: qla2xxx: Turn off target reset during issue_lip

Rafael J. Wysocki (1):
ACPICA: Avoid evaluating methods too early during system resume

Rahul Lakkireddy (1):
cxgb4: fix eeprom len when diagnostics not implemented

Rajat Asthana (1):
media: mceusb: return without resubmitting URB in case of -EPROTO error.

Randy Dunlap (3):
mmc: winbond: don't build on M68K
ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
m68k: set a default value for MEMORY_RESERVE

Reimar Döffinger (1):
libata: fix checking of DMA state

Ricardo Ribalda (6):
media: v4l2-ioctl: Fix check_ext_ctrls
media: uvcvideo: Set capability in s_param
media: uvcvideo: Return -EIO for control errors
media: uvcvideo: Set unique vdev name based in type
media: ipu3-imgu: imgu_fmt: Handle properly try
media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info

Richard Fitzgerald (2):
ASoC: cs42l42: Correct some register default values
ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER

Robert-Ionut Alexa (1):
soc: fsl: dpaa2-console: free buffer before returning from dpaa2_console_read

Russell King (Oracle) (1):
net: phylink: avoid mvneta warning when setting pause parameters

Sean Christopherson (2):
x86/irq: Ensure PI wakeup handler is unregistered before module unload
KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use

Sean Young (2):
media: ite-cir: IR receiver stop working after receive overflow
media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers

Sebastian Krzyszkowiak (1):
power: supply: max17042_battery: Prevent int underflow in set_soc_threshold

Selvin Xavier (1):
RDMA/bnxt_re: Fix query SRQ failure

Shuah Khan (1):
selftests: kvm: fix mismatched fclose() after popen()

Shyam Sundar S K (1):
net: amd-xgbe: Toggle PLL settings during rate change

Simon Ser (1):
drm/panel-orientation-quirks: add Valve Steam Deck

Stefan Agner (1):
phy: micrel: ksz8041nl: do not use power down mode

Stephen Suryaputra (1):
gre/sit: Don't generate link-local addr if addr_gen_mode is IN6_ADDR_GEN_MODE_NONE

Steven Rostedt (VMware) (1):
tracefs: Have tracefs directories not set OTH permission bits by default

Sukadev Bhattiprolu (2):
ibmvnic: don't stop queue in xmit
ibmvnic: Process crqs after enabling interrupts

Sven Eckelmann (1):
ath10k: fix max antenna gain unit

Sven Schnelle (4):
parisc: fix warning in flush_tlb_all
parisc/unwind: fix unwinder when CONFIG_64BIT is enabled parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling s390/tape: fix timer initialization in tape_std_assign()

Takashi Iwai (6):
Input: i8042 - Add quirk for Fujitsu Lifebook T725
ALSA: hda/realtek: Add quirk for ASUS UX550VE
ALSA: timer: Unconditionally unlink slave instances, too
ALSA: mixer: oss: Fix racy access to slots
Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg()
ALSA: hda: Reduce udelay() at SKL+ position reporting

Tang Bin (1):
crypto: s5p-sss - Add error handling in s5p_aes_probe()

Tetsuo Handa (2):
smackfs: use __GFP_NOFAIL for smk_cipso_doi()
smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi

Thomas Perrot (1):
spi: spl022: fix Microwire full duplex mode

Tiezhu Yang (1):
samples/kretprobes: Fix return value if register_kretprobe() failed

Tim Crawford (1):
ALSA: hda/realtek: Add quirk for Clevo PC70HS

Todd Kjos (3):
binder: use euid from cred instead of using task
binder: use cred instead of task for selinux checks
binder: use cred instead of task for getsecid

Tom Lendacky (1):
x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c

Tom Rix (2):
media: TDA1997x: handle short reads of hdmi info frame.
apparmor: fix error check

Tong Zhang (1):
scsi: dc395: Fix error case unwinding

Tony Lindgren (1):
mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured

Trond Myklebust (3):
NFS: Fix deadlocks in nfs_scan_commit_list()
NFSv4: Fix a regression in nfs_set_open_stateid_locked()
SUNRPC: Partial revert of commit 6f9f17287e78

Tuo Li (2):
media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe()
ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create()

Vasant Hegde (1):
powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload

Vasily Averin (1):
mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks

Vegard Nossum (1):
staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC

Vineeth Vijayan (1):
s390/cio: check the subchannel validity for dev_busid

Vitaly Kuznetsov (1):
x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted

Vladimir Zapolskiy (1):
phy: qcom-qusb2: Fix a memory leak on probe

Waiman Long (1):
cgroup: Make rebind_subsystems() disable v2 controllers all at once

Walter Stoll (1):
watchdog: Fix OMAP watchdog early handling

Wang Hai (3):
USB: serial: keyspan: fix memleak on probe errors
libertas_tf: Fix possible memory leak in probe and disconnect
libertas: Fix possible memory leak in probe and disconnect

Wang ShaoBo (1):
Bluetooth: fix use-after-free error in lock_sock_nested()

Wang Wensheng (1):
ALSA: timer: Fix use-after-free problem

Wen Gu (1):
net/smc: Correct spelling mistake to TCPF_SYN_RECV

Willem de Bruijn (1):
selftests/net: udpgso_bench_rx: fix port argument

Xiaoming Ni (1):
powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found

Yajun Deng (1):
net: net_namespace: Fix undefined member in key_remove_domain()

Yang Yingliang (3):
pinctrl: core: fix possible memory leak in pinctrl_enable()
spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in bcm_qspi_probe()
hwmon: Fix possible memleak in __hwmon_device_register()

Yazen Ghannam (1):
EDAC/amd64: Handle three rank interleaving mode

Ye Bin (1):
PM: hibernate: Get block device exclusively in swsusp_check()

Yu Xiao (1):
nfp: bpf: relax prog rejection for mtu check through max_pkt_offset

YueHaibing (2):
opp: Fix return in _opp_add_static_v2()
xen-pciback: Fix return in pm_ctrl_init()

Zev Weiss (3):
hwmon: (pmbus/lm25066) Add offset coefficients
hwmon: (pmbus/lm25066) Let compiler determine outer dimension of lm25066_coeff
mtd: core: don't remove debugfs directory if device is in use

Zhang Changzhong (2):
can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport
can: j1939: j1939_can_recv(): ignore messages with invalid source address

Zhang Yi (2):
quota: check block number when reading the block in quota file
quota: correct error number in free_dqentry()

Zheyu Ma (6):
cavium: Return negative value when pci_alloc_irq_vectors() fails
scsi: qla2xxx: Return -ENOMEM if kzalloc() fails
cavium: Fix return values of the probe function
media: netup_unidvb: handle interrupt properly according to the firmware
memstick: r592: Fix a UAF bug when removing the driver
mwl8k: Fix use-after-free in mwl8k_fw_state_machine()

Ziyang Xuan (2):
rsi: stop thread firstly in rsi_91x_init() error handling
net: vlan: fix a UAF in vlan_dev_real_dev()

jing yangyang (1):
firmware/psci: fix application of sizeof to pointer

liuyuntao (1):
virtio-gpu: fix possible memory allocation failure

author maintainer
#1 lore raw
Documentation/admin-guide/kernel-parameters.txt +7 -0
index dbb68067ba4e..b11e1fd95ee5 100644
@@ -5480,6 +5480,13 @@
 			as generic guest with no PV drivers. Currently support
 			XEN HVM, KVM, HYPER_V and VMWARE guest.
 
+	xen.balloon_boot_timeout= [XEN]
+			The time (in seconds) to wait before giving up to boot
+			in case initial ballooning fails to free enough memory.
+			Applies only when running as HVM or PVH guest and
+			started with less memory configured than allowed at
+			max. Default is 180.
+
 	xen.event_eoi_delay=	[XEN]
 			How long to delay EOI handling in case of event
 			storms (jiffies). Default is 10.
Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt +9 -14
index 093edda0c8df..6cd83d920155 100644
@@ -13,6 +13,14 @@ common regulator binding documented in:
 
 
 Required properties of the main device node (the parent!):
+ - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
+   for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
+
+ [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
+     property is specified, then all the eight voltage values for the
+     's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
+
+Optional properties of the main device node (the parent!):
  - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
    units for buck2 when changing voltage using gpio dvs. Refer to [1] below
    for additional information.
@@ -25,26 +33,13 @@ Required properties of the main device node (the parent!):
    units for buck4 when changing voltage using gpio dvs. Refer to [1] below
    for additional information.
 
- - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
-   for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
-
- [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
-     property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage'
-     property should specify atleast one voltage level (which would be a
-     safe operating voltage).
-
-     If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
-     property is specified, then all the eight voltage values for the
-     's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
-
-Optional properties of the main device node (the parent!):
  - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
  - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
  - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
 
 Additional properties required if either of the optional properties are used:
 
- - s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from
+ - s5m8767,pmic-buck-default-dvs-idx: Default voltage setting selected from
    the possible 8 options selectable by the dvs gpios. The value of this
    property should be between 0 and 7. If not specified or if out of range, the
    default value of this property is set to 0.
Makefile +1 -1
index 602b5167dacd..e938662dab28 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 159
+SUBLEVEL = 160
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/arm/Makefile +11 -11
index 1fc32b611f8a..4f098edfbf20 100644
@@ -66,15 +66,15 @@ KBUILD_CFLAGS	+= $(call cc-option,-fno-ipa-sra)
 # Note that GCC does not numerically define an architecture version
 # macro, but instead defines a whole series of macros which makes
 # testing for a specific architecture or later rather impossible.
-arch-$(CONFIG_CPU_32v7M)	=-D__LINUX_ARM_ARCH__=7 -march=armv7-m -Wa,-march=armv7-m
-arch-$(CONFIG_CPU_32v7)		=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
-arch-$(CONFIG_CPU_32v6)		=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
+arch-$(CONFIG_CPU_32v7M)	=-D__LINUX_ARM_ARCH__=7 -march=armv7-m
+arch-$(CONFIG_CPU_32v7)		=-D__LINUX_ARM_ARCH__=7 -march=armv7-a
+arch-$(CONFIG_CPU_32v6)		=-D__LINUX_ARM_ARCH__=6 -march=armv6
 # Only override the compiler option if ARMv6. The ARMv6K extensions are
 # always available in ARMv7
 ifeq ($(CONFIG_CPU_32v6),y)
-arch-$(CONFIG_CPU_32v6K)	=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6k,-march=armv5t -Wa$(comma)-march=armv6k)
+arch-$(CONFIG_CPU_32v6K)	=-D__LINUX_ARM_ARCH__=6 -march=armv6k
 endif
-arch-$(CONFIG_CPU_32v5)		=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4t)
+arch-$(CONFIG_CPU_32v5)		=-D__LINUX_ARM_ARCH__=5 -march=armv5te
 arch-$(CONFIG_CPU_32v4T)	=-D__LINUX_ARM_ARCH__=4 -march=armv4t
 arch-$(CONFIG_CPU_32v4)		=-D__LINUX_ARM_ARCH__=4 -march=armv4
 arch-$(CONFIG_CPU_32v3)		=-D__LINUX_ARM_ARCH__=3 -march=armv3m
@@ -88,7 +88,7 @@ tune-$(CONFIG_CPU_ARM720T)	=-mtune=arm7tdmi
 tune-$(CONFIG_CPU_ARM740T)	=-mtune=arm7tdmi
 tune-$(CONFIG_CPU_ARM9TDMI)	=-mtune=arm9tdmi
 tune-$(CONFIG_CPU_ARM940T)	=-mtune=arm9tdmi
-tune-$(CONFIG_CPU_ARM946E)	=$(call cc-option,-mtune=arm9e,-mtune=arm9tdmi)
+tune-$(CONFIG_CPU_ARM946E)	=-mtune=arm9e
 tune-$(CONFIG_CPU_ARM920T)	=-mtune=arm9tdmi
 tune-$(CONFIG_CPU_ARM922T)	=-mtune=arm9tdmi
 tune-$(CONFIG_CPU_ARM925T)	=-mtune=arm9tdmi
@@ -96,11 +96,11 @@ tune-$(CONFIG_CPU_ARM926T)	=-mtune=arm9tdmi
 tune-$(CONFIG_CPU_FA526)	=-mtune=arm9tdmi
 tune-$(CONFIG_CPU_SA110)	=-mtune=strongarm110
 tune-$(CONFIG_CPU_SA1100)	=-mtune=strongarm1100
-tune-$(CONFIG_CPU_XSCALE)	=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
-tune-$(CONFIG_CPU_XSC3)		=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
-tune-$(CONFIG_CPU_FEROCEON)	=$(call cc-option,-mtune=marvell-f,-mtune=xscale)
-tune-$(CONFIG_CPU_V6)		=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
-tune-$(CONFIG_CPU_V6K)		=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
+tune-$(CONFIG_CPU_XSCALE)	=-mtune=xscale
+tune-$(CONFIG_CPU_XSC3)		=-mtune=xscale
+tune-$(CONFIG_CPU_FEROCEON)	=-mtune=xscale
+tune-$(CONFIG_CPU_V6)		=-mtune=arm1136j-s
+tune-$(CONFIG_CPU_V6K)		=-mtune=arm1136j-s
 
 # Evaluate tune cc-option calls now
 tune-y := $(tune-y)
arch/arm/boot/dts/at91-tse850-3.dts +1 -1
index 3ca97b47c69c..7e5c598e7e68 100644
@@ -262,7 +262,7 @@
 &macb1 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rmii";
 
 	#address-cells = <1>;
 	#size-cells = <0>;
arch/arm/boot/dts/omap3-gta04.dtsi +1 -1
index b6ef1a7ac8a4..186b2af7743e 100644
@@ -515,7 +515,7 @@
 		compatible = "bosch,bma180";
 		reg = <0x41>;
 		pinctrl-names = "default";
-		pintcrl-0 = <&bma180_pins>;
+		pinctrl-0 = <&bma180_pins>;
 		interrupt-parent = <&gpio4>;
 		interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_115 */
 	};
arch/arm/boot/dts/qcom-msm8974.dtsi +2 -2
index 369e58f64145..9de4f17955e3 100644
@@ -1213,8 +1213,8 @@
 				#phy-cells = <0>;
 				qcom,dsi-phy-index = <0>;
 
-				clocks = <&mmcc MDSS_AHB_CLK>;
-				clock-names = "iface";
+				clocks = <&mmcc MDSS_AHB_CLK>, <&xo_board>;
+				clock-names = "iface", "ref";
 			};
 		};
 	};
arch/arm/boot/dts/stm32mp157c.dtsi +8 -8
index eca469a64a97..a687c024daa9 100644
@@ -773,7 +773,7 @@
 				#sound-dai-cells = <0>;
 
 				compatible = "st,stm32-sai-sub-a";
-				reg = <0x4 0x1c>;
+				reg = <0x4 0x20>;
 				clocks = <&rcc SAI1_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 87 0x400 0x01>;
@@ -783,7 +783,7 @@
 			sai1b: audio-controller@4400a024 {
 				#sound-dai-cells = <0>;
 				compatible = "st,stm32-sai-sub-b";
-				reg = <0x24 0x1c>;
+				reg = <0x24 0x20>;
 				clocks = <&rcc SAI1_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 88 0x400 0x01>;
@@ -804,7 +804,7 @@
 			sai2a: audio-controller@4400b004 {
 				#sound-dai-cells = <0>;
 				compatible = "st,stm32-sai-sub-a";
-				reg = <0x4 0x1c>;
+				reg = <0x4 0x20>;
 				clocks = <&rcc SAI2_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 89 0x400 0x01>;
@@ -814,7 +814,7 @@
 			sai2b: audio-controller@4400b024 {
 				#sound-dai-cells = <0>;
 				compatible = "st,stm32-sai-sub-b";
-				reg = <0x24 0x1c>;
+				reg = <0x24 0x20>;
 				clocks = <&rcc SAI2_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 90 0x400 0x01>;
@@ -835,7 +835,7 @@
 			sai3a: audio-controller@4400c004 {
 				#sound-dai-cells = <0>;
 				compatible = "st,stm32-sai-sub-a";
-				reg = <0x04 0x1c>;
+				reg = <0x04 0x20>;
 				clocks = <&rcc SAI3_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 113 0x400 0x01>;
@@ -845,7 +845,7 @@
 			sai3b: audio-controller@4400c024 {
 				#sound-dai-cells = <0>;
 				compatible = "st,stm32-sai-sub-b";
-				reg = <0x24 0x1c>;
+				reg = <0x24 0x20>;
 				clocks = <&rcc SAI3_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 114 0x400 0x01>;
@@ -1191,7 +1191,7 @@
 			sai4a: audio-controller@50027004 {
 				#sound-dai-cells = <0>;
 				compatible = "st,stm32-sai-sub-a";
-				reg = <0x04 0x1c>;
+				reg = <0x04 0x20>;
 				clocks = <&rcc SAI4_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 99 0x400 0x01>;
@@ -1201,7 +1201,7 @@
 			sai4b: audio-controller@50027024 {
 				#sound-dai-cells = <0>;
 				compatible = "st,stm32-sai-sub-b";
-				reg = <0x24 0x1c>;
+				reg = <0x24 0x20>;
 				clocks = <&rcc SAI4_K>;
 				clock-names = "sai_ck";
 				dmas = <&dmamux1 100 0x400 0x01>;
arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts +1 -1
index 9ba62774e89a..488933b87ad5 100644
@@ -112,7 +112,7 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&gmac_rgmii_pins>;
 	phy-handle = <&phy1>;
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	status = "okay";
 };
 
arch/arm/kernel/stacktrace.c +1 -2
index 76ea4178a55c..db798eac7431 100644
@@ -54,8 +54,7 @@ int notrace unwind_frame(struct stackframe *frame)
 
 	frame->sp = frame->fp;
 	frame->fp = *(unsigned long *)(fp);
-	frame->pc = frame->lr;
-	frame->lr = *(unsigned long *)(fp + 4);
+	frame->pc = *(unsigned long *)(fp + 4);
 #else
 	/* check current frame pointer is within bounds */
 	if (fp < low + 12 || fp > high - 4)
arch/arm/mm/Kconfig +1 -1
index 0ab3a86b1f52..fc388eb60e0b 100644
@@ -752,7 +752,7 @@ config CPU_BIG_ENDIAN
 config CPU_ENDIAN_BE8
 	bool
 	depends on CPU_BIG_ENDIAN
-	default CPU_V6 || CPU_V6K || CPU_V7
+	default CPU_V6 || CPU_V6K || CPU_V7 || CPU_V7M
 	help
 	  Support for the BE-8 (big-endian) mode on ARMv6 and ARMv7 processors.
 
arch/arm/mm/mmu.c +2 -2
index ee943ac32556..538d5da741b0 100644
@@ -415,9 +415,9 @@ void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
 		     FIXADDR_END);
 	BUG_ON(idx >= __end_of_fixed_addresses);
 
-	/* we only support device mappings until pgprot_kernel has been set */
+	/* We support only device mappings before pgprot_kernel is set. */
 	if (WARN_ON(pgprot_val(prot) != pgprot_val(FIXMAP_PAGE_IO) &&
-		    pgprot_val(pgprot_kernel) == 0))
+		    pgprot_val(prot) && pgprot_val(pgprot_kernel) == 0))
 		return;
 
 	if (pgprot_val(prot))
arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts +1 -1
index c9fa23a56562..b8d9e92197ac 100644
@@ -139,7 +139,7 @@
 		regulator-min-microvolt = <721000>;
 		regulator-max-microvolt = <1022000>;
 
-		vin-supply = <&dc_in>;
+		pwm-supply = <&dc_in>;
 
 		pwms = <&pwm_AO_cd 1 1250 0>;
 		pwm-dutycycle-range = <100 0>;
arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts +1 -1
index 2a324f0136e3..02ec6eda03b1 100644
@@ -139,7 +139,7 @@
 		regulator-min-microvolt = <721000>;
 		regulator-max-microvolt = <1022000>;
 
-		vin-supply = <&main_12v>;
+		pwm-supply = <&main_12v>;
 
 		pwms = <&pwm_AO_cd 1 1250 0>;
 		pwm-dutycycle-range = <100 0>;
arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts +1 -1
index c48125bf9d1e..5209c44fda01 100644
@@ -139,7 +139,7 @@
 		regulator-min-microvolt = <721000>;
 		regulator-max-microvolt = <1022000>;
 
-		vin-supply = <&dc_in>;
+		pwm-supply = <&dc_in>;
 
 		pwms = <&pwm_AO_cd 1 1250 0>;
 		pwm-dutycycle-range = <100 0>;
arch/arm64/boot/dts/rockchip/rk3328.dtsi +1 -1
index 44ad744c4710..6ddb6b8c1fad 100644
@@ -555,7 +555,7 @@
 
 	gpu: gpu@ff300000 {
 		compatible = "rockchip,rk3328-mali", "arm,mali-450";
-		reg = <0x0 0xff300000 0x0 0x40000>;
+		reg = <0x0 0xff300000 0x0 0x30000>;
 		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
 			     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
arch/arm64/include/asm/pgtable.h +9 -3
index a92a187ec891..3a057d427900 100644
@@ -54,9 +54,15 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
  * page table entry, taking care of 52-bit addresses.
  */
 #ifdef CONFIG_ARM64_PA_BITS_52
-#define __pte_to_phys(pte)	\
-	((pte_val(pte) & PTE_ADDR_LOW) | ((pte_val(pte) & PTE_ADDR_HIGH) << 36))
-#define __phys_to_pte_val(phys)	(((phys) | ((phys) >> 36)) & PTE_ADDR_MASK)
+static inline phys_addr_t __pte_to_phys(pte_t pte)
+{
+	return (pte_val(pte) & PTE_ADDR_LOW) |
+		((pte_val(pte) & PTE_ADDR_HIGH) << 36);
+}
+static inline pteval_t __phys_to_pte_val(phys_addr_t phys)
+{
+	return (phys | (phys >> 36)) & PTE_ADDR_MASK;
+}
 #else
 #define __pte_to_phys(pte)	(pte_val(pte) & PTE_ADDR_MASK)
 #define __phys_to_pte_val(phys)	(phys)
arch/arm64/net/bpf_jit_comp.c +5 -0
index afc7d41347f7..a343677837c7 100644
@@ -996,6 +996,11 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 	return prog;
 }
 
+u64 bpf_jit_alloc_exec_limit(void)
+{
+	return BPF_JIT_REGION_SIZE;
+}
+
 void *bpf_jit_alloc_exec(unsigned long size)
 {
 	return __vmalloc_node_range(size, PAGE_SIZE, BPF_JIT_REGION_START,
arch/ia64/Kconfig.debug +1 -1
index 40ca23bd228d..2ce008e2d164 100644
@@ -39,7 +39,7 @@ config DISABLE_VHPT
 
 config IA64_DEBUG_CMPXCHG
 	bool "Turn on compare-and-exchange bug checking (slow!)"
-	depends on DEBUG_KERNEL
+	depends on DEBUG_KERNEL && PRINTK
 	help
 	  Selecting this option turns on bug checking for the IA-64
 	  compare-and-exchange instructions.  This is slow!  Itaniums
arch/ia64/kernel/kprobes.c +5 -4
index b3dc39050c1a..8a223d0e4918 100644
@@ -398,7 +398,8 @@ static void kretprobe_trampoline(void)
 
 int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
 {
-	regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
+	regs->cr_iip = __kretprobe_trampoline_handler(regs,
+		dereference_function_descriptor(kretprobe_trampoline), NULL);
 	/*
 	 * By returning a non-zero value, we are telling
 	 * kprobe_handler() that we don't want the post_handler
@@ -414,7 +415,7 @@ void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri,
 	ri->fp = NULL;
 
 	/* Replace the return addr with trampoline addr */
-	regs->b0 = ((struct fnptr *)kretprobe_trampoline)->ip;
+	regs->b0 = (unsigned long)dereference_function_descriptor(kretprobe_trampoline);
 }
 
 /* Check the instruction in the slot is break */
@@ -918,14 +919,14 @@ static struct kprobe trampoline_p = {
 int __init arch_init_kprobes(void)
 {
 	trampoline_p.addr =
-		(kprobe_opcode_t *)((struct fnptr *)kretprobe_trampoline)->ip;
+		dereference_function_descriptor(kretprobe_trampoline);
 	return register_kprobe(&trampoline_p);
 }
 
 int __kprobes arch_trampoline_kprobe(struct kprobe *p)
 {
 	if (p->addr ==
-		(kprobe_opcode_t *)((struct fnptr *)kretprobe_trampoline)->ip)
+		dereference_function_descriptor(kretprobe_trampoline))
 		return 1;
 
 	return 0;
arch/m68k/Kconfig.machine +1 -0
index 1bbe0dd0c4fe..b88a980f56f8 100644
@@ -190,6 +190,7 @@ config INIT_LCD
 config MEMORY_RESERVE
 	int "Memory reservation (MiB)"
 	depends on (UCSIMM || UCDIMM)
+	default 0
 	help
 	  Reserve certain memory regions on 68x328 based boards.
 
arch/mips/Kconfig +1 -0
index 2bfef67d52c6..041d34975ea2 100644
@@ -1393,6 +1393,7 @@ config CPU_LOONGSON3
 	select WEAK_REORDERING_BEYOND_LLSC
 	select MIPS_PGD_C0_CONTEXT
 	select MIPS_L1_CACHE_SHIFT_6
+	select MIPS_FP_SUPPORT
 	select GPIOLIB
 	select SWIOTLB
 	help
arch/mips/include/asm/mips-cm.h +6 -6
index aeae2effa123..23c67c0871b1 100644
@@ -11,6 +11,7 @@
 #ifndef __MIPS_ASM_MIPS_CM_H__
 #define __MIPS_ASM_MIPS_CM_H__
 
+#include <linux/bitfield.h>
 #include <linux/bitops.h>
 #include <linux/errno.h>
 
@@ -153,8 +154,8 @@ GCR_ACCESSOR_RO(32, 0x030, rev)
 #define CM_GCR_REV_MINOR			GENMASK(7, 0)
 
 #define CM_ENCODE_REV(major, minor) \
-		(((major) << __ffs(CM_GCR_REV_MAJOR)) | \
-		 ((minor) << __ffs(CM_GCR_REV_MINOR)))
+		(FIELD_PREP(CM_GCR_REV_MAJOR, major) | \
+		 FIELD_PREP(CM_GCR_REV_MINOR, minor))
 
 #define CM_REV_CM2				CM_ENCODE_REV(6, 0)
 #define CM_REV_CM2_5				CM_ENCODE_REV(7, 0)
@@ -362,10 +363,10 @@ static inline int mips_cm_revision(void)
 static inline unsigned int mips_cm_max_vp_width(void)
 {
 	extern int smp_num_siblings;
-	uint32_t cfg;
 
 	if (mips_cm_revision() >= CM_REV_CM3)
-		return read_gcr_sys_config2() & CM_GCR_SYS_CONFIG2_MAXVPW;
+		return FIELD_GET(CM_GCR_SYS_CONFIG2_MAXVPW,
+				 read_gcr_sys_config2());
 
 	if (mips_cm_present()) {
 		/*
@@ -373,8 +374,7 @@ static inline unsigned int mips_cm_max_vp_width(void)
 		 * number of VP(E)s, and if that ever changes then this will
 		 * need revisiting.
 		 */
-		cfg = read_gcr_cl_config() & CM_GCR_Cx_CONFIG_PVPE;
-		return (cfg >> __ffs(CM_GCR_Cx_CONFIG_PVPE)) + 1;
+		return FIELD_GET(CM_GCR_Cx_CONFIG_PVPE, read_gcr_cl_config()) + 1;
 	}
 
 	if (IS_ENABLED(CONFIG_SMP))
arch/mips/kernel/mips-cm.c +10 -11
index a9eab83d9148..611ef512c0b8 100644
@@ -179,8 +179,7 @@ static void mips_cm_probe_l2sync(void)
 	phys_addr_t addr;
 
 	/* L2-only sync was introduced with CM major revision 6 */
-	major_rev = (read_gcr_rev() & CM_GCR_REV_MAJOR) >>
-		__ffs(CM_GCR_REV_MAJOR);
+	major_rev = FIELD_GET(CM_GCR_REV_MAJOR, read_gcr_rev());
 	if (major_rev < 6)
 		return;
 
@@ -263,13 +262,13 @@ void mips_cm_lock_other(unsigned int cluster, unsigned int core,
 	preempt_disable();
 
 	if (cm_rev >= CM_REV_CM3) {
-		val = core << __ffs(CM3_GCR_Cx_OTHER_CORE);
-		val |= vp << __ffs(CM3_GCR_Cx_OTHER_VP);
+		val = FIELD_PREP(CM3_GCR_Cx_OTHER_CORE, core) |
+		      FIELD_PREP(CM3_GCR_Cx_OTHER_VP, vp);
 
 		if (cm_rev >= CM_REV_CM3_5) {
 			val |= CM_GCR_Cx_OTHER_CLUSTER_EN;
-			val |= cluster << __ffs(CM_GCR_Cx_OTHER_CLUSTER);
-			val |= block << __ffs(CM_GCR_Cx_OTHER_BLOCK);
+			val |= FIELD_PREP(CM_GCR_Cx_OTHER_CLUSTER, cluster);
+			val |= FIELD_PREP(CM_GCR_Cx_OTHER_BLOCK, block);
 		} else {
 			WARN_ON(cluster != 0);
 			WARN_ON(block != CM_GCR_Cx_OTHER_BLOCK_LOCAL);
@@ -299,7 +298,7 @@ void mips_cm_lock_other(unsigned int cluster, unsigned int core,
 		spin_lock_irqsave(&per_cpu(cm_core_lock, curr_core),
 				  per_cpu(cm_core_lock_flags, curr_core));
 
-		val = core << __ffs(CM_GCR_Cx_OTHER_CORENUM);
+		val = FIELD_PREP(CM_GCR_Cx_OTHER_CORENUM, core);
 	}
 
 	write_gcr_cl_other(val);
@@ -343,8 +342,8 @@ void mips_cm_error_report(void)
 	cm_other = read_gcr_error_mult();
 
 	if (revision < CM_REV_CM3) { /* CM2 */
-		cause = cm_error >> __ffs(CM_GCR_ERROR_CAUSE_ERRTYPE);
-		ocause = cm_other >> __ffs(CM_GCR_ERROR_MULT_ERR2ND);
+		cause = FIELD_GET(CM_GCR_ERROR_CAUSE_ERRTYPE, cm_error);
+		ocause = FIELD_GET(CM_GCR_ERROR_MULT_ERR2ND, cm_other);
 
 		if (!cause)
 			return;
@@ -386,8 +385,8 @@ void mips_cm_error_report(void)
 		ulong core_id_bits, vp_id_bits, cmd_bits, cmd_group_bits;
 		ulong cm3_cca_bits, mcp_bits, cm3_tr_bits, sched_bit;
 
-		cause = cm_error >> __ffs64(CM3_GCR_ERROR_CAUSE_ERRTYPE);
-		ocause = cm_other >> __ffs(CM_GCR_ERROR_MULT_ERR2ND);
+		cause = FIELD_GET(CM3_GCR_ERROR_CAUSE_ERRTYPE, cm_error);
+		ocause = FIELD_GET(CM_GCR_ERROR_MULT_ERR2ND, cm_other);
 
 		if (!cause)
 			return;
arch/mips/kernel/r2300_fpu.S +2 -2
index 12e58053544f..cbf6db98cfb3 100644
@@ -29,8 +29,8 @@
 #define EX2(a,b)						\
 9:	a,##b;							\
 	.section __ex_table,"a";				\
-	PTR	9b,bad_stack;					\
-	PTR	9b+4,bad_stack;					\
+	PTR	9b,fault;					\
+	PTR	9b+4,fault;					\
 	.previous
 
 	.set	mips1
arch/mips/kernel/syscall.c +0 -9
index 3f16f3823031..9a28e79f2e66 100644
@@ -239,12 +239,3 @@ SYSCALL_DEFINE3(cachectl, char *, addr, int, nbytes, int, op)
 {
 	return -ENOSYS;
 }
-
-/*
- * If we ever come here the user sp is bad.  Zap the process right away.
- * Due to the bad stack signaling wouldn't work.
- */
-asmlinkage void bad_stack(void)
-{
-	do_exit(SIGSEGV);
-}
arch/mips/lantiq/xway/dma.c +9 -5
index aeb1b989cd4e..e45077aecf83 100644
@@ -11,6 +11,7 @@
 #include <linux/export.h>
 #include <linux/spinlock.h>
 #include <linux/clk.h>
+#include <linux/delay.h>
 #include <linux/err.h>
 
 #include <lantiq_soc.h>
@@ -29,6 +30,7 @@
 #define LTQ_DMA_PCTRL		0x44
 #define LTQ_DMA_IRNEN		0xf4
 
+#define DMA_ID_CHNR		GENMASK(26, 20)	/* channel number */
 #define DMA_DESCPT		BIT(3)		/* descriptor complete irq */
 #define DMA_TX			BIT(8)		/* TX channel direction */
 #define DMA_CHAN_ON		BIT(0)		/* channel on / off bit */
@@ -39,7 +41,6 @@
 #define DMA_POLL		BIT(31)		/* turn on channel polling */
 #define DMA_CLK_DIV4		BIT(6)		/* polling clock divider */
 #define DMA_2W_BURST		BIT(1)		/* 2 word burst length */
-#define DMA_MAX_CHANNEL		20		/* the soc has 20 channels */
 #define DMA_ETOP_ENDIANNESS	(0xf << 8) /* endianness swap etop channels */
 #define DMA_WEIGHT	(BIT(17) | BIT(16))	/* default channel wheight */
 
@@ -205,7 +206,7 @@ ltq_dma_init(struct platform_device *pdev)
 {
 	struct clk *clk;
 	struct resource *res;
-	unsigned id;
+	unsigned int id, nchannels;
 	int i;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -221,21 +222,24 @@ ltq_dma_init(struct platform_device *pdev)
 	clk_enable(clk);
 	ltq_dma_w32_mask(0, DMA_RESET, LTQ_DMA_CTRL);
 
+	usleep_range(1, 10);
+
 	/* disable all interrupts */
 	ltq_dma_w32(0, LTQ_DMA_IRNEN);
 
 	/* reset/configure each channel */
-	for (i = 0; i < DMA_MAX_CHANNEL; i++) {
+	id = ltq_dma_r32(LTQ_DMA_ID);
+	nchannels = ((id & DMA_ID_CHNR) >> 20);
+	for (i = 0; i < nchannels; i++) {
 		ltq_dma_w32(i, LTQ_DMA_CS);
 		ltq_dma_w32(DMA_CHAN_RST, LTQ_DMA_CCTRL);
 		ltq_dma_w32(DMA_POLL | DMA_CLK_DIV4, LTQ_DMA_CPOLL);
 		ltq_dma_w32_mask(DMA_CHAN_ON, 0, LTQ_DMA_CCTRL);
 	}
 
-	id = ltq_dma_r32(LTQ_DMA_ID);
 	dev_info(&pdev->dev,
 		"Init done - hw rev: %X, ports: %d, channels: %d\n",
-		id & 0x1f, (id >> 16) & 0xf, id >> 20);
+		id & 0x1f, (id >> 16) & 0xf, nchannels);
 
 	return 0;
 }
arch/parisc/kernel/entry.S +1 -1
index 873bf3434da9..7d14e9ae18fb 100644
@@ -1841,7 +1841,7 @@ syscall_restore:
 	LDREG	TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1
 
 	/* Are we being ptraced? */
-	ldw	TASK_FLAGS(%r1),%r19
+	LDREG	TI_FLAGS-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r19
 	ldi	_TIF_SYSCALL_TRACE_MASK,%r2
 	and,COND(=)	%r19,%r2,%r0
 	b,n	syscall_restore_rfi
arch/parisc/kernel/smp.c +17 -2
index e202c37e56af..9997465c1182 100644
@@ -29,6 +29,7 @@
 #include <linux/bitops.h>
 #include <linux/ftrace.h>
 #include <linux/cpu.h>
+#include <linux/kgdb.h>
 
 #include <linux/atomic.h>
 #include <asm/current.h>
@@ -71,7 +72,10 @@ enum ipi_message_type {
 	IPI_CALL_FUNC,
 	IPI_CPU_START,
 	IPI_CPU_STOP,
-	IPI_CPU_TEST
+	IPI_CPU_TEST,
+#ifdef CONFIG_KGDB
+	IPI_ENTER_KGDB,
+#endif
 };
 
 
@@ -169,7 +173,12 @@ ipi_interrupt(int irq, void *dev_id)
 			case IPI_CPU_TEST:
 				smp_debug(100, KERN_DEBUG "CPU%d is alive!\n", this_cpu);
 				break;
-
+#ifdef CONFIG_KGDB
+			case IPI_ENTER_KGDB:
+				smp_debug(100, KERN_DEBUG "CPU%d ENTER_KGDB\n", this_cpu);
+				kgdb_nmicallback(raw_smp_processor_id(), get_irq_regs());
+				break;
+#endif
 			default:
 				printk(KERN_CRIT "Unknown IPI num on CPU%d: %lu\n",
 					this_cpu, which);
@@ -225,6 +234,12 @@ send_IPI_allbutself(enum ipi_message_type op)
 	}
 }
 
+#ifdef CONFIG_KGDB
+void kgdb_roundup_cpus(void)
+{
+	send_IPI_allbutself(IPI_ENTER_KGDB);
+}
+#endif
 
 inline void 
 smp_send_stop(void)	{ send_IPI_allbutself(IPI_CPU_STOP); }
arch/parisc/kernel/unwind.c +14 -7
index 87ae476d1c4f..86a57fb0e6fa 100644
@@ -21,6 +21,8 @@
 #include <asm/ptrace.h>
 
 #include <asm/unwind.h>
+#include <asm/switch_to.h>
+#include <asm/sections.h>
 
 /* #define DEBUG 1 */
 #ifdef DEBUG
@@ -203,6 +205,11 @@ int __init unwind_init(void)
 	return 0;
 }
 
+static bool pc_is_kernel_fn(unsigned long pc, void *fn)
+{
+	return (unsigned long)dereference_kernel_function_descriptor(fn) == pc;
+}
+
 static int unwind_special(struct unwind_frame_info *info, unsigned long pc, int frame_size)
 {
 	/*
@@ -221,7 +228,7 @@ static int unwind_special(struct unwind_frame_info *info, unsigned long pc, int
 	extern void * const _call_on_stack;
 #endif /* CONFIG_IRQSTACKS */
 
-	if (pc == (unsigned long) &handle_interruption) {
+	if (pc_is_kernel_fn(pc, handle_interruption)) {
 		struct pt_regs *regs = (struct pt_regs *)(info->sp - frame_size - PT_SZ_ALGN);
 		dbg("Unwinding through handle_interruption()\n");
 		info->prev_sp = regs->gr[30];
@@ -229,13 +236,13 @@ static int unwind_special(struct unwind_frame_info *info, unsigned long pc, int
 		return 1;
 	}
 
-	if (pc == (unsigned long) &ret_from_kernel_thread ||
-	    pc == (unsigned long) &syscall_exit) {
+	if (pc_is_kernel_fn(pc, ret_from_kernel_thread) ||
+	    pc_is_kernel_fn(pc, syscall_exit)) {
 		info->prev_sp = info->prev_ip = 0;
 		return 1;
 	}
 
-	if (pc == (unsigned long) &intr_return) {
+	if (pc_is_kernel_fn(pc, intr_return)) {
 		struct pt_regs *regs;
 
 		dbg("Found intr_return()\n");
@@ -246,20 +253,20 @@ static int unwind_special(struct unwind_frame_info *info, unsigned long pc, int
 		return 1;
 	}
 
-	if (pc == (unsigned long) &_switch_to_ret) {
+	if (pc_is_kernel_fn(pc, _switch_to) ||
+	    pc_is_kernel_fn(pc, _switch_to_ret)) {
 		info->prev_sp = info->sp - CALLEE_SAVE_FRAME_SIZE;
 		info->prev_ip = *(unsigned long *)(info->prev_sp - RP_OFFSET);
 		return 1;
 	}
 
 #ifdef CONFIG_IRQSTACKS
-	if (pc == (unsigned long) &_call_on_stack) {
+	if (pc_is_kernel_fn(pc, _call_on_stack)) {
 		info->prev_sp = *(unsigned long *)(info->sp - FRAME_SIZE - REG_SZ);
 		info->prev_ip = *(unsigned long *)(info->sp - FRAME_SIZE - RP_OFFSET);
 		return 1;
 	}
 #endif
-
 	return 0;
 }
 
arch/parisc/kernel/vmlinux.lds.S +2 -1
index 99cd24f2ea01..164483b37d85 100644
@@ -56,6 +56,8 @@ SECTIONS
 {
 	. = KERNEL_BINARY_TEXT_START;
 
+	_stext = .;	/* start of kernel text, includes init code & data */
+
 	__init_begin = .;
 	HEAD_TEXT_SECTION
 	MLONGCALL_DISCARD(INIT_TEXT_SECTION(8))
@@ -79,7 +81,6 @@ SECTIONS
 	/* freed after init ends here */
 
 	_text = .;		/* Text and read-only data */
-	_stext = .;
 	MLONGCALL_KEEP(INIT_TEXT_SECTION(8))
 	.text ALIGN(PAGE_SIZE) : {
 		TEXT_TEXT
arch/parisc/mm/fixmap.c +1 -4
index 474cd241c150..02e19a32e6c5 100644
@@ -18,12 +18,9 @@ void notrace set_fixmap(enum fixed_addresses idx, phys_addr_t phys)
 	pte_t *pte;
 
 	if (pmd_none(*pmd))
-		pmd = pmd_alloc(NULL, pgd, vaddr);
-
-	pte = pte_offset_kernel(pmd, vaddr);
-	if (pte_none(*pte))
 		pte = pte_alloc_kernel(pmd, vaddr);
 
+	pte = pte_offset_kernel(pmd, vaddr);
 	set_pte_at(&init_mm, vaddr, pte, __mk_pte(phys, PAGE_KERNEL_RWX));
 	flush_tlb_kernel_range(vaddr, vaddr + PAGE_SIZE);
 }
arch/parisc/mm/init.c +2 -2
index 3e54484797f6..d769d61cde7c 100644
@@ -892,9 +892,9 @@ void flush_tlb_all(void)
 {
 	int do_recycle;
 
-	__inc_irq_stat(irq_tlb_count);
 	do_recycle = 0;
 	spin_lock(&sid_lock);
+	__inc_irq_stat(irq_tlb_count);
 	if (dirty_space_ids > RECYCLE_THRESHOLD) {
 	    BUG_ON(recycle_inuse);  /* FIXME: Use a semaphore/wait queue here */
 	    get_dirty_sids(&recycle_ndirty,recycle_dirty_array);
@@ -913,8 +913,8 @@ void flush_tlb_all(void)
 #else
 void flush_tlb_all(void)
 {
-	__inc_irq_stat(irq_tlb_count);
 	spin_lock(&sid_lock);
+	__inc_irq_stat(irq_tlb_count);
 	flush_tlb_all_local(NULL);
 	recycle_sids();
 	spin_unlock(&sid_lock);
arch/powerpc/include/asm/code-patching.h +1 -0
index be0f7257b13c..96ef54bc7d96 100644
@@ -22,6 +22,7 @@
 #define BRANCH_ABSOLUTE	0x2
 
 bool is_offset_in_branch_range(long offset);
+bool is_offset_in_cond_branch_range(long offset);
 unsigned int create_branch(const unsigned int *addr,
 			   unsigned long target, int flags);
 unsigned int create_cond_branch(const unsigned int *addr,
arch/powerpc/include/asm/security_features.h +5 -0
index e9e3f85134e5..316a9c8d1929 100644
@@ -39,6 +39,11 @@ static inline bool security_ftr_enabled(u64 feature)
 	return !!(powerpc_security_features & feature);
 }
 
+#ifdef CONFIG_PPC_BOOK3S_64
+enum stf_barrier_type stf_barrier_type_get(void);
+#else
+static inline enum stf_barrier_type stf_barrier_type_get(void) { return STF_BARRIER_NONE; }
+#endif
 
 // Features indicating support for Spectre/Meltdown mitigations
 
arch/powerpc/kernel/security.c +5 -0
index 1740a66cea84..ff022e725693 100644
@@ -256,6 +256,11 @@ static int __init handle_no_stf_barrier(char *p)
 
 early_param("no_stf_barrier", handle_no_stf_barrier);
 
+enum stf_barrier_type stf_barrier_type_get(void)
+{
+	return stf_enabled_flush_types;
+}
+
 /* This is the generic flag used by other architectures */
 static int __init handle_ssbd(char *p)
 {
arch/powerpc/lib/code-patching.c +6 -1
index 3345f039a876..a05f289e613e 100644
@@ -221,6 +221,11 @@ bool is_offset_in_branch_range(long offset)
 	return (offset >= -0x2000000 && offset <= 0x1fffffc && !(offset & 0x3));
 }
 
+bool is_offset_in_cond_branch_range(long offset)
+{
+	return offset >= -0x8000 && offset <= 0x7fff && !(offset & 0x3);
+}
+
 /*
  * Helper to check if a given instruction is a conditional branch
  * Derived from the conditional checks in analyse_instr()
@@ -274,7 +279,7 @@ unsigned int create_cond_branch(const unsigned int *addr,
 		offset = offset - (unsigned long)addr;
 
 	/* Check we can represent the target in the instruction format */
-	if (offset < -0x8000 || offset > 0x7FFF || offset & 0x3)
+	if (!is_offset_in_cond_branch_range(offset))
 		return 0;
 
 	/* Mask out the flags and target, so they don't step on each other. */
arch/powerpc/net/bpf_jit.h +21 -12
index 55d4377ccfae..6d2a268528df 100644
@@ -11,6 +11,7 @@
 #ifndef __ASSEMBLY__
 
 #include <asm/types.h>
+#include <asm/code-patching.h>
 
 #ifdef PPC64_ELF_ABI_v1
 #define FUNCTION_DESCR_SIZE	24
@@ -180,13 +181,26 @@
 #define PPC_NEG(d, a)		EMIT(PPC_INST_NEG | ___PPC_RT(d) | ___PPC_RA(a))
 
 /* Long jump; (unconditional 'branch') */
-#define PPC_JMP(dest)		EMIT(PPC_INST_BRANCH |			      \
-				     (((dest) - (ctx->idx * 4)) & 0x03fffffc))
+#define PPC_JMP(dest)							      \
+	do {								      \
+		long offset = (long)(dest) - (ctx->idx * 4);		      \
+		if (!is_offset_in_branch_range(offset)) {		      \
+			pr_err_ratelimited("Branch offset 0x%lx (@%u) out of range\n", offset, ctx->idx);			\
+			return -ERANGE;					      \
+		}							      \
+		EMIT(PPC_INST_BRANCH | (offset & 0x03fffffc));		      \
+	} while (0)
 /* "cond" here covers BO:BI fields. */
-#define PPC_BCC_SHORT(cond, dest)	EMIT(PPC_INST_BRANCH_COND |	      \
-					     (((cond) & 0x3ff) << 16) |	      \
-					     (((dest) - (ctx->idx * 4)) &     \
-					      0xfffc))
+#define PPC_BCC_SHORT(cond, dest)					      \
+	do {								      \
+		long offset = (long)(dest) - (ctx->idx * 4);		      \
+		if (!is_offset_in_cond_branch_range(offset)) {		      \
+			pr_err_ratelimited("Conditional branch offset 0x%lx (@%u) out of range\n", offset, ctx->idx);		\
+			return -ERANGE;					      \
+		}							      \
+		EMIT(PPC_INST_BRANCH_COND | (((cond) & 0x3ff) << 16) | (offset & 0xfffc));					\
+	} while (0)
+
 /* Sign-extended 32-bit immediate load */
 #define PPC_LI32(d, i)		do {					      \
 		if ((int)(uintptr_t)(i) >= -32768 &&			      \
@@ -225,11 +239,6 @@
 #define PPC_FUNC_ADDR(d,i) do { PPC_LI32(d, i); } while(0)
 #endif
 
-static inline bool is_nearbranch(int offset)
-{
-	return (offset < 32768) && (offset >= -32768);
-}
-
 /*
  * The fly in the ointment of code size changing from pass to pass is
  * avoided by padding the short branch case with a NOP.	 If code size differs
@@ -238,7 +247,7 @@ static inline bool is_nearbranch(int offset)
  * state.
  */
 #define PPC_BCC(cond, dest)	do {					      \
-		if (is_nearbranch((dest) - (ctx->idx * 4))) {		      \
+		if (is_offset_in_cond_branch_range((long)(dest) - (ctx->idx * 4))) {	\
 			PPC_BCC_SHORT(cond, dest);			      \
 			PPC_NOP();					      \
 		} else {						      \
arch/powerpc/net/bpf_jit64.h +4 -4
index cf3a7e337f02..68ddf3502ab0 100644
@@ -16,18 +16,18 @@
  * with our redzone usage.
  *
  *		[	prev sp		] <-------------
- *		[   nv gpr save area	] 6*8		|
+ *		[   nv gpr save area	] 5*8		|
  *		[    tail_call_cnt	] 8		|
- *		[    local_tmp_var	] 8		|
+ *		[    local_tmp_var	] 16		|
  * fp (r31) -->	[   ebpf stack space	] upto 512	|
  *		[     frame header	] 32/112	|
  * sp (r1) --->	[    stack pointer	] --------------
  */
 
 /* for gpr non volatile registers BPG_REG_6 to 10 */
-#define BPF_PPC_STACK_SAVE	(6*8)
+#define BPF_PPC_STACK_SAVE	(5*8)
 /* for bpf JIT code internal usage */
-#define BPF_PPC_STACK_LOCALS	16
+#define BPF_PPC_STACK_LOCALS	24
 /* stack frame excluding BPF stack, ensure this is quadword aligned */
 #define BPF_PPC_STACKFRAME	(STACK_FRAME_MIN_SIZE + \
 				 BPF_PPC_STACK_LOCALS + BPF_PPC_STACK_SAVE)
arch/powerpc/net/bpf_jit_comp64.c +75 -16

154 lines not on this page · raw message

arch/powerpc/platforms/44x/fsp2.c +2 -0
index b299e43f5ef9..823397c802de 100644
@@ -208,6 +208,7 @@ static void node_irq_request(const char *compat, irq_handler_t errirq_handler)
 		if (irq == NO_IRQ) {
 			pr_err("device tree node %pOFn is missing a interrupt",
 			      np);
+			of_node_put(np);
 			return;
 		}
 
@@ -215,6 +216,7 @@ static void node_irq_request(const char *compat, irq_handler_t errirq_handler)
 		if (rc) {
 			pr_err("fsp_of_probe: request_irq failed: np=%pOF rc=%d",
 			      np, rc);
+			of_node_put(np);
 			return;
 		}
 	}
arch/powerpc/platforms/85xx/mpc85xx_pm_ops.c +1 -2
index 7c0133f558d0..ffa8a7a6a2db 100644
@@ -94,9 +94,8 @@ int __init mpc85xx_setup_pmc(void)
 			pr_err("Could not map guts node address\n");
 			return -ENOMEM;
 		}
+		qoriq_pm_ops = &mpc85xx_pm_ops;
 	}
 
-	qoriq_pm_ops = &mpc85xx_pm_ops;
-
 	return 0;
 }
arch/powerpc/platforms/powernv/opal-prd.c +11 -1
index 45f4223a790f..6ebc906e07b0 100644
@@ -372,6 +372,12 @@ static struct notifier_block opal_prd_event_nb = {
 	.priority	= 0,
 };
 
+static struct notifier_block opal_prd_event_nb2 = {
+	.notifier_call	= opal_prd_msg_notifier,
+	.next		= NULL,
+	.priority	= 0,
+};
+
 static int opal_prd_probe(struct platform_device *pdev)
 {
 	int rc;
@@ -393,9 +399,10 @@ static int opal_prd_probe(struct platform_device *pdev)
 		return rc;
 	}
 
-	rc = opal_message_notifier_register(OPAL_MSG_PRD2, &opal_prd_event_nb);
+	rc = opal_message_notifier_register(OPAL_MSG_PRD2, &opal_prd_event_nb2);
 	if (rc) {
 		pr_err("Couldn't register PRD2 event notifier\n");
+		opal_message_notifier_unregister(OPAL_MSG_PRD, &opal_prd_event_nb);
 		return rc;
 	}
 
@@ -404,6 +411,8 @@ static int opal_prd_probe(struct platform_device *pdev)
 		pr_err("failed to register miscdev\n");
 		opal_message_notifier_unregister(OPAL_MSG_PRD,
 				&opal_prd_event_nb);
+		opal_message_notifier_unregister(OPAL_MSG_PRD2,
+				&opal_prd_event_nb2);
 		return rc;
 	}
 
@@ -414,6 +423,7 @@ static int opal_prd_remove(struct platform_device *pdev)
 {
 	misc_deregister(&opal_prd_dev);
 	opal_message_notifier_unregister(OPAL_MSG_PRD, &opal_prd_event_nb);
+	opal_message_notifier_unregister(OPAL_MSG_PRD2, &opal_prd_event_nb2);
 	return 0;
 }
 
arch/s390/kvm/priv.c +2 -0
index 560310e29e27..fa69610fe6b1 100644
@@ -398,6 +398,8 @@ static int handle_sske(struct kvm_vcpu *vcpu)
 		up_read(&current->mm->mmap_sem);
 		if (rc == -EFAULT)
 			return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
+		if (rc == -EAGAIN)
+			continue;
 		if (rc < 0)
 			return rc;
 		start += PAGE_SIZE;
arch/s390/mm/gmap.c +3 -2
index 4fa7a562c6fc..5e5a4e1f0e6c 100644
@@ -684,9 +684,10 @@ void __gmap_zap(struct gmap *gmap, unsigned long gaddr)
 		vmaddr |= gaddr & ~PMD_MASK;
 		/* Get pointer to the page table entry */
 		ptep = get_locked_pte(gmap->mm, vmaddr, &ptl);
-		if (likely(ptep))
+		if (likely(ptep)) {
 			ptep_zap_unused(gmap->mm, vmaddr, ptep, 0);
-		pte_unmap_unlock(ptep, ptl);
+			pte_unmap_unlock(ptep, ptl);
+		}
 	}
 }
 EXPORT_SYMBOL_GPL(__gmap_zap);
arch/sh/kernel/cpu/fpu.c +6 -4
index ae354a2931e7..fd6db0ab1928 100644
@@ -62,18 +62,20 @@ void fpu_state_restore(struct pt_regs *regs)
 	}
 
 	if (!tsk_used_math(tsk)) {
-		local_irq_enable();
+		int ret;
 		/*
 		 * does a slab alloc which can sleep
 		 */
-		if (init_fpu(tsk)) {
+		local_irq_enable();
+		ret = init_fpu(tsk);
+		local_irq_disable();
+		if (ret) {
 			/*
 			 * ran out of memory!
 			 */
-			do_group_exit(SIGKILL);
+			force_sig(SIGKILL);
 			return;
 		}
-		local_irq_disable();
 	}
 
 	grab_fpu(regs);
arch/x86/hyperv/hv_init.c +4 -1
index 79583bac9ac4..812db1ac8cb1 100644
@@ -155,7 +155,6 @@ void set_hv_tscchange_cb(void (*cb)(void))
 	struct hv_reenlightenment_control re_ctrl = {
 		.vector = HYPERV_REENLIGHTENMENT_VECTOR,
 		.enabled = 1,
-		.target_vp = hv_vp_index[smp_processor_id()]
 	};
 	struct hv_tsc_emulation_control emu_ctrl = {.enabled = 1};
 
@@ -169,8 +168,12 @@ void set_hv_tscchange_cb(void (*cb)(void))
 	/* Make sure callback is registered before we write to MSRs */
 	wmb();
 
+	re_ctrl.target_vp = hv_vp_index[get_cpu()];
+
 	wrmsrl(HV_X64_MSR_REENLIGHTENMENT_CONTROL, *((u64 *)&re_ctrl));
 	wrmsrl(HV_X64_MSR_TSC_EMULATION_CONTROL, *((u64 *)&emu_ctrl));
+
+	put_cpu();
 }
 EXPORT_SYMBOL_GPL(set_hv_tscchange_cb);
 
arch/x86/include/asm/page_64_types.h +1 -1
index 288b065955b7..9d0b47945272 100644
@@ -15,7 +15,7 @@
 #define THREAD_SIZE_ORDER	(2 + KASAN_STACK_ORDER)
 #define THREAD_SIZE  (PAGE_SIZE << THREAD_SIZE_ORDER)
 
-#define EXCEPTION_STACK_ORDER (0 + KASAN_STACK_ORDER)
+#define EXCEPTION_STACK_ORDER (1 + KASAN_STACK_ORDER)
 #define EXCEPTION_STKSZ (PAGE_SIZE << EXCEPTION_STACK_ORDER)
 
 #define IRQ_STACK_ORDER (2 + KASAN_STACK_ORDER)
arch/x86/kernel/cpu/amd.c +2 -0
index 753f3dfbc9c9..88cef978380b 100644
@@ -987,6 +987,8 @@ static void init_amd(struct cpuinfo_x86 *c)
 	if (cpu_has(c, X86_FEATURE_IRPERF) &&
 	    !cpu_has_amd_erratum(c, amd_erratum_1054))
 		msr_set_bit(MSR_K7_HWCR, MSR_K7_HWCR_IRPERF_EN_BIT);
+
+	check_null_seg_clears_base(c);
 }
 
 #ifdef CONFIG_X86_32
arch/x86/kernel/cpu/common.c +37 -7

64 lines not on this page · raw message

arch/x86/kernel/cpu/cpu.h +1 -0
index 9d033693519a..4d04c127c4a7 100644
@@ -73,6 +73,7 @@ extern int detect_extended_topology_early(struct cpuinfo_x86 *c);
 extern int detect_extended_topology(struct cpuinfo_x86 *c);
 extern int detect_ht_early(struct cpuinfo_x86 *c);
 extern void detect_ht(struct cpuinfo_x86 *c);
+extern void check_null_seg_clears_base(struct cpuinfo_x86 *c);
 
 unsigned int aperfmperf_get_khz(int cpu);
 
arch/x86/kernel/cpu/hygon.c +2 -0
index 62e9a982adaf..b232bd0be78d 100644
@@ -350,6 +350,8 @@ static void init_hygon(struct cpuinfo_x86 *c)
 	/* Hygon CPUs don't reset SS attributes on SYSRET, Xen does. */
 	if (!cpu_has(c, X86_FEATURE_XENPV))
 		set_cpu_bug(c, X86_BUG_SYSRET_SS_ATTRS);
+
+	check_null_seg_clears_base(c);
 }
 
 static void cpu_detect_tlb_hygon(struct cpuinfo_x86 *c)
arch/x86/kernel/irq.c +3 -1
index 21efee32e2b1..7dfd0185767c 100644
@@ -295,8 +295,10 @@ void kvm_set_posted_intr_wakeup_handler(void (*handler)(void))
 {
 	if (handler)
 		kvm_posted_intr_wakeup_handler = handler;
-	else
+	else {
 		kvm_posted_intr_wakeup_handler = dummy_handler;
+		synchronize_rcu();
+	}
 }
 EXPORT_SYMBOL_GPL(kvm_set_posted_intr_wakeup_handler);
 
arch/x86/kvm/vmx/vmx.c +4 -4
index e177848a3631..0f7c05198406 100644
@@ -785,15 +785,15 @@ void update_exception_bitmap(struct kvm_vcpu *vcpu)
 /*
  * Check if MSR is intercepted for currently loaded MSR bitmap.
  */
-static bool msr_write_intercepted(struct kvm_vcpu *vcpu, u32 msr)
+static bool msr_write_intercepted(struct vcpu_vmx *vmx, u32 msr)
 {
 	unsigned long *msr_bitmap;
 	int f = sizeof(unsigned long);
 
-	if (!cpu_has_vmx_msr_bitmap())
+	if (!(exec_controls_get(vmx) & CPU_BASED_USE_MSR_BITMAPS))
 		return true;
 
-	msr_bitmap = to_vmx(vcpu)->loaded_vmcs->msr_bitmap;
+	msr_bitmap = vmx->loaded_vmcs->msr_bitmap;
 
 	if (msr <= 0x1fff) {
 		return !!test_bit(msr, msr_bitmap + 0x800 / f);
@@ -6579,7 +6579,7 @@ static void vmx_vcpu_run(struct kvm_vcpu *vcpu)
 	 * If the L02 MSR bitmap does not intercept the MSR, then we need to
 	 * save it.
 	 */
-	if (unlikely(!msr_write_intercepted(vcpu, MSR_IA32_SPEC_CTRL)))
+	if (unlikely(!msr_write_intercepted(vmx, MSR_IA32_SPEC_CTRL)))
 		vmx->spec_ctrl = native_read_msr(MSR_IA32_SPEC_CTRL);
 
 	x86_spec_ctrl_restore_host(vmx->spec_ctrl, 0);
arch/x86/mm/mem_encrypt_identity.c +9 -0
index 84cda5dc0387..ebc8e3af1c67 100644
@@ -27,6 +27,15 @@
 #undef CONFIG_PARAVIRT_XXL
 #undef CONFIG_PARAVIRT_SPINLOCKS
 
+/*
+ * This code runs before CPU feature bits are set. By default, the
+ * pgtable_l5_enabled() function uses bit X86_FEATURE_LA57 to determine if
+ * 5-level paging is active, so that won't work here. USE_EARLY_PGTABLE_L5
+ * is provided to handle this situation and, instead, use a variable that
+ * has been set by the early boot code.
+ */
+#define USE_EARLY_PGTABLE_L5
+
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/mem_encrypt.h>
block/blk-mq.c +0 -1
index 0674f53c6052..84798d09ca46 100644
@@ -733,7 +733,6 @@ void blk_mq_requeue_request(struct request *rq, bool kick_requeue_list)
 	/* this request will be re-inserted to io scheduler queue */
 	blk_mq_sched_requeue_request(rq);
 
-	BUG_ON(!list_empty(&rq->queuelist));
 	blk_mq_add_to_requeue_list(rq, true, kick_requeue_list);
 }
 EXPORT_SYMBOL(blk_mq_requeue_request);
crypto/Kconfig +1 -1
index b2cc0ad3792a..ce60ec30e78d 100644
@@ -242,12 +242,12 @@ config CRYPTO_DH
 
 config CRYPTO_ECC
 	tristate
+	select CRYPTO_RNG_DEFAULT
 
 config CRYPTO_ECDH
 	tristate "ECDH algorithm"
 	select CRYPTO_ECC
 	select CRYPTO_KPP
-	select CRYPTO_RNG_DEFAULT
 	help
 	  Generic implementation of the ECDH algorithm
 
crypto/pcrypt.c +8 -4
index a4f3b3f342c8..276d2fd9e911 100644
@@ -79,12 +79,14 @@ static void pcrypt_aead_enc(struct padata_priv *padata)
 {
 	struct pcrypt_request *preq = pcrypt_padata_request(padata);
 	struct aead_request *req = pcrypt_request_ctx(preq);
+	int ret;
 
-	padata->info = crypto_aead_encrypt(req);
+	ret = crypto_aead_encrypt(req);
 
-	if (padata->info == -EINPROGRESS)
+	if (ret == -EINPROGRESS)
 		return;
 
+	padata->info = ret;
 	padata_do_serial(padata);
 }
 
@@ -124,12 +126,14 @@ static void pcrypt_aead_dec(struct padata_priv *padata)
 {
 	struct pcrypt_request *preq = pcrypt_padata_request(padata);
 	struct aead_request *req = pcrypt_request_ctx(preq);
+	int ret;
 
-	padata->info = crypto_aead_decrypt(req);
+	ret = crypto_aead_decrypt(req);
 
-	if (padata->info == -EINPROGRESS)
+	if (ret == -EINPROGRESS)
 		return;
 
+	padata->info = ret;
 	padata_do_serial(padata);
 }
 
drivers/acpi/acpica/acglobal.h +2 -0
index fd3beea93421..42c4bfd796f4 100644
@@ -220,6 +220,8 @@ extern struct acpi_bit_register_info
     acpi_gbl_bit_register_info[ACPI_NUM_BITREG];
 ACPI_GLOBAL(u8, acpi_gbl_sleep_type_a);
 ACPI_GLOBAL(u8, acpi_gbl_sleep_type_b);
+ACPI_GLOBAL(u8, acpi_gbl_sleep_type_a_s0);
+ACPI_GLOBAL(u8, acpi_gbl_sleep_type_b_s0);
 
 /*****************************************************************************
  *
drivers/acpi/acpica/hwesleep.c +2 -6
index dee3affaca49..aa502ae3b6b3 100644
@@ -147,17 +147,13 @@ acpi_status acpi_hw_extended_sleep(u8 sleep_state)
 
 acpi_status acpi_hw_extended_wake_prep(u8 sleep_state)
 {
-	acpi_status status;
 	u8 sleep_type_value;
 
 	ACPI_FUNCTION_TRACE(hw_extended_wake_prep);
 
-	status = acpi_get_sleep_type_data(ACPI_STATE_S0,
-					  &acpi_gbl_sleep_type_a,
-					  &acpi_gbl_sleep_type_b);
-	if (ACPI_SUCCESS(status)) {
+	if (acpi_gbl_sleep_type_a_s0 != ACPI_SLEEP_TYPE_INVALID) {
 		sleep_type_value =
-		    ((acpi_gbl_sleep_type_a << ACPI_X_SLEEP_TYPE_POSITION) &
+		    ((acpi_gbl_sleep_type_a_s0 << ACPI_X_SLEEP_TYPE_POSITION) &
 		     ACPI_X_SLEEP_TYPE_MASK);
 
 		(void)acpi_write((u64)(sleep_type_value | ACPI_X_SLEEP_ENABLE),
drivers/acpi/acpica/hwsleep.c +4 -7
index b62db8ec446f..5f7d63badbe9 100644
@@ -179,7 +179,7 @@ acpi_status acpi_hw_legacy_sleep(u8 sleep_state)
 
 acpi_status acpi_hw_legacy_wake_prep(u8 sleep_state)
 {
-	acpi_status status;
+	acpi_status status = AE_OK;
 	struct acpi_bit_register_info *sleep_type_reg_info;
 	struct acpi_bit_register_info *sleep_enable_reg_info;
 	u32 pm1a_control;
@@ -192,10 +192,7 @@ acpi_status acpi_hw_legacy_wake_prep(u8 sleep_state)
 	 * This is unclear from the ACPI Spec, but it is required
 	 * by some machines.
 	 */
-	status = acpi_get_sleep_type_data(ACPI_STATE_S0,
-					  &acpi_gbl_sleep_type_a,
-					  &acpi_gbl_sleep_type_b);
-	if (ACPI_SUCCESS(status)) {
+	if (acpi_gbl_sleep_type_a_s0 != ACPI_SLEEP_TYPE_INVALID) {
 		sleep_type_reg_info =
 		    acpi_hw_get_bit_register_info(ACPI_BITREG_SLEEP_TYPE);
 		sleep_enable_reg_info =
@@ -216,9 +213,9 @@ acpi_status acpi_hw_legacy_wake_prep(u8 sleep_state)
 
 			/* Insert the SLP_TYP bits */
 
-			pm1a_control |= (acpi_gbl_sleep_type_a <<
+			pm1a_control |= (acpi_gbl_sleep_type_a_s0 <<
 					 sleep_type_reg_info->bit_position);
-			pm1b_control |= (acpi_gbl_sleep_type_b <<
+			pm1b_control |= (acpi_gbl_sleep_type_b_s0 <<
 					 sleep_type_reg_info->bit_position);
 
 			/* Write the control registers and ignore any errors */
drivers/acpi/acpica/hwxfsleep.c +7 -0
index abbf9702aa7f..79731efbe8fe 100644
@@ -214,6 +214,13 @@ acpi_status acpi_enter_sleep_state_prep(u8 sleep_state)
 		return_ACPI_STATUS(status);
 	}
 
+	status = acpi_get_sleep_type_data(ACPI_STATE_S0,
+					  &acpi_gbl_sleep_type_a_s0,
+					  &acpi_gbl_sleep_type_b_s0);
+	if (ACPI_FAILURE(status)) {
+		acpi_gbl_sleep_type_a_s0 = ACPI_SLEEP_TYPE_INVALID;
+	}
+
 	/* Execute the _PTS method (Prepare To Sleep) */
 
 	arg_list.count = 1;
drivers/acpi/battery.c +1 -1
index 254a7d98b9d4..6e96ed68b337 100644
@@ -185,7 +185,7 @@ static int acpi_battery_is_charged(struct acpi_battery *battery)
 		return 1;
 
 	/* fallback to using design values for broken batteries */
-	if (battery->design_capacity == battery->capacity_now)
+	if (battery->design_capacity <= battery->capacity_now)
 		return 1;
 
 	/* we don't do any sort of metric based on percentages */
drivers/acpi/pmic/intel_pmic.c +28 -23

59 lines not on this page · raw message

drivers/android/binder.c +14 -8
index 2be6687c0148..47f839bc0234 100644
@@ -424,6 +424,9 @@ enum binder_deferred_state {
  *                        (invariant after initialized)
  * @tsk                   task_struct for group_leader of process
  *                        (invariant after initialized)
+ * @cred                  struct cred associated with the `struct file`
+ *                        in binder_open()
+ *                        (invariant after initialized)
  * @deferred_work_node:   element for binder_deferred_list
  *                        (protected by binder_deferred_lock)
  * @deferred_work:        bitmap of deferred work to perform
@@ -469,6 +472,7 @@ struct binder_proc {
 	struct list_head waiting_threads;
 	int pid;
 	struct task_struct *tsk;
+	const struct cred *cred;
 	struct hlist_node deferred_work_node;
 	int deferred_work;
 	bool is_dead;
@@ -2442,7 +2446,7 @@ static int binder_translate_binder(struct flat_binder_object *fp,
 		ret = -EINVAL;
 		goto done;
 	}
-	if (security_binder_transfer_binder(proc->tsk, target_proc->tsk)) {
+	if (security_binder_transfer_binder(proc->cred, target_proc->cred)) {
 		ret = -EPERM;
 		goto done;
 	}
@@ -2488,7 +2492,7 @@ static int binder_translate_handle(struct flat_binder_object *fp,
 				  proc->pid, thread->pid, fp->handle);
 		return -EINVAL;
 	}
-	if (security_binder_transfer_binder(proc->tsk, target_proc->tsk)) {
+	if (security_binder_transfer_binder(proc->cred, target_proc->cred)) {
 		ret = -EPERM;
 		goto done;
 	}
@@ -2576,7 +2580,7 @@ static int binder_translate_fd(u32 fd, binder_size_t fd_offset,
 		ret = -EBADF;
 		goto err_fget;
 	}
-	ret = security_binder_transfer_file(proc->tsk, target_proc->tsk, file);
+	ret = security_binder_transfer_file(proc->cred, target_proc->cred, file);
 	if (ret < 0) {
 		ret = -EPERM;
 		goto err_security;
@@ -2975,8 +2979,8 @@ static void binder_transaction(struct binder_proc *proc,
 			return_error_line = __LINE__;
 			goto err_invalid_target_handle;
 		}
-		if (security_binder_transaction(proc->tsk,
-						target_proc->tsk) < 0) {
+		if (security_binder_transaction(proc->cred,
+						target_proc->cred) < 0) {
 			return_error = BR_FAILED_REPLY;
 			return_error_param = -EPERM;
 			return_error_line = __LINE__;
@@ -3091,7 +3095,7 @@ static void binder_transaction(struct binder_proc *proc,
 		t->from = thread;
 	else
 		t->from = NULL;
-	t->sender_euid = task_euid(proc->tsk);
+	t->sender_euid = proc->cred->euid;
 	t->to_proc = target_proc;
 	t->to_thread = target_thread;
 	t->code = tr->code;
@@ -3102,7 +3106,7 @@ static void binder_transaction(struct binder_proc *proc,
 		u32 secid;
 		size_t added_size;
 
-		security_task_getsecid(proc->tsk, &secid);
+		security_cred_getsecid(proc->cred, &secid);
 		ret = security_secid_to_secctx(secid, &secctx, &secctx_sz);
 		if (ret) {
 			return_error = BR_FAILED_REPLY;
@@ -4707,6 +4711,7 @@ static void binder_free_proc(struct binder_proc *proc)
 	}
 	binder_alloc_deferred_release(&proc->alloc);
 	put_task_struct(proc->tsk);
+	put_cred(proc->cred);
 	binder_stats_deleted(BINDER_STAT_PROC);
 	kfree(proc);
 }
@@ -4917,7 +4922,7 @@ static int binder_ioctl_set_ctx_mgr(struct file *filp,
 		ret = -EBUSY;
 		goto out;
 	}
-	ret = security_binder_set_context_mgr(proc->tsk);
+	ret = security_binder_set_context_mgr(proc->cred);
 	if (ret < 0)
 		goto out;
 	if (uid_valid(context->binder_context_mgr_uid)) {
@@ -5234,6 +5239,7 @@ static int binder_open(struct inode *nodp, struct file *filp)
 	spin_lock_init(&proc->outer_lock);
 	get_task_struct(current->group_leader);
 	proc->tsk = current->group_leader;
+	proc->cred = get_cred(filp->f_cred);
 	INIT_LIST_HEAD(&proc->todo);
 	proc->default_priority = task_nice(current);
 	/* binderfs stashes devices in i_private */
drivers/ata/libata-core.c +1 -1
index 7c6c05fd5dfc..bed433fd9c70 100644
@@ -2057,7 +2057,7 @@ unsigned int ata_read_log_page(struct ata_device *dev, u8 log,
 
 retry:
 	ata_tf_init(dev, &tf);
-	if (dev->dma_mode && ata_id_has_read_log_dma_ext(dev->id) &&
+	if (ata_dma_enabled(dev) && ata_id_has_read_log_dma_ext(dev->id) &&
 	    !(dev->horkage & ATA_HORKAGE_NO_DMA_LOG)) {
 		tf.command = ATA_CMD_READ_LOG_DMA_EXT;
 		tf.protocol = ATA_PROT_DMA;
drivers/ata/libata-eh.c +8 -0
index 3bfd9da58473..c6a21a784ec6 100644
@@ -97,6 +97,12 @@ static const unsigned long ata_eh_identify_timeouts[] = {
 	ULONG_MAX,
 };
 
+static const unsigned long ata_eh_revalidate_timeouts[] = {
+	15000,	/* Some drives are slow to read log pages when waking-up */
+	15000,  /* combined time till here is enough even for media access */
+	ULONG_MAX,
+};
+
 static const unsigned long ata_eh_flush_timeouts[] = {
 	15000,	/* be generous with flush */
 	15000,  /* ditto */
@@ -133,6 +139,8 @@ static const struct ata_eh_cmd_timeout_ent
 ata_eh_cmd_timeout_table[ATA_EH_CMD_TIMEOUT_TABLE_SIZE] = {
 	{ .commands = CMDS(ATA_CMD_ID_ATA, ATA_CMD_ID_ATAPI),
 	  .timeouts = ata_eh_identify_timeouts, },
+	{ .commands = CMDS(ATA_CMD_READ_LOG_EXT, ATA_CMD_READ_LOG_DMA_EXT),
+	  .timeouts = ata_eh_revalidate_timeouts, },
 	{ .commands = CMDS(ATA_CMD_READ_NATIVE_MAX, ATA_CMD_READ_NATIVE_MAX_EXT),
 	  .timeouts = ata_eh_other_timeouts, },
 	{ .commands = CMDS(ATA_CMD_SET_MAX, ATA_CMD_SET_MAX_EXT),
drivers/auxdisplay/ht16k33.c +38 -28

96 lines not on this page · raw message

drivers/auxdisplay/img-ascii-lcd.c +10 -0
index efb928e25aef..9556d6827f00 100644
@@ -280,6 +280,16 @@ static int img_ascii_lcd_display(struct img_ascii_lcd_ctx *ctx,
 	if (msg[count - 1] == '\n')
 		count--;
 
+	if (!count) {
+		/* clear the LCD */
+		devm_kfree(&ctx->pdev->dev, ctx->message);
+		ctx->message = NULL;
+		ctx->message_len = 0;
+		memset(ctx->curr, ' ', ctx->cfg->num_chars);
+		ctx->cfg->update(ctx);
+		return 0;
+	}
+
 	new_msg = devm_kmalloc(&ctx->pdev->dev, count + 1, GFP_KERNEL);
 	if (!new_msg)
 		return -ENOMEM;
drivers/block/ataflop.c +3 -15
index bd7d3bb8b890..ad4cf1074910 100644
@@ -653,9 +653,6 @@ static inline void copy_buffer(void *from, void *to)
 		*p2++ = *p1++;
 }
 
-  
-  
-
 /* General Interrupt Handling */
 
 static void (*FloppyIRQHandler)( int status ) = NULL;
@@ -1225,6 +1222,7 @@ static void fd_rwsec_done1(int status)
 	}
 	else {
 		/* all sectors finished */
+		finish_fdc();
 		fd_end_request_cur(BLK_STS_OK);
 	}
 	return;
@@ -1472,15 +1470,6 @@ static void setup_req_params( int drive )
 			ReqTrack, ReqSector, (unsigned long)ReqData ));
 }
 
-static void ataflop_commit_rqs(struct blk_mq_hw_ctx *hctx)
-{
-	spin_lock_irq(&ataflop_lock);
-	atari_disable_irq(IRQ_MFP_FDC);
-	finish_fdc();
-	atari_enable_irq(IRQ_MFP_FDC);
-	spin_unlock_irq(&ataflop_lock);
-}
-
 static blk_status_t ataflop_queue_rq(struct blk_mq_hw_ctx *hctx,
 				     const struct blk_mq_queue_data *bd)
 {
@@ -1488,6 +1477,8 @@ static blk_status_t ataflop_queue_rq(struct blk_mq_hw_ctx *hctx,
 	int drive = floppy - unit;
 	int type = floppy->type;
 
+	DPRINT(("Queue request: drive %d type %d last %d\n", drive, type, bd->last));
+
 	spin_lock_irq(&ataflop_lock);
 	if (fd_request) {
 		spin_unlock_irq(&ataflop_lock);
@@ -1547,8 +1538,6 @@ static blk_status_t ataflop_queue_rq(struct blk_mq_hw_ctx *hctx,
 	setup_req_params( drive );
 	do_fd_action( drive );
 
-	if (bd->last)
-		finish_fdc();
 	atari_enable_irq( IRQ_MFP_FDC );
 
 out:
@@ -1958,7 +1947,6 @@ static const struct block_device_operations floppy_fops = {
 
 static const struct blk_mq_ops ataflop_mq_ops = {
 	.queue_rq = ataflop_queue_rq,
-	.commit_rqs = ataflop_commit_rqs,
 };
 
 static struct kobject *floppy_find(dev_t dev, int *part, void *data)
drivers/block/zram/zram_drv.c +1 -1
index 719c6b7741af..1cc9b67e9bca 100644
@@ -901,7 +901,7 @@ static ssize_t read_block_state(struct file *file, char __user *buf,
 			zram_test_flag(zram, index, ZRAM_HUGE) ? 'h' : '.',
 			zram_test_flag(zram, index, ZRAM_IDLE) ? 'i' : '.');
 
-		if (count < copied) {
+		if (count <= copied) {
 			zram_slot_unlock(zram, index);
 			break;
 		}
drivers/bluetooth/btmtkuart.c +8 -5
index 8a81fbca5c9d..2beb2321825e 100644
@@ -158,8 +158,10 @@ static int mtk_hci_wmt_sync(struct hci_dev *hdev,
 	int err;
 
 	hlen = sizeof(*hdr) + wmt_params->dlen;
-	if (hlen > 255)
-		return -EINVAL;
+	if (hlen > 255) {
+		err = -EINVAL;
+		goto err_free_skb;
+	}
 
 	hdr = (struct mtk_wmt_hdr *)&wc;
 	hdr->dir = 1;
@@ -173,7 +175,7 @@ static int mtk_hci_wmt_sync(struct hci_dev *hdev,
 	err = __hci_cmd_send(hdev, 0xfc6f, hlen, &wc);
 	if (err < 0) {
 		clear_bit(BTMTKUART_TX_WAIT_VND_EVT, &bdev->tx_state);
-		return err;
+		goto err_free_skb;
 	}
 
 	/* The vendor specific WMT commands are all answered by a vendor
@@ -190,13 +192,14 @@ static int mtk_hci_wmt_sync(struct hci_dev *hdev,
 	if (err == -EINTR) {
 		bt_dev_err(hdev, "Execution of wmt command interrupted");
 		clear_bit(BTMTKUART_TX_WAIT_VND_EVT, &bdev->tx_state);
-		return err;
+		goto err_free_skb;
 	}
 
 	if (err) {
 		bt_dev_err(hdev, "Execution of wmt command timed out");
 		clear_bit(BTMTKUART_TX_WAIT_VND_EVT, &bdev->tx_state);
-		return -ETIMEDOUT;
+		err = -ETIMEDOUT;
+		goto err_free_skb;
 	}
 
 	/* Parse and handle the return WMT event */
drivers/char/hw_random/mtk-rng.c +7 -2
index e649be5a5f13..6670516fa194 100644
@@ -173,8 +173,13 @@ static int mtk_rng_runtime_resume(struct device *dev)
 	return mtk_rng_init(&priv->rng);
 }
 
-static UNIVERSAL_DEV_PM_OPS(mtk_rng_pm_ops, mtk_rng_runtime_suspend,
-			    mtk_rng_runtime_resume, NULL);
+static const struct dev_pm_ops mtk_rng_pm_ops = {
+	SET_RUNTIME_PM_OPS(mtk_rng_runtime_suspend,
+			   mtk_rng_runtime_resume, NULL)
+	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
+				pm_runtime_force_resume)
+};
+
 #define MTK_RNG_PM_OPS (&mtk_rng_pm_ops)
 #else	/* CONFIG_PM */
 #define MTK_RNG_PM_OPS NULL
drivers/char/ipmi/ipmi_msghandler.c +7 -3
index ac656a6d5daf..bd3c9fb029fa 100644
@@ -4797,7 +4797,9 @@ static atomic_t recv_msg_inuse_count = ATOMIC_INIT(0);
 static void free_smi_msg(struct ipmi_smi_msg *msg)
 {
 	atomic_dec(&smi_msg_inuse_count);
-	kfree(msg);
+	/* Try to keep as much stuff out of the panic path as possible. */
+	if (!oops_in_progress)
+		kfree(msg);
 }
 
 struct ipmi_smi_msg *ipmi_alloc_smi_msg(void)
@@ -4816,7 +4818,9 @@ EXPORT_SYMBOL(ipmi_alloc_smi_msg);
 static void free_recv_msg(struct ipmi_recv_msg *msg)
 {
 	atomic_dec(&recv_msg_inuse_count);
-	kfree(msg);
+	/* Try to keep as much stuff out of the panic path as possible. */
+	if (!oops_in_progress)
+		kfree(msg);
 }
 
 static struct ipmi_recv_msg *ipmi_alloc_recv_msg(void)
@@ -4834,7 +4838,7 @@ static struct ipmi_recv_msg *ipmi_alloc_recv_msg(void)
 
 void ipmi_free_recv_msg(struct ipmi_recv_msg *msg)
 {
-	if (msg->user)
+	if (msg->user && !oops_in_progress)
 		kref_put(&msg->user->refcount, free_user);
 	msg->done(msg);
 }
drivers/char/ipmi/ipmi_watchdog.c +12 -5
index ae06e5402e9d..72ad7fff64a7 100644
@@ -337,13 +337,17 @@ static atomic_t msg_tofree = ATOMIC_INIT(0);
 static DECLARE_COMPLETION(msg_wait);
 static void msg_free_smi(struct ipmi_smi_msg *msg)
 {
-	if (atomic_dec_and_test(&msg_tofree))
-		complete(&msg_wait);
+	if (atomic_dec_and_test(&msg_tofree)) {
+		if (!oops_in_progress)
+			complete(&msg_wait);
+	}
 }
 static void msg_free_recv(struct ipmi_recv_msg *msg)
 {
-	if (atomic_dec_and_test(&msg_tofree))
-		complete(&msg_wait);
+	if (atomic_dec_and_test(&msg_tofree)) {
+		if (!oops_in_progress)
+			complete(&msg_wait);
+	}
 }
 static struct ipmi_smi_msg smi_msg = {
 	.done = msg_free_smi
@@ -429,8 +433,10 @@ static int _ipmi_set_timeout(int do_heartbeat)
 	rv = __ipmi_set_timeout(&smi_msg,
 				&recv_msg,
 				&send_heartbeat_now);
-	if (rv)
+	if (rv) {
+		atomic_set(&msg_tofree, 0);
 		return rv;
+	}
 
 	wait_for_completion(&msg_wait);
 
@@ -575,6 +581,7 @@ static int __ipmi_heartbeat(void)
 				      &recv_msg,
 				      1);
 	if (rv) {
+		atomic_set(&msg_tofree, 0);
 		pr_warn("heartbeat send failure: %d\n", rv);
 		return rv;
 	}
drivers/char/tpm/tpm2-space.c +3 -0
index 784b8b3cb903..97e916856cf3 100644
@@ -455,6 +455,9 @@ static int tpm2_map_response_body(struct tpm_chip *chip, u32 cc, u8 *rsp,
 	if (be32_to_cpu(data->capability) != TPM2_CAP_HANDLES)
 		return 0;
 
+	if (be32_to_cpu(data->count) > (UINT_MAX - TPM_HEADER_SIZE - 9) / 4)
+		return -EFAULT;
+
 	if (len != TPM_HEADER_SIZE + 9 + 4 * be32_to_cpu(data->count))
 		return -EFAULT;
 
drivers/clk/at91/pmc.c +5 -0
index b71515acdec1..976ca41e9157 100644
@@ -275,6 +275,11 @@ static int __init pmc_register_ops(void)
 
 	np = of_find_matching_node(NULL, sama5d2_pmc_dt_ids);
 
+	if (!of_device_is_available(np)) {
+		of_node_put(np);
+		return -ENODEV;
+	}
+
 	pmcreg = device_node_to_regmap(np);
 	if (IS_ERR(pmcreg))
 		return PTR_ERR(pmcreg);
drivers/clk/mvebu/ap-cpu-clk.c +11 -3
index af5e5acad370..bde4a7d6a1d3 100644
@@ -256,12 +256,15 @@ static int ap_cpu_clock_probe(struct platform_device *pdev)
 		int cpu, err;
 
 		err = of_property_read_u32(dn, "reg", &cpu);
-		if (WARN_ON(err))
+		if (WARN_ON(err)) {
+			of_node_put(dn);
 			return err;
+		}
 
 		/* If cpu2 or cpu3 is enabled */
 		if (cpu & APN806_CLUSTER_NUM_MASK) {
 			nclusters = 2;
+			of_node_put(dn);
 			break;
 		}
 	}
@@ -288,8 +291,10 @@ static int ap_cpu_clock_probe(struct platform_device *pdev)
 		int cpu, err;
 
 		err = of_property_read_u32(dn, "reg", &cpu);
-		if (WARN_ON(err))
+		if (WARN_ON(err)) {
+			of_node_put(dn);
 			return err;
+		}
 
 		cluster_index = cpu & APN806_CLUSTER_NUM_MASK;
 		cluster_index >>= APN806_CLUSTER_NUM_OFFSET;
@@ -301,6 +306,7 @@ static int ap_cpu_clock_probe(struct platform_device *pdev)
 		parent = of_clk_get(np, cluster_index);
 		if (IS_ERR(parent)) {
 			dev_err(dev, "Could not get the clock parent\n");
+			of_node_put(dn);
 			return -EINVAL;
 		}
 		parent_name =  __clk_get_name(parent);
@@ -319,8 +325,10 @@ static int ap_cpu_clock_probe(struct platform_device *pdev)
 		init.parent_names = &parent_name;
 
 		ret = devm_clk_hw_register(dev, &ap_cpu_clk[cluster_index].hw);
-		if (ret)
+		if (ret) {
+			of_node_put(dn);
 			return ret;
+		}
 		ap_cpu_data->hws[cluster_index] = &ap_cpu_clk[cluster_index].hw;
 	}
 
drivers/clocksource/Kconfig +1 -0
index 3bb5625504e2..9bfe4c5af87e 100644
@@ -24,6 +24,7 @@ config I8253_LOCK
 
 config OMAP_DM_TIMER
 	bool
+	select TIMER_OF
 
 config CLKBLD_I8253
 	def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
drivers/cpuidle/sysfs.c +4 -1
index f8747322b3c7..e591f56f98c0 100644
@@ -481,6 +481,7 @@ static int cpuidle_add_state_sysfs(struct cpuidle_device *device)
 					   &kdev->kobj, "state%d", i);
 		if (ret) {
 			kobject_put(&kobj->kobj);
+			kfree(kobj);
 			goto error_state;
 		}
 		cpuidle_add_s2idle_attr_group(kobj);
@@ -612,6 +613,7 @@ static int cpuidle_add_driver_sysfs(struct cpuidle_device *dev)
 				   &kdev->kobj, "driver");
 	if (ret) {
 		kobject_put(&kdrv->kobj);
+		kfree(kdrv);
 		return ret;
 	}
 
@@ -698,7 +700,6 @@ int cpuidle_add_sysfs(struct cpuidle_device *dev)
 	if (!kdev)
 		return -ENOMEM;
 	kdev->dev = dev;
-	dev->kobj_dev = kdev;
 
 	init_completion(&kdev->kobj_unregister);
 
@@ -706,9 +707,11 @@ int cpuidle_add_sysfs(struct cpuidle_device *dev)
 				   "cpuidle");
 	if (error) {
 		kobject_put(&kdev->kobj);
+		kfree(kdev);
 		return error;
 	}
 
+	dev->kobj_dev = kdev;
 	kobject_uevent(&kdev->kobj, KOBJ_ADD);
 
 	return 0;
drivers/crypto/caam/caampkc.c +15 -4
index 83f96d4f86e0..30e3f41ed872 100644
@@ -1087,16 +1087,27 @@ static struct caam_akcipher_alg caam_rsa = {
 int caam_pkc_init(struct device *ctrldev)
 {
 	struct caam_drv_private *priv = dev_get_drvdata(ctrldev);
-	u32 pk_inst;
+	u32 pk_inst, pkha;
 	int err;
 	init_done = false;
 
 	/* Determine public key hardware accelerator presence. */
-	if (priv->era < 10)
+	if (priv->era < 10) {
 		pk_inst = (rd_reg32(&priv->ctrl->perfmon.cha_num_ls) &
 			   CHA_ID_LS_PK_MASK) >> CHA_ID_LS_PK_SHIFT;
-	else
-		pk_inst = rd_reg32(&priv->ctrl->vreg.pkha) & CHA_VER_NUM_MASK;
+	} else {
+		pkha = rd_reg32(&priv->ctrl->vreg.pkha);
+		pk_inst = pkha & CHA_VER_NUM_MASK;
+
+		/*
+		 * Newer CAAMs support partially disabled functionality. If this is the
+		 * case, the number is non-zero, but this bit is set to indicate that
+		 * no encryption or decryption is supported. Only signing and verifying
+		 * is supported.
+		 */
+		if (pkha & CHA_VER_MISC_PKHA_NO_CRYPT)
+			pk_inst = 0;
+	}
 
 	/* Do not register algorithms if PKHA is not present. */
 	if (!pk_inst)
drivers/crypto/caam/regs.h +3 -0
index 05127b70527d..43975f01465d 100644
@@ -317,6 +317,9 @@ struct version_regs {
 /* CHA Miscellaneous Information - AESA_MISC specific */
 #define CHA_VER_MISC_AES_GCM	BIT(1 + CHA_VER_MISC_SHIFT)
 
+/* CHA Miscellaneous Information - PKHA_MISC specific */
+#define CHA_VER_MISC_PKHA_NO_CRYPT	BIT(7 + CHA_VER_MISC_SHIFT)
+
 /*
  * caam_perfmon - Performance Monitor/Secure Memory Status/
  *                CAAM Global Status/Component Version IDs
drivers/crypto/qat/qat_common/adf_pf2vf_msg.c +13 -0
index c64481160b71..180016e15777 100644
@@ -195,6 +195,13 @@ static int __adf_iov_putmsg(struct adf_accel_dev *accel_dev, u32 msg, u8 vf_nr)
 		val = ADF_CSR_RD(pmisc_bar_addr, pf2vf_offset);
 	} while ((val & int_bit) && (count++ < ADF_IOV_MSG_ACK_MAX_RETRY));
 
+	if (val != msg) {
+		dev_dbg(&GET_DEV(accel_dev),
+			"Collision - PFVF CSR overwritten by remote function\n");
+		ret = -EIO;
+		goto out;
+	}
+
 	if (val & int_bit) {
 		dev_dbg(&GET_DEV(accel_dev), "ACK not received from remote\n");
 		val &= ~int_bit;
@@ -243,6 +250,11 @@ void adf_vf2pf_req_hndl(struct adf_accel_vf_info *vf_info)
 
 	/* Read message from the VF */
 	msg = ADF_CSR_RD(pmisc_addr, hw_data->get_pf2vf_offset(vf_nr));
+	if (!(msg & ADF_VF2PF_INT)) {
+		dev_info(&GET_DEV(accel_dev),
+			 "Spurious VF2PF interrupt, msg %X. Ignored\n", msg);
+		goto out;
+	}
 
 	/* To ACK, clear the VF2PFINT bit */
 	msg &= ~ADF_VF2PF_INT;
@@ -326,6 +338,7 @@ void adf_vf2pf_req_hndl(struct adf_accel_vf_info *vf_info)
 	if (resp && adf_iov_putmsg(accel_dev, resp, vf_nr))
 		dev_err(&GET_DEV(accel_dev), "Failed to send response to VF\n");
 
+out:
 	/* re-enable interrupt on PF from this VF */
 	adf_enable_vf2pf_interrupts(accel_dev, (1 << vf_nr));
 	return;
drivers/crypto/qat/qat_common/adf_vf_isr.c +6 -0
index ef90902c8200..86274e3c6781 100644
@@ -123,6 +123,11 @@ static void adf_pf2vf_bh_handler(void *data)
 
 	/* Read the message from PF */
 	msg = ADF_CSR_RD(pmisc_bar_addr, hw_data->get_pf2vf_offset(0));
+	if (!(msg & ADF_PF2VF_INT)) {
+		dev_info(&GET_DEV(accel_dev),
+			 "Spurious PF2VF interrupt, msg %X. Ignored\n", msg);
+		goto out;
+	}
 
 	if (!(msg & ADF_PF2VF_MSGORIGIN_SYSTEM))
 		/* Ignore legacy non-system (non-kernel) PF2VF messages */
@@ -171,6 +176,7 @@ static void adf_pf2vf_bh_handler(void *data)
 	msg &= ~ADF_PF2VF_INT;
 	ADF_CSR_WR(pmisc_bar_addr, hw_data->get_pf2vf_offset(0), msg);
 
+out:
 	/* Re-enable PF2VF interrupts */
 	adf_enable_pf2vf_interrupts(accel_dev);
 	return;
drivers/crypto/s5p-sss.c +2 -0
index 010f1bb20dad..86a13b738c2d 100644
@@ -2208,6 +2208,8 @@ static int s5p_aes_probe(struct platform_device *pdev)
 
 	variant = find_s5p_sss_version(pdev);
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!res)
+		return -EINVAL;
 
 	/*
 	 * Note: HASH and PRNG uses the same registers in secss, avoid
drivers/dma-buf/dma-buf.c +1 -0
index 758de0e9b2dd..16bbc9bc9e6d 100644
@@ -79,6 +79,7 @@ static void dma_buf_release(struct dentry *dentry)
 	if (dmabuf->resv == (struct dma_resv *)&dmabuf[1])
 		dma_resv_fini(dmabuf->resv);
 
+	WARN_ON(!list_empty(&dmabuf->attachments));
 	module_put(dmabuf->owner);
 	kfree(dmabuf->name);
 	kfree(dmabuf);
drivers/dma/at_xdmac.c +1 -1
index b58ac720d9a1..6f1e97ba3e78 100644
@@ -145,7 +145,7 @@
 #define		AT_XDMAC_CC_WRIP	(0x1 << 23)	/* Write in Progress (read only) */
 #define			AT_XDMAC_CC_WRIP_DONE		(0x0 << 23)
 #define			AT_XDMAC_CC_WRIP_IN_PROGRESS	(0x1 << 23)
-#define		AT_XDMAC_CC_PERID(i)	(0x7f & (i) << 24)	/* Channel Peripheral Identifier */
+#define		AT_XDMAC_CC_PERID(i)	((0x7f & (i)) << 24)	/* Channel Peripheral Identifier */
 #define AT_XDMAC_CDS_MSP	0x2C	/* Channel Data Stride Memory Set Pattern */
 #define AT_XDMAC_CSUS		0x30	/* Channel Source Microblock Stride */
 #define AT_XDMAC_CDUS		0x34	/* Channel Destination Microblock Stride */
drivers/dma/dmaengine.h +1 -1
index 501c0b063f85..302f13efd35d 100644
@@ -168,7 +168,7 @@ dmaengine_desc_get_callback_invoke(struct dma_async_tx_descriptor *tx,
 static inline bool
 dmaengine_desc_callback_valid(struct dmaengine_desc_callback *cb)
 {
-	return (cb->callback) ? true : false;
+	return cb->callback || cb->callback_result;
 }
 
 #endif
drivers/edac/amd64_edac.c +21 -1
index aed0f26c9af5..ac4a5015c146 100644
@@ -797,12 +797,14 @@ static void debug_dump_dramcfg_low(struct amd64_pvt *pvt, u32 dclr, int chan)
 #define CS_ODD_PRIMARY		BIT(1)
 #define CS_EVEN_SECONDARY	BIT(2)
 #define CS_ODD_SECONDARY	BIT(3)
+#define CS_3R_INTERLEAVE	BIT(4)
 
 #define CS_EVEN			(CS_EVEN_PRIMARY | CS_EVEN_SECONDARY)
 #define CS_ODD			(CS_ODD_PRIMARY | CS_ODD_SECONDARY)
 
 static int f17_get_cs_mode(int dimm, u8 ctrl, struct amd64_pvt *pvt)
 {
+	u8 base, count = 0;
 	int cs_mode = 0;
 
 	if (csrow_enabled(2 * dimm, ctrl, pvt))
@@ -815,6 +817,20 @@ static int f17_get_cs_mode(int dimm, u8 ctrl, struct amd64_pvt *pvt)
 	if (csrow_sec_enabled(2 * dimm + 1, ctrl, pvt))
 		cs_mode |= CS_ODD_SECONDARY;
 
+	/*
+	 * 3 Rank inteleaving support.
+	 * There should be only three bases enabled and their two masks should
+	 * be equal.
+	 */
+	for_each_chip_select(base, ctrl, pvt)
+		count += csrow_enabled(base, ctrl, pvt);
+
+	if (count == 3 &&
+	    pvt->csels[ctrl].csmasks[0] == pvt->csels[ctrl].csmasks[1]) {
+		edac_dbg(1, "3R interleaving in use.\n");
+		cs_mode |= CS_3R_INTERLEAVE;
+	}
+
 	return cs_mode;
 }
 
@@ -1623,10 +1639,14 @@ static int f17_addr_mask_to_cs_size(struct amd64_pvt *pvt, u8 umc,
 	 *
 	 * The MSB is the number of bits in the full mask because BIT[0] is
 	 * always 0.
+	 *
+	 * In the special 3 Rank interleaving case, a single bit is flipped
+	 * without swapping with the most significant bit. This can be handled
+	 * by keeping the MSB where it is and ignoring the single zero bit.
 	 */
 	msb = fls(addr_mask_orig) - 1;
 	weight = hweight_long(addr_mask_orig);
-	num_zero_bits = msb - weight;
+	num_zero_bits = msb - weight - !!(cs_mode & CS_3R_INTERLEAVE);
 
 	/* Take the number of zero bits off from the top of the mask. */
 	addr_mask_deinterleaved = GENMASK_ULL(msb - num_zero_bits, 1);
drivers/edac/sb_edac.c +1 -1
index d39f5bfb8bd9..b0b280eef1d0 100644
@@ -1055,7 +1055,7 @@ static u64 haswell_get_tohm(struct sbridge_pvt *pvt)
 	pci_read_config_dword(pvt->info.pci_vtd, HASWELL_TOHM_1, &reg);
 	rc = ((reg << 6) | rc) << 26;
 
-	return rc | 0x1ffffff;
+	return rc | 0x3ffffff;
 }
 
 static u64 knl_get_tolm(struct sbridge_pvt *pvt)
drivers/firmware/psci/psci_checker.c +1 -1
index 03eb798ad3ed..250b7232f981 100644
@@ -155,7 +155,7 @@ static int alloc_init_cpu_groups(cpumask_var_t **pcpu_groups)
 	if (!alloc_cpumask_var(&tmp, GFP_KERNEL))
 		return -ENOMEM;
 
-	cpu_groups = kcalloc(nb_available_cpus, sizeof(cpu_groups),
+	cpu_groups = kcalloc(nb_available_cpus, sizeof(*cpu_groups),
 			     GFP_KERNEL);
 	if (!cpu_groups) {
 		free_cpumask_var(tmp);
drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c +1 -1
index 85b0515c0fdc..e0d2f79571ef 100644
@@ -61,7 +61,7 @@ static void amdgpu_bo_list_free(struct kref *ref)
 
 int amdgpu_bo_list_create(struct amdgpu_device *adev, struct drm_file *filp,
 			  struct drm_amdgpu_bo_list_entry *info,
-			  unsigned num_entries, struct amdgpu_bo_list **result)
+			  size_t num_entries, struct amdgpu_bo_list **result)
 {
 	unsigned last_entry = 0, first_userptr = num_entries;
 	struct amdgpu_bo_list_entry *array;
drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h +1 -1
index a130e766cbdb..529d52a204cf 100644
@@ -60,7 +60,7 @@ int amdgpu_bo_create_list_entry_array(struct drm_amdgpu_bo_list_in *in,
 int amdgpu_bo_list_create(struct amdgpu_device *adev,
 				 struct drm_file *filp,
 				 struct drm_amdgpu_bo_list_entry *info,
-				 unsigned num_entries,
+				 size_t num_entries,
 				 struct amdgpu_bo_list **list);
 
 static inline struct amdgpu_bo_list_entry *
drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +2 -2
index 9fb1765e92d1..e9f5de35f795 100644
@@ -863,12 +863,12 @@ static int gmc_v6_0_sw_init(void *handle)
 
 	adev->gmc.mc_mask = 0xffffffffffULL;
 
-	r = dma_set_mask_and_coherent(adev->dev, DMA_BIT_MASK(44));
+	r = dma_set_mask_and_coherent(adev->dev, DMA_BIT_MASK(40));
 	if (r) {
 		dev_warn(adev->dev, "amdgpu: No suitable DMA available.\n");
 		return r;
 	}
-	adev->need_swiotlb = drm_need_swiotlb(44);
+	adev->need_swiotlb = drm_need_swiotlb(40);
 
 	r = gmc_v6_0_init_microcode(adev);
 	if (r) {
drivers/gpu/drm/drm_panel_orientation_quirks.c +45 -2

85 lines not on this page · raw message

drivers/gpu/drm/drm_plane_helper.c +0 -1
index 3aae7ea522f2..c3f2292dc93d 100644
@@ -123,7 +123,6 @@ static int drm_plane_helper_check_update(struct drm_plane *plane,
 		.crtc_w = drm_rect_width(dst),
 		.crtc_h = drm_rect_height(dst),
 		.rotation = rotation,
-		.visible = *visible,
 	};
 	struct drm_crtc_state crtc_state = {
 		.crtc = crtc,
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c +5 -3
index 4f8b813aab81..8256f06218d0 100644
@@ -137,11 +137,13 @@ static int _sspp_subblk_offset(struct dpu_hw_pipe *ctx,
 		u32 *idx)
 {
 	int rc = 0;
-	const struct dpu_sspp_sub_blks *sblk = ctx->cap->sblk;
+	const struct dpu_sspp_sub_blks *sblk;
 
-	if (!ctx)
+	if (!ctx || !ctx->cap || !ctx->cap->sblk)
 		return -EINVAL;
 
+	sblk = ctx->cap->sblk;
+
 	switch (s_id) {
 	case DPU_SSPP_SRC:
 		*idx = sblk->src_blk.base;
@@ -404,7 +406,7 @@ static void _dpu_hw_sspp_setup_scaler3(struct dpu_hw_pipe *ctx,
 
 	(void)pe;
 	if (_sspp_subblk_offset(ctx, DPU_SSPP_SCALER_QSEED3, &idx) || !sspp
-		|| !scaler3_cfg || !ctx || !ctx->cap || !ctx->cap->sblk)
+		|| !scaler3_cfg)
 		return;
 
 	dpu_hw_setup_scaler3(&ctx->hw, scaler3_cfg, idx,
drivers/gpu/drm/msm/msm_gem.c +2 -2
index d92a0ffe2a76..8e6a4d5f3a40 100644
@@ -1036,7 +1036,7 @@ static struct drm_gem_object *_msm_gem_new(struct drm_device *dev,
 
 	ret = msm_gem_new_impl(dev, size, flags, &obj);
 	if (ret)
-		goto fail;
+		return ERR_PTR(ret);
 
 	msm_obj = to_msm_bo(obj);
 
@@ -1124,7 +1124,7 @@ struct drm_gem_object *msm_gem_import(struct drm_device *dev,
 
 	ret = msm_gem_new_impl(dev, size, MSM_BO_WC, &obj);
 	if (ret)
-		goto fail;
+		return ERR_PTR(ret);
 
 	drm_gem_private_object_init(dev, obj, size);
 
drivers/gpu/drm/v3d/v3d_gem.c +2 -2
index 19c092d75266..1609a85429ce 100644
@@ -195,8 +195,8 @@ v3d_clean_caches(struct v3d_dev *v3d)
 
 	V3D_CORE_WRITE(core, V3D_CTL_L2TCACTL, V3D_L2TCACTL_TMUWCF);
 	if (wait_for(!(V3D_CORE_READ(core, V3D_CTL_L2TCACTL) &
-		       V3D_L2TCACTL_L2TFLS), 100)) {
-		DRM_ERROR("Timeout waiting for L1T write combiner flush\n");
+		       V3D_L2TCACTL_TMUWCF), 100)) {
+		DRM_ERROR("Timeout waiting for TMU write combiner flush\n");
 	}
 
 	mutex_lock(&v3d->cache_clean_lock);
drivers/gpu/drm/virtio/virtgpu_vq.c +1 -7
index bb46e7a0f1b5..0ca996e6fd5c 100644
@@ -80,9 +80,7 @@ virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev,
 {
 	struct virtio_gpu_vbuffer *vbuf;
 
-	vbuf = kmem_cache_zalloc(vgdev->vbufs, GFP_KERNEL);
-	if (!vbuf)
-		return ERR_PTR(-ENOMEM);
+	vbuf = kmem_cache_zalloc(vgdev->vbufs, GFP_KERNEL | __GFP_NOFAIL);
 
 	BUG_ON(size > MAX_INLINE_CMD_SIZE);
 	vbuf->buf = (void *)vbuf + sizeof(*vbuf);
@@ -142,10 +140,6 @@ static void *virtio_gpu_alloc_cmd_resp(struct virtio_gpu_device *vgdev,
 
 	vbuf = virtio_gpu_get_vbuf(vgdev, cmd_size,
 				   resp_size, resp_buf, cb);
-	if (IS_ERR(vbuf)) {
-		*vbuffer_p = NULL;
-		return ERR_CAST(vbuf);
-	}
 	*vbuffer_p = vbuf;
 	return (struct virtio_gpu_command *)vbuf->buf;
 }
drivers/hid/hid-u2fzero.c +6 -4
index d70cd3d7f583..67ae2b18e33a 100644
@@ -132,7 +132,7 @@ static int u2fzero_recv(struct u2fzero_device *dev,
 
 	ret = (wait_for_completion_timeout(
 		&ctx.done, msecs_to_jiffies(USB_CTRL_SET_TIMEOUT)));
-	if (ret < 0) {
+	if (ret == 0) {
 		usb_kill_urb(dev->urb);
 		hid_err(hdev, "urb submission timed out");
 	} else {
@@ -191,6 +191,8 @@ static int u2fzero_rng_read(struct hwrng *rng, void *data,
 	struct u2f_hid_msg resp;
 	int ret;
 	size_t actual_length;
+	/* valid packets must have a correct header */
+	int min_length = offsetof(struct u2f_hid_msg, init.data);
 
 	if (!dev->present) {
 		hid_dbg(dev->hdev, "device not present");
@@ -200,12 +202,12 @@ static int u2fzero_rng_read(struct hwrng *rng, void *data,
 	ret = u2fzero_recv(dev, &req, &resp);
 
 	/* ignore errors or packets without data */
-	if (ret < offsetof(struct u2f_hid_msg, init.data))
+	if (ret < min_length)
 		return 0;
 
 	/* only take the minimum amount of data it is safe to take */
-	actual_length = min3((size_t)ret - offsetof(struct u2f_hid_msg,
-		init.data), U2F_HID_MSG_LEN(resp), max);
+	actual_length = min3((size_t)ret - min_length,
+		U2F_HID_MSG_LEN(resp), max);
 
 	memcpy(data, resp.init.data, actual_length);
 
drivers/hv/hyperv_vmbus.h +1 -0
index cabcb66e7c5e..356382a340b2 100644
@@ -13,6 +13,7 @@
 #define _HYPERV_VMBUS_H
 
 #include <linux/list.h>
+#include <linux/bitops.h>
 #include <asm/sync_bitops.h>
 #include <asm/hyperv-tlfs.h>
 #include <linux/atomic.h>
drivers/hwmon/hwmon.c +4 -2
index d018b20089ec..a2175394cd25 100644
@@ -645,8 +645,10 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
 	dev_set_drvdata(hdev, drvdata);
 	dev_set_name(hdev, HWMON_ID_FORMAT, id);
 	err = device_register(hdev);
-	if (err)
-		goto free_hwmon;
+	if (err) {
+		put_device(hdev);
+		goto ida_remove;
+	}
 
 	if (dev && dev->of_node && chip && chip->ops->read &&
 	    chip->info[0]->type == hwmon_chip &&
drivers/hwmon/pmbus/lm25066.c +24 -1
index 05fce86f1f81..41c4bbb9c057 100644
@@ -51,26 +51,31 @@ struct __coeff {
 #define PSC_CURRENT_IN_L	(PSC_NUM_CLASSES)
 #define PSC_POWER_L		(PSC_NUM_CLASSES + 1)
 
-static struct __coeff lm25066_coeff[6][PSC_NUM_CLASSES + 2] = {
+static struct __coeff lm25066_coeff[][PSC_NUM_CLASSES + 2] = {
 	[lm25056] = {
 		[PSC_VOLTAGE_IN] = {
 			.m = 16296,
+			.b = 1343,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN] = {
 			.m = 13797,
+			.b = -1833,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN_L] = {
 			.m = 6726,
+			.b = -537,
 			.R = -2,
 		},
 		[PSC_POWER] = {
 			.m = 5501,
+			.b = -2908,
 			.R = -3,
 		},
 		[PSC_POWER_L] = {
 			.m = 26882,
+			.b = -5646,
 			.R = -4,
 		},
 		[PSC_TEMPERATURE] = {
@@ -82,26 +87,32 @@ static struct __coeff lm25066_coeff[6][PSC_NUM_CLASSES + 2] = {
 	[lm25066] = {
 		[PSC_VOLTAGE_IN] = {
 			.m = 22070,
+			.b = -1800,
 			.R = -2,
 		},
 		[PSC_VOLTAGE_OUT] = {
 			.m = 22070,
+			.b = -1800,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN] = {
 			.m = 13661,
+			.b = -5200,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN_L] = {
 			.m = 6852,
+			.b = -3100,
 			.R = -2,
 		},
 		[PSC_POWER] = {
 			.m = 736,
+			.b = -3300,
 			.R = -2,
 		},
 		[PSC_POWER_L] = {
 			.m = 369,
+			.b = -1900,
 			.R = -2,
 		},
 		[PSC_TEMPERATURE] = {
@@ -111,26 +122,32 @@ static struct __coeff lm25066_coeff[6][PSC_NUM_CLASSES + 2] = {
 	[lm5064] = {
 		[PSC_VOLTAGE_IN] = {
 			.m = 4611,
+			.b = -642,
 			.R = -2,
 		},
 		[PSC_VOLTAGE_OUT] = {
 			.m = 4621,
+			.b = 423,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN] = {
 			.m = 10742,
+			.b = 1552,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN_L] = {
 			.m = 5456,
+			.b = 2118,
 			.R = -2,
 		},
 		[PSC_POWER] = {
 			.m = 1204,
+			.b = 8524,
 			.R = -3,
 		},
 		[PSC_POWER_L] = {
 			.m = 612,
+			.b = 11202,
 			.R = -3,
 		},
 		[PSC_TEMPERATURE] = {
@@ -140,26 +157,32 @@ static struct __coeff lm25066_coeff[6][PSC_NUM_CLASSES + 2] = {
 	[lm5066] = {
 		[PSC_VOLTAGE_IN] = {
 			.m = 4587,
+			.b = -1200,
 			.R = -2,
 		},
 		[PSC_VOLTAGE_OUT] = {
 			.m = 4587,
+			.b = -2400,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN] = {
 			.m = 10753,
+			.b = -1200,
 			.R = -2,
 		},
 		[PSC_CURRENT_IN_L] = {
 			.m = 5405,
+			.b = -600,
 			.R = -2,
 		},
 		[PSC_POWER] = {
 			.m = 1204,
+			.b = -6000,
 			.R = -3,
 		},
 		[PSC_POWER_L] = {
 			.m = 605,
+			.b = -8000,
 			.R = -3,
 		},
 		[PSC_TEMPERATURE] = {
drivers/i2c/busses/i2c-xlr.c +5 -1
index 34cd4b308540..dda6cb848405 100644
@@ -433,11 +433,15 @@ static int xlr_i2c_probe(struct platform_device *pdev)
 	i2c_set_adapdata(&priv->adap, priv);
 	ret = i2c_add_numbered_adapter(&priv->adap);
 	if (ret < 0)
-		return ret;
+		goto err_unprepare_clk;
 
 	platform_set_drvdata(pdev, priv);
 	dev_info(&priv->adap.dev, "Added I2C Bus.\n");
 	return 0;
+
+err_unprepare_clk:
+	clk_unprepare(clk);
+	return ret;
 }
 
 static int xlr_i2c_remove(struct platform_device *pdev)
drivers/iio/dac/ad5446.c +8 -1
index 61c670f7fc5f..1f55cd8abb55 100644
@@ -527,8 +527,15 @@ static int ad5622_write(struct ad5446_state *st, unsigned val)
 {
 	struct i2c_client *client = to_i2c_client(st->dev);
 	__be16 data = cpu_to_be16(val);
+	int ret;
+
+	ret = i2c_master_send(client, (char *)&data, sizeof(data));
+	if (ret < 0)
+		return ret;
+	if (ret != sizeof(data))
+		return -EIO;
 
-	return i2c_master_send(client, (char *)&data, sizeof(data));
+	return 0;
 }
 
 /**
drivers/infiniband/hw/bnxt_re/qplib_fp.c +2 -1
index 4d07d22bfa7b..5fc5ab7813c0 100644
@@ -642,12 +642,13 @@ int bnxt_qplib_query_srq(struct bnxt_qplib_res *res,
 	int rc = 0;
 
 	RCFW_CMD_PREP(req, QUERY_SRQ, cmd_flags);
-	req.srq_cid = cpu_to_le32(srq->id);
 
 	/* Configure the request */
 	sbuf = bnxt_qplib_rcfw_alloc_sbuf(rcfw, sizeof(*sb));
 	if (!sbuf)
 		return -ENOMEM;
+	req.resp_size = sizeof(*sb) / BNXT_QPLIB_CMDQE_UNITS;
+	req.srq_cid = cpu_to_le32(srq->id);
 	sb = sbuf->sb;
 	rc = bnxt_qplib_rcfw_send_message(rcfw, (void *)&req, (void *)&resp,
 					  (void *)sbuf, 0);
drivers/infiniband/hw/mlx4/qp.c +3 -1
index 17ce928e41bd..bca5358f3ef2 100644
@@ -1149,8 +1149,10 @@ static int create_qp_common(struct ib_pd *pd, struct ib_qp_init_attr *init_attr,
 			if (dev->steering_support ==
 			    MLX4_STEERING_MODE_DEVICE_MANAGED)
 				qp->flags |= MLX4_IB_QP_NETIF;
-			else
+			else {
+				err = -EINVAL;
 				goto err;
+			}
 		}
 
 		err = set_kernel_sq_size(dev, &init_attr->cap, qp_type, qp);
drivers/infiniband/hw/qedr/verbs.c +9 -6
index 4408d3364664..717f17464764 100644
@@ -2383,15 +2383,18 @@ int qedr_query_qp(struct ib_qp *ibqp,
 	int rc = 0;
 
 	memset(&params, 0, sizeof(params));
-
-	rc = dev->ops->rdma_query_qp(dev->rdma_ctx, qp->qed_qp, &params);
-	if (rc)
-		goto err;
-
 	memset(qp_attr, 0, sizeof(*qp_attr));
 	memset(qp_init_attr, 0, sizeof(*qp_init_attr));
 
-	qp_attr->qp_state = qedr_get_ibqp_state(params.state);
+	if (qp->qp_type != IB_QPT_GSI) {
+		rc = dev->ops->rdma_query_qp(dev->rdma_ctx, qp->qed_qp, &params);
+		if (rc)
+			goto err;
+		qp_attr->qp_state = qedr_get_ibqp_state(params.state);
+	} else {
+		qp_attr->qp_state = qedr_get_ibqp_state(QED_ROCE_QP_STATE_RTS);
+	}
+
 	qp_attr->cur_qp_state = qedr_get_ibqp_state(params.state);
 	qp_attr->path_mtu = ib_mtu_int_to_enum(params.mtu);
 	qp_attr->path_mig_state = IB_MIG_MIGRATED;
drivers/infiniband/sw/rxe/rxe_param.h +1 -1
index fe5207386700..8d3f6d93dfb8 100644
@@ -140,7 +140,7 @@ enum rxe_device_param {
 /* default/initial rxe port parameters */
 enum rxe_port_param {
 	RXE_PORT_GID_TBL_LEN		= 1024,
-	RXE_PORT_PORT_CAP_FLAGS		= RDMA_CORE_CAP_PROT_ROCE_UDP_ENCAP,
+	RXE_PORT_PORT_CAP_FLAGS		= IB_PORT_CM_SUP,
 	RXE_PORT_MAX_MSG_SZ		= 0x800000,
 	RXE_PORT_BAD_PKEY_CNTR		= 0,
 	RXE_PORT_QKEY_VIOL_CNTR		= 0,
drivers/input/joystick/iforce/iforce-usb.c +1 -1
index 6c554c11a7ac..ea58805c480f 100644
@@ -92,7 +92,7 @@ static int iforce_usb_get_id(struct iforce *iforce, u8 id,
 				 id,
 				 USB_TYPE_VENDOR | USB_DIR_IN |
 					USB_RECIP_INTERFACE,
-				 0, 0, buf, IFORCE_MAX_LENGTH, HZ);
+				 0, 0, buf, IFORCE_MAX_LENGTH, 1000);
 	if (status < 0) {
 		dev_err(&iforce_usb->intf->dev,
 			"usb_submit_urb failed: %d\n", status);
drivers/input/mouse/elantech.c +13 -0
index 053fe2da1e08..0b5ed963cb0e 100644
@@ -517,6 +517,19 @@ static void elantech_report_trackpoint(struct psmouse *psmouse,
 	case 0x16008020U:
 	case 0x26800010U:
 	case 0x36808000U:
+
+		/*
+		 * This firmware misreport coordinates for trackpoint
+		 * occasionally. Discard packets outside of [-127, 127] range
+		 * to prevent cursor jumps.
+		 */
+		if (packet[4] == 0x80 || packet[5] == 0x80 ||
+		    packet[1] >> 7 == packet[4] >> 7 ||
+		    packet[2] >> 7 == packet[5] >> 7) {
+			elantech_debug("discarding packet [%6ph]\n", packet);
+			break;
+
+		}
 		x = packet[4] - (int)((packet[1]^0x80) << 1);
 		y = (int)((packet[2]^0x80) << 1) - packet[5];
 
drivers/input/serio/i8042-x86ia64io.h +14 -0
index 23442a144b83..202e43a6ffae 100644
@@ -272,6 +272,13 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S6230"),
 		},
 	},
+	{
+		/* Fujitsu Lifebook T725 laptop */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T725"),
+		},
+	},
 	{
 		/* Fujitsu Lifebook U745 */
 		.matches = {
@@ -840,6 +847,13 @@ static const struct dmi_system_id __initconst i8042_dmi_notimeout_table[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK AH544"),
 		},
 	},
+	{
+		/* Fujitsu Lifebook T725 laptop */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T725"),
+		},
+	},
 	{
 		/* Fujitsu U574 laptop */
 		/* https://bugzilla.kernel.org/show_bug.cgi?id=69731 */
drivers/irqchip/irq-bcm6345-l1.c +1 -1
index e3483789f4df..1bd0621c4ce2 100644
@@ -140,7 +140,7 @@ static void bcm6345_l1_irq_handle(struct irq_desc *desc)
 		for_each_set_bit(hwirq, &pending, IRQS_PER_WORD) {
 			irq = irq_linear_revmap(intc->domain, base + hwirq);
 			if (irq)
-				do_IRQ(irq);
+				generic_handle_irq(irq);
 			else
 				spurious_interrupt();
 		}
drivers/irqchip/irq-s3c24xx.c +18 -4
index d2031fecc386..5e97ae54782d 100644
@@ -359,11 +359,25 @@ static inline int s3c24xx_handle_intc(struct s3c_irq_intc *intc,
 asmlinkage void __exception_irq_entry s3c24xx_handle_irq(struct pt_regs *regs)
 {
 	do {
-		if (likely(s3c_intc[0]))
-			if (s3c24xx_handle_intc(s3c_intc[0], regs, 0))
-				continue;
+		/*
+		 * For platform based machines, neither ERR nor NULL can happen here.
+		 * The s3c24xx_handle_irq() will be set as IRQ handler iff this succeeds:
+		 *
+		 *    s3c_intc[0] = s3c24xx_init_intc()
+		 *
+		 * If this fails, the next calls to s3c24xx_init_intc() won't be executed.
+		 *
+		 * For DT machine, s3c_init_intc_of() could set the IRQ handler without
+		 * setting s3c_intc[0] only if it was called with num_ctrl=0. There is no
+		 * such code path, so again the s3c_intc[0] will have a valid pointer if
+		 * set_handle_irq() is called.
+		 *
+		 * Therefore in s3c24xx_handle_irq(), the s3c_intc[0] is always something.
+		 */
+		if (s3c24xx_handle_intc(s3c_intc[0], regs, 0))
+			continue;
 
-		if (s3c_intc[2])
+		if (!IS_ERR_OR_NULL(s3c_intc[2]))
 			if (s3c24xx_handle_intc(s3c_intc[2], regs, 64))
 				continue;
 
drivers/irqchip/irq-sifive-plic.c +7 -1
index 7d0a12fe2714..7cd7b140dfe9 100644
@@ -138,7 +138,13 @@ static void plic_irq_eoi(struct irq_data *d)
 {
 	struct plic_handler *handler = this_cpu_ptr(&plic_handlers);
 
-	writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM);
+	if (irqd_irq_masked(d)) {
+		plic_irq_unmask(d);
+		writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM);
+		plic_irq_mask(d);
+	} else {
+		writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM);
+	}
 }
 
 static struct irq_chip plic_chip = {
drivers/media/dvb-frontends/mn88443x.c +15 -3
index e4528784f847..fff212c0bf3b 100644
@@ -204,11 +204,18 @@ struct mn88443x_priv {
 	struct regmap *regmap_t;
 };
 
-static void mn88443x_cmn_power_on(struct mn88443x_priv *chip)
+static int mn88443x_cmn_power_on(struct mn88443x_priv *chip)
 {
+	struct device *dev = &chip->client_s->dev;
 	struct regmap *r_t = chip->regmap_t;
+	int ret;
 
-	clk_prepare_enable(chip->mclk);
+	ret = clk_prepare_enable(chip->mclk);
+	if (ret) {
+		dev_err(dev, "Failed to prepare and enable mclk: %d\n",
+			ret);
+		return ret;
+	}
 
 	gpiod_set_value_cansleep(chip->reset_gpio, 1);
 	usleep_range(100, 1000);
@@ -222,6 +229,8 @@ static void mn88443x_cmn_power_on(struct mn88443x_priv *chip)
 	} else {
 		regmap_write(r_t, HIZSET3, 0x8f);
 	}
+
+	return 0;
 }
 
 static void mn88443x_cmn_power_off(struct mn88443x_priv *chip)
@@ -738,7 +747,10 @@ static int mn88443x_probe(struct i2c_client *client,
 	chip->fe.demodulator_priv = chip;
 	i2c_set_clientdata(client, chip);
 
-	mn88443x_cmn_power_on(chip);
+	ret = mn88443x_cmn_power_on(chip);
+	if (ret)
+		goto err_i2c_t;
+
 	mn88443x_s_sleep(chip);
 	mn88443x_t_sleep(chip);
 
drivers/media/i2c/ir-kbd-i2c.c +1 -0
index 92376592455e..56674173524f 100644
@@ -791,6 +791,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		rc_proto    = RC_PROTO_BIT_RC5 | RC_PROTO_BIT_RC6_MCE |
 							RC_PROTO_BIT_RC6_6A_32;
 		ir_codes    = RC_MAP_HAUPPAUGE;
+		ir->polling_interval = 125;
 		probe_tx = true;
 		break;
 	}
drivers/media/i2c/mt9p031.c +27 -1
index dc23b9ed510a..18440c5104ad 100644
@@ -78,7 +78,9 @@
 #define		MT9P031_PIXEL_CLOCK_INVERT		(1 << 15)
 #define		MT9P031_PIXEL_CLOCK_SHIFT(n)		((n) << 8)
 #define		MT9P031_PIXEL_CLOCK_DIVIDE(n)		((n) << 0)
-#define MT9P031_FRAME_RESTART				0x0b
+#define MT9P031_RESTART					0x0b
+#define		MT9P031_FRAME_PAUSE_RESTART		(1 << 1)
+#define		MT9P031_FRAME_RESTART			(1 << 0)
 #define MT9P031_SHUTTER_DELAY				0x0c
 #define MT9P031_RST					0x0d
 #define		MT9P031_RST_ENABLE			1
@@ -445,9 +447,23 @@ static int mt9p031_set_params(struct mt9p031 *mt9p031)
 static int mt9p031_s_stream(struct v4l2_subdev *subdev, int enable)
 {
 	struct mt9p031 *mt9p031 = to_mt9p031(subdev);
+	struct i2c_client *client = v4l2_get_subdevdata(subdev);
+	int val;
 	int ret;
 
 	if (!enable) {
+		/* enable pause restart */
+		val = MT9P031_FRAME_PAUSE_RESTART;
+		ret = mt9p031_write(client, MT9P031_RESTART, val);
+		if (ret < 0)
+			return ret;
+
+		/* enable restart + keep pause restart set */
+		val |= MT9P031_FRAME_RESTART;
+		ret = mt9p031_write(client, MT9P031_RESTART, val);
+		if (ret < 0)
+			return ret;
+
 		/* Stop sensor readout */
 		ret = mt9p031_set_output_control(mt9p031,
 						 MT9P031_OUTPUT_CONTROL_CEN, 0);
@@ -467,6 +483,16 @@ static int mt9p031_s_stream(struct v4l2_subdev *subdev, int enable)
 	if (ret < 0)
 		return ret;
 
+	/*
+	 * - clear pause restart
+	 * - don't clear restart as clearing restart manually can cause
+	 *   undefined behavior
+	 */
+	val = MT9P031_FRAME_RESTART;
+	ret = mt9p031_write(client, MT9P031_RESTART, val);
+	if (ret < 0)
+		return ret;
+
 	return mt9p031_pll_enable(mt9p031);
 }
 
drivers/media/i2c/tda1997x.c +4 -4
index 18a2027ba145..5faffedb0feb 100644
@@ -1247,13 +1247,13 @@ tda1997x_parse_infoframe(struct tda1997x_state *state, u16 addr)
 {
 	struct v4l2_subdev *sd = &state->sd;
 	union hdmi_infoframe frame;
-	u8 buffer[40];
+	u8 buffer[40] = { 0 };
 	u8 reg;
 	int len, err;
 
 	/* read data */
 	len = io_readn(sd, addr, sizeof(buffer), buffer);
-	err = hdmi_infoframe_unpack(&frame, buffer, sizeof(buffer));
+	err = hdmi_infoframe_unpack(&frame, buffer, len);
 	if (err) {
 		v4l_err(state->client,
 			"failed parsing %d byte infoframe: 0x%04x/0x%02x\n",
@@ -1927,13 +1927,13 @@ static int tda1997x_log_infoframe(struct v4l2_subdev *sd, int addr)
 {
 	struct tda1997x_state *state = to_state(sd);
 	union hdmi_infoframe frame;
-	u8 buffer[40];
+	u8 buffer[40] = { 0 };
 	int len, err;
 
 	/* read data */
 	len = io_readn(sd, addr, sizeof(buffer), buffer);
 	v4l2_dbg(1, debug, sd, "infoframe: addr=%d len=%d\n", addr, len);
-	err = hdmi_infoframe_unpack(&frame, buffer, sizeof(buffer));
+	err = hdmi_infoframe_unpack(&frame, buffer, len);
 	if (err) {
 		v4l_err(state->client,
 			"failed parsing %d byte infoframe: 0x%04x/0x%02x\n",
drivers/media/pci/cx23885/cx23885-alsa.c +2 -1
index a8e980c6dacb..50772c2611ca 100644
@@ -550,7 +550,7 @@ struct cx23885_audio_dev *cx23885_audio_register(struct cx23885_dev *dev)
 			   SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
 			THIS_MODULE, sizeof(struct cx23885_audio_dev), &card);
 	if (err < 0)
-		goto error;
+		goto error_msg;
 
 	chip = (struct cx23885_audio_dev *) card->private_data;
 	chip->dev = dev;
@@ -576,6 +576,7 @@ struct cx23885_audio_dev *cx23885_audio_register(struct cx23885_dev *dev)
 
 error:
 	snd_card_free(card);
+error_msg:
 	pr_err("%s(): Failed to register analog audio adapter\n",
 	       __func__);
 
drivers/media/pci/netup_unidvb/netup_unidvb_core.c +16 -11
index 80a7c41baa90..eb5621c9ebf8 100644
@@ -258,19 +258,24 @@ static irqreturn_t netup_unidvb_isr(int irq, void *dev_id)
 	if ((reg40 & AVL_IRQ_ASSERTED) != 0) {
 		/* IRQ is being signaled */
 		reg_isr = readw(ndev->bmmio0 + REG_ISR);
-		if (reg_isr & NETUP_UNIDVB_IRQ_I2C0) {
-			iret = netup_i2c_interrupt(&ndev->i2c[0]);
-		} else if (reg_isr & NETUP_UNIDVB_IRQ_I2C1) {
-			iret = netup_i2c_interrupt(&ndev->i2c[1]);
-		} else if (reg_isr & NETUP_UNIDVB_IRQ_SPI) {
+		if (reg_isr & NETUP_UNIDVB_IRQ_SPI)
 			iret = netup_spi_interrupt(ndev->spi);
-		} else if (reg_isr & NETUP_UNIDVB_IRQ_DMA1) {
-			iret = netup_dma_interrupt(&ndev->dma[0]);
-		} else if (reg_isr & NETUP_UNIDVB_IRQ_DMA2) {
-			iret = netup_dma_interrupt(&ndev->dma[1]);
-		} else if (reg_isr & NETUP_UNIDVB_IRQ_CI) {
-			iret = netup_ci_interrupt(ndev);
+		else if (!ndev->old_fw) {
+			if (reg_isr & NETUP_UNIDVB_IRQ_I2C0) {
+				iret = netup_i2c_interrupt(&ndev->i2c[0]);
+			} else if (reg_isr & NETUP_UNIDVB_IRQ_I2C1) {
+				iret = netup_i2c_interrupt(&ndev->i2c[1]);
+			} else if (reg_isr & NETUP_UNIDVB_IRQ_DMA1) {
+				iret = netup_dma_interrupt(&ndev->dma[0]);
+			} else if (reg_isr & NETUP_UNIDVB_IRQ_DMA2) {
+				iret = netup_dma_interrupt(&ndev->dma[1]);
+			} else if (reg_isr & NETUP_UNIDVB_IRQ_CI) {
+				iret = netup_ci_interrupt(ndev);
+			} else {
+				goto err;
+			}
 		} else {
+err:
 			dev_err(&pci_dev->dev,
 				"%s(): unknown interrupt 0x%x\n",
 				__func__, reg_isr);
drivers/media/platform/mtk-vpu/mtk_vpu.c +4 -1
index cc2ff40d060d..acf64723f938 100644
@@ -809,7 +809,8 @@ static int mtk_vpu_probe(struct platform_device *pdev)
 	vpu->wdt.wq = create_singlethread_workqueue("vpu_wdt");
 	if (!vpu->wdt.wq) {
 		dev_err(dev, "initialize wdt workqueue failed\n");
-		return -ENOMEM;
+		ret = -ENOMEM;
+		goto clk_unprepare;
 	}
 	INIT_WORK(&vpu->wdt.ws, vpu_wdt_reset_func);
 	mutex_init(&vpu->vpu_mutex);
@@ -908,6 +909,8 @@ static int mtk_vpu_probe(struct platform_device *pdev)
 	vpu_clock_disable(vpu);
 workqueue_destroy:
 	destroy_workqueue(vpu->wdt.wq);
+clk_unprepare:
+	clk_unprepare(vpu->clk);
 
 	return ret;
 }
drivers/media/platform/rcar-vin/rcar-csi2.c +2 -0
index d27eccfa57ca..e01f22bf826d 100644
@@ -488,6 +488,8 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
 
 	/* Code is validated in set_fmt. */
 	format = rcsi2_code_to_fmt(priv->mf.code);
+	if (!format)
+		return -EINVAL;
 
 	/*
 	 * Enable all supported CSI-2 channels with virtual channel and
drivers/media/platform/s5p-mfc/s5p_mfc.c +5 -1
index b776f83e395e..9faecd049002 100644
@@ -1279,11 +1279,15 @@ static int s5p_mfc_probe(struct platform_device *pdev)
 	spin_lock_init(&dev->condlock);
 	dev->plat_dev = pdev;
 	if (!dev->plat_dev) {
-		dev_err(&pdev->dev, "No platform data specified\n");
+		mfc_err("No platform data specified\n");
 		return -ENODEV;
 	}
 
 	dev->variant = of_device_get_match_data(&pdev->dev);
+	if (!dev->variant) {
+		dev_err(&pdev->dev, "Failed to get device MFC hardware variant information\n");
+		return -ENOENT;
+	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	dev->regs_base = devm_ioremap_resource(&pdev->dev, res);
drivers/media/platform/stm32/stm32-dcmi.c +11 -8
index d41475f56ab5..72798aae7a62 100644
@@ -135,6 +135,7 @@ struct stm32_dcmi {
 	int				sequence;
 	struct list_head		buffers;
 	struct dcmi_buf			*active;
+	int			irq;
 
 	struct v4l2_device		v4l2_dev;
 	struct video_device		*vdev;
@@ -1720,6 +1721,14 @@ static int dcmi_graph_notify_complete(struct v4l2_async_notifier *notifier)
 		return ret;
 	}
 
+	ret = devm_request_threaded_irq(dcmi->dev, dcmi->irq, dcmi_irq_callback,
+					dcmi_irq_thread, IRQF_ONESHOT,
+					dev_name(dcmi->dev), dcmi);
+	if (ret) {
+		dev_err(dcmi->dev, "Unable to request irq %d\n", dcmi->irq);
+		return ret;
+	}
+
 	return 0;
 }
 
@@ -1881,6 +1890,8 @@ static int dcmi_probe(struct platform_device *pdev)
 	if (irq <= 0)
 		return irq ? irq : -ENXIO;
 
+	dcmi->irq = irq;
+
 	dcmi->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!dcmi->res) {
 		dev_err(&pdev->dev, "Could not get resource\n");
@@ -1893,14 +1904,6 @@ static int dcmi_probe(struct platform_device *pdev)
 		return PTR_ERR(dcmi->regs);
 	}
 
-	ret = devm_request_threaded_irq(&pdev->dev, irq, dcmi_irq_callback,
-					dcmi_irq_thread, IRQF_ONESHOT,
-					dev_name(&pdev->dev), dcmi);
-	if (ret) {
-		dev_err(&pdev->dev, "Unable to request irq %d\n", irq);
-		return ret;
-	}
-
 	mclk = devm_clk_get(&pdev->dev, "mclk");
 	if (IS_ERR(mclk)) {
 		if (PTR_ERR(mclk) != -EPROBE_DEFER)
drivers/media/radio/radio-wl1273.c +1 -1
index 112376873167..484046471c03 100644
@@ -1279,7 +1279,7 @@ static int wl1273_fm_vidioc_querycap(struct file *file, void *priv,
 
 	strscpy(capability->driver, WL1273_FM_DRIVER_NAME,
 		sizeof(capability->driver));
-	strscpy(capability->card, "Texas Instruments Wl1273 FM Radio",
+	strscpy(capability->card, "TI Wl1273 FM Radio",
 		sizeof(capability->card));
 	strscpy(capability->bus_info, radio->bus_type,
 		sizeof(capability->bus_info));
drivers/media/radio/si470x/radio-si470x-i2c.c +1 -1
index f491420d7b53..a972c0705ac7 100644
@@ -11,7 +11,7 @@
 
 /* driver definitions */
 #define DRIVER_AUTHOR "Joonyoung Shim <[email protected]>";
-#define DRIVER_CARD "Silicon Labs Si470x FM Radio Receiver"
+#define DRIVER_CARD "Silicon Labs Si470x FM Radio"
 #define DRIVER_DESC "I2C radio driver for Si470x FM Radio Receivers"
 #define DRIVER_VERSION "1.0.2"
 
drivers/media/radio/si470x/radio-si470x-usb.c +1 -1
index fedff68d8c49..3f8634a46573 100644
@@ -16,7 +16,7 @@
 
 /* driver definitions */
 #define DRIVER_AUTHOR "Tobias Lorenz <[email protected]>"
-#define DRIVER_CARD "Silicon Labs Si470x FM Radio Receiver"
+#define DRIVER_CARD "Silicon Labs Si470x FM Radio"
 #define DRIVER_DESC "USB radio driver for Si470x FM Radio Receivers"
 #define DRIVER_VERSION "1.0.10"
 
drivers/media/rc/ite-cir.c +1 -1
index 4b8aee390518..742b7f41b75f 100644
@@ -283,7 +283,7 @@ static irqreturn_t ite_cir_isr(int irq, void *data)
 	}
 
 	/* check for the receive interrupt */
-	if (iflags & ITE_IRQ_RX_FIFO) {
+	if (iflags & (ITE_IRQ_RX_FIFO | ITE_IRQ_RX_FIFO_OVERRUN)) {
 		/* read the FIFO bytes */
 		rx_bytes =
 			dev->params.get_rx_bytes(dev, rx_buf,
drivers/media/rc/mceusb.c +1 -0
index c68e52c17ae1..31e56f4f3479 100644
@@ -1386,6 +1386,7 @@ static void mceusb_dev_recv(struct urb *urb)
 	case -ECONNRESET:
 	case -ENOENT:
 	case -EILSEQ:
+	case -EPROTO:
 	case -ESHUTDOWN:
 		usb_unlink_urb(urb);
 		return;
drivers/media/spi/cxd2880-spi.c +1 -1
index 93194f03764d..11273be702b6 100644
@@ -618,7 +618,7 @@ cxd2880_spi_probe(struct spi_device *spi)
 fail_attach:
 	dvb_unregister_adapter(&dvb_spi->adapter);
 fail_adapter:
-	if (!dvb_spi->vcc_supply)
+	if (dvb_spi->vcc_supply)
 		regulator_disable(dvb_spi->vcc_supply);
 fail_regulator:
 	kfree(dvb_spi);
drivers/media/usb/dvb-usb/az6027.c +1 -0
index 8de18da0c4bd..5aa9c501ed9c 100644
@@ -391,6 +391,7 @@ static struct rc_map_table rc_map_az6027_table[] = {
 /* remote control stuff (does not work with my box) */
 static int az6027_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
 {
+	*state = REMOTE_NO_KEY_PRESSED;
 	return 0;
 }
 
drivers/media/usb/dvb-usb/dibusb-common.c +1 -1
index 59ce2dec11e9..9c1ebea68b54 100644
@@ -223,7 +223,7 @@ int dibusb_read_eeprom_byte(struct dvb_usb_device *d, u8 offs, u8 *val)
 	u8 *buf;
 	int rc;
 
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/media/usb/em28xx/em28xx-cards.c +4 -1
index 5983e72a0622..3e96b4b711d7 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/em28xx/em28xx-core.c +3 -2
index 3daa64bb1e1d..af9216278024 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/tm6000/tm6000-video.c +1 -2
index c46cbcfafab3..8874b0b922ee 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/uvc/uvc_driver.c +6 -1
index 40ca1d4e0348..378cfc46fc19 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/uvc/uvc_v4l2.c +5 -2
index db7f8f8ee2f9..3126ee9e965c 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/uvc/uvc_video.c +5 -0
index 5d095b2a0346..96b85d66e7a8 100644

Lines of this file are not shown. View the raw message.

drivers/media/v4l2-core/v4l2-ioctl.c +39 -21

60 lines not on this page · raw message

drivers/memory/fsl_ifc.c +6 -7
index 279025834607..84fa32f288c8 100644

Lines of this file are not shown. View the raw message.

drivers/memstick/core/ms_block.c +1 -1
index d9ee8e3dc72d..55907e4c36b1 100644

Lines of this file are not shown. View the raw message.

drivers/memstick/host/jmb38x_ms.c +1 -1
index 64fff6abe60e..74d6686b35f7 100644

Lines of this file are not shown. View the raw message.

drivers/memstick/host/r592.c +4 -4
index d2ef46337191..eaa2a94d18be 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/Kconfig +1 -1
index 49ea02c467bf..1b4a40d910cf 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/dw_mmc.c +2 -1
index 7b280cb36327..ba37be8e423c 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/mxs-mmc.c +10 -0
index 52054931c350..3a90037254a4 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/sdhci-omap.c +2 -1
index d3135249b2e4..346ca41b28f8 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/mtdcore.c +2 -2
index 32a76b8feaa5..ac5d3b6db9b8 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/spi-nor/hisi-sfc.c +0 -1
index 8fcc48056a8b..569cfd473c87 100644

Lines of this file are not shown. View the raw message.

drivers/net/bonding/bond_sysfs_slave.c +11 -25
index fd07561da034..6a6cdd0bb258 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/rtl8366rb.c +1 -1
index 7f731bf36998..d04700436061 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/amd/xgbe/xgbe-common.h +8 -0
index b2cd3bdba9f8..533b8519ec35 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +19 -1
index d6f6afb67bcc..0b325ae875b5 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/cavium/thunder/nic_main.c +1 -1
index 9361f964bb9b..816453a4f8d6 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/cavium/thunder/nicvf_main.c +2 -2
index 5c45c0c6dd23..27ea528ef448 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c +5 -2
index f537be9cb315..5ba30b8eb1e1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/chelsio/cxgb4/t4_hw.h +2 -0
index 002fc62ea726..63bc956d2037 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c +1 -1
index 9076605403a7..bb22d91f6e53 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c +1 -8
index d98f0e2ec7aa..8448607742a6 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/ibm/ibmvnic.c +3 -2
index cfe7229593ea..9adfc0a7ab82 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/netronome/nfp/bpf/main.c +11 -5
index 8f732771d3fa..bd2966eb6b7d 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/netronome/nfp/bpf/main.h +2 -0
index fac9c6f9e197..c74620fcc539 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/netronome/nfp/bpf/offload.c +13 -4
index 88fab6a82acf..7ff388ecc7e3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/realtek/r8169_main.c +1 -0
index 623d86e5e970..8d2b184ff575 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/sfc/ptp.c +2 -2
index 59b4f16896a8..1fa1b71dbfa1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/sfc/siena_sriov.c +1 -1
index dfbdf05dcf79..68f092881d13 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/ti/davinci_emac.c +14 -2
index 6869c5c74b9f..fac59032bf83 100644

Lines of this file are not shown. View the raw message.

drivers/net/phy/micrel.c +3 -2
index f95bd1b0fb96..0b61d80ea3f8 100644

Lines of this file are not shown. View the raw message.

drivers/net/phy/phylink.c +1 -1
index bf5bbb565cf5..7be43a1eaefd 100644

Lines of this file are not shown. View the raw message.

drivers/net/vmxnet3/vmxnet3_drv.c +0 -1
index a06e6ab453f5..cf090f88dac0 100644

Lines of this file are not shown. View the raw message.

drivers/net/vrf.c +24 -4
index f08ed52d51f3..f436b8c13061 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/mac.c +34 -11

45 lines not on this page · raw message

drivers/net/wireless/ath/ath10k/usb.c +6 -1
index 05c0d5e92475..326e1dc4c673 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/wmi.c +4 -0
index 91604a14a8f4..796bd93c599b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/wmi.h +3 -0
index 761bc4a7064d..de22396d085c 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath6kl/usb.c +6 -1
index 53b66e9434c9..8b24964304b1 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath9k/main.c +3 -1
index 28ccdcb197de..ec13bd8d5487 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/dfs_pattern_detector.c +6 -4
index a274eb0d1968..a0ad6e48a35b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/wcn36xx/dxe.c +11 -1
index bab30f7a443c..4da25e84793b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/wcn36xx/main.c +3 -1
index 556ba3c6c5d8..eb5d08bf2503 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/wcn36xx/smd.c +33 -11

44 lines not on this page · raw message

drivers/net/wireless/broadcom/b43/phy_g.c +1 -1
index 1e022ec733a3..8b8fdb4965bd 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/b43legacy/radio.c +1 -1
index da40d1ca8723..e4dce76a4481 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c +10 -0
index 6d5188b78f2d..0af452dca766 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/mvm/utils.c +3 -0
index 8686107da116..a637d7fb4b26 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/libertas/if_usb.c +2 -0
index 20436a289d5c..5d6dc1dd050d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/libertas_tf/if_usb.c +2 -0
index bedc09215088..b30bcb28503a 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/11n.c +3 -2
index e435f801bc91..acbef9f1a83b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/cfg80211.c +11 -21
index 9e6dc289ec3e..1599ae74b066 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/pcie.c +8 -0
index bc46a0aa06eb..b316e3491795 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/usb.c +16 -0
index 528107d70c1c..cb8a9ad40cfe 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwl8k.c +1 -1
index 1b76b2419186..14ac2384218d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76x02_mac.c +7 -6
index abacb4ea7179..5c12cd7fce94 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/realtek/rtl818x/rtl8187/rtl8225.c +7 -7
index b2616d61b66d..843e3f41a2bc 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_91x_core.c +2 -0
index 3644d7d99463..c6c29034b2ea 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_91x_hal.c +6 -4
index 5e6c5d13319d..7d0b44fd5690 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_91x_mac80211.c +22 -52

74 lines not on this page · raw message

drivers/net/wireless/rsi/rsi_91x_main.c +14 -3
index 29d83049c5f5..441fda71f628 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_91x_mgmt.c +17 -7
index ed67f6598677..0c0e4c08be8a 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_91x_sdio.c +1 -4
index d51ec7104fb7..4fe837090cda 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_91x_usb.c +1 -4
index 1e5a2a0cc670..68ce3d2bc535 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_hal.h +11 -0
index 46e36df9e8e3..a2fbec1cec4c 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rsi/rsi_main.h +12 -3
index b3e25bc28682..de595025c019 100644

Lines of this file are not shown. View the raw message.

drivers/net/xen-netfront.c +8 -0
index 88280057e032..7d389c2cc902 100644

Lines of this file are not shown. View the raw message.

drivers/nfc/pn533/pn533.c +3 -3
index 3ea38ce86cc9..807b7b37d9dc 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/multipath.c +4 -5
index 016a67fd4198..9f01af2f03e6 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/rdma.c +2 -0
index dcc3d2393605..08a23bb4b8b5 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/configfs.c +2 -0
index 98613a45bd3b..baf8a3e4ed12 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/tcp.c +20 -1
index 2f4e512bd449..fac198587076 100644

Lines of this file are not shown. View the raw message.

drivers/opp/of.c +1 -1
index 30cc407c8f93..ba3069450815 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/pci-aardvark.c +110 -19

129 lines not on this page · raw message

drivers/pci/pci-bridge-emul.c +13 -0
index 06c800595e03..b3d63e319bb3 100644

Lines of this file are not shown. View the raw message.

drivers/pci/quirks.c +1 -0
index 686298c0f6cd..fb7c5518447d 100644

Lines of this file are not shown. View the raw message.

drivers/phy/qualcomm/phy-qcom-qusb2.c +10 -6
index bf94a52d3087..946e9b05f0ae 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/core.c +2 -0
index 6381745e3bb1..9ebeef2ac7b1 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/thinkpad_acpi.c +1 -1
index f027609fdab6..3028d9f1ac59 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/wmi.c +8 -1
index 59e9aa0f9643..cb029126a68c 100644

Lines of this file are not shown. View the raw message.

drivers/power/supply/bq27xxx_battery_i2c.c +2 -1
index 2677c38a8a42..34229c1f43e3 100644

Lines of this file are not shown. View the raw message.

drivers/power/supply/max17042_battery.c +6 -2
index f8f8207a1895..170639a1e734 100644

Lines of this file are not shown. View the raw message.

drivers/power/supply/rt5033_battery.c +1 -1
index 6609f8cb8ca0..ef53891b88bb 100644

Lines of this file are not shown. View the raw message.

drivers/regulator/s5m8767.c +9 -12
index 5276f8442f3c..1e9f03a2ea1c 100644

Lines of this file are not shown. View the raw message.

drivers/reset/reset-socfpga.c +26 -0
index 96953992c2bb..1c5236a69dc4 100644

Lines of this file are not shown. View the raw message.

drivers/s390/char/tape_std.c +1 -2
index 1f5fab617b67..f7e75d9fedf6 100644

Lines of this file are not shown. View the raw message.

drivers/s390/cio/css.c +2 -2
index 7950ac59b174..ad447437a27c 100644

Lines of this file are not shown. View the raw message.

drivers/s390/cio/device_ops.c +11 -1
index ccecf6b9504e..5a411595347b 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/csiostor/csio_lnode.c +1 -1
index 23cbe4cda760..c3bf590f5d68 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/dc395x.c +1 -0
index 13fbb2eab842..5fb06930912a 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_attr.c +22 -2
index 580d30cd5c35..8f85ca011296 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_gbl.h +0 -2
index 7aa233771ec8..1a98e37c9be2 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_init.c +1 -3
index 5dae7ac0d3ef..37c1f27a76cf 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_mr.c +0 -23
index 605b59c76c90..badd09c5dd42 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_os.c +8 -29
index 28cbefe715e5..c1d4c964b0dd 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_target.c +5 -9
index 57068e2faef5..0111c543f0e6 100644

Lines of this file are not shown. View the raw message.

drivers/soc/fsl/dpaa2-console.c +1 -0
index 27243f706f37..53917410f2bd 100644

Lines of this file are not shown. View the raw message.

drivers/soc/tegra/pmc.c +1 -1
index 0447afa970f5..ab75f41e9c0c 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-bcm-qspi.c +3 -2
index 8a4be34bccfd..8a1176efa4c8 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-pl022.c +3 -2
index 7fedea67159c..8523bb4f6a62 100644

Lines of this file are not shown. View the raw message.

drivers/staging/ks7010/Kconfig +3 -0
index 0987fdc2f70d..8ea6c0928679 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/imx/imx-media-dev-common.c +2 -0
index 66b505f7e8df..137e414cda18 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/ipu3/ipu3-v4l2.c +4 -3
index 908ae74aa970..53239ea67fe4 100644

Lines of this file are not shown. View the raw message.

drivers/staging/wilc1000/wilc_wfi_cfgoperations.c +1 -2
index c3cd6f389a98..2a369fdaf0cb 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_dw.c +1 -1
index 51a7d3b19b39..381c5117aec1 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/serial_core.c +14 -2
index fa3bd8a97b24..38ee13bbcab8 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/xilinx_uartps.c +2 -1
index 9359c80fbb9f..a1409251fbcc 100644

Lines of this file are not shown. View the raw message.

drivers/usb/chipidea/core.c +16 -7
index b7da2a273c45..74cdc7ef476a 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/legacy/hid.c +3 -1
index 5b27d289443f..3912cc805f3a 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-hub.c +2 -1
index 6358d4e0653e..9a4260927ce3 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-pci.c +16 -0
index ae8fa4ff05ee..beee3543950f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/misc/iowarrior.c +2 -6
index 103c69c692ba..888defdea546 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/keyspan.c +7 -8
index aa3dbce22cfb..451759f38b57 100644

Lines of this file are not shown. View the raw message.

drivers/video/backlight/backlight.c +0 -6
index cac3e35d7630..813a264a1b11 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/chipsfb.c +1 -1
index f4dc320dcafe..80fdd3ee0565 100644

Lines of this file are not shown. View the raw message.

drivers/watchdog/Kconfig +1 -1
index 1aa42e879e63..3fabd4177b0e 100644

Lines of this file are not shown. View the raw message.

drivers/watchdog/f71808e_wdt.c +3 -1
index 893cef70c159..aa57498009c3 100644

Lines of this file are not shown. View the raw message.

drivers/watchdog/omap_wdt.c +5 -1
index 9b91882fe3c4..6d7ccbc0b666 100644

Lines of this file are not shown. View the raw message.

drivers/xen/balloon.c +63 -23

86 lines not on this page · raw message

drivers/xen/xen-pciback/conf_space_capability.c +1 -1
index e5694133ebe5..42f0f64fcba4 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/disk-io.c +2 -1
index 946ae198b344..1499531bc151 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/tree-log.c +3 -1
index f34205569987..7bc4477d7ee7 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/volumes.c +8 -6
index f302bbb93f32..344d18de1f08 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/inode.c +1 -1
index 502bd491336a..2383d52b1f42 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/namei.c +1 -1
index 81a18ba18e30..ed95c27e9302 100644

Lines of this file are not shown. View the raw message.

fs/fuse/dev.c +12 -2
index 7205a89fbb5f..fa4d2aba5a70 100644

Lines of this file are not shown. View the raw message.

fs/jfs/jfs_mount.c +22 -29

51 lines not on this page · raw message

fs/nfs/flexfilelayout/flexfilelayoutdev.c +2 -2
index 3eda40a320a5..1f12297109b4 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4proc.c +8 -7
index 5ecaf7b6b0fa..fb3d1532f11d 100644

Lines of this file are not shown. View the raw message.

fs/nfs/pnfs_nfs.c +2 -2
index 249cf9037dbd..aff44a7b98f8 100644

Lines of this file are not shown. View the raw message.

fs/nfs/write.c +2 -15
index 613c3ef23e07..30d8e7bc1cef 100644

Lines of this file are not shown. View the raw message.

fs/ocfs2/file.c +6 -2
index 58d4546a208e..c30747bdfb12 100644

Lines of this file are not shown. View the raw message.

fs/orangefs/dcache.c +3 -1
index fe484cf93e5c..8bbe9486e3a6 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/file.c +46 -1

47 lines not on this page · raw message

fs/quota/quota_tree.c +15 -0
index c5562c871c8b..1a188fbdf34e 100644

Lines of this file are not shown. View the raw message.

fs/tracefs/inode.c +2 -1
index 0caa151cae4e..efe078fe5d4a 100644

Lines of this file are not shown. View the raw message.

include/linux/console.h +2 -0
index d09951d5a94e..d1d03c9c7a51 100644

Lines of this file are not shown. View the raw message.

include/linux/filter.h +1 -0
index c4f89340f498..440014875acf 100644

Lines of this file are not shown. View the raw message.

include/linux/libata.h +1 -1
index 3d5adbaf8214..2e448d65a04c 100644

Lines of this file are not shown. View the raw message.

include/linux/lsm_hooks.h +14 -14
index a3763247547c..a21dc5413653 100644

Lines of this file are not shown. View the raw message.

include/linux/rpmsg.h +1 -1
index 9fe156d1c018..a68972b097b7 100644

Lines of this file are not shown. View the raw message.

include/linux/sched/task_stack.h +4 -0
index 2413427e439c..d10150587d81 100644

Lines of this file are not shown. View the raw message.

include/linux/security.h +19 -14
index df90399a8af9..3f6b8195ae9e 100644

Lines of this file are not shown. View the raw message.

include/net/llc.h +3 -1
index df282d9b4017..9c10b121b49b 100644

Lines of this file are not shown. View the raw message.

include/net/neighbour.h +9 -3
index 2be8d6b0dfb6..b6494e87c897 100644

Lines of this file are not shown. View the raw message.

include/net/sch_generic.h +4 -0
index 0cb0a4bcb544..939fda8f9721 100644

Lines of this file are not shown. View the raw message.

include/net/strparser.h +15 -1
index 1d20b98493a1..bec1439bd3be 100644

Lines of this file are not shown. View the raw message.

include/net/udp.h +3 -2
index fabf507bce5d..d9d39cc20a84 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/pci_regs.h +6 -0
index 29d6e93fd15e..b485d8b0d5a7 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/core.c +3 -1
index d9a3d995bd96..1238ef9c569d 100644

Lines of this file are not shown. View the raw message.

kernel/cgroup/cgroup.c +27 -4
index ede370ec245d..1904ffcee0f1 100644

Lines of this file are not shown. View the raw message.

kernel/kprobes.c +1 -2
index a7812c115e48..1668439b269d 100644

Lines of this file are not shown. View the raw message.

kernel/locking/lockdep.c +1 -1
index 3ec8fd2e80e5..db109d38f301 100644

Lines of this file are not shown. View the raw message.

kernel/power/swap.c +4 -3
index 0516c422206d..bcc9769e8a3b 100644

Lines of this file are not shown. View the raw message.

kernel/rcu/tree_exp.h +1 -1
index df90d4d7ad2e..4c4d7683a4e5 100644

Lines of this file are not shown. View the raw message.

kernel/signal.c +4 -14
index 8c97fc72d78b..3f61367fd168 100644

Lines of this file are not shown. View the raw message.

kernel/trace/tracing_map.c +23 -17
index 9e31bfc818ff..10657b8dc2c2 100644

Lines of this file are not shown. View the raw message.

kernel/workqueue.c +11 -4
index 885d4792abdf..77e6964ae1a9 100644

Lines of this file are not shown. View the raw message.

lib/decompress_unxz.c +1 -1
index 25d59a95bd66..abea25310ac7 100644

Lines of this file are not shown. View the raw message.

lib/iov_iter.c +3 -2
index 41b06af19536..957e3e58df65 100644

Lines of this file are not shown. View the raw message.

lib/xz/xz_dec_lzma2.c +19 -2
index 156f26fdc4c9..dd80989ca5a6 100644

Lines of this file are not shown. View the raw message.

lib/xz/xz_dec_stream.c +3 -3
index bd1d182419d7..0b161f90d8d8 100644

Lines of this file are not shown. View the raw message.

mm/oom_kill.c +10 -13
index f1b810ddf232..dcbb9a28706f 100644

Lines of this file are not shown. View the raw message.

mm/zsmalloc.c +4 -3
index 443b3b1c9581..490e5f3ae614 100644

Lines of this file are not shown. View the raw message.

net/8021q/vlan.c +0 -3
index 3f47abf9ef4a..cd7c0429cddf 100644

Lines of this file are not shown. View the raw message.

net/8021q/vlan_dev.c +3 -0
index 2a78da4072de..415a29d42cdf 100644

Lines of this file are not shown. View the raw message.

net/9p/client.c +2 -0
index 1d48afc7033c..b03fce66eb8d 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_sock.c +9 -1
index 82e76ff01267..08e9f332adad 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/sco.c +20 -13
index 1915943bb646..2c616c1c6295 100644

Lines of this file are not shown. View the raw message.

net/can/j1939/main.c +7 -0
index 266c189f1e80..ca75d1b8f415 100644

Lines of this file are not shown. View the raw message.

net/can/j1939/transport.c +6 -0
index 7a54170da09d..811682e06951 100644

Lines of this file are not shown. View the raw message.

net/core/dev.c +4 -1
index e4e492bf72af..ff336417c9b9 100644

Lines of this file are not shown. View the raw message.

net/core/filter.c +21 -0
index 0e161a6dff7e..5ebc973ed4c5 100644

Lines of this file are not shown. View the raw message.

net/core/neighbour.c +27 -21

48 lines not on this page · raw message

net/core/net-sysfs.c +55 -0

55 lines not on this page · raw message

net/core/net_namespace.c +4 -0
index 9bf15512601b..cd1d40195e46 100644

Lines of this file are not shown. View the raw message.

net/core/stream.c +0 -3
index 4f1d4aa5fb38..a166a32b411f 100644

Lines of this file are not shown. View the raw message.

net/core/sysctl_net_core.c +1 -1
index 669cbe1609d9..48041f50ecfb 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp.c +1 -1
index 5c8d0fb49825..9f53d25e047e 100644

Lines of this file are not shown. View the raw message.

net/ipv6/addrconf.c +3 -0
index 366c3792b860..d1f29a3eb70b 100644

Lines of this file are not shown. View the raw message.

net/ipv6/udp.c +1 -1
index 0f57c682afdd..818fc9975625 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_conntrack_proto_udp.c +5 -2
index 7365b43f8f98..e3a2d018f4ec 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nfnetlink_queue.c +1 -1
index 6f0a2bad8ad5..a8cb562da3fe 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_dynset.c +1 -10
index 95415d2b81c9..6fdea0e57db8 100644

Lines of this file are not shown. View the raw message.

net/rxrpc/rtt.c +1 -1
index 928d8b34a3ee..f3f87c9f0209 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_generic.c +9 -0
index 9bc5cbe9809b..d973f8a15e11 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_mq.c +24 -0
index e79f1afe0cfd..db18d8a860f9 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_mqprio.c +23 -0
index 5eb3b1b7ae5e..50e15add6068 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_taprio.c +17 -10
index e14a66ce4884..b268e6130451 100644

Lines of this file are not shown. View the raw message.

net/smc/af_smc.c +12 -8
index 51986f7ead81..6b0f09c5b195 100644

Lines of this file are not shown. View the raw message.

net/strparser/strparser.c +1 -9
index b3815c1e8f2e..cd9954c4ad80 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/xprt.c +15 -13
index 3653898f465f..93b6afd28405 100644

Lines of this file are not shown. View the raw message.

net/vmw_vsock/af_vsock.c +2 -0
index d4104144bab1..bc8055f4571b 100644

Lines of this file are not shown. View the raw message.

samples/kprobes/kretprobe_example.c +1 -1
index 186315ca88b3..2701549ee7b3 100644

Lines of this file are not shown. View the raw message.

scripts/leaking_addresses.pl +2 -1
index b2d8b8aa2d99..8f636a23bc3f 100755

Lines of this file are not shown. View the raw message.

security/apparmor/label.c +2 -2
index 5f324d63ceaa..747a734a0824 100644

Lines of this file are not shown. View the raw message.

security/integrity/evm/evm_main.c +1 -1
index 81e3245aec86..b82291d10e73 100644

Lines of this file are not shown. View the raw message.

security/security.c +7 -7
index 1bc000f834e2..c34ec4c7d98c 100644

Lines of this file are not shown. View the raw message.

security/selinux/hooks.c +15 -21
index 717a398ef4d0..8b9cbe1e8ee2 100644

Lines of this file are not shown. View the raw message.

security/smack/smackfs.c +6 -5
index 3823ab2c4e4b..6b6fec04c412 100644

Lines of this file are not shown. View the raw message.

sound/core/oss/mixer_oss.c +33 -10

43 lines not on this page · raw message

sound/core/timer.c +8 -9
index b5a0ba79bf74..d684aa4150aa 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/hda_intel.c +23 -5
index ebb1ee69dd0c..95d472d433e7 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +4 -0
index 49aefb7875e7..94fc17b28e9c 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs42l42.c +5 -4
index 6825e874785f..ebee58eca4d5 100644

Lines of this file are not shown. View the raw message.

sound/synth/emux/emux.c +1 -1
index f65e6c7b139f..6695530bba9b 100644

Lines of this file are not shown. View the raw message.

sound/usb/6fire/comm.c +1 -1
index 43a2a62d66f7..49629d4bb327 100644

Lines of this file are not shown. View the raw message.

sound/usb/6fire/firmware.c +3 -3
index 69137c14d0dc..2333e8ff3411 100644

Lines of this file are not shown. View the raw message.

sound/usb/line6/driver.c +7 -7
index 1e38cdda2af6..8ca56ba600cf 100644

Lines of this file are not shown. View the raw message.

sound/usb/line6/driver.h +1 -1
index e5e572ed5f30..890c239e3fc0 100644

Lines of this file are not shown. View the raw message.

sound/usb/line6/podhd.c +3 -3
index 5d9954a2d05e..8b1610bdb8d5 100644

Lines of this file are not shown. View the raw message.

sound/usb/line6/toneport.c +1 -1
index d0a555dbe324..21f86c71dad7 100644

Lines of this file are not shown. View the raw message.

sound/usb/misc/ua101.c +2 -2
index 307b72d5fffa..77304a29a61d 100644

Lines of this file are not shown. View the raw message.

sound/usb/quirks.c +1 -0
index d5d828817c5e..72223545abfd 100644

Lines of this file are not shown. View the raw message.

tools/lib/bpf/btf.c +6 -10
index d606a358480d..41daf0fa95b9 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/bpf-event.c +3 -1
index f7ed5d122e22..c766813d56be 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/progs/strobemeta.h +2 -2
index 067eb625d01c..5ba8d39c4d54 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/test_progs.c +2 -2
index 48bbe8e0ce48..4369bc46bf9c 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/kvm/x86_64/mmio_warning_test.c +1 -1
index 2cbc09aad7f6..92419b66b057 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/net/udpgso_bench_rx.c +7 -4
index 76a24052f4b4..6a193425c367 100644

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.