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

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

Merge 4.14.15 into android-4.14



Changes in 4.14.15
	tools/objtool/Makefile: don't assume sync-check.sh is executable
	drm/nouveau/disp/gf119: add missing drive vfunc ptr
	objtool: Fix seg fault with clang-compiled objects
	objtool: Fix Clang enum conversion warning
	objtool: Fix seg fault caused by missing parameter
	powerpc/pseries: Add H_GET_CPU_CHARACTERISTICS flags & wrapper
	powerpc/64: Add macros for annotating the destination of rfid/hrfid
	powerpc/64s: Simple RFI macro conversions
	powerpc/64: Convert the syscall exit path to use RFI_TO_USER/KERNEL
	powerpc/64: Convert fast_exception_return to use RFI_TO_USER/KERNEL
	powerpc/64s: Convert slb_miss_common to use RFI_TO_USER/KERNEL
	powerpc/64s: Add support for RFI flush of L1-D cache
	powerpc/64s: Support disabling RFI flush with no_rfi_flush and nopti
	powerpc/pseries: Query hypervisor for RFI flush settings
	powerpc/powernv: Check device-tree for RFI flush settings
	futex: Avoid violating the 10th rule of futex
	futex: Prevent overflow by strengthen input validation
	ALSA: seq: Make ioctls race-free
	ALSA: pcm: Remove yet superfluous WARN_ON()
	ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant
	ALSA: hda - Apply the existing quirk to iMac 14,1
	IB/hfi1: Prevent a NULL dereference
	RDMA/mlx5: Fix out-of-bound access while querying AH
	timers: Unconditionally check deferrable base
	af_key: fix buffer overread in verify_address_len()
	af_key: fix buffer overread in parse_exthdrs()
	iser-target: Fix possible use-after-free in connection establishment error
	delayacct: Account blkio completion on the correct task
	objtool: Fix seg fault with gold linker
	mmc: sdhci-esdhc-imx: Fix i.MX53 eSDHCv3 clock
	x86/kasan: Panic if there is not enough memory to boot
	x86/retpoline: Fill RSB on context switch for affected CPUs
	x86/retpoline: Add LFENCE to the retpoline/RSB filling RSB macros
	objtool: Improve error message for bad file argument
	x86/cpufeature: Move processor tracing out of scattered features
	module: Add retpoline tag to VERMAGIC
	x86/intel_rdt/cqm: Prevent use after free
	x86/mm/pkeys: Fix fill_sig_info_pkey
	x86/idt: Mark IDT tables __initconst
	x86/tsc: Future-proof native_calibrate_tsc()
	x86/tsc: Fix erroneous TSC rate on Skylake Xeon
	pipe: avoid round_pipe_size() nr_pages overflow on 32-bit
	x86/apic/vector: Fix off by one in error path
	x86/mm: Clean up register saving in the __enc_copy() assembly code
	x86/mm: Use a struct to reduce parameters for SME PGD mapping
	x86/mm: Centralize PMD flags in sme_encrypt_kernel()
	x86/mm: Prepare sme_encrypt_kernel() for PAGE aligned encryption
	ARM: OMAP3: hwmod_data: add missing module_offs for MMC3
	x86/mm: Encrypt the initrd earlier for BSP microcode update
	Input: ALPS - fix multi-touch decoding on SS4 plus touchpads
	Input: synaptics-rmi4 - prevent UAF reported by KASAN
	Input: 88pm860x-ts - fix child-node lookup
	Input: twl6040-vibra - fix child-node lookup
	Input: twl4030-vibra - fix sibling-node lookup
	tracing: Fix converting enum's from the map in trace_event_eval_update()
	phy: work around 'phys' references to usb-nop-xceiv devices
	ARM64: dts: marvell: armada-cp110: Fix clock resources for various node
	ARM: sunxi_defconfig: Enable CMA
	ARM: dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7
	can: peak: fix potential bug in packet fragmentation
	can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once
	can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once
	i2c: core-smbus: prevent stack corruption on read I2C_BLOCK_DATA
	scripts/gdb/linux/tasks.py: fix get_thread_info
	proc: fix coredump vs read /proc/*/stat race
	libata: apply MAX_SEC_1024 to all LITEON EP1 series devices
	scsi: libsas: Disable asynchronous aborts for SATA devices
	workqueue: avoid hard lockups in show_workqueue_state()
	drm/vmwgfx: fix memory corruption with legacy/sou connectors
	dm btree: fix serious bug in btree_split_beneath()
	dm thin metadata: THIN_MAX_CONCURRENT_LOCKS should be 6
	dm integrity: don't store cipher request on the stack
	dm crypt: fix crash by adding missing check for auth key size
	dm crypt: wipe kernel key copy after IV initialization
	dm crypt: fix error return code in crypt_ctr()
	x86: Use __nostackprotect for sme_encrypt_kernel
	alpha/PCI: Fix noname IRQ level detection
	MIPS: CM: Drop WARN_ON(vp != 0)
	KVM: arm/arm64: Check pagesize when allocating a hugepage at Stage 2
	arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
	x86/mce: Make machine check speculation protected
	retpoline: Introduce start/end markers of indirect thunk
	kprobes/x86: Blacklist indirect thunk functions for kprobes
	kprobes/x86: Disable optimizing on the function jumps to indirect thunk
	x86/pti: Document fix wrong index
	x86/retpoline: Optimize inline assembler for vmexit_fill_RSB
	x86/mm: Rework wbinvd, hlt operation in stop_this_cpu()
	mm, page_vma_mapped: Drop faulty pointer arithmetics in check_pte()
	net: mvpp2: do not disable GMAC padding
	MIPS: AR7: ensure the port type's FCR value is used
	Linux 4.14.15

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 9b68347c a16134b0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ this protection comes at a cost:
     non-PTI SYSCALL entry code, so requires mapping fewer
     things into the userspace page tables.  The downside is
     that stacks must be switched at entry time.
  d. Global pages are disabled for all kernel structures not
  c. Global pages are disabled for all kernel structures not
     mapped into both kernel and userspace page tables.  This
     feature of the MMU allows different processes to share TLB
     entries mapping the kernel.  Losing the feature means more
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 14
SUBLEVEL = 14
SUBLEVEL = 15
EXTRAVERSION =
NAME = Petit Gorille

+29 −6
Original line number Diff line number Diff line
@@ -102,6 +102,15 @@ sio_pci_route(void)
				   alpha_mv.sys.sio.route_tab);
}

static bool sio_pci_dev_irq_needs_level(const struct pci_dev *dev)
{
	if ((dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) &&
	    (dev->class >> 8 != PCI_CLASS_BRIDGE_PCMCIA))
		return false;

	return true;
}

static unsigned int __init
sio_collect_irq_levels(void)
{
@@ -110,8 +119,7 @@ sio_collect_irq_levels(void)

	/* Iterate through the devices, collecting IRQ levels.  */
	for_each_pci_dev(dev) {
		if ((dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) &&
		    (dev->class >> 8 != PCI_CLASS_BRIDGE_PCMCIA))
		if (!sio_pci_dev_irq_needs_level(dev))
			continue;

		if (dev->irq)
@@ -120,8 +128,7 @@ sio_collect_irq_levels(void)
	return level_bits;
}

static void __init
sio_fixup_irq_levels(unsigned int level_bits)
static void __sio_fixup_irq_levels(unsigned int level_bits, bool reset)
{
	unsigned int old_level_bits;

@@ -139,12 +146,21 @@ sio_fixup_irq_levels(unsigned int level_bits)
	 */
	old_level_bits = inb(0x4d0) | (inb(0x4d1) << 8);

	level_bits |= (old_level_bits & 0x71ff);
	if (reset)
		old_level_bits &= 0x71ff;

	level_bits |= old_level_bits;

	outb((level_bits >> 0) & 0xff, 0x4d0);
	outb((level_bits >> 8) & 0xff, 0x4d1);
}

static inline void
sio_fixup_irq_levels(unsigned int level_bits)
{
	__sio_fixup_irq_levels(level_bits, true);
}

static inline int
noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{
@@ -181,7 +197,14 @@ noname_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
	const long min_idsel = 6, max_idsel = 14, irqs_per_slot = 5;
	int irq = COMMON_TABLE_LOOKUP, tmp;
	tmp = __kernel_extbl(alpha_mv.sys.sio.route_tab, irq);
	return irq >= 0 ? tmp : -1;

	irq = irq >= 0 ? tmp : -1;

	/* Fixup IRQ level if an actual IRQ mapping is detected */
	if (sio_pci_dev_irq_needs_level(dev) && irq >= 0)
		__sio_fixup_irq_levels(1 << irq, false);

	return irq;
}

static inline int
+8 −2
Original line number Diff line number Diff line
@@ -53,7 +53,8 @@
		};

		pinctrl: pin-controller@10000 {
			pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header>;
			pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header
				     &pmx_gpio_header_gpo>;
			pinctrl-names = "default";

			pmx_uart0: pmx-uart0 {
@@ -85,11 +86,16 @@
			 * ground.
			 */
			pmx_gpio_header: pmx-gpio-header {
				marvell,pins = "mpp17", "mpp7", "mpp29", "mpp28",
				marvell,pins = "mpp17", "mpp29", "mpp28",
					       "mpp35", "mpp34", "mpp40";
				marvell,function = "gpio";
			};

			pmx_gpio_header_gpo: pxm-gpio-header-gpo {
				marvell,pins = "mpp7";
				marvell,function = "gpo";
			};

			pmx_gpio_init: pmx-init {
				marvell,pins = "mpp38";
				marvell,function = "gpio";
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ CONFIG_SMP=y
CONFIG_NR_CPUS=8
CONFIG_AEABI=y
CONFIG_HIGHMEM=y
CONFIG_CMA=y
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_CPU_FREQ=y
@@ -33,6 +34,7 @@ CONFIG_CAN_SUN4I=y
# CONFIG_WIRELESS is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DMA_CMA=y
CONFIG_BLK_DEV_SD=y
CONFIG_ATA=y
CONFIG_AHCI_SUNXI=y
Loading