Skip to contentSkip to conversation

Linux 4.19.129

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jun 22, 2020 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 4.19.129 kernel.

All users of the 4.19 kernel series must upgrade.

The updated 4.19.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.19.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/devicetree/bindings/display/mediatek/mediatek,dpi.txt |    6 
 Documentation/virtual/kvm/api.txt                                   |    2 
 Makefile                                                            |   15 
 arch/alpha/include/asm/io.h                                         |   74 ++
 arch/alpha/include/asm/uaccess.h                                    |    8 
 arch/alpha/kernel/io.c                                              |   60 ++
 arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts                           |    4 
 arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi                         |    2 
 arch/arm/boot/dts/s5pv210-aries.dtsi                                |    1 
 arch/arm/include/asm/kvm_host.h                                     |    2 
 arch/arm/kernel/ptrace.c                                            |    4 
 arch/arm/mach-tegra/tegra.c                                         |    4 
 arch/arm/mm/proc-macros.S                                           |    3 
 arch/arm64/include/asm/cacheflush.h                                 |    6 
 arch/arm64/include/asm/kvm_host.h                                   |    8 
 arch/arm64/kernel/insn.c                                            |   14 
 arch/m68k/include/asm/mac_via.h                                     |    1 
 arch/m68k/mac/config.c                                              |   21 
 arch/m68k/mac/via.c                                                 |    6 
 arch/mips/Makefile                                                  |   13 
 arch/mips/boot/compressed/Makefile                                  |    2 
 arch/mips/configs/loongson3_defconfig                               |    2 
 arch/mips/include/asm/kvm_host.h                                    |    6 
 arch/mips/include/asm/mipsregs.h                                    |    2 
 arch/mips/kernel/genex.S                                            |    6 
 arch/mips/kernel/mips-cm.c                                          |    6 
 arch/mips/kernel/setup.c                                            |   10 
 arch/mips/kernel/time.c                                             |   70 ++
 arch/mips/kernel/vmlinux.lds.S                                      |    2 
 arch/openrisc/include/asm/uaccess.h                                 |    8 
 arch/powerpc/kernel/dt_cpu_ftrs.c                                   |    8 
 arch/powerpc/kernel/prom.c                                          |   19 
 arch/powerpc/platforms/cell/spufs/file.c                            |  113 ++--
 arch/powerpc/platforms/powernv/smp.c                                |    1 
 arch/powerpc/sysdev/xive/common.c                                   |    5 
 arch/sh/include/asm/uaccess.h                                       |    7 
 arch/sparc/kernel/ptrace_32.c                                       |  228 +++-----
 arch/sparc/kernel/ptrace_64.c                                       |   17 
 arch/x86/boot/compressed/head_32.S                                  |    5 
 arch/x86/boot/compressed/head_64.S                                  |    1 
 arch/x86/include/asm/cpufeatures.h                                  |    1 
 arch/x86/include/asm/nospec-branch.h                                |    1 
 arch/x86/include/asm/set_memory.h                                   |   19 
 arch/x86/include/asm/uaccess.h                                      |   12 
 arch/x86/kernel/amd_nb.c                                            |   15 
 arch/x86/kernel/cpu/amd.c                                           |    3 
 arch/x86/kernel/cpu/bugs.c                                          |   94 ++-
 arch/x86/kernel/cpu/mcheck/mce.c                                    |   11 
 arch/x86/kernel/process.c                                           |   28 -
 arch/x86/kernel/process.h                                           |    2 
 arch/x86/kernel/reboot.c                                            |    8 
 arch/x86/kernel/time.c                                              |    4 
 arch/x86/kernel/vmlinux.lds.S                                       |    4 
 arch/x86/kvm/mmu.c                                                  |   37 -
 arch/x86/kvm/svm.c                                                  |    6 
 arch/x86/kvm/vmx.c                                                  |    2 
 arch/x86/kvm/x86.c                                                  |    7 
 arch/x86/mm/init.c                                                  |    2 
 arch/x86/pci/fixup.c                                                |    4 
 drivers/acpi/cppc_acpi.c                                            |    1 
 drivers/acpi/device_pm.c                                            |    2 
 drivers/acpi/evged.c                                                |   22 
 drivers/acpi/scan.c                                                 |   28 -
 drivers/acpi/sysfs.c                                                |    4 
 drivers/bluetooth/btbcm.c                                           |    2 
 drivers/bluetooth/hci_bcm.c                                         |    5 
 drivers/char/agp/intel-gtt.c                                        |    4 
 drivers/char/ipmi/ipmi_si_pci.c                                     |    5 
 drivers/clk/clk.c                                                   |    6 
 drivers/clocksource/dw_apb_timer.c                                  |    5 
 drivers/clocksource/dw_apb_timer_of.c                               |    6 
 drivers/cpuidle/sysfs.c                                             |    6 
 drivers/crypto/cavium/nitrox/nitrox_main.c                          |    4 
 drivers/crypto/ccp/Kconfig                                          |    3 
 drivers/crypto/chelsio/chcr_algo.c                                  |    2 
 drivers/crypto/stm32/stm32_crc32.c                                  |  144 +++--
 drivers/crypto/talitos.c                                            |    2 
 drivers/crypto/virtio/virtio_crypto_algs.c                          |   21 
 drivers/dma/pch_dma.c                                               |    1 
 drivers/firmware/efi/efivars.c                                      |    4 
 drivers/firmware/efi/libstub/Makefile                               |    1 
 drivers/gnss/sirf.c                                                 |    8 
 drivers/gpio/gpio-ml-ioh.c                                          |    2 
 drivers/gpio/gpio-pch.c                                             |    1 
 drivers/gpu/drm/bridge/adv7511/adv7511_audio.c                      |   12 
 drivers/gpu/drm/i915/i915_gem_execbuffer.c                          |   16 
 drivers/gpu/drm/vkms/vkms_drv.h                                     |    5 
 drivers/gpu/drm/vkms/vkms_gem.c                                     |   11 
 drivers/hwmon/k10temp.c                                             |    9 
 drivers/i2c/busses/i2c-eg20t.c                                      |    1 
 drivers/infiniband/core/uverbs_main.c                               |    2 
 drivers/input/mouse/synaptics.c                                     |    1 
 drivers/input/touchscreen/mms114.c                                  |   12 
 drivers/isdn/hardware/mISDN/w6692.c                                 |    3 
 drivers/macintosh/windfarm_pm112.c                                  |   21 
 drivers/md/bcache/super.c                                           |    7 
 drivers/md/dm-crypt.c                                               |    2 
 drivers/md/md.c                                                     |    3 
 drivers/media/cec/cec-adap.c                                        |    8 
 drivers/media/i2c/ov5640.c                                          |    4 
 drivers/media/platform/rcar-fcp.c                                   |    5 
 drivers/media/tuners/si2157.c                                       |   15 
 drivers/media/usb/dvb-usb/dibusb-mb.c                               |    2 
 drivers/media/usb/go7007/snd-go7007.c                               |   35 -
 drivers/misc/pch_phub.c                                             |    1 
 drivers/misc/pci_endpoint_test.c                                    |   20 
 drivers/mmc/core/sdio.c                                             |    3 
 drivers/mmc/host/meson-mx-sdio.c                                    |    3 
 drivers/mmc/host/sdhci-esdhc-imx.c                                  |    2 
 drivers/mmc/host/sdhci-msm.c                                        |   10 
 drivers/mmc/host/via-sdmmc.c                                        |    7 
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                            |   11 
 drivers/mtd/nand/raw/pasemi_nand.c                                  |    4 
 drivers/net/ethernet/allwinner/sun4i-emac.c                         |    4 
 drivers/net/ethernet/amazon/ena/ena_com.c                           |    6 
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c                     |    6 
 drivers/net/ethernet/broadcom/genet/bcmgenet.c                      |    4 
 drivers/net/ethernet/ibm/ibmvnic.c                                  |    8 
 drivers/net/ethernet/intel/e1000/e1000_main.c                       |    4 
 drivers/net/ethernet/intel/e1000e/e1000.h                           |    1 
 drivers/net/ethernet/intel/e1000e/netdev.c                          |   16 
 drivers/net/ethernet/intel/igb/igb_ethtool.c                        |    3 
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c                     |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c                       |    3 
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c                     |   15 
 drivers/net/ethernet/nxp/lpc_eth.c                                  |    3 
 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c                |    7 
 drivers/net/ethernet/qlogic/qede/qede.h                             |    2 
 drivers/net/ethernet/qlogic/qede/qede_main.c                        |   11 
 drivers/net/ethernet/realtek/r8169.c                                |    2 
 drivers/net/macvlan.c                                               |    4 
 drivers/net/net_failover.c                                          |    3 
 drivers/net/tun.c                                                   |   12 
 drivers/net/veth.c                                                  |    8 
 drivers/net/vmxnet3/vmxnet3_ethtool.c                               |    2 
 drivers/net/vxlan.c                                                 |    4 
 drivers/net/wireless/ath/ath10k/mac.c                               |    3 
 drivers/net/wireless/ath/ath10k/wmi-ops.h                           |   10 
 drivers/net/wireless/ath/ath10k/wmi-tlv.c                           |   15 
 drivers/net/wireless/ath/ath9k/hif_usb.c                            |   58 +-
 drivers/net/wireless/ath/ath9k/hif_usb.h                            |    6 
 drivers/net/wireless/ath/ath9k/htc_drv_init.c                       |   10 
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c                       |    6 
 drivers/net/wireless/ath/ath9k/htc_hst.c                            |    3 
 drivers/net/wireless/ath/ath9k/wmi.c                                |    5 
 drivers/net/wireless/ath/ath9k/wmi.h                                |    3 
 drivers/net/wireless/ath/carl9170/fw.c                              |    4 
 drivers/net/wireless/ath/carl9170/main.c                            |   21 
 drivers/net/wireless/ath/wcn36xx/main.c                             |    6 
 drivers/net/wireless/broadcom/b43/main.c                            |    2 
 drivers/net/wireless/broadcom/b43legacy/main.c                      |    1 
 drivers/net/wireless/broadcom/b43legacy/xmit.c                      |    1 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c          |    3 
 drivers/net/wireless/marvell/mwifiex/cfg80211.c                     |   14 
 drivers/net/wireless/mediatek/mt76/agg-rx.c                         |    8 
 drivers/net/wireless/mediatek/mt76/mt76.h                           |    6 
 drivers/net/wireless/realtek/rtlwifi/usb.c                          |    8 
 drivers/nvme/host/core.c                                            |   16 
 drivers/pci/controller/pcie-mediatek.c                              |   18 
 drivers/pci/controller/vmd.c                                        |    2 
 drivers/pci/probe.c                                                 |   24 
 drivers/pci/quirks.c                                                |  260 +++++++---
 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c                        |    2 
 drivers/pinctrl/samsung/pinctrl-exynos.c                            |   82 ++-
 drivers/platform/x86/hp-wmi.c                                       |   10 
 drivers/platform/x86/intel-hid.c                                    |    7 
 drivers/platform/x86/intel-vbtn.c                                   |   75 ++
 drivers/power/reset/vexpress-poweroff.c                             |    1 
 drivers/scsi/megaraid/megaraid_sas_fusion.c                         |    7 
 drivers/spi/spi-bcm-qspi.c                                          |    8 
 drivers/spi/spi-bcm2835.c                                           |    4 
 drivers/spi/spi-bcm2835aux.c                                        |    4 
 drivers/spi/spi-dw-mid.c                                            |   16 
 drivers/spi/spi-dw.c                                                |   12 
 drivers/spi/spi-pxa2xx.c                                            |   12 
 drivers/spi/spi-topcliff-pch.c                                      |    1 
 drivers/spi/spi.c                                                   |    4 
 drivers/staging/android/ion/ion_heap.c                              |    4 
 drivers/staging/greybus/sdio.c                                      |   10 
 drivers/tty/serial/8250/8250_pci.c                                  |    6 
 drivers/tty/serial/pch_uart.c                                       |    2 
 drivers/usb/dwc3/dwc3-haps.c                                        |    4 
 drivers/usb/gadget/udc/pch_udc.c                                    |    1 
 drivers/video/fbdev/w100fb.c                                        |    2 
 drivers/w1/masters/omap_hdq.c                                       |   10 
 drivers/xen/pvcalls-back.c                                          |    3 
 fs/aio.c                                                            |    8 
 fs/btrfs/dev-replace.c                                              |    8 
 fs/btrfs/disk-io.c                                                  |   10 
 fs/btrfs/file-item.c                                                |    6 
 fs/btrfs/inode.c                                                    |   10 
 fs/btrfs/ioctl.c                                                    |    5 
 fs/btrfs/qgroup.c                                                   |   14 
 fs/btrfs/scrub.c                                                    |    4 
 fs/btrfs/send.c                                                     |   67 ++
 fs/btrfs/tree-checker.c                                             |   20 
 fs/btrfs/volumes.c                                                  |   86 +--
 fs/btrfs/volumes.h                                                  |    4 
 fs/ext4/ext4_extents.h                                              |    9 
 fs/ext4/fsync.c                                                     |   28 -
 fs/ext4/xattr.c                                                     |    7 
 fs/fat/inode.c                                                      |    6 
 fs/fs-writeback.c                                                   |    1 
 fs/nilfs2/segment.c                                                 |    2 
 fs/overlayfs/copy_up.c                                              |    2 
 fs/proc/inode.c                                                     |    2 
 fs/proc/self.c                                                      |    2 
 fs/proc/thread_self.c                                               |    2 
 fs/xfs/xfs_bmap_util.c                                              |    2 
 fs/xfs/xfs_buf.c                                                    |    8 
 fs/xfs/xfs_dquot.c                                                  |    9 
 include/linux/kgdb.h                                                |    2 
 include/linux/kvm_host.h                                            |    4 
 include/linux/mm.h                                                  |    1 
 include/linux/mmzone.h                                              |    2 
 include/linux/pci_ids.h                                             |   36 +
 include/linux/sched/mm.h                                            |    2 
 include/linux/set_memory.h                                          |    2 
 include/linux/string.h                                              |   60 +-
 include/linux/sunrpc/gss_api.h                                      |    1 
 include/linux/sunrpc/svcauth_gss.h                                  |    3 
 include/linux/uaccess.h                                             |    2 
 include/uapi/linux/kvm.h                                            |    2 
 kernel/audit.c                                                      |   52 +-
 kernel/audit.h                                                      |    2 
 kernel/auditfilter.c                                                |   16 
 kernel/compat.c                                                     |    6 
 kernel/cpu.c                                                        |   18 
 kernel/cpu_pm.c                                                     |    4 
 kernel/debug/debug_core.c                                           |    5 
 kernel/events/core.c                                                |   23 
 kernel/exit.c                                                       |   31 -
 kernel/sched/core.c                                                 |    5 
 kernel/sched/fair.c                                                 |    2 
 lib/mpi/longlong.h                                                  |    2 
 lib/strncpy_from_user.c                                             |   23 
 lib/strnlen_user.c                                                  |   23 
 mm/huge_memory.c                                                    |   31 +
 mm/page_alloc.c                                                     |   19 
 mm/slub.c                                                           |    4 
 mm/util.c                                                           |   18 
 net/batman-adv/bat_v_elp.c                                          |   15 
 net/bluetooth/hci_event.c                                           |    1 
 net/bridge/br_arp_nd_proxy.c                                        |    4 
 net/ipv6/ipv6_sockglue.c                                            |   13 
 net/netfilter/nft_nat.c                                             |    4 
 net/sunrpc/auth_gss/gss_mech_switch.c                               |   12 
 net/sunrpc/auth_gss/svcauth_gss.c                                   |   18 
 security/integrity/evm/evm_crypto.c                                 |    2 
 security/integrity/ima/ima.h                                        |   10 
 security/integrity/ima/ima_crypto.c                                 |    6 
 security/integrity/ima/ima_init.c                                   |    2 
 security/integrity/ima/ima_policy.c                                 |    3 
 security/integrity/ima/ima_template_lib.c                           |   18 
 security/keys/internal.h                                            |   11 
 security/keys/keyctl.c                                              |   16 
 security/smack/smackfs.c                                            |   10 
 sound/core/pcm_native.c                                             |    5 
 sound/isa/es1688/es1688.c                                           |    4 
 sound/pci/hda/patch_realtek.c                                       |    6 
 sound/pci/lx6464es/lx6464es.c                                       |    8 
 sound/usb/card.c                                                    |   19 
 sound/usb/quirks-table.h                                            |   20 
 sound/usb/usbaudio.h                                                |    2 
 tools/lib/api/fs/fs.c                                               |   17 
 tools/lib/api/fs/fs.h                                               |   12 
 tools/objtool/check.c                                               |    6 
 tools/perf/builtin-probe.c                                          |    3 
 tools/perf/util/dso.c                                               |   16 
 tools/perf/util/dso.h                                               |    1 
 tools/perf/util/probe-event.c                                       |   49 +
 tools/perf/util/probe-finder.c                                      |    1 
 tools/perf/util/symbol.c                                            |    2 
 tools/testing/selftests/bpf/test_progs.c                            |    1 
 tools/testing/selftests/bpf/test_select_reuseport.c                 |    8 
 tools/testing/selftests/networking/timestamping/rxtimestamp.c       |    1 
 virt/kvm/arm/aarch32.c                                              |   28 +
 virt/kvm/kvm_main.c                                                 |   24 
 278 files changed, 2428 insertions(+), 1159 deletions(-)

Abhinav Ratna (1):
PCI: Add ACS quirk for iProc PAXB

Abhishek Sahu (2):
PCI: Add NVIDIA GPU multi-function power dependencies
PCI: Generalize multi-function power dependency device links

Adrian Hunter (1):
perf symbols: Fix debuginfo search for Ubuntu

Al Viro (2):
sparc32: fix register window handling in genregs32_[gs]et()
sparc64: fix misuses of access_process_vm() in genregs32_[sg]et()

Alexander Sverdlin (1):
macvlan: Skip loopback packets in RX handler

Anand Jain (2):
btrfs: merge btrfs_find_device and find_device
btrfs: include non-missing as a qualifier for the latest_bdev

Anders Roxell (1):
power: vexpress: add suppress_bind_attrs to true

Andrea Arcangeli (1):
mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked()

Andrii Nakryiko (1):
selftests/bpf: Fix memory leak in extract_build_id()

Andy Shevchenko (4):
spi: No need to assign dummy value in spi_unregister_controller()
spi: dw: Zero DMA Tx and Rx configurations on stack platform/x86: hp-wmi: Convert simple_strtoul() to kstrtou32()
PCI: Move Rohm Vendor ID to generic list

Anthony Steinhauser (3):
x86/speculation: Prevent rogue cross-process SSBD shutdown x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS. x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches.

Ard Biesheuvel (4):
efi/efivars: Add missing kobject_put() in sysfs entry creation error path
ACPI: GED: add support for _Exx / _Lxx handler methods
ACPI: GED: use correct trigger type field in _Exx / _Lxx handling efi/libstub/x86: Work around LLVM ELF quirk build regression

Arnd Bergmann (1):
crypto: ccp -- don't "select" CONFIG_DMADEVICES

Arthur Kiyanovski (1):
net: ena: fix error returning in ena_com_get_hash_function()

Arvind Sankar (2):
x86/boot: Correct relocation destination on old linkers x86/mm: Stop printing BRK addresses

Ashok Raj (2):
PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints
PCI: Program MPS for RCiEP devices

Barret Rhoden (1):
perf: Add cond_resched() to task_function_call()

Ben Chuang (1):
PCI: Add Genesys Logic, Inc. Vendor ID

Bhupesh Sharma (1):
net: qed*: Reduce RX and TX default ring count when running inside kdump kernel

Bjorn Helgaas (2):
PCI: Make ACS quirk implementations more uniform
PCI: Unify ACS quirk desired vs provided checking

Bob Haarman (1):
x86_64: Fix jiffies ODR violation

Bogdan Togorean (1):
drm: bridge: adv7511: Extend list of audio sample rates

Brad Love (1):
media: si2157: Better check for running tuner in init

Brian Foster (2):
xfs: reset buffer write failure state on successful completion
xfs: fix duplicate verification from xfs_qm_dqflush()

Casey Schaufler (1):
Smack: slab-out-of-bounds in vsscanf

Chris Wilson (1):
agp/intel: Reinforce the barrier after GTT updates

Christian Lamparter (1):
carl9170: remove P2P_GO support

Christoph Hellwig (2):
staging: android: ion: use vmap instead of vm_map_ram
nvme: refine the Qemu Identify CNS quirk

Christophe JAILLET (3):
crypto: cavium/nitrox - Fix 'nitrox_get_first_device()' when ndevlist is fully iterated
video: fbdev: w100fb: Fix a potential double free.
wcn36xx: Fix error handling path in 'wcn36xx_probe()'

Christophe Leroy (1):
lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user()

Chuhong Yuan (2):
ALSA: es1688: Add the missed snd_card_free()
media: go7007: fix a miss of snd_card_free

Colin Ian King (1):
media: dvb: return -EREMOTEIO on i2c transfer failure.

Coly Li (1):
bcache: fix refcount underflow in bcache_device_free()

Corey Minyard (1):
pci:ipmi: Move IPMI PCI class id defines to pci_ids.h

Cédric Le Goater (1):
powerpc/xive: Clear the page tables for the ESB IO mapping

Dan Carpenter (2):
media: cec: silence shift wrapping warning in __cec_s_log_addrs()
rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup()

Daniel Axtens (1):
string.h: fix incompatibility between FORTIFY_SOURCE and KASAN

Daniel Thompson (2):
arm64: cacheflush: Fix KGDB trap detection
kgdb: Fix spurious true from in_dbg_master()

Darrick J. Wong (1):
xfs: clean up the error handling in xfs_swap_extents

Dennis Kadioglu (1):
Input: synaptics - add a second working PNP_ID for Lenovo T470s

Devulapally Shiva Krishna (1):
Crypto/chcr: fix for ccm(aes) failed test

Dmitry Osipenko (1):
ARM: tegra: Correct PL310 Auxiliary Control Register initialization

Doug Berger (1):
net: bcmgenet: set Rx mode before starting netif

Douglas Anderson (3):
kgdb: Disable WARN_CONSOLE_UNLOCKED for all kgdb
kgdb: Prevent infinite recursive entries to the debugger kernel/cpu_pm: Fix uninitted local in cpu_pm

Eiichi Tsukata (1):
KVM: x86: Fix APIC page invalidation race

Erez Shitrit (1):
net/mlx5e: IPoIB, Drop multicast packets that this interface sent

Eric Biggers (2):
ext4: fix race between ext4_sync_parent() and rename() dm crypt: avoid truncating the logical block size

Eric W. Biederman (1):
proc: Use new_inode not new_inode_pseudo

Evan Green (1):
spi: pxa2xx: Apply CS clk quirk to BXT

Ezequiel Garcia (1):
drm/vkms: Hold gem object while still in-use

Filipe Manana (2):
btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
btrfs: fix wrong file range cleanup after an error filling dealloc range

Finn Thain (1):
m68k: mac: Don't call via_flush_cache() on Mac IIfx

Fredrik Strupe (1):
ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook

Greg Kroah-Hartman (1):

      Linux 4.19.129

Guoqing Jiang (1):
md: don't flush workqueue unconditionally in md_open

Gustavo Pimentel (1):
PCI: Add Synopsys endpoint EDDA Device ID

H. Nikolaus Schaller (1):
w1: omap-hdq: cleanup to add missing newline for some dev_dbg

Haibo Chen (1):
mmc: sdhci-esdhc-imx: fix the mask for tuning start point

Hangbin Liu (1):
ipv6: fix IPV6_ADDRFORM operation logic

Hans de Goede (6):
Bluetooth: btbcm: Add 2 missing models to subver tables
platform/x86: intel-vbtn: Use acpi_evaluate_integer()
platform/x86: intel-vbtn: Split keymap into buttons and switches parts
platform/x86: intel-vbtn: Do not advertise switches to userspace if they are not there platform/x86: intel-vbtn: Also handle tablet-mode switch on "Detachable" and "Portable" chassis-types platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type

Harshad Shirwadkar (1):
ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max

Heiner Kallweit (1):
PCI: add USR vendor id and use it in r8169 and w6692 driver

Hill Ma (1):
x86/reboot/quirks: Add MacBook6,1 reboot quirk

Hsin-Yu Chao (1):
Bluetooth: Add SCO fallback for invalid LMP parameters error

Hui Wang (1):
ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines

Ido Schimmel (2):
bridge: Avoid infinite loop when suppressing NS messages with invalid options
vxlan: Avoid infinite loop when suppressing NS messages with invalid options

Jaehoon Chung (1):
brcmfmac: fix wrong location to get firmware feature

Jakub Kicinski (1):
PCI: Remove unused NFP32xx IDs

Jann Horn (1):
exit: Move preemption fixup up, move blocking operations down

Jason Gunthorpe (1):
RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated

Jeffle Xu (1):
ext4: fix error pointer dereference

Jens Axboe (1):
sched/fair: Don't NUMA balance for kthreads

Jeremy Kerr (1):
powerpc/spufs: fix copy_to_user while atomic

Jesper Dangaard Brouer (2):
ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K
veth: Adjust hard_start offset on redirect XDP frames

Jia-Ju Bai (1):
net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()

Jianjun Wang (1):
PCI: mediatek: Add controller support for MT7629

Jiaxun Yang (2):
MIPS: Truncate link address into 32bit for 32bit kernel
PCI: Don't disable decoding when mmio_always_on is set

Jitao Shi (1):
dt-bindings: display: mediatek: control dpi pins mode to avoid leakage

Jon Derrick (1):
PCI: vmd: Add device id for VMD device 8086:9A0B

Jon Doron (1):
x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit

Jonathan Bakker (3):
pinctrl: samsung: Correct setting of eint wakeup mask on s5pv210
pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs
ARM: dts: s5pv210: Set keep-power-in-suspend for SDHCI1 on Aries

Jonathan Chocron (1):
PCI: Add Amazon's Annapurna Labs vendor ID

Juergen Gross (1):
xen/pvcalls-back: test for errors when calling backend_connect()

Julien Thierry (1):
objtool: Ignore empty alternatives

Justin Chen (1):
spi: bcm-qspi: when tx/rx buffer is NULL set to 0

Kai Huang (1):
kvm: x86: Fix L1TF mitigation for shadow MMU

Kai-Heng Feng (5):
ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock
PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect
serial: 8250_pci: Move Pericom IDs to pci_ids.h
e1000e: Disable TSO for buffer overrun workaround
igb: Report speed and duplex as unknown when device is runtime suspended

Kees Cook (1):
e1000: Distribute switch variables for initialization

Kevin Buettner (1):
PCI: Avoid FLR for AMD Starship USB 3.0

Kieran Bingham (1):
media: platform: fcp: Set appropriate DMA parameters

Kim Phillips (1):
x86/cpu/amd: Make erratum #1054 a legacy erratum

Kishon Vijay Abraham I (1):
misc: pci_endpoint_test: Add support to test PCI EP in AM654x

Krzysztof Struczynski (1):
ima: Fix ima digest hash table key calculation

Larry Finger (3):
b43legacy: Fix case where channel status is corrupted
b43: Fix connection problem with WPA3
b43_legacy: Fix connection problem with WPA3

Linus Torvalds (2):
make 'user_access_begin()' do 'access_ok()'
Fix 'acccess_ok()' on alpha and SH

Linus Walleij (1):

      ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE

Longpeng(Mike) (3):
crypto: virtio: Fix use-after-free in virtio_crypto_skcipher_finalize_req()
crypto: virtio: Fix src/dst scatterlist calculation in __virtio_crypto_skcipher_do_req()
crypto: virtio: Fix dest length calculation in __virtio_crypto_skcipher_do_req()

Lorenz Bauer (1):
selftests: bpf: fix use of undeclared RET_IF macro

Lubomir Rintel (1):
spi: pxa2xx: Balance runtime PM enable/disable on error

Ludovic Desroches (2):
ARM: dts: at91: sama5d2_ptc_ek: fix sdmmc0 node description
ARM: dts: at91: sama5d2_ptc_ek: fix vbus pin

Lukas Wunner (7):
spi: dw: Fix controller unregister order
spi: bcm2835aux: Fix controller unregister order
spi: Fix controller unregister order
spi: pxa2xx: Fix controller unregister order
spi: bcm2835: Fix controller unregister order
spi: pxa2xx: Fix runtime PM ref imbalance on probe error
PCI: Enable NVIDIA HDA controllers

Luke Nelson (1):
arm64: insn: Fix two bugs in encoding 32-bit logical immediates

Marc Zyngier (2):
KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception

Marcel Bocu (1):
x86/amd_nb: Add PCI device IDs for family 17h, model 70h

Marcos Paulo de Souza (1):
btrfs: send: emit file capabilities after chown

Marcos Scriven (1):
PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0

Marek Szyprowski (1):
ARM: dts: exynos: Fix GPIO polarity for thr GalaxyS3 CM36651 sensor's bus

Mark Starovoytov (1):
net: atlantic: make hw_get_regs optional

Martin Blumenstingl (1):
mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error

Masahiro Yamada (1):
kbuild: force to build vmlinux if CONFIG_MODVERSION=y

Masami Hiramatsu (4):
perf probe: Accept the instance number of kretprobe event perf probe: Do not show the skipped events
perf probe: Fix to check blacklist address correctly perf probe: Check address correctness by map instead of _etext

Masashi Honma (1):
ath9k_htc: Silence undersized packet warnings

Michael Ellerman (3):
drivers/macintosh: Fix memleak in windfarm_pm112 driver powerpc/64s: Don't let DT CPU features set FSCR_DSCR powerpc/64s: Save FSCR to init_task.thread.fscr after feature init

Michał Mirosław (2):
ALSA: pcm: disallow linking stream to itself
Bluetooth: hci_bcm: fix freeing not-requested IRQ

Miklos Szeredi (1):
aio: fix async fsync creds

Mikulas Patocka (1):
alpha: fix memory barriers so that they conform to the specification

Miquel Raynal (1):
mtd: rawnand: pasemi: Fix the probe error path

Nathan Chancellor (1):
lib/mpi: Fix 64-bit MIPS build with Clang

NeilBrown (2):
sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
sunrpc: clean up properly in gss_mech_unregister()

Nickolai Kozachenko (1):
platform/x86: intel-hid: Add a quirk to support HP Spectre X2 (2015)

Nicolas Toromanoff (3):
crypto: stm32/crc32 - fix ext4 chksum BUG_ON()
crypto: stm32/crc32 - fix run-time self test issue.
crypto: stm32/crc32 - fix multi-instance

OGAWA Hirofumi (1):

      fat: don't allow to mount if the FAT length == 0

Omar Sandoval (1):
btrfs: fix error handling when submitting direct I/O bio

Pablo Neira Ayuso (1):
netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported

Pali Rohár (1):
mwifiex: Fix memory corruption in dump_station

Paolo Bonzini (3):
KVM: x86: only do L1TF workaround on affected processors
KVM: nSVM: fix condition for filtering async PF
KVM: nSVM: leave ASID aside in copy_vmcb_control_area

Paul Moore (2):
audit: fix a net reference leak in audit_send_reply()
audit: fix a net reference leak in audit_list_rules_send()

Pavel Tatashin (1):
mm: initialize deferred pages with interrupts enabled

Peter Zijlstra (1):
sched/core: Fix illegal RCU from offline CPUs

Punit Agrawal (1):
e1000e: Relax condition to trigger reset for ME workaround

Qiujun Huang (4):
ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx
ath9k: Fix use-after-free Write in ath9k_htc_rx_msg
ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb
ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb

Qiushi Wu (3):
ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile()
ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe()
cpuidle: Fix three reference count leaks

Qu Wenruo (3):
btrfs: Detect unbalanced tree with empty leaf before crashing btree operations
btrfs: tree-checker: Check level for leaves and nodes
btrfs: qgroup: mark qgroup inconsistent if we're inherting snapshot to a new qgroup

Rafael J. Wysocki (2):
ACPI: PM: Avoid using power resources if there are none for D0
PM: runtime: clk: Fix clk_pm_runtime_get() error path

Rakesh Pillai (1):
ath10k: Remove msdu from idr when management pkt send fails

Roberto Sassu (3):
ima: Directly assign the ima_default_policy pointer to ima_rules
evm: Fix possible memory leak in evm_calc_hmac_or_hash()
ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init()

Ryder Lee (1):
mt76: avoid rx reorder buffer overflow

Ryusuke Konishi (1):
nilfs2: fix null pointer dereference at nilfs_segctor_do_construct()

Sean Christopherson (2):
KVM: x86/mmu: Consolidate "is MMIO SPTE" code
KVM: nVMX: Consult only the "basic" exit reason when routing nested exit

Serge Semin (8):
spi: dw: Enable interrupts in accordance with DMA xfer mode
clocksource: dw_apb_timer: Make CPU-affiliation being optional
clocksource: dw_apb_timer_of: Fix missing clockevent timers
spi: dw: Fix Rx-only DMA transfers
mips: cm: Fix an invalid error code of INTVN_*_ERR
mips: MAAR: Use more precise address mask
mips: Add udelay lpj numbers adjustment
spi: dw: Return any value retrieved from the dma_transfer callback

Shaokun Zhang (1):
drivers/perf: hisi: Fix typo in events attribute array

Stafford Horne (1):
arch/openrisc: Fix issues with access_ok()

Stephan Gerhold (1):
Input: mms114 - fix handling of mms345l

Stephane Eranian (1):
tools api fs: Make xxx__mountpoint() more scalable

Su Kang Yin (1):
crypto: talitos - fix ECB and CBC algs ivsize

Sumit Saxena (1):
scsi: megaraid_sas: TM command refire leads to controller firmware crash

Sven Eckelmann (1):
batman-adv: Revert "disable ethtool link speed detection when auto negotiation off"

Takashi Iwai (1):
ALSA: usb-audio: Fix inconsistent card PM state after resume

Tejun Heo (1):
cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages

Thinh Nguyen (1):
PCI: Move Synopsys HAPS platform device IDs

Thomas Falcon (1):
drivers/net/ibmvnic: Update VNIC protocol version reporting

Thomas Lendacky (1):
x86/speculation: Add support for STIBP always-on preferred mode

Tiezhu Yang (3):
MIPS: Loongson: Build ATI Radeon GPU driver as module
MIPS: Make sparse_init() using top-down allocation
PCI: Add Loongson vendor ID

Tim Blechmann (1):
ALSA: lx6464es - add support for LX6464ESe pci express variant

Tomi Valkeinen (1):
media: ov5640: fix use of destroyed mutex

Tony Luck (1):
x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned

Ulf Hansson (3):

      mmc: sdio: Fix potential NULL pointer error in mmc_sdio_init_card()
      staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core
      mmc: via-sdmmc: Respect the cmd->busy_timeout from the mmc core

Vasily Averin (1):
net_failover: fixed rollback in net_failover_open()

Veerabhadrarao Badiganti (2):
mmc: sdhci-msm: Clear tuning done flag while hs400 tuning
mmc: sdhci-msm: Set SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirk

Waiman Long (2):
mm: add kvfree_sensitive() for freeing sensitive data objects x86/speculation: Change misspelled STIPB to STIBP

Wang Hai (1):
mm/slub: fix a memory leak in sysfs_slab_add()

Wei Yongjun (2):
net: lpc-enet: fix error return code in lpc_mii_init()
gnss: sirf: fix error return code in sirf_probe()

Will Deacon (1):
x86: uaccess: Inhibit speculation past access_ok() in user_access_begin()

Willem de Bruijn (1):
tun: correct header offsets in napi frags mode

Woods, Brian (2):
hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs x86/amd_nb: Add PCI device IDs for family 17h, model 30h

Xiaochun Lee (1):
x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs

Xiaowei Bao (1):
misc: pci_endpoint_test: Add the layerscape EP device support

Xie XiuQi (1):
ixgbe: fix signed-integer-overflow warning

Xing Li (2):
KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits

Yazen Ghannam (1):
x86/amd_nb: Add Family 19h PCI IDs

YuanJunQing (1):
MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()

Yunjian Wang (1):
net: allwinner: Fix use correct return type for ndo_start_xmit()

Yuxuan Shui (1):
ovl: initialize error in ovl_copy_xattr

tannerlove (1):
selftests/net: in rxtimestamp getopt_long needs terminating null entry

Álvaro Fernández Rojas (1):
mtd: rawnand: brcmnand: fix hamming oob layout

author maintainer
#1 lore raw
Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt +6 -0
index b6a7e7397b8b..b944fe067188 100644
@@ -16,6 +16,9 @@ Required properties:
   Documentation/devicetree/bindings/graph.txt. This port should be connected
   to the input port of an attached HDMI or LVDS encoder chip.
 
+Optional properties:
+- pinctrl-names: Contain "default" and "sleep".
+
 Example:
 
 dpi0: dpi@1401d000 {
@@ -26,6 +29,9 @@ dpi0: dpi@1401d000 {
 		 <&mmsys CLK_MM_DPI_ENGINE>,
 		 <&apmixedsys CLK_APMIXED_TVDPLL>;
 	clock-names = "pixel", "engine", "pll";
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&dpi_pin_func>;
+	pinctrl-1 = <&dpi_pin_idle>;
 
 	port {
 		dpi0_out: endpoint {
Documentation/virtual/kvm/api.txt +2 -0
index 8e16017ff397..d2f265a9dc0d 100644
@@ -3999,9 +3999,11 @@ EOI was received.
 #define KVM_EXIT_HYPERV_SYNIC          1
 #define KVM_EXIT_HYPERV_HCALL          2
 			__u32 type;
+			__u32 pad1;
 			union {
 				struct {
 					__u32 msr;
+					__u32 pad2;
 					__u64 control;
 					__u64 evt_page;
 					__u64 msg_page;
Makefile +9 -6
index af0558a79c41..e6066502e9cc 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 19
-SUBLEVEL = 128
+SUBLEVEL = 129
 EXTRAVERSION =
 NAME = "People's Front"
 
@@ -554,12 +554,8 @@ KBUILD_MODULES :=
 KBUILD_BUILTIN := 1
 
 # If we have only "make modules", don't compile built-in objects.
-# When we're building modules with modversions, we need to consider
-# the built-in objects during the descend as well, in order to
-# make sure the checksums are up to date before we record them.
-
 ifeq ($(MAKECMDGOALS),modules)
-  KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1)
+  KBUILD_BUILTIN :=
 endif
 
 # If we have "make <whatever> modules", compile modules
@@ -1229,6 +1225,13 @@ ifdef CONFIG_MODULES
 
 all: modules
 
+# When we're building modules with modversions, we need to consider
+# the built-in objects during the descend as well, in order to
+# make sure the checksums are up to date before we record them.
+ifdef CONFIG_MODVERSIONS
+  KBUILD_BUILTIN := 1
+endif
+
 # Build modules
 #
 # A module can be listed more than once in obj-m resulting in
arch/alpha/include/asm/io.h +59 -15

122 lines not on this page · raw message

arch/alpha/include/asm/uaccess.h +5 -3
index 87d8c4f0307d..7295967b5028 100644
@@ -30,11 +30,13 @@
  * Address valid if:
  *  - "addr" doesn't have any high-bits set
  *  - AND "size" doesn't have any high-bits set
- *  - AND "addr+size" doesn't have any high-bits set
+ *  - AND "addr+size-(size != 0)" doesn't have any high-bits set
  *  - OR we are in kernel mode.
  */
-#define __access_ok(addr, size) \
-	((get_fs().seg & (addr | size | (addr+size))) == 0)
+#define __access_ok(addr, size) ({				\
+	unsigned long __ao_a = (addr), __ao_b = (size);		\
+	unsigned long __ao_end = __ao_a + __ao_b - !!__ao_b;	\
+	(get_fs().seg & (__ao_a | __ao_b | __ao_end)) == 0; })
 
 #define access_ok(type, addr, size)			\
 ({							\
arch/alpha/kernel/io.c +53 -7

108 lines not on this page · raw message

arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts +1 -3
index 2214bfe7aa20..7c611f5555a4 100644
@@ -40,7 +40,7 @@
 
 	ahb {
 		usb0: gadget@300000 {
-			atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
+			atmel,vbus-gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usba_vbus>;
 			status = "okay";
@@ -125,8 +125,6 @@
 			bus-width = <8>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_sdmmc0_default>;
-			non-removable;
-			mmc-ddr-1_8v;
 			status = "okay";
 		};
 
arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi +1 -1
index 30eee5942eff..945ee8f55e65 100644
@@ -50,7 +50,7 @@
 
 	i2c_cm36651: i2c-gpio-2 {
 		compatible = "i2c-gpio";
-		gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
+		gpios = <&gpf0 0 GPIO_ACTIVE_HIGH>, <&gpf0 1 GPIO_ACTIVE_HIGH>;
 		i2c-gpio,delay-us = <2>;
 		#address-cells = <1>;
 		#size-cells = <0>;
arch/arm/boot/dts/s5pv210-aries.dtsi +1 -0
index 575094ea7024..7b62c381d3c8 100644
@@ -374,6 +374,7 @@
 	pinctrl-names = "default";
 	cap-sd-highspeed;
 	cap-mmc-highspeed;
+	keep-power-in-suspend;
 
 	mmc-pwrseq = <&wifi_pwrseq>;
 	non-removable;
arch/arm/include/asm/kvm_host.h +2 -0
index d0d0227fc70d..c9128bb187f9 100644
@@ -364,4 +364,6 @@ static inline void kvm_vcpu_put_sysregs(struct kvm_vcpu *vcpu) {}
 struct kvm *kvm_arch_alloc_vm(void);
 void kvm_arch_free_vm(struct kvm *kvm);
 
+#define kvm_arm_vcpu_loaded(vcpu)	(false)
+
 #endif /* __ARM_KVM_HOST_H__ */
arch/arm/kernel/ptrace.c +2 -2
index 36718a424358..492ac74a63f4 100644
@@ -229,8 +229,8 @@ static struct undef_hook arm_break_hook = {
 };
 
 static struct undef_hook thumb_break_hook = {
-	.instr_mask	= 0xffff,
-	.instr_val	= 0xde01,
+	.instr_mask	= 0xffffffff,
+	.instr_val	= 0x0000de01,
 	.cpsr_mask	= PSR_T_BIT,
 	.cpsr_val	= PSR_T_BIT,
 	.fn		= break_trap,
arch/arm/mach-tegra/tegra.c +2 -2
index f9587be48235..37a2aaeb44cc 100644
@@ -112,8 +112,8 @@ static const char * const tegra_dt_board_compat[] = {
 };
 
 DT_MACHINE_START(TEGRA_DT, "NVIDIA Tegra SoC (Flattened Device Tree)")
-	.l2c_aux_val	= 0x3c400001,
-	.l2c_aux_mask	= 0xc20fc3fe,
+	.l2c_aux_val	= 0x3c400000,
+	.l2c_aux_mask	= 0xc20fc3ff,
 	.smp		= smp_ops(tegra_smp_ops),
 	.map_io		= tegra_map_common_io,
 	.init_early	= tegra_init_early,
arch/arm/mm/proc-macros.S +2 -1
index 5461d589a1e2..60ac7c5999a9 100644
@@ -5,6 +5,7 @@
  *  VMA_VM_FLAGS
  *  VM_EXEC
  */
+#include <linux/const.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 
@@ -30,7 +31,7 @@
  * act_mm - get current->active_mm
  */
 	.macro	act_mm, rd
-	bic	\rd, sp, #8128
+	bic	\rd, sp, #(THREAD_SIZE - 1) & ~63
 	bic	\rd, \rd, #63
 	ldr	\rd, [\rd, #TI_TASK]
 	.if (TSK_ACTIVE_MM > IMM12_MASK)
arch/arm64/include/asm/cacheflush.h +3 -3
index 19844211a4e6..a449a1c602d3 100644
@@ -90,7 +90,7 @@ static inline void flush_icache_range(unsigned long start, unsigned long end)
 	 * IPI all online CPUs so that they undergo a context synchronization
 	 * event and are forced to refetch the new instructions.
 	 */
-#ifdef CONFIG_KGDB
+
 	/*
 	 * KGDB performs cache maintenance with interrupts disabled, so we
 	 * will deadlock trying to IPI the secondary CPUs. In theory, we can
@@ -100,9 +100,9 @@ static inline void flush_icache_range(unsigned long start, unsigned long end)
 	 * the patching operation, so we don't need extra IPIs here anyway.
 	 * In which case, add a KGDB-specific bodge and return early.
 	 */
-	if (kgdb_connected && irqs_disabled())
+	if (in_dbg_master())
 		return;
-#endif
+
 	kick_all_cpus_sync();
 }
 
arch/arm64/include/asm/kvm_host.h +6 -2
index 367b2e0b6d76..e9afdfcb8403 100644
@@ -335,8 +335,10 @@ void vcpu_write_sys_reg(struct kvm_vcpu *vcpu, u64 val, int reg);
  * CP14 and CP15 live in the same array, as they are backed by the
  * same system registers.
  */
-#define vcpu_cp14(v,r)		((v)->arch.ctxt.copro[(r)])
-#define vcpu_cp15(v,r)		((v)->arch.ctxt.copro[(r)])
+#define CPx_BIAS		IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)
+
+#define vcpu_cp14(v,r)		((v)->arch.ctxt.copro[(r) ^ CPx_BIAS])
+#define vcpu_cp15(v,r)		((v)->arch.ctxt.copro[(r) ^ CPx_BIAS])
 
 struct kvm_vm_stat {
 	ulong remote_tlb_flush;
@@ -535,4 +537,6 @@ void kvm_vcpu_put_sysregs(struct kvm_vcpu *vcpu);
 struct kvm *kvm_arch_alloc_vm(void);
 void kvm_arch_free_vm(struct kvm *kvm);
 
+#define kvm_arm_vcpu_loaded(vcpu)	((vcpu)->arch.sysregs_loaded_on_cpu)
+
 #endif /* __ARM64_KVM_HOST_H__ */
arch/arm64/kernel/insn.c +7 -7
index 3e6229e30109..cd37edbdedcb 100644
@@ -1490,16 +1490,10 @@ static u32 aarch64_encode_immediate(u64 imm,
 				    u32 insn)
 {
 	unsigned int immr, imms, n, ones, ror, esz, tmp;
-	u64 mask = ~0UL;
-
-	/* Can't encode full zeroes or full ones */
-	if (!imm || !~imm)
-		return AARCH64_BREAK_FAULT;
+	u64 mask;
 
 	switch (variant) {
 	case AARCH64_INSN_VARIANT_32BIT:
-		if (upper_32_bits(imm))
-			return AARCH64_BREAK_FAULT;
 		esz = 32;
 		break;
 	case AARCH64_INSN_VARIANT_64BIT:
@@ -1511,6 +1505,12 @@ static u32 aarch64_encode_immediate(u64 imm,
 		return AARCH64_BREAK_FAULT;
 	}
 
+	mask = GENMASK(esz - 1, 0);
+
+	/* Can't encode full zeroes, full ones, or value wider than the mask */
+	if (!imm || imm == mask || imm & ~mask)
+		return AARCH64_BREAK_FAULT;
+
 	/*
 	 * Inverse of Replicate(). Try to spot a repeating pattern
 	 * with a pow2 stride.
arch/m68k/include/asm/mac_via.h +1 -0
index de1470c4d829..1149251ea58d 100644
@@ -257,6 +257,7 @@ extern int rbv_present,via_alt_mapping;
 
 struct irq_desc;
 
+extern void via_l2_flush(int writeback);
 extern void via_register_interrupts(void);
 extern void via_irq_enable(int);
 extern void via_irq_disable(int);
arch/m68k/mac/config.c +2 -19
index cd9317d53276..a4f91bea6c88 100644
@@ -61,7 +61,6 @@ extern void iop_preinit(void);
 extern void iop_init(void);
 extern void via_init(void);
 extern void via_init_clock(irq_handler_t func);
-extern void via_flush_cache(void);
 extern void oss_init(void);
 extern void psc_init(void);
 extern void baboon_init(void);
@@ -132,21 +131,6 @@ int __init mac_parse_bootinfo(const struct bi_record *record)
 	return unknown;
 }
 
-/*
- * Flip into 24bit mode for an instant - flushes the L2 cache card. We
- * have to disable interrupts for this. Our IRQ handlers will crap
- * themselves if they take an IRQ in 24bit mode!
- */
-
-static void mac_cache_card_flush(int writeback)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	via_flush_cache();
-	local_irq_restore(flags);
-}
-
 void __init config_mac(void)
 {
 	if (!MACH_IS_MAC)
@@ -178,9 +162,8 @@ void __init config_mac(void)
 	 * not.
 	 */
 
-	if (macintosh_config->ident == MAC_MODEL_IICI
-	    || macintosh_config->ident == MAC_MODEL_IIFX)
-		mach_l2_flush = mac_cache_card_flush;
+	if (macintosh_config->ident == MAC_MODEL_IICI)
+		mach_l2_flush = via_l2_flush;
 }
 
 
arch/m68k/mac/via.c +5 -1
index 038d5a1c4d48..8307da441a10 100644
@@ -289,10 +289,14 @@ void via_debug_dump(void)
  * the system into 24-bit mode for an instant.
  */
 
-void via_flush_cache(void)
+void via_l2_flush(int writeback)
 {
+	unsigned long flags;
+
+	local_irq_save(flags);
 	via2[gBufB] &= ~VIA2B_vMode32;
 	via2[gBufB] |= VIA2B_vMode32;
+	local_irq_restore(flags);
 }
 
 /*
arch/mips/Makefile +12 -1
index ad0a92f95af1..63e2ad43bd6a 100644
@@ -290,12 +290,23 @@ ifdef CONFIG_64BIT
   endif
 endif
 
+# When linking a 32-bit executable the LLVM linker cannot cope with a
+# 32-bit load address that has been sign-extended to 64 bits.  Simply
+# remove the upper 32 bits then, as it is safe to do so with other
+# linkers.
+ifdef CONFIG_64BIT
+	load-ld			= $(load-y)
+else
+	load-ld			= $(subst 0xffffffff,0x,$(load-y))
+endif
+
 KBUILD_AFLAGS	+= $(cflags-y)
 KBUILD_CFLAGS	+= $(cflags-y)
-KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y)
+KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y) -DLINKER_LOAD_ADDRESS=$(load-ld)
 KBUILD_CPPFLAGS += -DDATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)
 
 bootvars-y	= VMLINUX_LOAD_ADDRESS=$(load-y) \
+		  LINKER_LOAD_ADDRESS=$(load-ld) \
 		  VMLINUX_ENTRY_ADDRESS=$(entry-y) \
 		  PLATFORM="$(platform-y)" \
 		  ITS_INPUTS="$(its-y)"
arch/mips/boot/compressed/Makefile +1 -1
index d859f079b771..378cbfb31ee7 100644
@@ -90,7 +90,7 @@ ifneq ($(zload-y),)
 VMLINUZ_LOAD_ADDRESS := $(zload-y)
 else
 VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \
-		$(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS))
+		$(obj)/vmlinux.bin $(LINKER_LOAD_ADDRESS))
 endif
 UIMAGE_LOADADDR = $(VMLINUZ_LOAD_ADDRESS)
 
arch/mips/configs/loongson3_defconfig +1 -1
index 324dfee23dfb..c871e40b8878 100644
@@ -250,7 +250,7 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y
 CONFIG_MEDIA_USB_SUPPORT=y
 CONFIG_USB_VIDEO_CLASS=m
 CONFIG_DRM=y
-CONFIG_DRM_RADEON=y
+CONFIG_DRM_RADEON=m
 CONFIG_FB_RADEON=y
 CONFIG_LCD_CLASS_DEVICE=y
 CONFIG_LCD_PLATFORM=m
arch/mips/include/asm/kvm_host.h +5 -1
index f567ace7a9e9..2b3fdfc9e0e7 100644
@@ -274,8 +274,12 @@ enum emulation_result {
 #define MIPS3_PG_SHIFT		6
 #define MIPS3_PG_FRAME		0x3fffffc0
 
+#if defined(CONFIG_64BIT)
+#define VPN2_MASK		GENMASK(cpu_vmbits - 1, 13)
+#else
 #define VPN2_MASK		0xffffe000
-#define KVM_ENTRYHI_ASID	MIPS_ENTRYHI_ASID
+#endif
+#define KVM_ENTRYHI_ASID	cpu_asid_mask(&boot_cpu_data)
 #define TLB_IS_GLOBAL(x)	((x).tlb_lo[0] & (x).tlb_lo[1] & ENTRYLO_G)
 #define TLB_VPN2(x)		((x).tlb_hi & VPN2_MASK)
 #define TLB_ASID(x)		((x).tlb_hi & KVM_ENTRYHI_ASID)
arch/mips/include/asm/mipsregs.h +1 -1
index 1bb9448777c5..f9a7c137be9f 100644
@@ -749,7 +749,7 @@
 
 /* MAAR bit definitions */
 #define MIPS_MAAR_VH		(_U64CAST_(1) << 63)
-#define MIPS_MAAR_ADDR		((BIT_ULL(BITS_PER_LONG - 12) - 1) << 12)
+#define MIPS_MAAR_ADDR		GENMASK_ULL(55, 12)
 #define MIPS_MAAR_ADDR_SHIFT	12
 #define MIPS_MAAR_S		(_ULCAST_(1) << 1)
 #define MIPS_MAAR_VL		(_ULCAST_(1) << 0)
arch/mips/kernel/genex.S +3 -3
index 6c257b52f57f..7fad007fe025 100644
@@ -477,20 +477,20 @@ NESTED(nmi_handler, PT_SIZE, sp)
 	.endm
 
 	.macro	__build_clear_fpe
+	CLI
+	TRACE_IRQS_OFF
 	.set	push
 	/* gas fails to assemble cfc1 for some archs (octeon).*/ \
 	.set	mips1
 	SET_HARDFLOAT
 	cfc1	a1, fcr31
 	.set	pop
-	CLI
-	TRACE_IRQS_OFF
 	.endm
 
 	.macro	__build_clear_msa_fpe
-	_cfcmsa	a1, MSA_CSR
 	CLI
 	TRACE_IRQS_OFF
+	_cfcmsa	a1, MSA_CSR
 	.endm
 
 	.macro	__build_clear_ade
arch/mips/kernel/mips-cm.c +3 -3
index 7f3f136572de..50d3d74001cb 100644
@@ -123,9 +123,9 @@ static char *cm2_causes[32] = {
 	"COH_RD_ERR", "MMIO_WR_ERR", "MMIO_RD_ERR", "0x07",
 	"0x08", "0x09", "0x0a", "0x0b",
 	"0x0c", "0x0d", "0x0e", "0x0f",
-	"0x10", "0x11", "0x12", "0x13",
-	"0x14", "0x15", "0x16", "INTVN_WR_ERR",
-	"INTVN_RD_ERR", "0x19", "0x1a", "0x1b",
+	"0x10", "INTVN_WR_ERR", "INTVN_RD_ERR", "0x13",
+	"0x14", "0x15", "0x16", "0x17",
+	"0x18", "0x19", "0x1a", "0x1b",
 	"0x1c", "0x1d", "0x1e", "0x1f"
 };
 
arch/mips/kernel/setup.c +10 -0
index e87c98b8a72c..2c2480be3f36 100644
@@ -933,7 +933,17 @@ static void __init arch_mem_init(char **cmdline_p)
 				BOOTMEM_DEFAULT);
 #endif
 	device_tree_init();
+
+	/*
+	 * In order to reduce the possibility of kernel panic when failed to
+	 * get IO TLB memory under CONFIG_SWIOTLB, it is better to allocate
+	 * low memory as small as possible before plat_swiotlb_setup(), so
+	 * make sparse_init() using top-down allocation.
+	 */
+	memblock_set_bottom_up(false);
 	sparse_init();
+	memblock_set_bottom_up(true);
+
 	plat_swiotlb_setup();
 
 	dma_contiguous_reserve(PFN_PHYS(max_low_pfn));
arch/mips/kernel/time.c +70 -0

82 lines not on this page · raw message

arch/mips/kernel/vmlinux.lds.S +1 -1
index 36f2e860ba3e..be63fff95b2a 100644
@@ -50,7 +50,7 @@ SECTIONS
 	/* . = 0xa800000000300000; */
 	. = 0xffffffff80300000;
 #endif
-	. = VMLINUX_LOAD_ADDRESS;
+	. = LINKER_LOAD_ADDRESS;
 	/* read-only */
 	_text = .;	/* Text and read-only data */
 	.text : {
arch/openrisc/include/asm/uaccess.h +6 -2
index bbf5c79cce7a..8b204cd1f531 100644
@@ -58,8 +58,12 @@
 /* Ensure that addr is below task's addr_limit */
 #define __addr_ok(addr) ((unsigned long) addr < get_fs())
 
-#define access_ok(type, addr, size) \
-	__range_ok((unsigned long)addr, (unsigned long)size)
+#define access_ok(type, addr, size)						\
+({ 									\
+	unsigned long __ao_addr = (unsigned long)(addr);		\
+	unsigned long __ao_size = (unsigned long)(size);		\
+	__range_ok(__ao_addr, __ao_size);				\
+})
 
 /*
  * These are the main single-value transfer routines.  They automatically
arch/powerpc/kernel/dt_cpu_ftrs.c +8 -0
index a4b31e17492d..5195a4fc3e41 100644
@@ -346,6 +346,14 @@ static int __init feat_enable_dscr(struct dt_cpu_feature *f)
 {
 	u64 lpcr;
 
+	/*
+	 * Linux relies on FSCR[DSCR] being clear, so that we can take the
+	 * facility unavailable interrupt and track the task's usage of DSCR.
+	 * See facility_unavailable_exception().
+	 * Clear the bit here so that feat_enable() doesn't set it.
+	 */
+	f->fscr_bit_nr = -1;
+
 	feat_enable(f);
 
 	lpcr = mfspr(SPRN_LPCR);
arch/powerpc/kernel/prom.c +19 -0
index 8e88f78e57db..fd04692412db 100644
@@ -685,6 +685,23 @@ static void __init tm_init(void)
 static void tm_init(void) { }
 #endif /* CONFIG_PPC_TRANSACTIONAL_MEM */
 
+#ifdef CONFIG_PPC64
+static void __init save_fscr_to_task(void)
+{
+	/*
+	 * Ensure the init_task (pid 0, aka swapper) uses the value of FSCR we
+	 * have configured via the device tree features or via __init_FSCR().
+	 * That value will then be propagated to pid 1 (init) and all future
+	 * processes.
+	 */
+	if (early_cpu_has_feature(CPU_FTR_ARCH_207S))
+		init_task.thread.fscr = mfspr(SPRN_FSCR);
+}
+#else
+static inline void save_fscr_to_task(void) {};
+#endif
+
+
 void __init early_init_devtree(void *params)
 {
 	phys_addr_t limit;
@@ -770,6 +787,8 @@ void __init early_init_devtree(void *params)
 		BUG();
 	}
 
+	save_fscr_to_task();
+
 #if defined(CONFIG_SMP) && defined(CONFIG_PPC64)
 	/* We'll later wait for secondaries to check in; there are
 	 * NCPUS-1 non-boot CPUs  :-)
arch/powerpc/platforms/cell/spufs/file.c +75 -38

234 lines not on this page · raw message

arch/powerpc/platforms/powernv/smp.c +0 -1
index 3d3c989e44dd..8d49ba370c50 100644
@@ -171,7 +171,6 @@ static void pnv_smp_cpu_kill_self(void)
 	/* Standard hot unplug procedure */
 
 	idle_task_exit();
-	current->active_mm = NULL; /* for sanity */
 	cpu = smp_processor_id();
 	DBG("CPU%d offline\n", cpu);
 	generic_set_cpu_dead(cpu);
arch/powerpc/sysdev/xive/common.c +5 -0
index 1c31a08cdd54..2aa9f3de223c 100644
@@ -23,6 +23,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/msi.h>
+#include <linux/vmalloc.h>
 
 #include <asm/prom.h>
 #include <asm/io.h>
@@ -933,12 +934,16 @@ EXPORT_SYMBOL_GPL(is_xive_irq);
 void xive_cleanup_irq_data(struct xive_irq_data *xd)
 {
 	if (xd->eoi_mmio) {
+		unmap_kernel_range((unsigned long)xd->eoi_mmio,
+				   1u << xd->esb_shift);
 		iounmap(xd->eoi_mmio);
 		if (xd->eoi_mmio == xd->trig_mmio)
 			xd->trig_mmio = NULL;
 		xd->eoi_mmio = NULL;
 	}
 	if (xd->trig_mmio) {
+		unmap_kernel_range((unsigned long)xd->trig_mmio,
+				   1u << xd->esb_shift);
 		iounmap(xd->trig_mmio);
 		xd->trig_mmio = NULL;
 	}
arch/sh/include/asm/uaccess.h +5 -2
index 32eb56e00c11..6e7816360a75 100644
@@ -16,8 +16,11 @@
  * sum := addr + size;  carry? --> flag = true;
  * if (sum >= addr_limit) flag = true;
  */
-#define __access_ok(addr, size)		\
-	(__addr_ok((addr) + (size)))
+#define __access_ok(addr, size)	({				\
+	unsigned long __ao_a = (addr), __ao_b = (size);		\
+	unsigned long __ao_end = __ao_a + __ao_b - !!__ao_b;	\
+	__ao_end >= __ao_a && __addr_ok(__ao_end); })
+
 #define access_ok(type, addr, size)	\
 	(__chk_user_ptr(addr),		\
 	 __access_ok((unsigned long __force)(addr), (size)))
arch/sparc/kernel/ptrace_32.c +98 -130

262 lines not on this page · raw message

arch/sparc/kernel/ptrace_64.c +3 -14
index e1d965e90e16..0c478c85e380 100644
@@ -571,19 +571,13 @@ static int genregs32_get(struct task_struct *target,
 			for (; count > 0 && pos < 32; count--) {
 				if (access_process_vm(target,
 						      (unsigned long)
-						      &reg_window[pos],
+						      &reg_window[pos++],
 						      &reg, sizeof(reg),
 						      FOLL_FORCE)
 				    != sizeof(reg))
 					return -EFAULT;
-				if (access_process_vm(target,
-						      (unsigned long) u,
-						      &reg, sizeof(reg),
-						      FOLL_FORCE | FOLL_WRITE)
-				    != sizeof(reg))
+				if (put_user(reg, u++))
 					return -EFAULT;
-				pos++;
-				u++;
 			}
 		}
 	}
@@ -683,12 +677,7 @@ static int genregs32_set(struct task_struct *target,
 			}
 		} else {
 			for (; count > 0 && pos < 32; count--) {
-				if (access_process_vm(target,
-						      (unsigned long)
-						      u,
-						      &reg, sizeof(reg),
-						      FOLL_FORCE)
-				    != sizeof(reg))
+				if (get_user(reg, u++))
 					return -EFAULT;
 				if (access_process_vm(target,
 						      (unsigned long)
arch/x86/boot/compressed/head_32.S +3 -2
index 01d628ea3402..c6c4b877f3d2 100644
@@ -49,16 +49,17 @@
  * Position Independent Executable (PIE) so that linker won't optimize
  * R_386_GOT32X relocation to its fixed symbol address.  Older
  * linkers generate R_386_32 relocations against locally defined symbols,
- * _bss, _ebss, _got and _egot, in PIE.  It isn't wrong, just less
+ * _bss, _ebss, _got, _egot and _end, in PIE.  It isn't wrong, just less
  * optimal than R_386_RELATIVE.  But the x86 kernel fails to properly handle
  * R_386_32 relocations when relocating the kernel.  To generate
- * R_386_RELATIVE relocations, we mark _bss, _ebss, _got and _egot as
+ * R_386_RELATIVE relocations, we mark _bss, _ebss, _got, _egot and _end as
  * hidden:
  */
 	.hidden _bss
 	.hidden _ebss
 	.hidden _got
 	.hidden _egot
+	.hidden _end
 
 	__HEAD
 ENTRY(startup_32)
arch/x86/boot/compressed/head_64.S +1 -0
index 9fa644c62839..474733f8b330 100644
@@ -42,6 +42,7 @@
 	.hidden _ebss
 	.hidden _got
 	.hidden _egot
+	.hidden _end
 
 	__HEAD
 	.code32
arch/x86/include/asm/cpufeatures.h +1 -0
index 9f03ac233566..f7f9604b10cc 100644
@@ -291,6 +291,7 @@
 #define X86_FEATURE_AMD_IBPB		(13*32+12) /* "" Indirect Branch Prediction Barrier */
 #define X86_FEATURE_AMD_IBRS		(13*32+14) /* "" Indirect Branch Restricted Speculation */
 #define X86_FEATURE_AMD_STIBP		(13*32+15) /* "" Single Thread Indirect Branch Predictors */
+#define X86_FEATURE_AMD_STIBP_ALWAYS_ON	(13*32+17) /* "" Single Thread Indirect Branch Predictors always-on preferred */
 #define X86_FEATURE_AMD_SSBD		(13*32+24) /* "" Speculative Store Bypass Disable */
 #define X86_FEATURE_VIRT_SSBD		(13*32+25) /* Virtualized Speculative Store Bypass Disable */
 #define X86_FEATURE_AMD_SSB_NO		(13*32+26) /* "" Speculative Store Bypass is fixed in hardware. */
arch/x86/include/asm/nospec-branch.h +1 -0
index 09c7466c4880..e3f70c60e8cc 100644
@@ -232,6 +232,7 @@ enum spectre_v2_mitigation {
 enum spectre_v2_user_mitigation {
 	SPECTRE_V2_USER_NONE,
 	SPECTRE_V2_USER_STRICT,
+	SPECTRE_V2_USER_STRICT_PREFERRED,
 	SPECTRE_V2_USER_PRCTL,
 	SPECTRE_V2_USER_SECCOMP,
 };
arch/x86/include/asm/set_memory.h +13 -6
index 07a25753e85c..bc97b8c0fdf7 100644
@@ -90,28 +90,35 @@ void set_kernel_text_rw(void);
 void set_kernel_text_ro(void);
 
 #ifdef CONFIG_X86_64
-static inline int set_mce_nospec(unsigned long pfn)
+/*
+ * Prevent speculative access to the page by either unmapping
+ * it (if we do not require access to any part of the page) or
+ * marking it uncacheable (if we want to try to retrieve data
+ * from non-poisoned lines in the page).
+ */
+static inline int set_mce_nospec(unsigned long pfn, bool unmap)
 {
 	unsigned long decoy_addr;
 	int rc;
 
 	/*
-	 * Mark the linear address as UC to make sure we don't log more
-	 * errors because of speculative access to the page.
 	 * We would like to just call:
-	 *      set_memory_uc((unsigned long)pfn_to_kaddr(pfn), 1);
+	 *      set_memory_XX((unsigned long)pfn_to_kaddr(pfn), 1);
 	 * but doing that would radically increase the odds of a
 	 * speculative access to the poison page because we'd have
 	 * the virtual address of the kernel 1:1 mapping sitting
 	 * around in registers.
 	 * Instead we get tricky.  We create a non-canonical address
 	 * that looks just like the one we want, but has bit 63 flipped.
-	 * This relies on set_memory_uc() properly sanitizing any __pa()
+	 * This relies on set_memory_XX() properly sanitizing any __pa()
 	 * results with __PHYSICAL_MASK or PTE_PFN_MASK.
 	 */
 	decoy_addr = (pfn << PAGE_SHIFT) + (PAGE_OFFSET ^ BIT(63));
 
-	rc = set_memory_uc(decoy_addr, 1);
+	if (unmap)
+		rc = set_memory_np(decoy_addr, 1);
+	else
+		rc = set_memory_uc(decoy_addr, 1);
 	if (rc)
 		pr_warn("Could not invalidate pfn=0x%lx from 1:1 map\n", pfn);
 	return rc;
arch/x86/include/asm/uaccess.h +11 -1
index 971830341061..82b0ff6cac97 100644
@@ -711,7 +711,17 @@ extern struct movsl_mask {
  * checking before using them, but you have to surround them with the
  * user_access_begin/end() pair.
  */
-#define user_access_begin()	__uaccess_begin()
+static __must_check inline bool user_access_begin(int type,
+						  const void __user *ptr,
+						  size_t len)
+{
+	if (unlikely(!access_ok(type, ptr, len)))
+		return 0;
+	__uaccess_begin_nospec();
+	return 1;
+}
+
+#define user_access_begin(a, b, c)	user_access_begin(a, b, c)
 #define user_access_end()	__uaccess_end()
 
 #define unsafe_put_user(x, ptr, err_label)					\
arch/x86/kernel/amd_nb.c +13 -2
index b481b95bd8f6..923b4bac9613 100644
@@ -11,14 +11,17 @@
 #include <linux/errno.h>
 #include <linux/export.h>
 #include <linux/spinlock.h>
+#include <linux/pci_ids.h>
 #include <asm/amd_nb.h>
 
 #define PCI_DEVICE_ID_AMD_17H_ROOT	0x1450
 #define PCI_DEVICE_ID_AMD_17H_M10H_ROOT	0x15d0
-#define PCI_DEVICE_ID_AMD_17H_DF_F3	0x1463
+#define PCI_DEVICE_ID_AMD_17H_M30H_ROOT	0x1480
 #define PCI_DEVICE_ID_AMD_17H_DF_F4	0x1464
-#define PCI_DEVICE_ID_AMD_17H_M10H_DF_F3 0x15eb
 #define PCI_DEVICE_ID_AMD_17H_M10H_DF_F4 0x15ec
+#define PCI_DEVICE_ID_AMD_17H_M30H_DF_F4 0x1494
+#define PCI_DEVICE_ID_AMD_17H_M70H_DF_F4 0x1444
+#define PCI_DEVICE_ID_AMD_19H_DF_F4	0x1654
 
 /* Protect the PCI config register pairs used for SMN and DF indirect access. */
 static DEFINE_MUTEX(smn_mutex);
@@ -28,9 +31,11 @@ static u32 *flush_words;
 static const struct pci_device_id amd_root_ids[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_ROOT) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_ROOT) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_ROOT) },
 	{}
 };
 
+
 #define PCI_DEVICE_ID_AMD_CNB17H_F4     0x1704
 
 const struct pci_device_id amd_nb_misc_ids[] = {
@@ -44,7 +49,10 @@ const struct pci_device_id amd_nb_misc_ids[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F3) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F3) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_DF_F3) },
 	{}
 };
 EXPORT_SYMBOL_GPL(amd_nb_misc_ids);
@@ -57,6 +65,9 @@ static const struct pci_device_id amd_nb_link_ids[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F4) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_DF_F4) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F4) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F4) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F4) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_DF_F4) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F4) },
 	{}
 };
arch/x86/kernel/cpu/amd.c +1 -2
index 120769955687..de69090ca142 100644
@@ -1122,8 +1122,7 @@ static const int amd_erratum_383[] =
 
 /* #1054: Instructions Retired Performance Counter May Be Inaccurate */
 static const int amd_erratum_1054[] =
-	AMD_OSVW_ERRATUM(0, AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf));
-
+	AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf));
 
 static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum)
 {
arch/x86/kernel/cpu/bugs.c +63 -31

181 lines not on this page · raw message

arch/x86/kernel/cpu/mcheck/mce.c +9 -2
index 1f69b12d5bb8..2a13468f8773 100644
@@ -535,6 +535,13 @@ bool mce_is_memory_error(struct mce *m)
 }
 EXPORT_SYMBOL_GPL(mce_is_memory_error);
 
+static bool whole_page(struct mce *m)
+{
+	if (!mca_cfg.ser || !(m->status & MCI_STATUS_MISCV))
+		return true;
+	return MCI_MISC_ADDR_LSB(m->misc) >= PAGE_SHIFT;
+}
+
 bool mce_is_correctable(struct mce *m)
 {
 	if (m->cpuvendor == X86_VENDOR_AMD && m->status & MCI_STATUS_DEFERRED)
@@ -600,7 +607,7 @@ static int srao_decode_notifier(struct notifier_block *nb, unsigned long val,
 	if (mce_usable_address(mce) && (mce->severity == MCE_AO_SEVERITY)) {
 		pfn = mce->addr >> PAGE_SHIFT;
 		if (!memory_failure(pfn, 0))
-			set_mce_nospec(pfn);
+			set_mce_nospec(pfn, whole_page(mce));
 	}
 
 	return NOTIFY_OK;
@@ -1101,7 +1108,7 @@ static int do_memory_failure(struct mce *m)
 	if (ret)
 		pr_err("Memory error not recovered");
 	else
-		set_mce_nospec(m->addr >> PAGE_SHIFT);
+		set_mce_nospec(m->addr >> PAGE_SHIFT, whole_page(m));
 	return ret;
 }
 
arch/x86/kernel/process.c +10 -18
index b8b08e61ac73..cd138bfd926c 100644
@@ -413,28 +413,20 @@ static __always_inline void __speculation_ctrl_update(unsigned long tifp,
 
 	lockdep_assert_irqs_disabled();
 
-	/*
-	 * If TIF_SSBD is different, select the proper mitigation
-	 * method. Note that if SSBD mitigation is disabled or permanentely
-	 * enabled this branch can't be taken because nothing can set
-	 * TIF_SSBD.
-	 */
-	if (tif_diff & _TIF_SSBD) {
-		if (static_cpu_has(X86_FEATURE_VIRT_SSBD)) {
+	/* Handle change of TIF_SSBD depending on the mitigation method. */
+	if (static_cpu_has(X86_FEATURE_VIRT_SSBD)) {
+		if (tif_diff & _TIF_SSBD)
 			amd_set_ssb_virt_state(tifn);
-		} else if (static_cpu_has(X86_FEATURE_LS_CFG_SSBD)) {
+	} else if (static_cpu_has(X86_FEATURE_LS_CFG_SSBD)) {
+		if (tif_diff & _TIF_SSBD)
 			amd_set_core_ssb_state(tifn);
-		} else if (static_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD) ||
-			   static_cpu_has(X86_FEATURE_AMD_SSBD)) {
-			msr |= ssbd_tif_to_spec_ctrl(tifn);
-			updmsr  = true;
-		}
+	} else if (static_cpu_has(X86_FEATURE_SPEC_CTRL_SSBD) ||
+		   static_cpu_has(X86_FEATURE_AMD_SSBD)) {
+		updmsr |= !!(tif_diff & _TIF_SSBD);
+		msr |= ssbd_tif_to_spec_ctrl(tifn);
 	}
 
-	/*
-	 * Only evaluate TIF_SPEC_IB if conditional STIBP is enabled,
-	 * otherwise avoid the MSR write.
-	 */
+	/* Only evaluate TIF_SPEC_IB if conditional STIBP is enabled. */
 	if (IS_ENABLED(CONFIG_SMP) &&
 	    static_branch_unlikely(&switch_to_cond_stibp)) {
 		updmsr |= !!(tif_diff & _TIF_SPEC_IB);
arch/x86/kernel/process.h +1 -1
index 898e97cf6629..320ab978fb1f 100644
@@ -19,7 +19,7 @@ static inline void switch_to_extra(struct task_struct *prev,
 	if (IS_ENABLED(CONFIG_SMP)) {
 		/*
 		 * Avoid __switch_to_xtra() invocation when conditional
-		 * STIPB is disabled and the only different bit is
+		 * STIBP is disabled and the only different bit is
 		 * TIF_SPEC_IB. For CONFIG_SMP=n TIF_SPEC_IB is not
 		 * in the TIF_WORK_CTXSW masks.
 		 */
arch/x86/kernel/reboot.c +8 -0
index 8fd3cedd9acc..39f3cad58b6c 100644
@@ -197,6 +197,14 @@ static const struct dmi_system_id reboot_dmi_table[] __initconst = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5"),
 		},
 	},
+	{	/* Handle problems with rebooting on Apple MacBook6,1 */
+		.callback = set_pci_reboot,
+		.ident = "Apple MacBook6,1",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "MacBook6,1"),
+		},
+	},
 	{	/* Handle problems with rebooting on Apple MacBookPro5 */
 		.callback = set_pci_reboot,
 		.ident = "Apple MacBookPro5",
arch/x86/kernel/time.c +0 -4
index fddaefc51fb6..0680a2e9e06b 100644
@@ -24,10 +24,6 @@
 #include <asm/hpet.h>
 #include <asm/time.h>
 
-#ifdef CONFIG_X86_64
-__visible volatile unsigned long jiffies __cacheline_aligned_in_smp = INITIAL_JIFFIES;
-#endif
-
 unsigned long profile_pc(struct pt_regs *regs)
 {
 	unsigned long pc = instruction_pointer(regs);
arch/x86/kernel/vmlinux.lds.S +2 -2
index 85e6d5620188..36593fd7dbe3 100644
@@ -36,13 +36,13 @@ OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
 #ifdef CONFIG_X86_32
 OUTPUT_ARCH(i386)
 ENTRY(phys_startup_32)
-jiffies = jiffies_64;
 #else
 OUTPUT_ARCH(i386:x86-64)
 ENTRY(phys_startup_64)
-jiffies_64 = jiffies;
 #endif
 
+jiffies = jiffies_64;
+
 #if defined(CONFIG_X86_64)
 /*
  * On 64-bit, align RODATA to 2MB so we retain large page mappings for
arch/x86/kvm/mmu.c +23 -14
index 62f1e4663bc3..18632f15b29f 100644
@@ -294,11 +294,18 @@ kvm_mmu_calc_root_page_role(struct kvm_vcpu *vcpu);
 void kvm_mmu_set_mmio_spte_mask(u64 mmio_mask, u64 mmio_value)
 {
 	BUG_ON((mmio_mask & mmio_value) != mmio_value);
+	WARN_ON(mmio_value & (shadow_nonpresent_or_rsvd_mask << shadow_nonpresent_or_rsvd_mask_len));
+	WARN_ON(mmio_value & shadow_nonpresent_or_rsvd_lower_gfn_mask);
 	shadow_mmio_value = mmio_value | SPTE_SPECIAL_MASK;
 	shadow_mmio_mask = mmio_mask | SPTE_SPECIAL_MASK;
 }
 EXPORT_SYMBOL_GPL(kvm_mmu_set_mmio_spte_mask);
 
+static bool is_mmio_spte(u64 spte)
+{
+	return (spte & shadow_mmio_mask) == shadow_mmio_value;
+}
+
 static inline bool sp_ad_disabled(struct kvm_mmu_page *sp)
 {
 	return sp->role.ad_disabled;
@@ -306,7 +313,7 @@ static inline bool sp_ad_disabled(struct kvm_mmu_page *sp)
 
 static inline bool spte_ad_enabled(u64 spte)
 {
-	MMU_WARN_ON((spte & shadow_mmio_mask) == shadow_mmio_value);
+	MMU_WARN_ON(is_mmio_spte(spte));
 	return !(spte & shadow_acc_track_value);
 }
 
@@ -317,13 +324,13 @@ static bool is_nx_huge_page_enabled(void)
 
 static inline u64 spte_shadow_accessed_mask(u64 spte)
 {
-	MMU_WARN_ON((spte & shadow_mmio_mask) == shadow_mmio_value);
+	MMU_WARN_ON(is_mmio_spte(spte));
 	return spte_ad_enabled(spte) ? shadow_accessed_mask : 0;
 }
 
 static inline u64 spte_shadow_dirty_mask(u64 spte)
 {
-	MMU_WARN_ON((spte & shadow_mmio_mask) == shadow_mmio_value);
+	MMU_WARN_ON(is_mmio_spte(spte));
 	return spte_ad_enabled(spte) ? shadow_dirty_mask : 0;
 }
 
@@ -393,11 +400,6 @@ static void mark_mmio_spte(struct kvm_vcpu *vcpu, u64 *sptep, u64 gfn,
 	mmu_spte_set(sptep, mask);
 }
 
-static bool is_mmio_spte(u64 spte)
-{
-	return (spte & shadow_mmio_mask) == shadow_mmio_value;
-}
-
 static gfn_t get_mmio_spte_gfn(u64 spte)
 {
 	u64 gpa = spte & shadow_nonpresent_or_rsvd_lower_gfn_mask;
@@ -479,16 +481,23 @@ static void kvm_mmu_reset_all_pte_masks(void)
 	 * If the CPU has 46 or less physical address bits, then set an
 	 * appropriate mask to guard against L1TF attacks. Otherwise, it is
 	 * assumed that the CPU is not vulnerable to L1TF.
+	 *
+	 * Some Intel CPUs address the L1 cache using more PA bits than are
+	 * reported by CPUID. Use the PA width of the L1 cache when possible
+	 * to achieve more effective mitigation, e.g. if system RAM overlaps
+	 * the most significant bits of legal physical address space.
 	 */
+	shadow_nonpresent_or_rsvd_mask = 0;
 	low_phys_bits = boot_cpu_data.x86_phys_bits;
-	if (boot_cpu_data.x86_phys_bits <
-	    52 - shadow_nonpresent_or_rsvd_mask_len) {
+	if (boot_cpu_has_bug(X86_BUG_L1TF) &&
+	    !WARN_ON_ONCE(boot_cpu_data.x86_cache_bits >=
+			  52 - shadow_nonpresent_or_rsvd_mask_len)) {
+		low_phys_bits = boot_cpu_data.x86_cache_bits
+			- shadow_nonpresent_or_rsvd_mask_len;
 		shadow_nonpresent_or_rsvd_mask =
-			rsvd_bits(boot_cpu_data.x86_phys_bits -
-				  shadow_nonpresent_or_rsvd_mask_len,
-				  boot_cpu_data.x86_phys_bits - 1);
-		low_phys_bits -= shadow_nonpresent_or_rsvd_mask_len;
+			rsvd_bits(low_phys_bits, boot_cpu_data.x86_cache_bits - 1);
 	}
+
 	shadow_nonpresent_or_rsvd_lower_gfn_mask =
 		GENMASK_ULL(low_phys_bits - 1, PAGE_SHIFT);
 }
arch/x86/kvm/svm.c +3 -3
index 226db3dc490b..2aafb6c79134 100644
@@ -3229,8 +3229,8 @@ static int nested_svm_exit_special(struct vcpu_svm *svm)
 			return NESTED_EXIT_HOST;
 		break;
 	case SVM_EXIT_EXCP_BASE + PF_VECTOR:
-		/* When we're shadowing, trap PFs, but not async PF */
-		if (!npt_enabled && svm->vcpu.arch.apf.host_apf_reason == 0)
+		/* Trap async PF even if not shadowing */
+		if (!npt_enabled || svm->vcpu.arch.apf.host_apf_reason)
 			return NESTED_EXIT_HOST;
 		break;
 	default:
@@ -3319,7 +3319,7 @@ static inline void copy_vmcb_control_area(struct vmcb *dst_vmcb, struct vmcb *fr
 	dst->iopm_base_pa         = from->iopm_base_pa;
 	dst->msrpm_base_pa        = from->msrpm_base_pa;
 	dst->tsc_offset           = from->tsc_offset;
-	dst->asid                 = from->asid;
+	/* asid not copied, it is handled manually for svm->vmcb.  */
 	dst->tlb_ctl              = from->tlb_ctl;
 	dst->int_ctl              = from->int_ctl;
 	dst->int_vector           = from->int_vector;
arch/x86/kvm/vmx.c +1 -1
index f08c287b6242..2c4baff7553b 100644
@@ -9683,7 +9683,7 @@ static bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu, u32 exit_reason)
 				vmcs_read32(VM_EXIT_INTR_ERROR_CODE),
 				KVM_ISA_VMX);
 
-	switch (exit_reason) {
+	switch ((u16)exit_reason) {
 	case EXIT_REASON_EXCEPTION_NMI:
 		if (is_nmi(intr_info))
 			return false;
arch/x86/kvm/x86.c +2 -5
index b0fd24ee08d2..c53df0b95385 100644
@@ -7525,9 +7525,8 @@ static void vcpu_load_eoi_exitmap(struct kvm_vcpu *vcpu)
 	kvm_x86_ops->load_eoi_exitmap(vcpu, eoi_exit_bitmap);
 }
 
-int kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm,
-		unsigned long start, unsigned long end,
-		bool blockable)
+void kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm,
+					    unsigned long start, unsigned long end)
 {
 	unsigned long apic_address;
 
@@ -7538,8 +7537,6 @@ int kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm,
 	apic_address = gfn_to_hva(kvm, APIC_DEFAULT_PHYS_BASE >> PAGE_SHIFT);
 	if (start <= apic_address && apic_address < end)
 		kvm_make_all_cpus_request(kvm, KVM_REQ_APIC_PAGE_RELOAD);
-
-	return 0;
 }
 
 void kvm_vcpu_reload_apic_access_page(struct kvm_vcpu *vcpu)
arch/x86/mm/init.c +0 -2
index fb5f29c60019..b1dba0987565 100644
@@ -120,8 +120,6 @@ __ref void *alloc_low_pages(unsigned int num)
 	} else {
 		pfn = pgt_buf_end;
 		pgt_buf_end += num;
-		printk(KERN_DEBUG "BRK [%#010lx, %#010lx] PGTABLE\n",
-			pfn << PAGE_SHIFT, (pgt_buf_end << PAGE_SHIFT) - 1);
 	}
 
 	for (i = 0; i < num; i++) {
arch/x86/pci/fixup.c +4 -0
index e723559c386a..0c67a5a94de3 100644
@@ -572,6 +572,10 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2fc0, pci_invalid_bar);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6f60, pci_invalid_bar);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6fa0, pci_invalid_bar);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x6fc0, pci_invalid_bar);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0xa1ec, pci_invalid_bar);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0xa1ed, pci_invalid_bar);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0xa26c, pci_invalid_bar);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0xa26d, pci_invalid_bar);
 
 /*
  * Device [1022:7808]
drivers/acpi/cppc_acpi.c +1 -0
index 41228e545e82..5c6ecbb66608 100644
@@ -869,6 +869,7 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 			"acpi_cppc");
 	if (ret) {
 		per_cpu(cpc_desc_ptr, pr->id) = NULL;
+		kobject_put(&cpc_ptr->kobj);
 		goto out_free;
 	}
 
drivers/acpi/device_pm.c +1 -1
index 3837cad94f35..ca735dc24d37 100644
@@ -172,7 +172,7 @@ int acpi_device_set_power(struct acpi_device *device, int state)
 		 * possibly drop references to the power resources in use.
 		 */
 		state = ACPI_STATE_D3_HOT;
-		/* If _PR3 is not available, use D3hot as the target state. */
+		/* If D3cold is not supported, use D3hot as the target state. */
 		if (!device->power.states[ACPI_STATE_D3_COLD].flags.valid)
 			target_state = state;
 	} else if (!device->power.states[state].flags.valid) {
drivers/acpi/evged.c +19 -3
index f13ba2c07667..73f6093a5c16 100644
@@ -88,6 +88,8 @@ static acpi_status acpi_ged_request_interrupt(struct acpi_resource *ares,
 	struct resource r;
 	struct acpi_resource_irq *p = &ares->data.irq;
 	struct acpi_resource_extended_irq *pext = &ares->data.extended_irq;
+	char ev_name[5];
+	u8 trigger;
 
 	if (ares->type == ACPI_RESOURCE_TYPE_END_TAG)
 		return AE_OK;
@@ -96,14 +98,28 @@ static acpi_status acpi_ged_request_interrupt(struct acpi_resource *ares,
 		dev_err(dev, "unable to parse IRQ resource\n");
 		return AE_ERROR;
 	}
-	if (ares->type == ACPI_RESOURCE_TYPE_IRQ)
+	if (ares->type == ACPI_RESOURCE_TYPE_IRQ) {
 		gsi = p->interrupts[0];
-	else
+		trigger = p->triggering;
+	} else {
 		gsi = pext->interrupts[0];
+		trigger = pext->triggering;
+	}
 
 	irq = r.start;
 
-	if (ACPI_FAILURE(acpi_get_handle(handle, "_EVT", &evt_handle))) {
+	switch (gsi) {
+	case 0 ... 255:
+		sprintf(ev_name, "_%c%02hhX",
+			trigger == ACPI_EDGE_SENSITIVE ? 'E' : 'L', gsi);
+
+		if (ACPI_SUCCESS(acpi_get_handle(handle, ev_name, &evt_handle)))
+			break;
+		/* fall through */
+	default:
+		if (ACPI_SUCCESS(acpi_get_handle(handle, "_EVT", &evt_handle)))
+			break;
+
 		dev_err(dev, "cannot locate _EVT method\n");
 		return AE_ERROR;
 	}
drivers/acpi/scan.c +19 -9
index 1dcc48b9d33c..1cfa3ac1d91f 100644
@@ -921,12 +921,9 @@ static void acpi_bus_init_power_state(struct acpi_device *device, int state)
 
 		if (buffer.length && package
 		    && package->type == ACPI_TYPE_PACKAGE
-		    && package->package.count) {
-			int err = acpi_extract_power_resources(package, 0,
-							       &ps->resources);
-			if (!err)
-				device->power.flags.power_resources = 1;
-		}
+		    && package->package.count)
+			acpi_extract_power_resources(package, 0, &ps->resources);
+
 		ACPI_FREE(buffer.pointer);
 	}
 
@@ -973,14 +970,27 @@ static void acpi_bus_get_power_flags(struct acpi_device *device)
 		acpi_bus_init_power_state(device, i);
 
 	INIT_LIST_HEAD(&device->power.states[ACPI_STATE_D3_COLD].resources);
-	if (!list_empty(&device->power.states[ACPI_STATE_D3_HOT].resources))
-		device->power.states[ACPI_STATE_D3_COLD].flags.valid = 1;
 
-	/* Set defaults for D0 and D3hot states (always valid) */
+	/* Set the defaults for D0 and D3hot (always supported). */
 	device->power.states[ACPI_STATE_D0].flags.valid = 1;
 	device->power.states[ACPI_STATE_D0].power = 100;
 	device->power.states[ACPI_STATE_D3_HOT].flags.valid = 1;
 
+	/*
+	 * Use power resources only if the D0 list of them is populated, because
+	 * some platforms may provide _PR3 only to indicate D3cold support and
+	 * in those cases the power resources list returned by it may be bogus.
+	 */
+	if (!list_empty(&device->power.states[ACPI_STATE_D0].resources)) {
+		device->power.flags.power_resources = 1;
+		/*
+		 * D3cold is supported if the D3hot list of power resources is
+		 * not empty.
+		 */
+		if (!list_empty(&device->power.states[ACPI_STATE_D3_HOT].resources))
+			device->power.states[ACPI_STATE_D3_COLD].flags.valid = 1;
+	}
+
 	if (acpi_bus_init_power(device))
 		device->flags.power_manageable = 0;
 }
drivers/acpi/sysfs.c +3 -1
index f8150c7bfe88..0a8eb8961770 100644
@@ -990,8 +990,10 @@ void acpi_sysfs_add_hotplug_profile(struct acpi_hotplug_profile *hotplug,
 
 	error = kobject_init_and_add(&hotplug->kobj,
 		&acpi_hotplug_profile_ktype, hotplug_kobj, "%s", name);
-	if (error)
+	if (error) {
+		kobject_put(&hotplug->kobj);
 		goto err_out;
+	}
 
 	kobject_uevent(&hotplug->kobj, KOBJ_ADD);
 	return;
drivers/bluetooth/btbcm.c +2 -0
index e3e4d929e74f..ff6203c331ff 100644
@@ -324,6 +324,7 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
 	{ 0x4103, "BCM4330B1"	},	/* 002.001.003 */
 	{ 0x410e, "BCM43341B0"	},	/* 002.001.014 */
 	{ 0x4406, "BCM4324B3"	},	/* 002.004.006 */
+	{ 0x4606, "BCM4324B5"	},	/* 002.006.006 */
 	{ 0x6109, "BCM4335C0"	},	/* 003.001.009 */
 	{ 0x610c, "BCM4354"	},	/* 003.001.012 */
 	{ 0x2122, "BCM4343A0"	},	/* 001.001.034 */
@@ -334,6 +335,7 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
 };
 
 static const struct bcm_subver_table bcm_usb_subver_table[] = {
+	{ 0x2105, "BCM20703A1"	},	/* 001.001.005 */
 	{ 0x210b, "BCM43142A0"	},	/* 001.001.011 */
 	{ 0x2112, "BCM4314A0"	},	/* 001.001.018 */
 	{ 0x2118, "BCM20702A0"	},	/* 001.001.024 */
drivers/bluetooth/hci_bcm.c +4 -1
index 59e5fc5eec8f..3e386f68faa0 100644
@@ -115,6 +115,7 @@ struct bcm_device {
 	u32			oper_speed;
 	int			irq;
 	bool			irq_active_low;
+	bool			irq_acquired;
 
 #ifdef CONFIG_PM
 	struct hci_uart		*hu;
@@ -288,6 +289,8 @@ static int bcm_request_irq(struct bcm_data *bcm)
 		goto unlock;
 	}
 
+	bdev->irq_acquired = true;
+
 	device_init_wakeup(bdev->dev, true);
 
 	pm_runtime_set_autosuspend_delay(bdev->dev,
@@ -456,7 +459,7 @@ static int bcm_close(struct hci_uart *hu)
 	}
 
 	if (bdev) {
-		if (IS_ENABLED(CONFIG_PM) && bdev->irq > 0) {
+		if (IS_ENABLED(CONFIG_PM) && bdev->irq_acquired) {
 			devm_free_irq(bdev->dev, bdev->irq, bdev);
 			device_init_wakeup(bdev->dev, false);
 			pm_runtime_disable(bdev->dev);
drivers/char/agp/intel-gtt.c +3 -1
index c6271ce250b3..b161bdf60000 100644
@@ -846,6 +846,7 @@ void intel_gtt_insert_page(dma_addr_t addr,
 			   unsigned int flags)
 {
 	intel_private.driver->write_entry(addr, pg, flags);
+	readl(intel_private.gtt + pg);
 	if (intel_private.driver->chipset_flush)
 		intel_private.driver->chipset_flush();
 }
@@ -871,7 +872,7 @@ void intel_gtt_insert_sg_entries(struct sg_table *st,
 			j++;
 		}
 	}
-	wmb();
+	readl(intel_private.gtt + j - 1);
 	if (intel_private.driver->chipset_flush)
 		intel_private.driver->chipset_flush();
 }
@@ -1105,6 +1106,7 @@ static void i9xx_cleanup(void)
 
 static void i9xx_chipset_flush(void)
 {
+	wmb();
 	if (intel_private.i9xx_flush_page)
 		writel(1, intel_private.i9xx_flush_page);
 }
drivers/char/ipmi/ipmi_si_pci.c +0 -5
index 022e03634ce2..9e9700b1a8e6 100644
@@ -18,11 +18,6 @@ module_param_named(trypci, si_trypci, bool, 0);
 MODULE_PARM_DESC(trypci, "Setting this to zero will disable the"
 		 " default scan of the interfaces identified via pci");
 
-#define PCI_CLASS_SERIAL_IPMI		0x0c07
-#define PCI_CLASS_SERIAL_IPMI_SMIC	0x0c0700
-#define PCI_CLASS_SERIAL_IPMI_KCS	0x0c0701
-#define PCI_CLASS_SERIAL_IPMI_BT	0x0c0702
-
 #define PCI_DEVICE_ID_HP_MMC 0x121A
 
 static void ipmi_pci_cleanup(struct si_sm_io *io)
drivers/clk/clk.c +5 -1
index a102eb1abe4b..8353ab9bd31b 100644
@@ -101,7 +101,11 @@ static int clk_pm_runtime_get(struct clk_core *core)
 		return 0;
 
 	ret = pm_runtime_get_sync(core->dev);
-	return ret < 0 ? ret : 0;
+	if (ret < 0) {
+		pm_runtime_put_noidle(core->dev);
+		return ret;
+	}
+	return 0;
 }
 
 static void clk_pm_runtime_put(struct clk_core *core)
drivers/clocksource/dw_apb_timer.c +3 -2
index 1f5f734e4919..a018199575e3 100644
@@ -225,7 +225,8 @@ static int apbt_next_event(unsigned long delta,
 /**
  * dw_apb_clockevent_init() - use an APB timer as a clock_event_device
  *
- * @cpu:	The CPU the events will be targeted at.
+ * @cpu:	The CPU the events will be targeted at or -1 if CPU affiliation
+ *		isn't required.
  * @name:	The name used for the timer and the IRQ for it.
  * @rating:	The rating to give the timer.
  * @base:	I/O base for the timer registers.
@@ -260,7 +261,7 @@ dw_apb_clockevent_init(int cpu, const char *name, unsigned rating,
 	dw_ced->ced.max_delta_ticks = 0x7fffffff;
 	dw_ced->ced.min_delta_ns = clockevent_delta2ns(5000, &dw_ced->ced);
 	dw_ced->ced.min_delta_ticks = 5000;
-	dw_ced->ced.cpumask = cpumask_of(cpu);
+	dw_ced->ced.cpumask = cpu < 0 ? cpu_possible_mask : cpumask_of(cpu);
 	dw_ced->ced.features = CLOCK_EVT_FEAT_PERIODIC |
 				CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_DYNIRQ;
 	dw_ced->ced.set_state_shutdown = apbt_shutdown;
drivers/clocksource/dw_apb_timer_of.c +2 -4
index 69866cd8f4bb..3e4d0e5733d3 100644
@@ -146,10 +146,6 @@ static int num_called;
 static int __init dw_apb_timer_init(struct device_node *timer)
 {
 	switch (num_called) {
-	case 0:
-		pr_debug("%s: found clockevent timer\n", __func__);
-		add_clockevent(timer);
-		break;
 	case 1:
 		pr_debug("%s: found clocksource timer\n", __func__);
 		add_clocksource(timer);
@@ -160,6 +156,8 @@ static int __init dw_apb_timer_init(struct device_node *timer)
 #endif
 		break;
 	default:
+		pr_debug("%s: found clockevent timer\n", __func__);
+		add_clockevent(timer);
 		break;
 	}
 
drivers/cpuidle/sysfs.c +3 -3
index e754c7aae7f7..66979dc33680 100644
@@ -467,7 +467,7 @@ static int cpuidle_add_state_sysfs(struct cpuidle_device *device)
 		ret = kobject_init_and_add(&kobj->kobj, &ktype_state_cpuidle,
 					   &kdev->kobj, "state%d", i);
 		if (ret) {
-			kfree(kobj);
+			kobject_put(&kobj->kobj);
 			goto error_state;
 		}
 		cpuidle_add_s2idle_attr_group(kobj);
@@ -598,7 +598,7 @@ static int cpuidle_add_driver_sysfs(struct cpuidle_device *dev)
 	ret = kobject_init_and_add(&kdrv->kobj, &ktype_driver_cpuidle,
 				   &kdev->kobj, "driver");
 	if (ret) {
-		kfree(kdrv);
+		kobject_put(&kdrv->kobj);
 		return ret;
 	}
 
@@ -692,7 +692,7 @@ int cpuidle_add_sysfs(struct cpuidle_device *dev)
 	error = kobject_init_and_add(&kdev->kobj, &ktype_cpuidle, &cpu_dev->kobj,
 				   "cpuidle");
 	if (error) {
-		kfree(kdev);
+		kobject_put(&kdev->kobj);
 		return error;
 	}
 
drivers/crypto/cavium/nitrox/nitrox_main.c +2 -2
index fee7cb2ce747..a81f3c7e941d 100644
@@ -183,7 +183,7 @@ static void nitrox_remove_from_devlist(struct nitrox_device *ndev)
 
 struct nitrox_device *nitrox_get_first_device(void)
 {
-	struct nitrox_device *ndev = NULL;
+	struct nitrox_device *ndev;
 
 	mutex_lock(&devlist_lock);
 	list_for_each_entry(ndev, &ndevlist, list) {
@@ -191,7 +191,7 @@ struct nitrox_device *nitrox_get_first_device(void)
 			break;
 	}
 	mutex_unlock(&devlist_lock);
-	if (!ndev)
+	if (&ndev->list == &ndevlist)
 		return NULL;
 
 	refcount_inc(&ndev->refcnt);
drivers/crypto/ccp/Kconfig +1 -2
index b9dfae47aefd..7f5fc705503d 100644
@@ -9,10 +9,9 @@ config CRYPTO_DEV_CCP_DD
 config CRYPTO_DEV_SP_CCP
 	bool "Cryptographic Coprocessor device"
 	default y
-	depends on CRYPTO_DEV_CCP_DD
+	depends on CRYPTO_DEV_CCP_DD && DMADEVICES
 	select HW_RANDOM
 	select DMA_ENGINE
-	select DMADEVICES
 	select CRYPTO_SHA1
 	select CRYPTO_SHA256
 	help
drivers/crypto/chelsio/chcr_algo.c +1 -1
index c435f89f34e3..9b3c259f081d 100644
@@ -2764,7 +2764,7 @@ static void fill_sec_cpl_for_aead(struct cpl_tx_sec_pdu *sec_cpl,
 	unsigned int mac_mode = CHCR_SCMD_AUTH_MODE_CBCMAC;
 	unsigned int c_id = a_ctx(tfm)->dev->rx_channel_id;
 	unsigned int ccm_xtra;
-	unsigned char tag_offset = 0, auth_offset = 0;
+	unsigned int tag_offset = 0, auth_offset = 0;
 	unsigned int assoclen;
 
 	if (get_aead_subtype(tfm) == CRYPTO_ALG_SUB_TYPE_AEAD_RFC4309)
drivers/crypto/stm32/stm32_crc32.c +83 -61

230 lines not on this page · raw message

drivers/crypto/talitos.c +1 -1
index db5f939f5aa3..ea16308fae0a 100644
@@ -2670,7 +2670,6 @@ static struct talitos_alg_template driver_algs[] = {
 			.cra_ablkcipher = {
 				.min_keysize = AES_MIN_KEY_SIZE,
 				.max_keysize = AES_MAX_KEY_SIZE,
-				.ivsize = AES_BLOCK_SIZE,
 			}
 		},
 		.desc_hdr_template = DESC_HDR_TYPE_COMMON_NONSNOOP_NO_AFEU |
@@ -2704,6 +2703,7 @@ static struct talitos_alg_template driver_algs[] = {
 			.cra_ablkcipher = {
 				.min_keysize = AES_MIN_KEY_SIZE,
 				.max_keysize = AES_MAX_KEY_SIZE,
+				.ivsize = AES_BLOCK_SIZE,
 				.setkey = ablkcipher_aes_setkey,
 			}
 		},
drivers/crypto/virtio/virtio_crypto_algs.c +14 -7
index 38432721069f..ab4700e4b409 100644
@@ -367,13 +367,18 @@ __virtio_crypto_ablkcipher_do_req(struct virtio_crypto_sym_request *vc_sym_req,
 	int err;
 	unsigned long flags;
 	struct scatterlist outhdr, iv_sg, status_sg, **sgs;
-	int i;
 	u64 dst_len;
 	unsigned int num_out = 0, num_in = 0;
 	int sg_total;
 	uint8_t *iv;
+	struct scatterlist *sg;
 
 	src_nents = sg_nents_for_len(req->src, req->nbytes);
+	if (src_nents < 0) {
+		pr_err("Invalid number of src SG.\n");
+		return src_nents;
+	}
+
 	dst_nents = sg_nents(req->dst);
 
 	pr_debug("virtio_crypto: Number of sgs (src_nents: %d, dst_nents: %d)\n",
@@ -419,6 +424,7 @@ __virtio_crypto_ablkcipher_do_req(struct virtio_crypto_sym_request *vc_sym_req,
 		goto free;
 	}
 
+	dst_len = min_t(unsigned int, req->nbytes, dst_len);
 	pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n",
 			req->nbytes, dst_len);
 
@@ -459,12 +465,12 @@ __virtio_crypto_ablkcipher_do_req(struct virtio_crypto_sym_request *vc_sym_req,
 	vc_sym_req->iv = iv;
 
 	/* Source data */
-	for (i = 0; i < src_nents; i++)
-		sgs[num_out++] = &req->src[i];
+	for (sg = req->src; src_nents; sg = sg_next(sg), src_nents--)
+		sgs[num_out++] = sg;
 
 	/* Destination data */
-	for (i = 0; i < dst_nents; i++)
-		sgs[num_out + num_in++] = &req->dst[i];
+	for (sg = req->dst; sg; sg = sg_next(sg))
+		sgs[num_out + num_in++] = sg;
 
 	/* Status */
 	sg_init_one(&status_sg, &vc_req->status, sizeof(vc_req->status));
@@ -594,10 +600,11 @@ static void virtio_crypto_ablkcipher_finalize_req(
 		scatterwalk_map_and_copy(req->info, req->dst,
 					 req->nbytes - AES_BLOCK_SIZE,
 					 AES_BLOCK_SIZE, 0);
-	crypto_finalize_ablkcipher_request(vc_sym_req->base.dataq->engine,
-					   req, err);
 	kzfree(vc_sym_req->iv);
 	virtcrypto_clear_request(&vc_sym_req->base);
+
+	crypto_finalize_ablkcipher_request(vc_sym_req->base.dataq->engine,
+					   req, err);
 }
 
 static struct virtio_crypto_algo virtio_crypto_algs[] = { {
drivers/dma/pch_dma.c +0 -1
index 6e91584c3677..47c6e3ceac4d 100644
@@ -972,7 +972,6 @@ static void pch_dma_remove(struct pci_dev *pdev)
 }
 
 /* PCI Device ID of DMA device */
-#define PCI_VENDOR_ID_ROHM             0x10DB
 #define PCI_DEVICE_ID_EG20T_PCH_DMA_8CH        0x8810
 #define PCI_DEVICE_ID_EG20T_PCH_DMA_4CH        0x8815
 #define PCI_DEVICE_ID_ML7213_DMA1_8CH	0x8026
drivers/firmware/efi/efivars.c +3 -1
index 1c65f5ac4368..6529addd1e82 100644
@@ -586,8 +586,10 @@ efivar_create_sysfs_entry(struct efivar_entry *new_var)
 	ret = kobject_init_and_add(&new_var->kobj, &efivar_ktype,
 				   NULL, "%s", short_name);
 	kfree(short_name);
-	if (ret)
+	if (ret) {
+		kobject_put(&new_var->kobj);
 		return ret;
+	}
 
 	kobject_uevent(&new_var->kobj, KOBJ_ADD);
 	if (efivar_entry_add(new_var, &efivar_sysfs_list)) {
drivers/firmware/efi/libstub/Makefile +1 -0
index d9845099635e..d3777d754984 100644
@@ -28,6 +28,7 @@ KBUILD_CFLAGS			:= $(cflags-y) -DDISABLE_BRANCH_PROFILING \
 				   -D__NO_FORTIFY \
 				   $(call cc-option,-ffreestanding) \
 				   $(call cc-option,-fno-stack-protector) \
+				   $(call cc-option,-fno-addrsig) \
 				   -D__DISABLE_EXPORTS
 
 GCOV_PROFILE			:= n
drivers/gnss/sirf.c +6 -2
index 4596fde16dfe..3e88e79d1053 100644
@@ -292,14 +292,18 @@ static int sirf_probe(struct serdev_device *serdev)
 
 	data->on_off = devm_gpiod_get_optional(dev, "sirf,onoff",
 			GPIOD_OUT_LOW);
-	if (IS_ERR(data->on_off))
+	if (IS_ERR(data->on_off)) {
+		ret = PTR_ERR(data->on_off);
 		goto err_put_device;
+	}
 
 	if (data->on_off) {
 		data->wakeup = devm_gpiod_get_optional(dev, "sirf,wakeup",
 				GPIOD_IN);
-		if (IS_ERR(data->wakeup))
+		if (IS_ERR(data->wakeup)) {
+			ret = PTR_ERR(data->wakeup);
 			goto err_put_device;
+		}
 
 		/*
 		 * Configurations where WAKEUP has been left not connected,
drivers/gpio/gpio-ml-ioh.c +0 -2
index 51c7d1b84c2e..0c076dce9e17 100644
@@ -31,8 +31,6 @@
 
 #define IOH_IRQ_BASE		0
 
-#define PCI_VENDOR_ID_ROHM             0x10DB
-
 struct ioh_reg_comn {
 	u32	ien;
 	u32	istatus;
drivers/gpio/gpio-pch.c +0 -1
index ffce0ab912ed..8c7f3d20e30e 100644
@@ -524,7 +524,6 @@ static int pch_gpio_resume(struct pci_dev *pdev)
 #define pch_gpio_resume NULL
 #endif
 
-#define PCI_VENDOR_ID_ROHM             0x10DB
 static const struct pci_device_id pch_gpio_pcidev_id[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x8803) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_ROHM, 0x8014) },
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c +7 -5
index 1b4783d45c53..3a218b56a008 100644
@@ -20,13 +20,15 @@ static void adv7511_calc_cts_n(unsigned int f_tmds, unsigned int fs,
 {
 	switch (fs) {
 	case 32000:
-		*n = 4096;
+	case 48000:
+	case 96000:
+	case 192000:
+		*n = fs * 128 / 1000;
 		break;
 	case 44100:
-		*n = 6272;
-		break;
-	case 48000:
-		*n = 6144;
+	case 88200:
+	case 176400:
+		*n = fs * 128 / 900;
 		break;
 	}
 
drivers/gpu/drm/i915/i915_gem_execbuffer.c +14 -2
index f08c54740cbe..52894816167c 100644
@@ -1604,7 +1604,9 @@ static int eb_copy_relocations(const struct i915_execbuffer *eb)
 		 * happened we would make the mistake of assuming that the
 		 * relocations were valid.
 		 */
-		user_access_begin();
+		if (!user_access_begin(VERIFY_WRITE, urelocs, size))
+			goto end_user;
+
 		for (copied = 0; copied < nreloc; copied++)
 			unsafe_put_user(-1,
 					&urelocs[copied].presumed_offset,
@@ -2649,7 +2651,17 @@ i915_gem_execbuffer2_ioctl(struct drm_device *dev, void *data,
 		unsigned int i;
 
 		/* Copy the new buffer offsets back to the user's exec list. */
-		user_access_begin();
+		/*
+		 * Note: count * sizeof(*user_exec_list) does not overflow,
+		 * because we checked 'count' in check_buffer_count().
+		 *
+		 * And this range already got effectively checked earlier
+		 * when we did the "copy_from_user()" above.
+		 */
+		if (!user_access_begin(VERIFY_WRITE, user_exec_list,
+				       count * sizeof(*user_exec_list)))
+			goto end_user;
+
 		for (i = 0; i < args->buffer_count; i++) {
 			if (!(exec2_list[i].offset & UPDATE))
 				continue;
drivers/gpu/drm/vkms/vkms_drv.h +0 -5
index e018752d57bb..b46c31e25c27 100644
@@ -62,11 +62,6 @@ int vkms_output_init(struct vkms_device *vkmsdev);
 struct drm_plane *vkms_plane_init(struct vkms_device *vkmsdev);
 
 /* Gem stuff */
-struct drm_gem_object *vkms_gem_create(struct drm_device *dev,
-				       struct drm_file *file,
-				       u32 *handle,
-				       u64 size);
-
 int vkms_gem_fault(struct vm_fault *vmf);
 
 int vkms_dumb_create(struct drm_file *file, struct drm_device *dev,
drivers/gpu/drm/vkms/vkms_gem.c +6 -5
index ce394009a36c..f731683c932e 100644
@@ -93,10 +93,10 @@ int vkms_gem_fault(struct vm_fault *vmf)
 	return ret;
 }
 
-struct drm_gem_object *vkms_gem_create(struct drm_device *dev,
-				       struct drm_file *file,
-				       u32 *handle,
-				       u64 size)
+static struct drm_gem_object *vkms_gem_create(struct drm_device *dev,
+					      struct drm_file *file,
+					      u32 *handle,
+					      u64 size)
 {
 	struct vkms_gem_object *obj;
 	int ret;
@@ -109,7 +109,6 @@ struct drm_gem_object *vkms_gem_create(struct drm_device *dev,
 		return ERR_CAST(obj);
 
 	ret = drm_gem_handle_create(file, &obj->gem, handle);
-	drm_gem_object_put_unlocked(&obj->gem);
 	if (ret)
 		return ERR_PTR(ret);
 
@@ -138,6 +137,8 @@ int vkms_dumb_create(struct drm_file *file, struct drm_device *dev,
 	args->size = gem_obj->size;
 	args->pitch = pitch;
 
+	drm_gem_object_put_unlocked(gem_obj);
+
 	DRM_DEBUG_DRIVER("Created object of size %lld\n", size);
 
 	return 0;
drivers/hwmon/k10temp.c +1 -8
index 2cef0c37ff6f..bc6871c8dd4e 100644
@@ -23,6 +23,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/pci.h>
+#include <linux/pci_ids.h>
 #include <asm/amd_nb.h>
 #include <asm/processor.h>
 
@@ -41,14 +42,6 @@ static DEFINE_MUTEX(nb_smu_ind_mutex);
 #define PCI_DEVICE_ID_AMD_15H_M70H_NB_F3	0x15b3
 #endif
 
-#ifndef PCI_DEVICE_ID_AMD_17H_DF_F3
-#define PCI_DEVICE_ID_AMD_17H_DF_F3	0x1463
-#endif
-
-#ifndef PCI_DEVICE_ID_AMD_17H_M10H_DF_F3
-#define PCI_DEVICE_ID_AMD_17H_M10H_DF_F3	0x15eb
-#endif
-
 /* CPUID function 0x80000001, ebx */
 #define CPUID_PKGTYPE_MASK	0xf0000000
 #define CPUID_PKGTYPE_F		0x00000000
drivers/i2c/busses/i2c-eg20t.c +0 -1
index 835d54ac2971..231675b10376 100644
@@ -177,7 +177,6 @@ static wait_queue_head_t pch_event;
 static DEFINE_MUTEX(pch_mutex);
 
 /* Definition for ML7213 by LAPIS Semiconductor */
-#define PCI_VENDOR_ID_ROHM		0x10DB
 #define PCI_DEVICE_ID_ML7213_I2C	0x802D
 #define PCI_DEVICE_ID_ML7223_I2C	0x8010
 #define PCI_DEVICE_ID_ML7831_I2C	0x8817
drivers/infiniband/core/uverbs_main.c +2 -0
index 5404717998b0..fc4b46258c75 100644
@@ -360,6 +360,8 @@ static __poll_t ib_uverbs_event_poll(struct ib_uverbs_event_queue *ev_queue,
 	spin_lock_irq(&ev_queue->lock);
 	if (!list_empty(&ev_queue->event_list))
 		pollflags = EPOLLIN | EPOLLRDNORM;
+	else if (ev_queue->is_closed)
+		pollflags = EPOLLERR;
 	spin_unlock_irq(&ev_queue->lock);
 
 	return pollflags;
drivers/input/mouse/synaptics.c +1 -0
index d9042d0566ab..671e018eb363 100644
@@ -173,6 +173,7 @@ static const char * const smbus_pnp_ids[] = {
 	"LEN005b", /* P50 */
 	"LEN005e", /* T560 */
 	"LEN006c", /* T470s */
+	"LEN007a", /* T470s */
 	"LEN0071", /* T480 */
 	"LEN0072", /* X1 Carbon Gen 5 (2017) - Elan/ALPS trackpoint */
 	"LEN0073", /* X1 Carbon G5 (Elantech) */
drivers/input/touchscreen/mms114.c +5 -7
index a5ab774da4cc..fca908ba4841 100644
@@ -91,15 +91,15 @@ static int __mms114_read_reg(struct mms114_data *data, unsigned int reg,
 	if (reg <= MMS114_MODE_CONTROL && reg + len > MMS114_MODE_CONTROL)
 		BUG();
 
-	/* Write register: use repeated start */
+	/* Write register */
 	xfer[0].addr = client->addr;
-	xfer[0].flags = I2C_M_TEN | I2C_M_NOSTART;
+	xfer[0].flags = client->flags & I2C_M_TEN;
 	xfer[0].len = 1;
 	xfer[0].buf = &buf;
 
 	/* Read data */
 	xfer[1].addr = client->addr;
-	xfer[1].flags = I2C_M_RD;
+	xfer[1].flags = (client->flags & I2C_M_TEN) | I2C_M_RD;
 	xfer[1].len = len;
 	xfer[1].buf = val;
 
@@ -428,10 +428,8 @@ static int mms114_probe(struct i2c_client *client,
 	const void *match_data;
 	int error;
 
-	if (!i2c_check_functionality(client->adapter,
-				I2C_FUNC_PROTOCOL_MANGLING)) {
-		dev_err(&client->dev,
-			"Need i2c bus that supports protocol mangling\n");
+	if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
+		dev_err(&client->dev, "Not supported I2C adapter\n");
 		return -ENODEV;
 	}
 
drivers/isdn/hardware/mISDN/w6692.c +0 -3
index 5acf6ab67cd3..6f60aced11c5 100644
@@ -52,10 +52,7 @@ static const struct w6692map  w6692_map[] =
 	{W6692_USR, "USR W6692"}
 };
 
-#ifndef PCI_VENDOR_ID_USR
-#define PCI_VENDOR_ID_USR	0x16ec
 #define PCI_DEVICE_ID_USR_6692	0x3409
-#endif
 
 struct w6692_ch {
 	struct bchannel		bch;
drivers/macintosh/windfarm_pm112.c +13 -8
index fec91db1142e..6ece5c1a7840 100644
@@ -133,14 +133,6 @@ static int create_cpu_loop(int cpu)
 	s32 tmax;
 	int fmin;
 
-	/* Get PID params from the appropriate SAT */
-	hdr = smu_sat_get_sdb_partition(chip, 0xC8 + core, NULL);
-	if (hdr == NULL) {
-		printk(KERN_WARNING"windfarm: can't get CPU PID fan config\n");
-		return -EINVAL;
-	}
-	piddata = (struct smu_sdbp_cpupiddata *)&hdr[1];
-
 	/* Get FVT params to get Tmax; if not found, assume default */
 	hdr = smu_sat_get_sdb_partition(chip, 0xC4 + core, NULL);
 	if (hdr) {
@@ -153,6 +145,16 @@ static int create_cpu_loop(int cpu)
 	if (tmax < cpu_all_tmax)
 		cpu_all_tmax = tmax;
 
+	kfree(hdr);
+
+	/* Get PID params from the appropriate SAT */
+	hdr = smu_sat_get_sdb_partition(chip, 0xC8 + core, NULL);
+	if (hdr == NULL) {
+		printk(KERN_WARNING"windfarm: can't get CPU PID fan config\n");
+		return -EINVAL;
+	}
+	piddata = (struct smu_sdbp_cpupiddata *)&hdr[1];
+
 	/*
 	 * Darwin has a minimum fan speed of 1000 rpm for the 4-way and
 	 * 515 for the 2-way.  That appears to be overkill, so for now,
@@ -175,6 +177,9 @@ static int create_cpu_loop(int cpu)
 		pid.min = fmin;
 
 	wf_cpu_pid_init(&cpu_pid[cpu], &pid);
+
+	kfree(hdr);
+
 	return 0;
 }
 
drivers/md/bcache/super.c +5 -2
index 5b5cbfadd003..68ebc2759c2e 100644
@@ -775,7 +775,9 @@ static void bcache_device_free(struct bcache_device *d)
 		bcache_device_detach(d);
 
 	if (disk) {
-		if (disk->flags & GENHD_FL_UP)
+		bool disk_added = (disk->flags & GENHD_FL_UP) != 0;
+
+		if (disk_added)
 			del_gendisk(disk);
 
 		if (disk->queue)
@@ -783,7 +785,8 @@ static void bcache_device_free(struct bcache_device *d)
 
 		ida_simple_remove(&bcache_device_idx,
 				  first_minor_to_idx(disk->first_minor));
-		put_disk(disk);
+		if (disk_added)
+			put_disk(disk);
 	}
 
 	bioset_exit(&d->bio_split);
drivers/md/dm-crypt.c +1 -1
index 750f8b34e693..07661c3c1513 100644
@@ -3078,7 +3078,7 @@ static void crypt_io_hints(struct dm_target *ti, struct queue_limits *limits)
 	limits->max_segment_size = PAGE_SIZE;
 
 	limits->logical_block_size =
-		max_t(unsigned short, limits->logical_block_size, cc->sector_size);
+		max_t(unsigned, limits->logical_block_size, cc->sector_size);
 	limits->physical_block_size =
 		max_t(unsigned, limits->physical_block_size, cc->sector_size);
 	limits->io_min = max_t(unsigned, limits->io_min, cc->sector_size);
drivers/md/md.c +2 -1
index 9426976e0860..a6db4fd267aa 100644
@@ -7438,7 +7438,8 @@ static int md_open(struct block_device *bdev, fmode_t mode)
 		 */
 		mddev_put(mddev);
 		/* Wait until bdev->bd_disk is definitely gone */
-		flush_workqueue(md_misc_wq);
+		if (work_pending(&mddev->del_work))
+			flush_workqueue(md_misc_wq);
 		/* Then retry the open from the top */
 		return -ERESTARTSYS;
 	}
drivers/media/cec/cec-adap.c +4 -4
index ba7e976bf6dc..60b20ae02b05 100644
@@ -1668,6 +1668,10 @@ int __cec_s_log_addrs(struct cec_adapter *adap,
 		unsigned j;
 
 		log_addrs->log_addr[i] = CEC_LOG_ADDR_INVALID;
+		if (log_addrs->log_addr_type[i] > CEC_LOG_ADDR_TYPE_UNREGISTERED) {
+			dprintk(1, "unknown logical address type\n");
+			return -EINVAL;
+		}
 		if (type_mask & (1 << log_addrs->log_addr_type[i])) {
 			dprintk(1, "duplicate logical address type\n");
 			return -EINVAL;
@@ -1688,10 +1692,6 @@ int __cec_s_log_addrs(struct cec_adapter *adap,
 			dprintk(1, "invalid primary device type\n");
 			return -EINVAL;
 		}
-		if (log_addrs->log_addr_type[i] > CEC_LOG_ADDR_TYPE_UNREGISTERED) {
-			dprintk(1, "unknown logical address type\n");
-			return -EINVAL;
-		}
 		for (j = 0; j < feature_sz; j++) {
 			if ((features[j] & 0x80) == 0) {
 				if (op_is_dev_features)
drivers/media/i2c/ov5640.c +2 -2
index 2023df14f828..aa9c0b7ee7a2 100644
@@ -2829,8 +2829,8 @@ static int ov5640_probe(struct i2c_client *client,
 free_ctrls:
 	v4l2_ctrl_handler_free(&sensor->ctrls.handler);
 entity_cleanup:
-	mutex_destroy(&sensor->lock);
 	media_entity_cleanup(&sensor->sd.entity);
+	mutex_destroy(&sensor->lock);
 	return ret;
 }
 
@@ -2840,9 +2840,9 @@ static int ov5640_remove(struct i2c_client *client)
 	struct ov5640_dev *sensor = to_ov5640_dev(sd);
 
 	v4l2_async_unregister_subdev(&sensor->sd);
-	mutex_destroy(&sensor->lock);
 	media_entity_cleanup(&sensor->sd.entity);
 	v4l2_ctrl_handler_free(&sensor->ctrls.handler);
+	mutex_destroy(&sensor->lock);
 
 	return 0;
 }
drivers/media/platform/rcar-fcp.c +5 -0
index 43c78620c9d8..5c6b00737fe7 100644
@@ -8,6 +8,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/dma-mapping.h>
 #include <linux/list.h>
 #include <linux/module.h>
 #include <linux/mod_devicetable.h>
@@ -21,6 +22,7 @@
 struct rcar_fcp_device {
 	struct list_head list;
 	struct device *dev;
+	struct device_dma_parameters dma_parms;
 };
 
 static LIST_HEAD(fcp_devices);
@@ -136,6 +138,9 @@ static int rcar_fcp_probe(struct platform_device *pdev)
 
 	fcp->dev = &pdev->dev;
 
+	fcp->dev->dma_parms = &fcp->dma_parms;
+	dma_set_max_seg_size(fcp->dev, DMA_BIT_MASK(32));
+
 	pm_runtime_enable(&pdev->dev);
 
 	mutex_lock(&fcp_lock);
drivers/media/tuners/si2157.c +7 -8
index a08d8fe2bb1b..13770b038048 100644
@@ -84,24 +84,23 @@ static int si2157_init(struct dvb_frontend *fe)
 	struct si2157_cmd cmd;
 	const struct firmware *fw;
 	const char *fw_name;
-	unsigned int uitmp, chip_id;
+	unsigned int chip_id, xtal_trim;
 
 	dev_dbg(&client->dev, "\n");
 
-	/* Returned IF frequency is garbage when firmware is not running */
-	memcpy(cmd.args, "\x15\x00\x06\x07", 4);
+	/* Try to get Xtal trim property, to verify tuner still running */
+	memcpy(cmd.args, "\x15\x00\x04\x02", 4);
 	cmd.wlen = 4;
 	cmd.rlen = 4;
 	ret = si2157_cmd_execute(client, &cmd);
-	if (ret)
-		goto err;
 
-	uitmp = cmd.args[2] << 0 | cmd.args[3] << 8;
-	dev_dbg(&client->dev, "if_frequency kHz=%u\n", uitmp);
+	xtal_trim = cmd.args[2] | (cmd.args[3] << 8);
 
-	if (uitmp == dev->if_frequency / 1000)
+	if (ret == 0 && xtal_trim < 16)
 		goto warm;
 
+	dev->if_frequency = 0; /* we no longer know current tuner state */
+
 	/* power up */
 	if (dev->chiptype == SI2157_CHIPTYPE_SI2146) {
 		memcpy(cmd.args, "\xc0\x05\x01\x00\x00\x0b\x00\x00\x01", 9);
drivers/media/usb/dvb-usb/dibusb-mb.c +1 -1
index 408920577716..94f59c7765dc 100644
@@ -84,7 +84,7 @@ static int dibusb_tuner_probe_and_attach(struct dvb_usb_adapter *adap)
 
 	if (i2c_transfer(&adap->dev->i2c_adap, msg, 2) != 2) {
 		err("tuner i2c write failed.");
-		ret = -EREMOTEIO;
+		return -EREMOTEIO;
 	}
 
 	if (adap->fe_adap[0].fe->ops.i2c_gate_ctrl)
drivers/media/usb/go7007/snd-go7007.c +17 -18
index 137fc253b122..96c37a131deb 100644
@@ -244,22 +244,18 @@ int go7007_snd_init(struct go7007 *go)
 	gosnd->capturing = 0;
 	ret = snd_card_new(go->dev, index[dev], id[dev], THIS_MODULE, 0,
 			   &gosnd->card);
-	if (ret < 0) {
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_snd;
+
 	ret = snd_device_new(gosnd->card, SNDRV_DEV_LOWLEVEL, go,
 			&go7007_snd_device_ops);
-	if (ret < 0) {
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_card;
+
 	ret = snd_pcm_new(gosnd->card, "go7007", 0, 0, 1, &gosnd->pcm);
-	if (ret < 0) {
-		snd_card_free(gosnd->card);
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_card;
+
 	strlcpy(gosnd->card->driver, "go7007", sizeof(gosnd->card->driver));
 	strlcpy(gosnd->card->shortname, go->name, sizeof(gosnd->card->driver));
 	strlcpy(gosnd->card->longname, gosnd->card->shortname,
@@ -270,11 +266,8 @@ int go7007_snd_init(struct go7007 *go)
 			&go7007_snd_capture_ops);
 
 	ret = snd_card_register(gosnd->card);
-	if (ret < 0) {
-		snd_card_free(gosnd->card);
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_card;
 
 	gosnd->substream = NULL;
 	go->snd_context = gosnd;
@@ -282,6 +275,12 @@ int go7007_snd_init(struct go7007 *go)
 	++dev;
 
 	return 0;
+
+free_card:
+	snd_card_free(gosnd->card);
+free_snd:
+	kfree(gosnd);
+	return ret;
 }
 EXPORT_SYMBOL(go7007_snd_init);
 
drivers/misc/pch_phub.c +0 -1
index 540845651b8c..309703e9c42e 100644
@@ -64,7 +64,6 @@
 #define CLKCFG_UARTCLKSEL			(1 << 18)
 
 /* Macros for ML7213 */
-#define PCI_VENDOR_ID_ROHM			0x10db
 #define PCI_DEVICE_ID_ROHM_ML7213_PHUB		0x801A
 
 /* Macros for ML7223 */
drivers/misc/pci_endpoint_test.c +19 -1
index 727dc6ec427d..7d166f57f624 100644
@@ -75,6 +75,11 @@
 #define PCI_ENDPOINT_TEST_IRQ_TYPE		0x24
 #define PCI_ENDPOINT_TEST_IRQ_NUMBER		0x28
 
+#define PCI_DEVICE_ID_TI_AM654			0xb00c
+
+#define is_am654_pci_dev(pdev)		\
[… more lines in the raw message]

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

drivers/mmc/core/sdio.c +1 -2
index 0aa99694b937..4e72ad24322f 100644

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

drivers/mmc/host/meson-mx-sdio.c +3 -0
index 1c062473b1c2..27837a794e7b 100644

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

drivers/mmc/host/sdhci-esdhc-imx.c +1 -1
index 629860f7327c..bd502f4f4704 100644

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

drivers/mmc/host/sdhci-msm.c +9 -1
index 19ae527ecc72..643fd1a1b88b 100644

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

drivers/mmc/host/via-sdmmc.c +6 -1
index 32c4211506fc..246dc6255e69 100644

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

drivers/mtd/nand/raw/brcmnand/brcmnand.c +7 -4
index 4b90d5b380c2..8002a2a390e5 100644

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

drivers/mtd/nand/raw/pasemi_nand.c +3 -1
index a47a7e4bd25a..d69e5bae541e 100644

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

drivers/net/ethernet/allwinner/sun4i-emac.c +2 -2
index 3143de45baaa..c458b81ba63a 100644

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

drivers/net/ethernet/amazon/ena/ena_com.c +4 -2
index 3afc0e59a2bd..d07f7f65169a 100644

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

drivers/net/ethernet/aquantia/atlantic/aq_nic.c +6 -0
index 15dcfb6704e5..adac5df0d6b4 100644

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

drivers/net/ethernet/broadcom/genet/bcmgenet.c +4 -0
index 047fc0cf0263..40e8ef984b62 100644

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

drivers/net/ethernet/ibm/ibmvnic.c +3 -5
index abfd990ba4d8..645298628b6f 100644

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

drivers/net/ethernet/intel/e1000/e1000_main.c +3 -1
index 2110d5f2da19..47b867c64b14 100644

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

drivers/net/ethernet/intel/e1000e/e1000.h +0 -1
index c760dc72c520..c5a119daa7f3 100644

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

drivers/net/ethernet/intel/e1000e/netdev.c +9 -7
index a7b5a47ab83d..589a5296da4b 100644

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

drivers/net/ethernet/intel/igb/igb_ethtool.c +2 -1
index 50954e444985..2e17625e6c35 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +1 -1
index 0bd1294ba517..39c5e6fdb72c 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +2 -1
index 8177276500f5..7d723b70fcf6 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +12 -3
index 044687a1f27c..9d86e49a7f44 100644

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

drivers/net/ethernet/nxp/lpc_eth.c +2 -1
index 41d30f55c946..6bd6c261f2ba 100644

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

drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +2 -5
index 43c0c10dfeb7..3a4225837049 100644

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

drivers/net/ethernet/qlogic/qede/qede.h +2 -0
index dc3be8a4acf4..2bdc410d1144 100644

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

drivers/net/ethernet/qlogic/qede/qede_main.c +9 -2
index 0d8e39ffbcd1..1aabb2e7a38b 100644

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

drivers/net/ethernet/realtek/r8169.c +1 -1
index 807ef43a3cda..6df404e3dd27 100644

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

drivers/net/macvlan.c +4 -0
index 225bfc808112..349123592af0 100644

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

drivers/net/net_failover.c +2 -1
index beeb7eb76ca3..57273188b71e 100644

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

drivers/net/tun.c +9 -3
index 09c444d3b496..d84a09172ddb 100644

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

drivers/net/veth.c +4 -4
index 41a00cd76955..2abbad1abaf2 100644

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

drivers/net/vmxnet3/vmxnet3_ethtool.c +2 -0
index 559db051a500..88d18ab83e54 100644

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

drivers/net/vxlan.c +4 -0
index 7ee0bad18466..09f0b53b2b77 100644

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

drivers/net/wireless/ath/ath10k/mac.c +3 -0
index a09d7a07e90a..81af403c19c2 100644

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

drivers/net/wireless/ath/ath10k/wmi-ops.h +10 -0
index 7fd63bbf8e24..b6cd33fa79f8 100644

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

drivers/net/wireless/ath/ath10k/wmi-tlv.c +15 -0
index 248decb494c2..7f435fa29f75 100644

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

drivers/net/wireless/ath/ath9k/hif_usb.c +45 -13

58 lines not on this page · raw message

drivers/net/wireless/ath/ath9k/hif_usb.h +6 -0
index 7846916aa01d..5985aa15ca93 100644

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

drivers/net/wireless/ath/ath9k/htc_drv_init.c +7 -3
index 214c68269a69..27d9fe6799f5 100644

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

drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +3 -3
index b5d7ef4da17f..f19393e584dc 100644

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

drivers/net/wireless/ath/ath9k/htc_hst.c +3 -0
index 1bf63a4efb4c..d2e062eaf561 100644

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

drivers/net/wireless/ath/ath9k/wmi.c +4 -1
index d1f6710ca63b..e7a3127395be 100644

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

drivers/net/wireless/ath/ath9k/wmi.h +2 -1
index 380175d5ecd7..d8b912206232 100644

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

drivers/net/wireless/ath/carl9170/fw.c +1 -3
index 88045f93a76c..62ed0977f32c 100644

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

drivers/net/wireless/ath/carl9170/main.c +4 -17
index 7f1bdea742b8..7064e6fc5dbb 100644

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

drivers/net/wireless/ath/wcn36xx/main.c +4 -2
index 79998a3ddb7a..ad051f34e65b 100644

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

drivers/net/wireless/broadcom/b43/main.c +1 -1
index b37e7391f55d..8a226a9d755e 100644

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

drivers/net/wireless/broadcom/b43legacy/main.c +1 -0
index 770cc218ca4b..ef1f1b5d63b1 100644

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

drivers/net/wireless/broadcom/b43legacy/xmit.c +1 -0
index 35ccf400b02c..87045e30e585 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +2 -1
index 4c5a3995dc35..d7f41caa0b0b 100644

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

drivers/net/wireless/marvell/mwifiex/cfg80211.c +6 -8
index 7b74ef71bef1..650191db25cb 100644

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

drivers/net/wireless/mediatek/mt76/agg-rx.c +4 -4
index 73c8b2805c97..d44d57e6eb27 100644

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

drivers/net/wireless/mediatek/mt76/mt76.h +3 -3
index 2eab35879163..7b1667ec619e 100644

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

drivers/net/wireless/realtek/rtlwifi/usb.c +2 -6
index 1181b725f503..1893640555c1 100644

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

drivers/nvme/host/core.c +14 -2
index d5359c7c811a..0d60f2f8f3ee 100644

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

drivers/pci/controller/pcie-mediatek.c +18 -0
index 1bfbceb9f445..ca06d8bc01e7 100644

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

drivers/pci/controller/vmd.c +2 -0
index ab36e5ca1aca..b52885020c85 100644

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

drivers/pci/probe.c +22 -2
index fa4c386c8cd8..243b65f3c282 100644

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

drivers/pci/quirks.c +202 -58

260 lines not on this page · raw message

drivers/perf/hisilicon/hisi_uncore_hha_pmu.c +1 -1
index 443906e0aff3..0393c4471227 100644

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

drivers/pinctrl/samsung/pinctrl-exynos.c +58 -24

82 lines not on this page · raw message

drivers/platform/x86/hp-wmi.c +8 -2
index 06a3c1ef8eee..952544ca0d84 100644

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

drivers/platform/x86/intel-hid.c +7 -0
index 3201a83073b5..c514cb73bb50 100644

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

drivers/platform/x86/intel-vbtn.c +55 -20

75 lines not on this page · raw message

drivers/power/reset/vexpress-poweroff.c +1 -0
index e9e749f87517..8fb43c4438e6 100644

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

drivers/scsi/megaraid/megaraid_sas_fusion.c +6 -1
index 81bd824bb9d9..bdb12bf0d5c7 100644

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

drivers/spi/spi-bcm-qspi.c +4 -4
index 285a6f463013..2145a70dac69 100644

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

drivers/spi/spi-bcm2835.c +3 -1
index eab27d41ba83..df6abc75bc16 100644

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

drivers/spi/spi-bcm2835aux.c +3 -1
index c63ed402cf86..11895c98aae3 100644

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

drivers/spi/spi-dw-mid.c +11 -5
index 3db905f5f345..10f328558d55 100644

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

drivers/spi/spi-dw.c +6 -6
index 6f0f6b99953d..b1c137261d0f 100644

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

drivers/spi/spi-pxa2xx.c +8 -4
index e4482823d8d7..eafd0c2135a1 100644

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

drivers/spi/spi-topcliff-pch.c +0 -1
index fa730a871d25..8a5966963834 100644

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

drivers/spi/spi.c +2 -2
index 88a8a8edd44b..f589d8100e95 100644

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

drivers/staging/android/ion/ion_heap.c +2 -2
index 31db510018a9..6babcdb4d7d2 100644

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

drivers/staging/greybus/sdio.c +7 -3
index 38e85033fc4b..afb2e5e5111a 100644

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

drivers/tty/serial/8250/8250_pci.c +0 -6
index bbe5cba21522..02091782bc1e 100644

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

drivers/tty/serial/pch_uart.c +0 -2
index 3245cdbf9116..e5ff30544bd0 100644

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

drivers/usb/dwc3/dwc3-haps.c +0 -4
index c9cc33881bef..02d57d98ef9b 100644

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

drivers/usb/gadget/udc/pch_udc.c +0 -1
index 991184b8bb41..667011c99372 100644

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

drivers/video/fbdev/w100fb.c +2 -0
index 696106ecdff0..967030176d87 100644

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

drivers/w1/masters/omap_hdq.c +5 -5
index 3099052e1243..0667bc6e7d23 100644

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

drivers/xen/pvcalls-back.c +2 -1
index b3fbfed28682..398fd8b1639d 100644

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

fs/aio.c +8 -0
index b5fbf2061868..413ec289bfa1 100644

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

fs/btrfs/dev-replace.c +4 -4
index 96763805787e..1b9c8ffb038f 100644

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

fs/btrfs/disk-io.c +10 -0
index da7a2a530647..9740f7b5d4fb 100644

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

fs/btrfs/file-item.c +4 -2
index f9e280d0b44f..1b8a04b767ff 100644

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

fs/btrfs/inode.c +5 -5
index c69e5b255745..887f9ebc2bc2 100644

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

fs/btrfs/ioctl.c +3 -2
index 199c70b8f7d8..a5ae02bf3652 100644

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

fs/btrfs/qgroup.c +14 -0
index cbd40826f5dc..c8ed4db73b84 100644

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

fs/btrfs/scrub.c +2 -2
index 6b6008db3e03..fee8995c9a0c 100644

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

fs/btrfs/send.c +67 -0

67 lines not on this page · raw message

fs/btrfs/tree-checker.c +20 -0
index 3ec712cba58e..d98ec885b72a 100644

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

fs/btrfs/volumes.c +44 -42

86 lines not on this page · raw message

fs/btrfs/volumes.h +2 -2
index ac703b15d679..8e8bf3246de1 100644

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

fs/ext4/ext4_extents.h +6 -3
index adf6668b596f..c5794ff64a01 100644

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

fs/ext4/fsync.c +13 -15
index 5508baa11bb6..8a28d47bd502 100644

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

fs/ext4/xattr.c +5 -2
index f73fc90e5daa..899567d74c2a 100644

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

fs/fat/inode.c +6 -0
index 70d37a5fd72c..607e1d124062 100644

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

fs/fs-writeback.c +1 -0
index a89e27367e34..7bfeb1643c1f 100644

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

fs/nilfs2/segment.c +2 -0
index 445eef41bfaf..91b58c897f92 100644

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

fs/overlayfs/copy_up.c +1 -1
index ffc73600216b..6eb0b882ad23 100644

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

fs/proc/inode.c +1 -1
index fc5306a31a1d..31bf3bb8ddae 100644

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

fs/proc/self.c +1 -1
index 127265e5c55f..cc6d4253399d 100644

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

fs/proc/thread_self.c +1 -1
index b905010ca9eb..ed009aa135dd 100644

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

fs/xfs/xfs_bmap_util.c +1 -1
index e638740f1681..3e1dd66bd676 100644

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

fs/xfs/xfs_buf.c +5 -3
index c1f7c0d5d608..b33a9cd4fe94 100644

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

fs/xfs/xfs_dquot.c +4 -5
index a1af984e4913..59b2b29542f4 100644

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

include/linux/kgdb.h +1 -1
index e465bb15912d..6be5545d3584 100644

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

include/linux/kvm_host.h +2 -2
index 92c6f80e6327..a0de4c7dc9d3 100644

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

include/linux/mm.h +1 -0
index b1092046ebef..05bc5f25ab85 100644

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

include/linux/mmzone.h +2 -0
index d6791e2df30a..fdd93a39f1fa 100644

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

include/linux/pci_ids.h +34 -2
index d157983b84cf..c0dd2f749d3f 100644

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

include/linux/sched/mm.h +2 -0
index e9d4e389aed9..766bbe813861 100644

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

include/linux/set_memory.h +1 -1
index 2a986d282a97..a0e15e7b0b99 100644

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

include/linux/string.h +48 -12

60 lines not on this page · raw message

include/linux/sunrpc/gss_api.h +1 -0
index 5ac5db4d295f..566d5f547567 100644

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

include/linux/sunrpc/svcauth_gss.h +2 -1
index a4528b26c8aa..d229d27ab19e 100644

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

include/linux/uaccess.h +1 -1
index efe79c1cdd47..d55b68b113de 100644

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

include/uapi/linux/kvm.h +2 -0
index 251be353f950..66ce6659ecb6 100644

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

kernel/audit.c +30 -22

52 lines not on this page · raw message

kernel/audit.h +1 -1
index 214e14948370..99badd7ba56f 100644

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

kernel/auditfilter.c +7 -9
index 1c8a48abda80..b2cc63ca0068 100644

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

kernel/compat.c +2 -4
index 8e40efc2928a..e4548a9e9c52 100644

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

kernel/cpu.c +17 -1
index 6d6c106a495c..08b9d6ba0807 100644

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

kernel/cpu_pm.c +2 -2
index 67b02e138a47..2ed6351e2a7e 100644

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

kernel/debug/debug_core.c +5 -0
index 94aa9ae0007a..6a1dc2613bb9 100644

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

kernel/events/core.c +14 -9
index 21e3c65abc76..a17e6302ded5 100644

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

kernel/exit.c +18 -13
index 54c3269b8dda..eeaafd4064c9 100644

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

kernel/sched/core.c +3 -2
index 2befd2c4ce9e..0325ccf3a8e4 100644

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

kernel/sched/fair.c +1 -1
index 86ccaaf0c1bf..92b1e71f13c8 100644

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

lib/mpi/longlong.h +1 -1
index e01b705556aa..6c5229f98c9e 100644

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

lib/strncpy_from_user.c +12 -11
index e304b54c9c7d..fc5b1e2d997d 100644

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

lib/strnlen_user.c +12 -11
index 184f80f7bacf..0bf7c06ebdad 100644

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

mm/huge_memory.c +28 -3
index 280b0e71b783..1443ae6fee9b 100644

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

mm/page_alloc.c +7 -12
index d8c3051387d1..7181dfe76440 100644

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

mm/slub.c +3 -1
index d8116a43a287..b94ba8d35a02 100644

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

mm/util.c +18 -0
index 6a24a1025d77..621afcea2bfa 100644

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

net/batman-adv/bat_v_elp.c +1 -14
index 5da183b2f4c9..af3da6cdfc79 100644

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

net/bluetooth/hci_event.c +1 -0
index 3e7badb3ac2d..a044e6bb12b8 100644

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

net/bridge/br_arp_nd_proxy.c +4 -0
index d42e3904b498..eb44ae05abaa 100644

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

net/ipv6/ipv6_sockglue.c +7 -6
index 231c489128e4..aa54303c43a6 100644

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

net/netfilter/nft_nat.c +2 -2
index c15807d10b91..3e82a7d0df2a 100644

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

net/sunrpc/auth_gss/gss_mech_switch.c +9 -3
index 5fec3abbe19b..c7d88f979c56 100644

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

net/sunrpc/auth_gss/svcauth_gss.c +10 -8
index 68830e88b6e9..68259eec6afd 100644

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

security/integrity/evm/evm_crypto.c +1 -1
index d20f5792761c..fc142d04d365 100644

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

security/integrity/ima/ima.h +6 -4
index 67db9d9454ca..d12b07eb3a58 100644

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

security/integrity/ima/ima_crypto.c +3 -3
index 6a6d19ada66a..c5dd05ace28c 100644

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

security/integrity/ima/ima_init.c +1 -1
index faac9ecaa0ae..a2bc4cb4482a 100644

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

security/integrity/ima/ima_policy.c +1 -2
index 93babb60b05a..2d5a3daa02f9 100644

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

security/integrity/ima/ima_template_lib.c +18 -0
index 43752002c222..48c5a1be88ac 100644

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

security/keys/internal.h +0 -11
index eb50212fbbf8..d1b9c5957000 100644

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

security/keys/keyctl.c +5 -11
index c07c2e2b2478..9394d72a77e8 100644

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

security/smack/smackfs.c +10 -0
index f6482e53d55a..371ae368da35 100644

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

sound/core/pcm_native.c +5 -0
index f03ceaff75b5..7c12b0deb4eb 100644

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

sound/isa/es1688/es1688.c +3 -1
index 3dfe7e592c25..5a69314413b6 100644

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

sound/pci/hda/patch_realtek.c +6 -0
index b06f7d52faad..b4f802013f74 100644

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

sound/pci/lx6464es/lx6464es.c +8 -0
index 54f6252faca6..daf25655f635 100644

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

sound/usb/card.c +12 -7
index 746a72e23cf9..2644a5ae2b75 100644

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

sound/usb/quirks-table.h +20 -0
index b798eae0a785..e2725ab4d985 100644

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

sound/usb/usbaudio.h +1 -1
index 4a0a5a071d51..0d620c267e7a 100644

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

tools/lib/api/fs/fs.c +17 -0
index bd021a0eeef8..4cc69675c2a9 100644

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

tools/lib/api/fs/fs.h +12 -0
index 92d03b8396b1..3b70003e7cfb 100644

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

tools/objtool/check.c +6 -0
index 4d509734b695..fd3071d83dea 100644

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

tools/perf/builtin-probe.c +3 -0
index 0bdb34fee9d8..215da628d60b 100644

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

tools/perf/util/dso.c +16 -0
index cee717a3794f..56f86317694d 100644

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

tools/perf/util/dso.h +1 -0
index c5380500bed4..0b474c7ef1e1 100644

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

tools/perf/util/probe-event.c +29 -20

49 lines not on this page · raw message

tools/perf/util/probe-finder.c +1 -0
index 876787de7959..60169196b948 100644

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

tools/perf/util/symbol.c +2 -0
index 91404bacc3df..b6f8349abc67 100644

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

tools/testing/selftests/bpf/test_progs.c +1 -0
index 89f8b0dae7ef..bad3505d66e0 100644

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

tools/testing/selftests/bpf/test_select_reuseport.c +4 -4
index cdbbdab2725f..b14d25bfa830 100644

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

tools/testing/selftests/networking/timestamping/rxtimestamp.c +1 -0
index dd4162fc0419..7a573fb4c1c4 100644

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

virt/kvm/arm/aarch32.c +28 -0
index 18d6d5124397..92c9ad6c0182 100644

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

virt/kvm/kvm_main.c +16 -8
index aca15bd1cc4c..1218ea663c6d 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.