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

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

Merge 4.4.136 into android-4.4



Changes in 4.4.136
	arm64: lse: Add early clobbers to some input/output asm operands
	powerpc/64s: Clear PCR on boot
	USB: serial: cp210x: use tcflag_t to fix incompatible pointer type
	sh: New gcc support
	xfs: detect agfl count corruption and reset agfl
	Revert "ima: limit file hash setting by user to fix and log modes"
	Input: elan_i2c_smbus - fix corrupted stack
	tracing: Fix crash when freeing instances with event triggers
	selinux: KASAN: slab-out-of-bounds in xattr_getsecurity
	cfg80211: further limit wiphy names to 64 bytes
	rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c
	ASoC: Intel: sst: remove redundant variable dma_dev_name
	irda: fix overly long udelay()
	tcp: avoid integer overflows in tcp_rcv_space_adjust()
	i2c: rcar: make sure clocks are on when doing clock calculation
	i2c: rcar: rework hw init
	i2c: rcar: remove unused IOERROR state
	i2c: rcar: remove spinlock
	i2c: rcar: refactor setup of a msg
	i2c: rcar: init new messages in irq
	i2c: rcar: don't issue stop when HW does it automatically
	i2c: rcar: check master irqs before slave irqs
	i2c: rcar: revoke START request early
	dmaengine: usb-dmac: fix endless loop in usb_dmac_chan_terminate_all()
	iio:kfifo_buf: check for uint overflow
	MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
	MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests
	scsi: scsi_transport_srp: Fix shost to rport translation
	stm class: Use vmalloc for the master map
	hwtracing: stm: fix build error on some arches
	drm/i915: Disable LVDS on Radiant P845
	Kbuild: change CC_OPTIMIZE_FOR_SIZE definition
	fix io_destroy()/aio_complete() race
	mm: fix the NULL mapping case in __isolate_lru_page()
	sparc64: Fix build warnings with gcc 7.
	Linux 4.4.136

Change-Id: I3457f995cf22c65952271ecd517a46144ac4dc79
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 98b6097d dc45cafe
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
VERSION = 4
VERSION = 4
PATCHLEVEL = 4
PATCHLEVEL = 4
SUBLEVEL = 135
SUBLEVEL = 136
EXTRAVERSION =
EXTRAVERSION =
NAME = Blurry Fish Butt
NAME = Blurry Fish Butt


+7 −7
Original line number Original line Diff line number Diff line
@@ -114,7 +114,7 @@ static inline void atomic_and(int i, atomic_t *v)
	/* LSE atomics */
	/* LSE atomics */
	"	mvn	%w[i], %w[i]\n"
	"	mvn	%w[i], %w[i]\n"
	"	stclr	%w[i], %[v]")
	"	stclr	%w[i], %[v]")
	: [i] "+r" (w0), [v] "+Q" (v->counter)
	: [i] "+&r" (w0), [v] "+Q" (v->counter)
	: "r" (x1)
	: "r" (x1)
	: __LL_SC_CLOBBERS);
	: __LL_SC_CLOBBERS);
}
}
@@ -131,7 +131,7 @@ static inline void atomic_sub(int i, atomic_t *v)
	/* LSE atomics */
	/* LSE atomics */
	"	neg	%w[i], %w[i]\n"
	"	neg	%w[i], %w[i]\n"
	"	stadd	%w[i], %[v]")
	"	stadd	%w[i], %[v]")
	: [i] "+r" (w0), [v] "+Q" (v->counter)
	: [i] "+&r" (w0), [v] "+Q" (v->counter)
	: "r" (x1)
	: "r" (x1)
	: __LL_SC_CLOBBERS);
	: __LL_SC_CLOBBERS);
}
}
@@ -151,7 +151,7 @@ static inline int atomic_sub_return##name(int i, atomic_t *v) \
	"	neg	%w[i], %w[i]\n"					\
	"	neg	%w[i], %w[i]\n"					\
	"	ldadd" #mb "	%w[i], w30, %[v]\n"			\
	"	ldadd" #mb "	%w[i], w30, %[v]\n"			\
	"	add	%w[i], %w[i], w30")				\
	"	add	%w[i], %w[i], w30")				\
	: [i] "+r" (w0), [v] "+Q" (v->counter)				\
	: [i] "+&r" (w0), [v] "+Q" (v->counter)				\
	: "r" (x1)							\
	: "r" (x1)							\
	: __LL_SC_CLOBBERS , ##cl);					\
	: __LL_SC_CLOBBERS , ##cl);					\
									\
									\
@@ -255,7 +255,7 @@ static inline void atomic64_and(long i, atomic64_t *v)
	/* LSE atomics */
	/* LSE atomics */
	"	mvn	%[i], %[i]\n"
	"	mvn	%[i], %[i]\n"
	"	stclr	%[i], %[v]")
	"	stclr	%[i], %[v]")
	: [i] "+r" (x0), [v] "+Q" (v->counter)
	: [i] "+&r" (x0), [v] "+Q" (v->counter)
	: "r" (x1)
	: "r" (x1)
	: __LL_SC_CLOBBERS);
	: __LL_SC_CLOBBERS);
}
}
@@ -272,7 +272,7 @@ static inline void atomic64_sub(long i, atomic64_t *v)
	/* LSE atomics */
	/* LSE atomics */
	"	neg	%[i], %[i]\n"
	"	neg	%[i], %[i]\n"
	"	stadd	%[i], %[v]")
	"	stadd	%[i], %[v]")
	: [i] "+r" (x0), [v] "+Q" (v->counter)
	: [i] "+&r" (x0), [v] "+Q" (v->counter)
	: "r" (x1)
	: "r" (x1)
	: __LL_SC_CLOBBERS);
	: __LL_SC_CLOBBERS);
}
}
@@ -292,7 +292,7 @@ static inline long atomic64_sub_return##name(long i, atomic64_t *v) \
	"	neg	%[i], %[i]\n"					\
	"	neg	%[i], %[i]\n"					\
	"	ldadd" #mb "	%[i], x30, %[v]\n"			\
	"	ldadd" #mb "	%[i], x30, %[v]\n"			\
	"	add	%[i], %[i], x30")				\
	"	add	%[i], %[i], x30")				\
	: [i] "+r" (x0), [v] "+Q" (v->counter)				\
	: [i] "+&r" (x0), [v] "+Q" (v->counter)				\
	: "r" (x1)							\
	: "r" (x1)							\
	: __LL_SC_CLOBBERS, ##cl);					\
	: __LL_SC_CLOBBERS, ##cl);					\
									\
									\
@@ -412,7 +412,7 @@ static inline long __cmpxchg_double##name(unsigned long old1, \
	"	eor	%[old1], %[old1], %[oldval1]\n"			\
	"	eor	%[old1], %[old1], %[oldval1]\n"			\
	"	eor	%[old2], %[old2], %[oldval2]\n"			\
	"	eor	%[old2], %[old2], %[oldval2]\n"			\
	"	orr	%[old1], %[old1], %[old2]")			\
	"	orr	%[old1], %[old1], %[old2]")			\
	: [old1] "+r" (x0), [old2] "+r" (x1),				\
	: [old1] "+&r" (x0), [old2] "+&r" (x1),				\
	  [v] "+Q" (*(unsigned long *)ptr)				\
	  [v] "+Q" (*(unsigned long *)ptr)				\
	: [new1] "r" (x2), [new2] "r" (x3), [ptr] "r" (x4),		\
	: [new1] "r" (x2), [new2] "r" (x3), [ptr] "r" (x4),		\
	  [oldval1] "r" (oldval1), [oldval2] "r" (oldval2)		\
	  [oldval1] "r" (oldval1), [oldval2] "r" (oldval2)		\
+4 −0
Original line number Original line Diff line number Diff line
@@ -684,6 +684,10 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value)
	if (value & ~known_bits)
	if (value & ~known_bits)
		return -EOPNOTSUPP;
		return -EOPNOTSUPP;


	/* Setting FRE without FR is not supported.  */
	if ((value & (PR_FP_MODE_FR | PR_FP_MODE_FRE)) == PR_FP_MODE_FRE)
		return -EOPNOTSUPP;

	/* Avoid inadvertently triggering emulation */
	/* Avoid inadvertently triggering emulation */
	if ((value & PR_FP_MODE_FR) && raw_cpu_has_fpu &&
	if ((value & PR_FP_MODE_FR) && raw_cpu_has_fpu &&
	    !(raw_current_cpu_data.fpu_id & MIPS_FPIR_F64))
	    !(raw_current_cpu_data.fpu_id & MIPS_FPIR_F64))
+1 −1
Original line number Original line Diff line number Diff line
@@ -840,7 +840,7 @@ long arch_ptrace(struct task_struct *child, long request,
				break;
				break;
			}
			}
#endif
#endif
			tmp = get_fpr32(&fregs[addr - FPR_BASE], 0);
			tmp = get_fpr64(&fregs[addr - FPR_BASE], 0);
			break;
			break;
		case PC:
		case PC:
			tmp = regs->cp0_epc;
			tmp = regs->cp0_epc;
+1 −1
Original line number Original line Diff line number Diff line
@@ -107,7 +107,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
						addr & 1);
						addr & 1);
				break;
				break;
			}
			}
			tmp = get_fpr32(&fregs[addr - FPR_BASE], 0);
			tmp = get_fpr64(&fregs[addr - FPR_BASE], 0);
			break;
			break;
		case PC:
		case PC:
			tmp = regs->cp0_epc;
			tmp = regs->cp0_epc;
Loading