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

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

Merge 4.19.200 into android-4.19-stable



Changes in 4.19.200
	selftest: fix build error in tools/testing/selftests/vm/userfaultfd.c
	iio: dac: ds4422/ds4424 drop of_node check
	KVM: x86: determine if an exception has an error code only when injecting it.
	net: split out functions related to registering inflight socket files
	af_unix: fix garbage collect vs MSG_PEEK
	workqueue: fix UAF in pwq_unbound_release_workfn()
	net/802/mrp: fix memleak in mrp_request_join()
	net/802/garp: fix memleak in garp_request_join()
	net: annotate data race around sk_ll_usec
	sctp: move 198 addresses from unusable to private scope
	hfs: add missing clean-up in hfs_fill_super
	hfs: fix high memory mapping in hfs_bnode_read
	hfs: add lock nesting notation to hfs_find_init
	firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow
	firmware: arm_scmi: Fix range check for the maximum number of pending messages
	cifs: fix the out of range assignment to bit fields in parse_server_interfaces
	ARM: dts: versatile: Fix up interrupt controller node names
	Linux 4.19.200

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I8aa8c1be3b2a7db30b8f9fb29bd24302186cb636
parents 212b4d3a 53bd7669
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 199
SUBLEVEL = 200
EXTRAVERSION =
NAME = "People's Front"

+2 −3
Original line number Diff line number Diff line
@@ -192,16 +192,15 @@
		#size-cells = <1>;
		ranges;

		vic: intc@10140000 {
		vic: interrupt-controller@10140000 {
			compatible = "arm,versatile-vic";
			interrupt-controller;
			#interrupt-cells = <1>;
			reg = <0x10140000 0x1000>;
			clear-mask = <0xffffffff>;
			valid-mask = <0xffffffff>;
		};

		sic: intc@10003000 {
		sic: interrupt-controller@10003000 {
			compatible = "arm,versatile-sic";
			interrupt-controller;
			#interrupt-cells = <1>;
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@

	amba {
		/* The Versatile PB is using more SIC IRQ lines than the AB */
		sic: intc@10003000 {
		sic: interrupt-controller@10003000 {
			clear-mask = <0xffffffff>;
			/*
			 * Valid interrupt lines mask according to
+9 −4
Original line number Diff line number Diff line
@@ -416,8 +416,6 @@ static void kvm_multiple_exception(struct kvm_vcpu *vcpu,

	if (!vcpu->arch.exception.pending && !vcpu->arch.exception.injected) {
	queue:
		if (has_error && !is_protmode(vcpu))
			has_error = false;
		if (reinject) {
			/*
			 * On vmentry, vcpu->arch.exception.pending is only
@@ -7114,6 +7112,13 @@ static void update_cr8_intercept(struct kvm_vcpu *vcpu)
	kvm_x86_ops->update_cr8_intercept(vcpu, tpr, max_irr);
}

static void kvm_inject_exception(struct kvm_vcpu *vcpu)
{
       if (vcpu->arch.exception.error_code && !is_protmode(vcpu))
               vcpu->arch.exception.error_code = false;
       kvm_x86_ops->queue_exception(vcpu);
}

static int inject_pending_event(struct kvm_vcpu *vcpu)
{
	int r;
@@ -7121,7 +7126,7 @@ static int inject_pending_event(struct kvm_vcpu *vcpu)
	/* try to reinject previous events if any */

	if (vcpu->arch.exception.injected)
		kvm_x86_ops->queue_exception(vcpu);
		kvm_inject_exception(vcpu);
	/*
	 * Do not inject an NMI or interrupt if there is a pending
	 * exception.  Exceptions and interrupts are recognized at
@@ -7175,7 +7180,7 @@ static int inject_pending_event(struct kvm_vcpu *vcpu)
			kvm_update_dr7(vcpu);
		}

		kvm_x86_ops->queue_exception(vcpu);
		kvm_inject_exception(vcpu);
	}

	/* Don't consider new event if we re-injected an event */
+7 −5
Original line number Diff line number Diff line
@@ -48,7 +48,6 @@ enum scmi_error_codes {
	SCMI_ERR_GENERIC = -8,	/* Generic Error */
	SCMI_ERR_HARDWARE = -9,	/* Hardware Error */
	SCMI_ERR_PROTOCOL = -10,/* Protocol Error */
	SCMI_ERR_MAX
};

/* List of all SCMI devices active in system */
@@ -168,8 +167,10 @@ static const int scmi_linux_errmap[] = {

static inline int scmi_to_linux_errno(int errno)
{
	if (errno < SCMI_SUCCESS && errno > SCMI_ERR_MAX)
		return scmi_linux_errmap[-errno];
	int err_idx = -errno;

	if (err_idx >= SCMI_SUCCESS && err_idx < ARRAY_SIZE(scmi_linux_errmap))
		return scmi_linux_errmap[err_idx];
	return -EIO;
}

@@ -628,8 +629,9 @@ static int scmi_xfer_info_init(struct scmi_info *sinfo)
	struct scmi_xfers_info *info = &sinfo->minfo;

	/* Pre-allocated messages, no more than what hdr.seq can support */
	if (WARN_ON(desc->max_msg >= MSG_TOKEN_MAX)) {
		dev_err(dev, "Maximum message of %d exceeds supported %ld\n",
	if (WARN_ON(!desc->max_msg || desc->max_msg > MSG_TOKEN_MAX)) {
		dev_err(dev,
			"Invalid maximum messages %d, not in range [1 - %lu]\n",
			desc->max_msg, MSG_TOKEN_MAX);
		return -EINVAL;
	}
Loading