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

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

Merge 4.14.153 into android-4.14



Changes in 4.14.153
	arm64: dts: Fix gpio to pinmux mapping
	regulator: ti-abb: Fix timeout in ti_abb_wait_txdone/ti_abb_clear_all_txdone
	regulator: pfuze100-regulator: Variable "val" in pfuze100_regulator_probe() could be uninitialized
	ASoC: wm_adsp: Don't generate kcontrols without READ flags
	ASoc: rockchip: i2s: Fix RPM imbalance
	ARM: dts: logicpd-torpedo-som: Remove twl_keypad
	pinctrl: ns2: Fix off by one bugs in ns2_pinmux_enable()
	ARM: mm: fix alignment handler faults under memory pressure
	scsi: scsi_dh_alua: handle RTPG sense code correctly during state transitions
	scsi: sni_53c710: fix compilation error
	scsi: fix kconfig dependency warning related to 53C700_LE_ON_BE
	ARM: dts: imx7s: Correct GPT's ipg clock source
	perf c2c: Fix memory leak in build_cl_output()
	perf kmem: Fix memory leak in compact_gfp_flags()
	ARM: davinci: dm365: Fix McBSP dma_slave_map entry
	scsi: target: core: Do not overwrite CDB byte 1
	ARM: 8926/1: v7m: remove register save to stack before svc
	of: unittest: fix memory leak in unittest_data_add
	MIPS: bmips: mark exception vectors as char arrays
	i2c: stm32f7: remove warning when compiling with W=1
	cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs
	nbd: handle racing with error'ed out commands
	cxgb4: fix panic when attaching to ULD fail
	dccp: do not leak jiffies on the wire
	net: annotate accesses to sk->sk_incoming_cpu
	net: annotate lockless accesses to sk->sk_napi_id
	net: dsa: bcm_sf2: Fix IMP setup for port different than 8
	net: ethernet: ftgmac100: Fix DMA coherency issue with SW checksum
	net: fix sk_page_frag() recursion from memory reclaim
	net: hisilicon: Fix ping latency when deal with high throughput
	net/mlx4_core: Dynamically set guaranteed amount of counters per VF
	net: Zeroing the structure ethtool_wolinfo in ethtool_get_wol()
	selftests: net: reuseport_dualstack: fix uninitalized parameter
	udp: fix data-race in udp_set_dev_scratch()
	net: add READ_ONCE() annotation in __skb_wait_for_more_packets()
	net/mlx5e: Fix handling of compressed CQEs in case of low NAPI budget
	net: dsa: b53: Do not clear existing mirrored port mask
	net: usb: lan78xx: Connect PHY before registering MAC
	r8152: add device id for Lenovo ThinkPad USB-C Dock Gen 2
	net: dsa: fix switch tree list
	net: bcmgenet: reset 40nm EPHY on energy detect
	net: add skb_queue_empty_lockless()
	udp: use skb_queue_empty_lockless()
	net: use skb_queue_empty_lockless() in poll() handlers
	net: use skb_queue_empty_lockless() in busy poll contexts
	vxlan: check tun_info options_len properly
	erspan: fix the tun_info options_len check for erspan
	inet: stop leaking jiffies on the wire
	net/flow_dissector: switch to siphash
	dmaengine: qcom: bam_dma: Fix resource leak
	sched/wake_q: Fix wakeup ordering for wake_q
	kbuild: use -fmacro-prefix-map to make __FILE__ a relative path
	kbuild: add -fcf-protection=none when using retpoline flags
	platform/x86: pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI table
	iio: adc: stm32-adc: move registers definitions
	iio: adc: stm32-adc: fix a race when using several adcs with dma and irq
	powerpc/mm: Fixup tlbie vs store ordering issue on POWER9
	powerpc/book3s64/mm: Don't do tlbie fixup for some hardware revisions
	powerpc/book3s64/radix: Rename CPU_FTR_P9_TLBIE_BUG feature flag
	powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9
	selftests/powerpc: Add test case for tlbie vs mtpidr ordering issue
	selftests/powerpc: Fix compile error on tlbie_test due to newer gcc
	Linux 4.14.153

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 81144e70 4762bcd4
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 14
SUBLEVEL = 152
SUBLEVEL = 153
EXTRAVERSION =
NAME = Petit Gorille

@@ -914,6 +914,15 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
# Require designated initializers for all marked structures
KBUILD_CFLAGS   += $(call cc-option,-Werror=designated-init)

# change __FILE__ to the relative path from the srctree
KBUILD_CFLAGS	+= $(call cc-option,-fmacro-prefix-map=$(srctree)/=)

# ensure -fcf-protection is disabled when using retpoline as it is
# incompatible with -mindirect-branch=thunk-extern
ifdef CONFIG_RETPOLINE
KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
endif

# use the deterministic mode of AR if available
KBUILD_ARFLAGS := $(call ar-option,D)

+4 −4
Original line number Diff line number Diff line
@@ -450,7 +450,7 @@
				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
				reg = <0x302d0000 0x10000>;
				interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&clks IMX7D_CLK_DUMMY>,
				clocks = <&clks IMX7D_GPT1_ROOT_CLK>,
					 <&clks IMX7D_GPT1_ROOT_CLK>;
				clock-names = "ipg", "per";
			};
@@ -459,7 +459,7 @@
				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
				reg = <0x302e0000 0x10000>;
				interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&clks IMX7D_CLK_DUMMY>,
				clocks = <&clks IMX7D_GPT2_ROOT_CLK>,
					 <&clks IMX7D_GPT2_ROOT_CLK>;
				clock-names = "ipg", "per";
				status = "disabled";
@@ -469,7 +469,7 @@
				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
				reg = <0x302f0000 0x10000>;
				interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&clks IMX7D_CLK_DUMMY>,
				clocks = <&clks IMX7D_GPT3_ROOT_CLK>,
					 <&clks IMX7D_GPT3_ROOT_CLK>;
				clock-names = "ipg", "per";
				status = "disabled";
@@ -479,7 +479,7 @@
				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
				reg = <0x30300000 0x10000>;
				interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&clks IMX7D_CLK_DUMMY>,
				clocks = <&clks IMX7D_GPT4_ROOT_CLK>,
					 <&clks IMX7D_GPT4_ROOT_CLK>;
				clock-names = "ipg", "per";
				status = "disabled";
+4 −0
Original line number Diff line number Diff line
@@ -270,3 +270,7 @@
&twl_gpio {
	ti,use-leds;
};

&twl_keypad {
	status = "disabled";
};
+2 −2
Original line number Diff line number Diff line
@@ -856,8 +856,8 @@ static s8 dm365_queue_priority_mapping[][2] = {
};

static const struct dma_slave_map dm365_edma_map[] = {
	{ "davinci-mcbsp.0", "tx", EDMA_FILTER_PARAM(0, 2) },
	{ "davinci-mcbsp.0", "rx", EDMA_FILTER_PARAM(0, 3) },
	{ "davinci-mcbsp", "tx", EDMA_FILTER_PARAM(0, 2) },
	{ "davinci-mcbsp", "rx", EDMA_FILTER_PARAM(0, 3) },
	{ "davinci_voicecodec", "tx", EDMA_FILTER_PARAM(0, 2) },
	{ "davinci_voicecodec", "rx", EDMA_FILTER_PARAM(0, 3) },
	{ "spi_davinci.2", "tx", EDMA_FILTER_PARAM(0, 10) },
+36 −8
Original line number Diff line number Diff line
@@ -768,6 +768,36 @@ do_alignment_t32_to_handler(unsigned long *pinstr, struct pt_regs *regs,
	return NULL;
}

static int alignment_get_arm(struct pt_regs *regs, u32 *ip, unsigned long *inst)
{
	u32 instr = 0;
	int fault;

	if (user_mode(regs))
		fault = get_user(instr, ip);
	else
		fault = probe_kernel_address(ip, instr);

	*inst = __mem_to_opcode_arm(instr);

	return fault;
}

static int alignment_get_thumb(struct pt_regs *regs, u16 *ip, u16 *inst)
{
	u16 instr = 0;
	int fault;

	if (user_mode(regs))
		fault = get_user(instr, ip);
	else
		fault = probe_kernel_address(ip, instr);

	*inst = __mem_to_opcode_thumb16(instr);

	return fault;
}

static int
do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
{
@@ -775,10 +805,10 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
	unsigned long instr = 0, instrptr;
	int (*handler)(unsigned long addr, unsigned long instr, struct pt_regs *regs);
	unsigned int type;
	unsigned int fault;
	u16 tinstr = 0;
	int isize = 4;
	int thumb2_32b = 0;
	int fault;

	if (interrupts_enabled(regs))
		local_irq_enable();
@@ -787,15 +817,14 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)

	if (thumb_mode(regs)) {
		u16 *ptr = (u16 *)(instrptr & ~1);
		fault = probe_kernel_address(ptr, tinstr);
		tinstr = __mem_to_opcode_thumb16(tinstr);

		fault = alignment_get_thumb(regs, ptr, &tinstr);
		if (!fault) {
			if (cpu_architecture() >= CPU_ARCH_ARMv7 &&
			    IS_T32(tinstr)) {
				/* Thumb-2 32-bit */
				u16 tinst2 = 0;
				fault = probe_kernel_address(ptr + 1, tinst2);
				tinst2 = __mem_to_opcode_thumb16(tinst2);
				u16 tinst2;
				fault = alignment_get_thumb(regs, ptr + 1, &tinst2);
				instr = __opcode_thumb32_compose(tinstr, tinst2);
				thumb2_32b = 1;
			} else {
@@ -804,8 +833,7 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
			}
		}
	} else {
		fault = probe_kernel_address((void *)instrptr, instr);
		instr = __mem_to_opcode_arm(instr);
		fault = alignment_get_arm(regs, (void *)instrptr, &instr);
	}

	if (fault) {
Loading