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

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

Merge 4.19.62 into android-4.19-q



Changes in 4.19.62
	bnx2x: Prevent load reordering in tx completion processing
	caif-hsi: fix possible deadlock in cfhsi_exit_module()
	hv_netvsc: Fix extra rcu_read_unlock in netvsc_recv_callback()
	igmp: fix memory leak in igmpv3_del_delrec()
	ipv4: don't set IPv6 only flags to IPv4 addresses
	ipv6: rt6_check should return NULL if 'from' is NULL
	ipv6: Unlink sibling route in case of failure
	net: bcmgenet: use promisc for unsupported filters
	net: dsa: mv88e6xxx: wait after reset deactivation
	net: make skb_dst_force return true when dst is refcounted
	net: neigh: fix multiple neigh timer scheduling
	net: openvswitch: fix csum updates for MPLS actions
	net: phy: sfp: hwmon: Fix scaling of RX power
	net: stmmac: Re-work the queue selection for TSO packets
	nfc: fix potential illegal memory access
	r8169: fix issue with confused RX unit after PHY power-down on RTL8411b
	rxrpc: Fix send on a connected, but unbound socket
	sctp: fix error handling on stream scheduler initialization
	sky2: Disable MSI on ASUS P6T
	tcp: be more careful in tcp_fragment()
	tcp: fix tcp_set_congestion_control() use from bpf hook
	tcp: Reset bytes_acked and bytes_received when disconnecting
	vrf: make sure skb->data contains ip header to make routing
	net/mlx5e: IPoIB, Add error path in mlx5_rdma_setup_rn
	macsec: fix use-after-free of skb during RX
	macsec: fix checksumming after decryption
	netrom: fix a memory leak in nr_rx_frame()
	netrom: hold sock when setting skb->destructor
	net_sched: unset TCQ_F_CAN_BYPASS when adding filters
	net/tls: make sure offload also gets the keys wiped
	sctp: not bind the socket in sctp_connect
	net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling
	net: bridge: mcast: fix stale ipv6 hdr pointer when handling v6 query
	net: bridge: don't cache ether dest pointer on input
	net: bridge: stp: don't cache eth dest pointer before skb pull
	dma-buf: balance refcount inbalance
	dma-buf: Discard old fence_excl on retrying get_fences_rcu for realloc
	gpio: davinci: silence error prints in case of EPROBE_DEFER
	MIPS: lb60: Fix pin mappings
	perf/core: Fix exclusive events' grouping
	perf/core: Fix race between close() and fork()
	ext4: don't allow any modifications to an immutable file
	ext4: enforce the immutable flag on open files
	mm: add filemap_fdatawait_range_keep_errors()
	jbd2: introduce jbd2_inode dirty range scoping
	ext4: use jbd2_inode dirty range scoping
	ext4: allow directory holes
	KVM: nVMX: do not use dangling shadow VMCS after guest reset
	KVM: nVMX: Clear pending KVM_REQ_GET_VMCS12_PAGES when leaving nested
	mm: vmscan: scan anonymous pages on file refaults
	net: sched: verify that q!=NULL before setting q->flags
	Linux 4.19.62

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: Iffec08285360929d5692c456c451ef423d991719
parents 92e72d9a 64f46940
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
VERSION = 4
PATCHLEVEL = 19
PATCHLEVEL = 19
SUBLEVEL = 61
SUBLEVEL = 62
EXTRAVERSION =
EXTRAVERSION =
NAME = "People's Front"
NAME = "People's Front"


+8 −8
Original line number Original line Diff line number Diff line
@@ -471,27 +471,27 @@ static unsigned long pin_cfg_bias_disable[] = {
static struct pinctrl_map pin_map[] __initdata = {
static struct pinctrl_map pin_map[] __initdata = {
	/* NAND pin configuration */
	/* NAND pin configuration */
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-nand",
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-nand",
			"10010000.jz4740-pinctrl", "nand", "nand-cs1"),
			"10010000.pin-controller", "nand-cs1", "nand"),


	/* fbdev pin configuration */
	/* fbdev pin configuration */
	PIN_MAP_MUX_GROUP("jz4740-fb", PINCTRL_STATE_DEFAULT,
	PIN_MAP_MUX_GROUP("jz4740-fb", PINCTRL_STATE_DEFAULT,
			"10010000.jz4740-pinctrl", "lcd", "lcd-8bit"),
			"10010000.pin-controller", "lcd-8bit", "lcd"),
	PIN_MAP_MUX_GROUP("jz4740-fb", PINCTRL_STATE_SLEEP,
	PIN_MAP_MUX_GROUP("jz4740-fb", PINCTRL_STATE_SLEEP,
			"10010000.jz4740-pinctrl", "lcd", "lcd-no-pins"),
			"10010000.pin-controller", "lcd-no-pins", "lcd"),


	/* MMC pin configuration */
	/* MMC pin configuration */
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-mmc.0",
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-mmc.0",
			"10010000.jz4740-pinctrl", "mmc", "mmc-1bit"),
			"10010000.pin-controller", "mmc-1bit", "mmc"),
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-mmc.0",
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-mmc.0",
			"10010000.jz4740-pinctrl", "mmc", "mmc-4bit"),
			"10010000.pin-controller", "mmc-4bit", "mmc"),
	PIN_MAP_CONFIGS_PIN_DEFAULT("jz4740-mmc.0",
	PIN_MAP_CONFIGS_PIN_DEFAULT("jz4740-mmc.0",
			"10010000.jz4740-pinctrl", "PD0", pin_cfg_bias_disable),
			"10010000.pin-controller", "PD0", pin_cfg_bias_disable),
	PIN_MAP_CONFIGS_PIN_DEFAULT("jz4740-mmc.0",
	PIN_MAP_CONFIGS_PIN_DEFAULT("jz4740-mmc.0",
			"10010000.jz4740-pinctrl", "PD2", pin_cfg_bias_disable),
			"10010000.pin-controller", "PD2", pin_cfg_bias_disable),


	/* PWM pin configuration */
	/* PWM pin configuration */
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-pwm",
	PIN_MAP_MUX_GROUP_DEFAULT("jz4740-pwm",
			"10010000.jz4740-pinctrl", "pwm4", "pwm4"),
			"10010000.pin-controller", "pwm4", "pwm4"),
};
};




+9 −1
Original line number Original line Diff line number Diff line
@@ -8457,6 +8457,7 @@ static void vmx_disable_shadow_vmcs(struct vcpu_vmx *vmx)
{
{
	vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL, SECONDARY_EXEC_SHADOW_VMCS);
	vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL, SECONDARY_EXEC_SHADOW_VMCS);
	vmcs_write64(VMCS_LINK_POINTER, -1ull);
	vmcs_write64(VMCS_LINK_POINTER, -1ull);
	vmx->nested.sync_shadow_vmcs = false;
}
}


static inline void nested_release_vmcs12(struct vcpu_vmx *vmx)
static inline void nested_release_vmcs12(struct vcpu_vmx *vmx)
@@ -8468,7 +8469,6 @@ static inline void nested_release_vmcs12(struct vcpu_vmx *vmx)
		/* copy to memory all shadowed fields in case
		/* copy to memory all shadowed fields in case
		   they were modified */
		   they were modified */
		copy_shadow_to_vmcs12(vmx);
		copy_shadow_to_vmcs12(vmx);
		vmx->nested.sync_shadow_vmcs = false;
		vmx_disable_shadow_vmcs(vmx);
		vmx_disable_shadow_vmcs(vmx);
	}
	}
	vmx->nested.posted_intr_nv = -1;
	vmx->nested.posted_intr_nv = -1;
@@ -8490,6 +8490,8 @@ static void free_nested(struct vcpu_vmx *vmx)
	if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon)
	if (!vmx->nested.vmxon && !vmx->nested.smm.vmxon)
		return;
		return;


	kvm_clear_request(KVM_REQ_GET_VMCS12_PAGES, &vmx->vcpu);

	hrtimer_cancel(&vmx->nested.preemption_timer);
	hrtimer_cancel(&vmx->nested.preemption_timer);
	vmx->nested.vmxon = false;
	vmx->nested.vmxon = false;
	vmx->nested.smm.vmxon = false;
	vmx->nested.smm.vmxon = false;
@@ -8668,6 +8670,9 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx)
	u64 field_value;
	u64 field_value;
	struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs;
	struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs;


	if (WARN_ON(!shadow_vmcs))
		return;

	preempt_disable();
	preempt_disable();


	vmcs_load(shadow_vmcs);
	vmcs_load(shadow_vmcs);
@@ -8706,6 +8711,9 @@ static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx)
	u64 field_value = 0;
	u64 field_value = 0;
	struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs;
	struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs;


	if (WARN_ON(!shadow_vmcs))
		return;

	vmcs_load(shadow_vmcs);
	vmcs_load(shadow_vmcs);


	for (q = 0; q < ARRAY_SIZE(fields); q++) {
	for (q = 0; q < ARRAY_SIZE(fields); q++) {
+1 −0
Original line number Original line Diff line number Diff line
@@ -1069,6 +1069,7 @@ static int dma_buf_debug_show(struct seq_file *s, void *unused)
				   fence->ops->get_driver_name(fence),
				   fence->ops->get_driver_name(fence),
				   fence->ops->get_timeline_name(fence),
				   fence->ops->get_timeline_name(fence),
				   dma_fence_is_signaled(fence) ? "" : "un");
				   dma_fence_is_signaled(fence) ? "" : "un");
			dma_fence_put(fence);
		}
		}
		rcu_read_unlock();
		rcu_read_unlock();


+4 −0
Original line number Original line Diff line number Diff line
@@ -416,6 +416,10 @@ int reservation_object_get_fences_rcu(struct reservation_object *obj,
					   GFP_NOWAIT | __GFP_NOWARN);
					   GFP_NOWAIT | __GFP_NOWARN);
			if (!nshared) {
			if (!nshared) {
				rcu_read_unlock();
				rcu_read_unlock();

				dma_fence_put(fence_excl);
				fence_excl = NULL;

				nshared = krealloc(shared, sz, GFP_KERNEL);
				nshared = krealloc(shared, sz, GFP_KERNEL);
				if (nshared) {
				if (nshared) {
					shared = nshared;
					shared = nshared;
Loading