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

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

Merge 4.14.4 into android-4.14



Changes in 4.14.4
	platform/x86: hp-wmi: Fix tablet mode detection for convertibles
	mm, memory_hotplug: do not back off draining pcp free pages from kworker context
	mm, oom_reaper: gather each vma to prevent leaking TLB entry
	mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()
	mm/cma: fix alloc_contig_range ret code/potential leak
	mm: fix device-dax pud write-faults triggered by get_user_pages()
	mm, hugetlbfs: introduce ->split() to vm_operations_struct
	device-dax: implement ->split() to catch invalid munmap attempts
	mm: introduce get_user_pages_longterm
	mm: fail get_vaddr_frames() for filesystem-dax mappings
	v4l2: disable filesystem-dax mapping support
	IB/core: disable memory registration of filesystem-dax vmas
	exec: avoid RLIMIT_STACK races with prlimit()
	mm/madvise.c: fix madvise() infinite loop under special circumstances
	mm: migrate: fix an incorrect call of prep_transhuge_page()
	mm, memcg: fix mem_cgroup_swapout() for THPs
	fs/fat/inode.c: fix sb_rdonly() change
	autofs: revert "autofs: take more care to not update last_used on path walk"
	autofs: revert "autofs: fix AT_NO_AUTOMOUNT not being honored"
	mm/hugetlb: fix NULL-pointer dereference on 5-level paging machine
	btrfs: clear space cache inode generation always
	nfsd: Fix stateid races between OPEN and CLOSE
	nfsd: Fix another OPEN stateid race
	nfsd: fix panic in posix_unblock_lock called from nfs4_laundromat
	crypto: algif_aead - skip SGL entries with NULL page
	crypto: af_alg - remove locking in async callback
	crypto: skcipher - Fix skcipher_walk_aead_common
	lockd: lost rollback of set_grace_period() in lockd_down_net()
	s390: revert ELF_ET_DYN_BASE base changes
	drm: omapdrm: Fix DPI on platforms using the DSI VDDS
	omapdrm: hdmi4: Correct the SoC revision matching
	apparmor: fix oops in audit_signal_cb hook
	arm64: module-plts: factor out PLT generation code for ftrace
	arm64: ftrace: emit ftrace-mod.o contents through code
	powerpc/powernv: Fix kexec crashes caused by tlbie tracing
	powerpc/kexec: Fix kexec/kdump in P9 guest kernels
	KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk
	KVM: x86: Exit to user-mode on #UD intercept when emulator requires
	KVM: x86: inject exceptions produced by x86_decode_insn
	KVM: lapic: Split out x2apic ldr calculation
	KVM: lapic: Fixup LDR on load in x2apic
	mmc: sdhci: Avoid swiotlb buffer being full
	mmc: block: Fix missing blk_put_request()
	mmc: block: Check return value of blk_get_request()
	mmc: core: Do not leave the block driver in a suspended state
	mmc: block: Ensure that debugfs files are removed
	mmc: core: prepend 0x to pre_eol_info entry in sysfs
	mmc: core: prepend 0x to OCR entry in sysfs
	ACPI / EC: Fix regression related to PM ops support in ECDT device
	eeprom: at24: fix reading from 24MAC402/24MAC602
	eeprom: at24: correctly set the size for at24mac402
	eeprom: at24: check at24_read/write arguments
	i2c: i801: Fix Failed to allocate irq -2147483648 error
	cxl: Check if vphb exists before iterating over AFU devices
	bcache: Fix building error on MIPS
	bcache: only permit to recovery read error when cache device is clean
	bcache: recover data from backing when data is clean
	hwmon: (jc42) optionally try to disable the SMBUS timeout
	nvme-pci: add quirk for delay before CHK RDY for WDC SN200
	Revert "drm/radeon: dont switch vt on suspend"
	drm/amdgpu: potential uninitialized variable in amdgpu_vce_ring_parse_cs()
	drm/amdgpu: Potential uninitialized variable in amdgpu_vm_update_directories()
	drm/amdgpu: correct reference clock value on vega10
	drm/amdgpu: fix error handling in amdgpu_bo_do_create
	drm/amdgpu: Properly allocate VM invalidate eng v2
	drm/amdgpu: Remove check which is not valid for certain VBIOS
	drm/ttm: fix ttm_bo_cleanup_refs_or_queue once more
	dma-buf: make reservation_object_copy_fences rcu save
	drm/amdgpu: reserve root PD while releasing it
	drm/ttm: Always and only destroy bo->ttm_resv in ttm_bo_release_list
	drm/vblank: Fix flip event vblank count
	drm/vblank: Tune drm_crtc_accurate_vblank_count() WARN down to a debug
	drm/tilcdc: Precalculate total frametime in tilcdc_crtc_set_mode()
	drm/radeon: fix atombios on big endian
	drm/panel: simple: Add missing panel_simple_unprepare() calls
	drm/hisilicon: Ensure LDI regs are properly configured.
	drm/ttm: once more fix ttm_buffer_object_transfer
	drm/amd/pp: fix typecast error in powerplay.
	drm/fb_helper: Disable all crtc's when initial setup fails.
	drm/fsl-dcu: Don't set connector DPMS property
	drm/edid: Don't send non-zero YQ in AVI infoframe for HDMI 1.x sinks
	drm/amdgpu: move UVD/VCE and VCN structure out from union
	drm/amdgpu: Set adev->vcn.irq.num_types for VCN
	include/linux/compiler-clang.h: handle randomizable anonymous structs
	IB/core: Do not warn on lid conversions for OPA
	IB/hfi1: Do not warn on lid conversions for OPA
	e1000e: fix the use of magic numbers for buffer overrun issue
	md: forbid a RAID5 from having both a bitmap and a journal.
	drm/i915: Fix false-positive assert_rpm_wakelock_held in i915_pmic_bus_access_notifier v2
	drm/i915: Re-register PMIC bus access notifier on runtime resume
	drm/i915/fbdev: Serialise early hotplug events with async fbdev config
	drm/i915/gvt: Correct ADDR_4K/2M/1G_MASK definition
	drm/i915: Don't try indexed reads to alternate slave addresses
	drm/i915: Prevent zero length "index" write
	Revert "x86/entry/64: Add missing irqflags tracing to native_load_gs_index()"
	Linux 4.14.4

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 50cb0d5c 51a2a68f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -34,6 +34,10 @@ Required properties:

- reg: I2C address

Optional properties:
- smbus-timeout-disable: When set, the smbus timeout function will be disabled.
			 This is not supported on all chips.

Example:

temp-sensor@1a {
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 14
SUBLEVEL = 3
SUBLEVEL = 4
EXTRAVERSION =
NAME = Petit Gorille

+0 −3
Original line number Diff line number Diff line
@@ -85,9 +85,6 @@ endif

ifeq ($(CONFIG_ARM64_MODULE_PLTS),y)
KBUILD_LDFLAGS_MODULE	+= -T $(srctree)/arch/arm64/kernel/module.lds
ifeq ($(CONFIG_DYNAMIC_FTRACE),y)
KBUILD_LDFLAGS_MODULE	+= $(objtree)/arch/arm64/kernel/ftrace-mod.o
endif
endif

# Default value
+45 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ struct mod_arch_specific {
	struct mod_plt_sec	init;

	/* for CONFIG_DYNAMIC_FTRACE */
	void			*ftrace_trampoline;
	struct plt_entry 	*ftrace_trampoline;
};
#endif

@@ -45,4 +45,48 @@ extern u64 module_alloc_base;
#define module_alloc_base	((u64)_etext - MODULES_VSIZE)
#endif

struct plt_entry {
	/*
	 * A program that conforms to the AArch64 Procedure Call Standard
	 * (AAPCS64) must assume that a veneer that alters IP0 (x16) and/or
	 * IP1 (x17) may be inserted at any branch instruction that is
	 * exposed to a relocation that supports long branches. Since that
	 * is exactly what we are dealing with here, we are free to use x16
	 * as a scratch register in the PLT veneers.
	 */
	__le32	mov0;	/* movn	x16, #0x....			*/
	__le32	mov1;	/* movk	x16, #0x...., lsl #16		*/
	__le32	mov2;	/* movk	x16, #0x...., lsl #32		*/
	__le32	br;	/* br	x16				*/
};

static inline struct plt_entry get_plt_entry(u64 val)
{
	/*
	 * MOVK/MOVN/MOVZ opcode:
	 * +--------+------------+--------+-----------+-------------+---------+
	 * | sf[31] | opc[30:29] | 100101 | hw[22:21] | imm16[20:5] | Rd[4:0] |
	 * +--------+------------+--------+-----------+-------------+---------+
	 *
	 * Rd     := 0x10 (x16)
	 * hw     := 0b00 (no shift), 0b01 (lsl #16), 0b10 (lsl #32)
	 * opc    := 0b11 (MOVK), 0b00 (MOVN), 0b10 (MOVZ)
	 * sf     := 1 (64-bit variant)
	 */
	return (struct plt_entry){
		cpu_to_le32(0x92800010 | (((~val      ) & 0xffff)) << 5),
		cpu_to_le32(0xf2a00010 | ((( val >> 16) & 0xffff)) << 5),
		cpu_to_le32(0xf2c00010 | ((( val >> 32) & 0xffff)) << 5),
		cpu_to_le32(0xd61f0200)
	};
}

static inline bool plt_entries_equal(const struct plt_entry *a,
				     const struct plt_entry *b)
{
	return a->mov0 == b->mov0 &&
	       a->mov1 == b->mov1 &&
	       a->mov2 == b->mov2;
}

#endif /* __ASM_MODULE_H */
+0 −3
Original line number Diff line number Diff line
@@ -63,6 +63,3 @@ extra-y += $(head-y) vmlinux.lds
ifeq ($(CONFIG_DEBUG_EFI),y)
AFLAGS_head.o += -DVMLINUX_PATH="\"$(realpath $(objtree)/vmlinux)\""
endif

# will be included by each individual module but not by the core kernel itself
extra-$(CONFIG_DYNAMIC_FTRACE) += ftrace-mod.o
Loading