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

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

Merge 4.14.120 into android-4.14-q



Changes in 4.14.120
	netfilter: compat: initialize all fields in xt_init
	platform/x86: sony-laptop: Fix unintentional fall-through
	platform/x86: thinkpad_acpi: Disable Bluetooth for some machines
	hwmon: (pwm-fan) Disable PWM if fetching cooling data fails
	kernfs: fix barrier usage in __kernfs_new_node()
	USB: serial: fix unthrottle races
	iio: adc: xilinx: fix potential use-after-free on remove
	libnvdimm/namespace: Fix a potential NULL pointer dereference
	HID: input: add mapping for Expose/Overview key
	HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys
	HID: input: add mapping for "Toggle Display" key
	libnvdimm/btt: Fix a kmemdup failure check
	s390/dasd: Fix capacity calculation for large volumes
	mac80211: fix unaligned access in mesh table hash function
	mac80211: Increase MAX_MSG_LEN
	mac80211: fix memory accounting with A-MSDU aggregation
	nl80211: Add NL80211_FLAG_CLEAR_SKB flag for other NL commands
	s390/3270: fix lockdep false positive on view->lock
	clocksource/drivers/oxnas: Fix OX820 compatible
	mISDN: Check address length before reading address family
	s390/pkey: add one more argument space for debug feature entry
	x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T
	KVM: fix spectrev1 gadgets
	KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing
	tools lib traceevent: Fix missing equality check for strcmp
	mm: fix inactive list balancing between NUMA nodes and cgroups
	init: initialize jump labels before command line option parsing
	selftests: netfilter: check icmp pkttoobig errors are set as related
	ipvs: do not schedule icmp errors from tunnels
	netfilter: ctnetlink: don't use conntrack/expect object addresses as id
	MIPS: perf: ath79: Fix perfcount IRQ assignment
	s390: ctcm: fix ctcm_new_device error return code
	drm/sun4i: Set device driver data at bind time for use in unbind
	selftests/net: correct the return value for run_netsocktests
	gpu: ipu-v3: dp: fix CSC handling
	drm/imx: don't skip DP channel disable for background plane
	spi: Micrel eth switch: declare missing of table
	spi: ST ST95HF NFC: declare missing of table
	Input: synaptics-rmi4 - fix possible double free
	sparc64: Export __node_distance.
	sparc64: Make corrupted user stacks more debuggable.
	MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit
	bcache: correct dirty data statistics
	ACPICA: AML interpreter: add region addresses in global list during initialization
	IB/rxe: Revise the ib_wr_opcode enum
	ima: open a new file instance if no read permissions
	KVM: arm/arm64: Ensure only THP is candidate for adjustment
	media: cec: make cec_get_edid_spa_location() an inline function
	media: cec: integrate cec_validate_phys_addr() in cec-api.c
	media: adv7604: when the EDID is cleared, unconfigure CEC as well
	media: adv7842: when the EDID is cleared, unconfigure CEC as well
	fuse: fix possibly missed wake-up after abort
	drm/i915: Disable LP3 watermarks on all SNB machines
	media: ov5640: fix wrong binning value in exposure calculation
	media: ov5640: fix auto controls values when switching to manual mode
	net: don't keep lonely packets forever in the gro hash
	tracing/fgraph: Fix set_graph_function from showing interrupts
	drm/i915: Downgrade Gen9 Plane WM latency error
	scsi: raid_attrs: fix unused variable warning
	staging: olpc_dcon: add a missing dependency
	net: stmmac: Move debugfs init/exit to ->probe()/->remove()
	Btrfs: fix missing delayed iputs on unmount
	x86/vdso: Pass --eh-frame-hdr to the linker
	mm: introduce mm_[p4d|pud|pmd]_folded
	arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible
	powerpc: remove old GCC version checks
	leds: pwm: silently error out on EPROBE_DEFER
	drm/rockchip: psr: do not dereference encoder before it is null checked.
	RDMA/vmw_pvrdma: Return the correct opcode when creating WR
	arm64: dts: marvell: armada-ap806: reserve PSCI area
	vt: always call notifier with the console lock held
	devres: Align data[] to ARCH_KMALLOC_MINALIGN
	xtensa: xtfpga.dtsi: fix dtc warnings about SPI
	net_sched: fix two more memory leaks in cls_tcindex
	gtp: change NET_UDP_TUNNEL dependency to select
	ACPICA: Namespace: remove address node from global list after method termination
	Input: elan_i2c - add hardware ID for multiple Lenovo laptops
	netfilter: nf_tables: warn when expr implements only one of activate/deactivate
	drm/rockchip: fix for mailbox read validation.
	cifs: fix memory leak in SMB2_read
	x86/fpu: Don't export __kernel_fpu_{begin,end}()
	net: hns: Fix WARNING when hns modules installed
	mm/memory.c: fix modifying of page protection by insert_pfn()
	net: fec: manage ahb clock in runtime pm
	mlxsw: spectrum_switchdev: Add MDB entries in prepare phase
	mlxsw: core: Do not use WQ_MEM_RECLAIM for EMAD workqueue
	mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw ordered workqueue
	mlxsw: core: Do not use WQ_MEM_RECLAIM for mlxsw workqueue
	NFC: nci: Add some bounds checking in nci_hci_cmd_received()
	nfc: nci: Potential off by one in ->pipes[] array
	x86/kprobes: Avoid kretprobe recursion bug
	cw1200: fix missing unlock on error in cw1200_hw_scan()
	mwl8k: Fix rate_idx underflow
	rtlwifi: rtl8723ae: Fix missing break in switch statement
	Don't jump to compute_result state from check_result state
	powerpc/64s: Include cpu header
	bonding: fix arp_validate toggling in active-backup mode
	bridge: Fix error path for kobject_init_and_add()
	dpaa_eth: fix SG frame cleanup
	fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
	ipv4: Fix raw socket lookup for local traffic
	net: dsa: Fix error cleanup path in dsa_init_module
	net: ethernet: stmmac: dwmac-sun8i: enable support of unicast filtering
	net: seeq: fix crash caused by not set dev.parent
	net: ucc_geth - fix Oops when changing number of buffers in the ring
	packet: Fix error path in packet_init
	vlan: disable SIOCSHWTSTAMP in container
	vrf: sit mtu should not be updated when vrf netdev is the link
	tipc: fix hanging clients using poll with EPOLLOUT flag
	drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl
	drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl
	powerpc/powernv/idle: Restore IAMR after idle
	powerpc/booke64: set RI in default MSR
	s390/speculation: Fix build error caused by bad backport
	Linux 4.14.120

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 785795a4 e6fedb88
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 14
SUBLEVEL = 119
SUBLEVEL = 120
EXTRAVERSION =
NAME = Petit Gorille

+17 −0
Original line number Diff line number Diff line
@@ -65,6 +65,23 @@
		method = "smc";
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		/*
		 * This area matches the mapping done with a
		 * mainline U-Boot, and should be updated by the
		 * bootloader.
		 */

		psci-area@4000000 {
			reg = <0x0 0x4000000 0x0 0x200000>;
			no-map;
		};
	};

	ap806 {
		#address-cells = <2>;
		#size-cells = <2>;
+25 −10
Original line number Diff line number Diff line
@@ -15,13 +15,18 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <linux/irqflags.h>

#include <asm/kvm_hyp.h>
#include <asm/tlbflush.h>

static void __hyp_text __tlb_switch_to_guest_vhe(struct kvm *kvm)
static void __hyp_text __tlb_switch_to_guest_vhe(struct kvm *kvm,
						 unsigned long *flags)
{
	u64 val;

	local_irq_save(*flags);

	/*
	 * With VHE enabled, we have HCR_EL2.{E2H,TGE} = {1,1}, and
	 * most TLB operations target EL2/EL0. In order to affect the
@@ -36,7 +41,8 @@ static void __hyp_text __tlb_switch_to_guest_vhe(struct kvm *kvm)
	isb();
}

static void __hyp_text __tlb_switch_to_guest_nvhe(struct kvm *kvm)
static void __hyp_text __tlb_switch_to_guest_nvhe(struct kvm *kvm,
						  unsigned long *flags)
{
	write_sysreg(kvm->arch.vttbr, vttbr_el2);
	isb();
@@ -47,7 +53,8 @@ static hyp_alternate_select(__tlb_switch_to_guest,
			    __tlb_switch_to_guest_vhe,
			    ARM64_HAS_VIRT_HOST_EXTN);

static void __hyp_text __tlb_switch_to_host_vhe(struct kvm *kvm)
static void __hyp_text __tlb_switch_to_host_vhe(struct kvm *kvm,
						unsigned long flags)
{
	/*
	 * We're done with the TLB operation, let's restore the host's
@@ -55,9 +62,12 @@ static void __hyp_text __tlb_switch_to_host_vhe(struct kvm *kvm)
	 */
	write_sysreg(0, vttbr_el2);
	write_sysreg(HCR_HOST_VHE_FLAGS, hcr_el2);
	isb();
	local_irq_restore(flags);
}

static void __hyp_text __tlb_switch_to_host_nvhe(struct kvm *kvm)
static void __hyp_text __tlb_switch_to_host_nvhe(struct kvm *kvm,
						 unsigned long flags)
{
	write_sysreg(0, vttbr_el2);
}
@@ -69,11 +79,13 @@ static hyp_alternate_select(__tlb_switch_to_host,

void __hyp_text __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa)
{
	unsigned long flags;

	dsb(ishst);

	/* Switch to requested VMID */
	kvm = kern_hyp_va(kvm);
	__tlb_switch_to_guest()(kvm);
	__tlb_switch_to_guest()(kvm, &flags);

	/*
	 * We could do so much better if we had the VA as well.
@@ -116,36 +128,39 @@ void __hyp_text __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa)
	if (!has_vhe() && icache_is_vpipt())
		__flush_icache_all();

	__tlb_switch_to_host()(kvm);
	__tlb_switch_to_host()(kvm, flags);
}

void __hyp_text __kvm_tlb_flush_vmid(struct kvm *kvm)
{
	unsigned long flags;

	dsb(ishst);

	/* Switch to requested VMID */
	kvm = kern_hyp_va(kvm);
	__tlb_switch_to_guest()(kvm);
	__tlb_switch_to_guest()(kvm, &flags);

	__tlbi(vmalls12e1is);
	dsb(ish);
	isb();

	__tlb_switch_to_host()(kvm);
	__tlb_switch_to_host()(kvm, flags);
}

void __hyp_text __kvm_tlb_flush_local_vmid(struct kvm_vcpu *vcpu)
{
	struct kvm *kvm = kern_hyp_va(kern_hyp_va(vcpu)->kvm);
	unsigned long flags;

	/* Switch to requested VMID */
	__tlb_switch_to_guest()(kvm);
	__tlb_switch_to_guest()(kvm, &flags);

	__tlbi(vmalle1);
	dsb(nsh);
	isb();

	__tlb_switch_to_host()(kvm);
	__tlb_switch_to_host()(kvm, flags);
}

void __hyp_text __kvm_flush_vm_context(void)
+0 −6
Original line number Diff line number Diff line
@@ -183,12 +183,6 @@ const char *get_system_type(void)
	return ath79_sys_type;
}

int get_c0_perfcount_int(void)
{
	return ATH79_MISC_IRQ(5);
}
EXPORT_SYMBOL_GPL(get_c0_perfcount_int);

unsigned int get_c0_compare_int(void)
{
	return CP0_LEGACY_COMPARE_IRQ;
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ extern unsigned int vced_count, vcei_count;

#endif

#define VDSO_RANDOMIZE_SIZE	(TASK_IS_32BIT_ADDR ? SZ_1M : SZ_256M)
#define VDSO_RANDOMIZE_SIZE	(TASK_IS_32BIT_ADDR ? SZ_1M : SZ_64M)

extern unsigned long mips_stack_top(void);
#define STACK_TOP		mips_stack_top()
Loading