Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 976f78d5 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 4.19.16 into android-4.19



Changes in 4.19.16
	Btrfs: fix deadlock when using free space tree due to block group creation
	staging: rtl8188eu: Fix module loading from tasklet for CCMP encryption
	staging: rtl8188eu: Fix module loading from tasklet for WEP encryption
	cpufreq: scmi: Fix frequency invariance in slow path
	x86, modpost: Replace last remnants of RETPOLINE with CONFIG_RETPOLINE
	ALSA: hda/realtek - Support Dell headset mode for New AIO platform
	ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225
	ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225
	CIFS: Fix adjustment of credits for MTU requests
	CIFS: Do not set credits to 1 if the server didn't grant anything
	CIFS: Do not hide EINTR after sending network packets
	CIFS: Fix credit computation for compounded requests
	cifs: Fix potential OOB access of lock element array
	usb: cdc-acm: send ZLP for Telit 3G Intel based modems
	USB: storage: don't insert sane sense for SPC3+ when bad sense specified
	USB: storage: add quirk for SMI SM3350
	USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB
	slab: alien caches must not be initialized if the allocation of the alien cache failed
	mm/usercopy.c: no check page span for stack objects
	mm, memcg: fix reclaim deadlock with writeback
	ACPI: power: Skip duplicate power resource references in _PRx
	ACPI / PMIC: xpower: Fix TS-pin current-source handling
	ACPI/IORT: Fix rc_dma_get_range()
	i2c: dev: prevent adapter retries and timeout being set as minus value
	mtd: rawnand: qcom: fix memory corruption that causes panic
	vfio/type1: Fix unmap overflow off-by-one
	drm/amdgpu: Add new VegaM pci id
	PCI: dwc: Use interrupt masking instead of disabling
	PCI: dwc: Take lock when ACKing an interrupt
	PCI: dwc: Move interrupt acking into the proper callback
	drm/amd/display: Fix MST dp_blank REG_WAIT timeout
	drm/fb_helper: Allow leaking fbdev smem_start
	drm/fb-helper: Partially bring back workaround for bugs of SDL 1.2
	drm/i915: Unwind failure on pinning the gen7 ppgtt
	drm/amdgpu: Don't ignore rc from drm_dp_mst_topology_mgr_resume()
	drm/amdgpu: Don't fail resume process if resuming atomic state fails
	rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set
	ext4: make sure enough credits are reserved for dioread_nolock writes
	ext4: fix a potential fiemap/page fault deadlock w/ inline_data
	ext4: avoid kernel warning when writing the superblock to a dead device
	ext4: use ext4_write_inode() when fsyncing w/o a journal
	ext4: track writeback errors using the generic tracking infrastructure
	ext4: fix special inode number checks in __ext4_iget()
	mm: page_mapped: don't assume compound page is huge or THP
	sunrpc: use-after-free in svc_process_common()
	KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less
	arm64: compat: Don't pull syscall number from regs in arm_compat_syscall
	Btrfs: fix access to available allocation bits when starting balance
	Btrfs: fix deadlock when enabling quotas due to concurrent snapshot creation
	Btrfs: use nofs context when initializing security xattrs to avoid deadlock
	Linux 4.19.16

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents ac8ed5f9 9c5931b6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 15
SUBLEVEL = 16
EXTRAVERSION =
NAME = "People's Front"

+4 −5
Original line number Diff line number Diff line
@@ -66,12 +66,11 @@ do_compat_cache_op(unsigned long start, unsigned long end, int flags)
/*
 * Handle all unrecognised system calls.
 */
long compat_arm_syscall(struct pt_regs *regs)
long compat_arm_syscall(struct pt_regs *regs, int scno)
{
	siginfo_t info;
	unsigned int no = regs->regs[7];

	switch (no) {
	switch (scno) {
	/*
	 * Flush a region from virtual address 'r0' to virtual address 'r1'
	 * _exclusive_.  There is no alignment requirement on either address;
@@ -107,7 +106,7 @@ long compat_arm_syscall(struct pt_regs *regs)
		 * way the calling program can gracefully determine whether
		 * a feature is supported.
		 */
		if (no < __ARM_NR_COMPAT_END)
		if (scno < __ARM_NR_COMPAT_END)
			return -ENOSYS;
		break;
	}
@@ -119,6 +118,6 @@ long compat_arm_syscall(struct pt_regs *regs)
	info.si_addr  = (void __user *)instruction_pointer(regs) -
			 (compat_thumb_mode(regs) ? 2 : 4);

	arm64_notify_die("Oops - bad compat syscall(2)", regs, &info, no);
	arm64_notify_die("Oops - bad compat syscall(2)", regs, &info, scno);
	return 0;
}
+4 −5
Original line number Diff line number Diff line
@@ -13,16 +13,15 @@
#include <asm/thread_info.h>
#include <asm/unistd.h>

long compat_arm_syscall(struct pt_regs *regs);

long compat_arm_syscall(struct pt_regs *regs, int scno);
long sys_ni_syscall(void);

asmlinkage long do_ni_syscall(struct pt_regs *regs)
static long do_ni_syscall(struct pt_regs *regs, int scno)
{
#ifdef CONFIG_COMPAT
	long ret;
	if (is_compat_task()) {
		ret = compat_arm_syscall(regs);
		ret = compat_arm_syscall(regs, scno);
		if (ret != -ENOSYS)
			return ret;
	}
@@ -47,7 +46,7 @@ static void invoke_syscall(struct pt_regs *regs, unsigned int scno,
		syscall_fn = syscall_table[array_index_nospec(scno, sc_nr)];
		ret = __invoke_syscall(regs, syscall_fn);
	} else {
		ret = do_ni_syscall(regs);
		ret = do_ni_syscall(regs, scno);
	}

	regs->regs[0] = ret;
+1 −1
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ static enum spectre_v2_mitigation spectre_v2_enabled __ro_after_init =
static enum spectre_v2_user_mitigation spectre_v2_user __ro_after_init =
	SPECTRE_V2_USER_NONE;

#ifdef RETPOLINE
#ifdef CONFIG_RETPOLINE
static bool spectre_v2_bad_module;

bool retpoline_module_ok(bool has_retpoline)
+2 −1
Original line number Diff line number Diff line
@@ -951,9 +951,10 @@ static int rc_dma_get_range(struct device *dev, u64 *size)
{
	struct acpi_iort_node *node;
	struct acpi_iort_root_complex *rc;
	struct pci_bus *pbus = to_pci_dev(dev)->bus;

	node = iort_scan_node(ACPI_IORT_NODE_PCI_ROOT_COMPLEX,
			      iort_match_node_callback, dev);
			      iort_match_node_callback, &pbus->dev);
	if (!node || node->revision < 1)
		return -ENODEV;

Loading