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

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

Merge 4.9.43 into android-4.9



Changes in 4.9.43
	ppp: Fix false xmit recursion detect with two ppp devices
	ppp: fix xmit recursion detection on ppp channels
	tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states
	net: fix keepalive code vs TCP_FASTOPEN_CONNECT
	bpf, s390: fix jit branch offset related to ldimm64
	net/mlx4_en: don't set CHECKSUM_COMPLETE on SCTP packets
	net: sched: set xt_tgchk_param par.nft_compat as 0 in ipt_init_target
	tcp: fastopen: tcp_connect() must refresh the route
	net: avoid skb_warn_bad_offload false positives on UFO
	igmp: Fix regression caused by igmp sysctl namespace code.
	packet: fix tp_reserve race in packet_set_ring
	revert "net: account for current skb length when deciding about UFO"
	revert "ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output"
	udp: consistently apply ufo or fragmentation
	sparc64: Prevent perf from running during super critical sections
	KVM: arm/arm64: Handle hva aging while destroying the vm
	Revert "ARM: dts: sun8i: Support DTB build for NanoPi M1"
	Linux 4.9.43

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 02f29ab1 6da35f43
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 9
SUBLEVEL = 42
SUBLEVEL = 43
EXTRAVERSION =
NAME = Roaring Lionus

+0 −1
Original line number Diff line number Diff line
@@ -820,7 +820,6 @@ dtb-$(CONFIG_MACH_SUN8I) += \
	sun8i-a83t-allwinner-h8homlet-v2.dtb \
	sun8i-a83t-cubietruck-plus.dtb \
	sun8i-h3-bananapi-m2-plus.dtb \
	sun8i-h3-nanopi-m1.dtb	\
	sun8i-h3-nanopi-neo.dtb \
	sun8i-h3-orangepi-2.dtb \
	sun8i-h3-orangepi-lite.dtb \
+4 −0
Original line number Diff line number Diff line
@@ -1664,12 +1664,16 @@ static int kvm_test_age_hva_handler(struct kvm *kvm, gpa_t gpa, void *data)

int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end)
{
	if (!kvm->arch.pgd)
		return 0;
	trace_kvm_age_hva(start, end);
	return handle_hva_to_gpa(kvm, start, end, kvm_age_hva_handler, NULL);
}

int kvm_test_age_hva(struct kvm *kvm, unsigned long hva)
{
	if (!kvm->arch.pgd)
		return 0;
	trace_kvm_test_age_hva(hva);
	return handle_hva_to_gpa(kvm, hva, hva, kvm_test_age_hva_handler, NULL);
}
+2 −1
Original line number Diff line number Diff line
@@ -1252,7 +1252,8 @@ static int bpf_jit_prog(struct bpf_jit *jit, struct bpf_prog *fp)
		insn_count = bpf_jit_insn(jit, fp, i);
		if (insn_count < 0)
			return -1;
		jit->addrs[i + 1] = jit->prg; /* Next instruction address */
		/* Next instruction address */
		jit->addrs[i + insn_count] = jit->prg;
	}
	bpf_jit_epilogue(jit);

+9 −5
Original line number Diff line number Diff line
@@ -25,9 +25,11 @@ void destroy_context(struct mm_struct *mm);
void __tsb_context_switch(unsigned long pgd_pa,
			  struct tsb_config *tsb_base,
			  struct tsb_config *tsb_huge,
			  unsigned long tsb_descr_pa);
			  unsigned long tsb_descr_pa,
			  unsigned long secondary_ctx);

static inline void tsb_context_switch(struct mm_struct *mm)
static inline void tsb_context_switch_ctx(struct mm_struct *mm,
					  unsigned long ctx)
{
	__tsb_context_switch(__pa(mm->pgd),
			     &mm->context.tsb_block[0],
@@ -38,9 +40,12 @@ static inline void tsb_context_switch(struct mm_struct *mm)
#else
			     NULL
#endif
			     , __pa(&mm->context.tsb_descr[0]));
			     , __pa(&mm->context.tsb_descr[0]),
			     ctx);
}

#define tsb_context_switch(X) tsb_context_switch_ctx(X, 0)

void tsb_grow(struct mm_struct *mm,
	      unsigned long tsb_index,
	      unsigned long mm_rss);
@@ -110,8 +115,7 @@ static inline void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm, str
	 * cpu0 to update it's TSB because at that point the cpu_vm_mask
	 * only had cpu1 set in it.
	 */
	load_secondary_context(mm);
	tsb_context_switch(mm);
	tsb_context_switch_ctx(mm, CTX_HWBITS(mm->context));

	/* Any time a processor runs a context on an address space
	 * for the first time, we must flush that context out of the
Loading