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

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

Merge 5.4.176 into android11-5.4-lts



Changes in 5.4.176
	Bluetooth: refactor malicious adv data check
	s390/hypfs: include z/VM guests with access control group set
	scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP devices
	udf: Restore i_lenAlloc when inode expansion fails
	udf: Fix NULL ptr deref when converting from inline format
	PM: wakeup: simplify the output logic of pm_show_wakelocks()
	tracing/histogram: Fix a potential memory leak for kstrdup()
	tracing: Don't inc err_log entry count if entry allocation fails
	fsnotify: fix fsnotify hooks in pseudo filesystems
	drm/etnaviv: relax submit size limits
	arm64: errata: Fix exec handling in erratum 1418040 workaround
	netfilter: nft_payload: do not update layer 4 checksum when mangling fragments
	serial: 8250: of: Fix mapped region size when using reg-offset property
	serial: stm32: fix software flow control transfer
	tty: n_gsm: fix SW flow control encoding/handling
	tty: Add support for Brainboxes UC cards.
	usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge
	usb: common: ulpi: Fix crash in ulpi_match()
	usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS
	USB: core: Fix hang in usb_kill_urb by adding memory barriers
	usb: typec: tcpm: Do not disconnect while receiving VBUS off
	ucsi_ccg: Check DEV_INT bit only when starting CCG4
	net: sfp: ignore disabled SFP node
	powerpc/32: Fix boot failure with GCC latent entropy plugin
	i40e: Increase delay to 1 s after global EMP reset
	i40e: Fix issue when maximum queues is exceeded
	i40e: Fix queues reservation for XDP
	i40e: fix unsigned stat widths
	rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev
	rpmsg: char: Fix race between the release of rpmsg_eptdev and cdev
	scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put()
	ipv6_tunnel: Rate limit warning messages
	net: fix information leakage in /proc/net/ptype
	hwmon: (lm90) Mark alert as broken for MAX6646/6647/6649
	hwmon: (lm90) Mark alert as broken for MAX6680
	ping: fix the sk_bound_dev_if match in ping_lookup
	ipv4: avoid using shared IP generator for connected sockets
	hwmon: (lm90) Reduce maximum conversion rate for G781
	NFSv4: Handle case where the lookup of a directory fails
	NFSv4: nfs_atomic_open() can race when looking up a non-regular file
	net-procfs: show net devices bound packet types
	drm/msm: Fix wrong size calculation
	drm/msm/dsi: Fix missing put_device() call in dsi_get_phy
	drm/msm/dsi: invalid parameter check in msm_dsi_phy_enable
	ipv6: annotate accesses to fn->fn_sernum
	NFS: Ensure the server has an up to date ctime before hardlinking
	NFS: Ensure the server has an up to date ctime before renaming
	netfilter: conntrack: don't increment invalid counter on NF_REPEAT
	net: phy: broadcom: hook up soft_reset for BCM54616S
	phylib: fix potential use-after-free
	rxrpc: Adjust retransmission backoff
	hwmon: (lm90) Mark alert as broken for MAX6654
	ibmvnic: init ->running_cap_crqs early
	ibmvnic: don't spin in tasklet
	drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy
	yam: fix a memory leak in yam_siocdevprivate()
	net: hns3: handle empty unknown interrupt for VF
	ipv4: raw: lock the socket in raw_bind()
	ipv4: tcp: send zero IPID in SYNACK messages
	ipv4: remove sparse error in ip_neigh_gw4()
	dt-bindings: can: tcan4x5x: fix mram-cfg RX FIFO config
	fsnotify: invalidate dcache before IN_DELETE event
	block: Fix wrong offset in bio_truncate()
	mtd: rawnand: mpc5121: Remove unused variable in ads5121_select_chip()
	Linux 5.4.176

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: Iab98819913bc6a41bc8709d1411b1f9306226a01
parents 970ce66a 2570bb27
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ tcan4x5x: tcan4x5x@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		spi-max-frequency = <10000000>;
		bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
		bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>;
		interrupt-parent = <&gpio1>;
		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
		device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 175
SUBLEVEL = 176
EXTRAVERSION =
NAME = Kleptomaniac Octopus

+16 −23
Original line number Diff line number Diff line
@@ -499,34 +499,26 @@ static void entry_task_switch(struct task_struct *next)

/*
 * ARM erratum 1418040 handling, affecting the 32bit view of CNTVCT.
 * Assuming the virtual counter is enabled at the beginning of times:
 *
 * - disable access when switching from a 64bit task to a 32bit task
 * - enable access when switching from a 32bit task to a 64bit task
 * Ensure access is disabled when switching to a 32bit task, ensure
 * access is enabled when switching to a 64bit task.
 */
static void erratum_1418040_thread_switch(struct task_struct *prev,
					  struct task_struct *next)
static void erratum_1418040_thread_switch(struct task_struct *next)
{
	bool prev32, next32;
	u64 val;

	if (!IS_ENABLED(CONFIG_ARM64_ERRATUM_1418040))
		return;

	prev32 = is_compat_thread(task_thread_info(prev));
	next32 = is_compat_thread(task_thread_info(next));

	if (prev32 == next32 || !this_cpu_has_cap(ARM64_WORKAROUND_1418040))
	if (!IS_ENABLED(CONFIG_ARM64_ERRATUM_1418040) ||
	    !this_cpu_has_cap(ARM64_WORKAROUND_1418040))
		return;

	val = read_sysreg(cntkctl_el1);

	if (!next32)
		val |= ARCH_TIMER_USR_VCT_ACCESS_EN;
	if (is_compat_thread(task_thread_info(next)))
		sysreg_clear_set(cntkctl_el1, ARCH_TIMER_USR_VCT_ACCESS_EN, 0);
	else
		val &= ~ARCH_TIMER_USR_VCT_ACCESS_EN;
		sysreg_clear_set(cntkctl_el1, 0, ARCH_TIMER_USR_VCT_ACCESS_EN);
}

	write_sysreg(val, cntkctl_el1);
static void erratum_1418040_new_exec(void)
{
	preempt_disable();
	erratum_1418040_thread_switch(current);
	preempt_enable();
}

/*
@@ -545,7 +537,7 @@ __notrace_funcgraph struct task_struct *__switch_to(struct task_struct *prev,
	uao_thread_switch(next);
	ptrauth_thread_switch(next);
	ssbs_thread_switch(next);
	erratum_1418040_thread_switch(prev, next);
	erratum_1418040_thread_switch(next);
	scs_overflow_check(next);

	/*
@@ -607,6 +599,7 @@ void arch_setup_new_exec(void)
	current->mm->context.flags = is_compat_task() ? MMCF_AARCH32 : 0;

	ptrauth_thread_init_user(current);
	erratum_1418040_new_exec();
}

#ifdef CONFIG_ARM64_TAGGED_ADDR_ABI
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ CFLAGS_prom_init.o += -fPIC
CFLAGS_btext.o		+= -fPIC
endif

CFLAGS_early_32.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
CFLAGS_cputable.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
CFLAGS_prom_init.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
CFLAGS_btext.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@ CFLAGS_code-patching.o += -DDISABLE_BRANCH_PROFILING
CFLAGS_feature-fixups.o += -DDISABLE_BRANCH_PROFILING
endif

CFLAGS_code-patching.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
CFLAGS_feature-fixups.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)

obj-y += alloc.o code-patching.o feature-fixups.o pmem.o

ifndef CONFIG_KASAN
Loading