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

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

Merge 4.19.83 into android-4.19



Changes in 4.19.83
	kbuild: add -fcf-protection=none when using retpoline flags
	regulator: of: fix suspend-min/max-voltage parsing
	ASoC: wm8994: Do not register inapplicable controls for WM1811
	arm64: dts: allwinner: a64: pine64-plus: Add PHY regulator delay
	arm64: dts: allwinner: a64: sopine-baseboard: Add PHY regulator delay
	arm64: dts: Fix gpio to pinmux mapping
	regulator: ti-abb: Fix timeout in ti_abb_wait_txdone/ti_abb_clear_all_txdone
	ASoC: rt5682: add NULL handler to set_jack function
	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: qla2xxx: fix a potential NULL pointer dereference
	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()
	8250-men-mcb: fix error checking when get_num_ports returns -ENODEV
	perf kmem: Fix memory leak in compact_gfp_flags()
	ARM: davinci: dm365: Fix McBSP dma_slave_map entry
	drm/amdgpu: fix potential VM faults
	scsi: target: core: Do not overwrite CDB byte 1
	tracing: Fix "gfp_t" format for synthetic events
	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
	irqchip/gic-v3-its: Use the exact ITSList for VMOVP
	i2c: stm32f7: fix first byte to send in slave mode
	i2c: stm32f7: fix a race in slave mode with arbitration loss irq
	i2c: stm32f7: remove warning when compiling with W=1
	cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs
	nbd: protect cmd->status with cmd->lock
	nbd: handle racing with error'ed out commands
	cxgb4: fix panic when attaching to ULD fail
	dccp: do not leak jiffies on the wire
	erspan: fix the tun_info options_len check for erspan
	inet: stop leaking 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
	netns: fix GFP flags in rtnl_net_notifyid()
	net: usb: lan78xx: Disable interrupts before calling generic_handle_irq()
	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()
	vxlan: check tun_info options_len properly
	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
	net: add READ_ONCE() annotation in __skb_wait_for_more_packets()
	ipv4: fix route update on metric change.
	selftests: fib_tests: add more tests for metric update
	net/mlx5e: Fix handling of compressed CQEs in case of low NAPI budget
	r8169: fix wrong PHY ID issue with RTL8168dp
	net/mlx5e: Fix ethtool self test: link speed
	net: dsa: b53: Do not clear existing mirrored port mask
	net: bcmgenet: don't set phydev->link from MAC
	net: phy: bcm7xxx: define soft_reset for 40nm EPHY
	net: bcmgenet: reset 40nm EPHY on energy detect
	net: usb: lan78xx: Connect PHY before registering MAC
	net: dsa: fix switch tree list
	r8152: add device id for Lenovo ThinkPad USB-C Dock Gen 2
	net/flow_dissector: switch to siphash
	wireless: Skip directory when generating certificates
	platform/x86: pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI table
	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
	ASoC: pcm3168a: The codec does not support S32_LE
	arm64: dts: ti: k3-am65-main: Fix gic-its node unit-address
	usb: gadget: udc: core: Fix segfault if udc_bind_to_driver() for pending driver fails
	Linux 4.19.83

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib7f556bb3ee4310e9ff430220b36986e45266f81
parents efc21932 7d8dbefc
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 82
SUBLEVEL = 83
EXTRAVERSION =
NAME = "People's Front"

@@ -902,6 +902,12 @@ 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
@@ -443,7 +443,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";
			};
@@ -452,7 +452,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";
@@ -462,7 +462,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";
@@ -472,7 +472,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
@@ -196,3 +196,7 @@
&twl_gpio {
	ti,use-leds;
};

&twl_keypad {
	status = "disabled";
};
+2 −2
Original line number Diff line number Diff line
@@ -458,8 +458,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