Linux 4.19.129
Greg Kroah-Hartman
maintainerI'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 coreVasily 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
Greg Kroah-Hartman
maintainerDocumentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt +6 -0
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 ) - ®_window[pos], + ®_window[pos++], ®,sizeof (reg),FOLL_FORCE ) !=sizeof (reg))return -EFAULT ; -if (access_process_vm (target, - (unsigned long ) u, - ®,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, - ®,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
@@ -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
@@ -42,6 +42,7 @@ .hidden _ebss .hidden _got .hidden _egot + .hidden _end __HEAD .code32
arch/x86/include/asm/cpufeatures.h +1 -0
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 0x1704const 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 0x121Astatic void ipmi_pci_cleanup (struct si_sm_io *io)
drivers/clk/clk.c +5 -1
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -524,7 +524,6 @@ static int pch_gpio_resume(struct pci_dev *pdev)#define pch_gpio_resume NULL#endif -#define PCI_VENDOR_ID_ROHM 0x10DBstatic 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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) \
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/brcmnand/brcmnand.c +7 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/allwinner/sun4i-emac.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amazon/ena/ena_com.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/aquantia/atlantic/aq_nic.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/genet/bcmgenet.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/e1000/e1000_main.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/e1000e/e1000.h +0 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/e1000e/netdev.c +9 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/igb/igb_ethtool.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +12 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +2 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qede/qede.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qede/qede_main.c +9 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath10k/wmi-ops.h +10 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath10k/wmi-tlv.c +15 -0
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
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_drv_init.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_hst.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/carl9170/main.c +4 -17
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/wcn36xx/main.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/b43/main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/b43legacy/main.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/b43legacy/xmit.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/cfg80211.c +6 -8
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/agg-rx.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76.h +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/usb.c +2 -6
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-mediatek.c +18 -0
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
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/intel-vbtn.c +55 -20
75 lines not on this page · raw message
drivers/power/reset/vexpress-poweroff.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/scsi/megaraid/megaraid_sas_fusion.c +6 -1
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/volumes.c +44 -42
86 lines not on this page · raw message
include/linux/string.h +48 -12
60 lines not on this page · raw message
kernel/audit.c +30 -22
52 lines not on this page · raw message
security/integrity/ima/ima_template_lib.c +18 -0
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/testing/selftests/bpf/test_progs.c +1 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_select_reuseport.c +4 -4
Lines of this file are not shown. View the raw message.
tools/testing/selftests/networking/timestamping/rxtimestamp.c +1 -0
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.