public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org, "Mark Rutland" <mark.rutland@arm.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Will Deacon" <will.deacon@arm.com>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"James Morse" <james.morse@arm.com>,
	"Dave Martin" <dave.martin@arm.com>
Subject: [PATCH 3.16 171/192] arm64: Rework valid_user_regs
Date: Mon, 09 Oct 2017 13:44:25 +0100	[thread overview]
Message-ID: <lsq.1507553065.776955832@decadent.org.uk> (raw)
In-Reply-To: <lsq.1507553063.449494954@decadent.org.uk>

3.16.49-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Mark Rutland <mark.rutland@arm.com>

commit dbd4d7ca563fd0a8949718d35ce197e5642d5d9d upstream.

We validate pstate using PSR_MODE32_BIT, which is part of the
user-provided pstate (and cannot be trusted). Also, we conflate
validation of AArch32 and AArch64 pstate values, making the code
difficult to reason about.

Instead, validate the pstate value based on the associated task. The
task may or may not be current (e.g. when using ptrace), so this must be
passed explicitly by callers. To avoid circular header dependencies via
sched.h, is_compat_task is pulled out of asm/ptrace.h.

To make the code possible to reason about, the AArch64 and AArch32
validation is split into separate functions. Software must respect the
RES0 policy for SPSR bits, and thus the kernel mirrors the hardware
policy (RAZ/WI) for bits as-yet unallocated. When these acquire an
architected meaning writes may be permitted (potentially with additional
validation).

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Dave Martin <dave.martin@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
[ rebased for v3.16
  v3.16 does not support SETEND, support for this was added by
  2d888f48e056 ("arm64: Emulate SETEND for AArch32 tasks") in v3.20
  This backport forces the kernel endianness on userspace.

  Added a DBG_SPSR_SS define hidden by #ifdefs to avoid conflicts with
  other backports.
]
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 arch/arm64/include/asm/ptrace.h | 34 +++--------------
 arch/arm64/kernel/ptrace.c      | 83 ++++++++++++++++++++++++++++++++++++++++-
 arch/arm64/kernel/signal.c      |  4 +-
 arch/arm64/kernel/signal32.c    |  2 +-
 4 files changed, 89 insertions(+), 34 deletions(-)

--- a/arch/arm64/include/asm/ptrace.h
+++ b/arch/arm64/include/asm/ptrace.h
@@ -58,6 +58,8 @@
 #define COMPAT_PSR_Z_BIT	0x40000000
 #define COMPAT_PSR_N_BIT	0x80000000
 #define COMPAT_PSR_IT_MASK	0x0600fc00	/* If-Then execution state mask */
+#define COMPAT_PSR_GE_MASK	0x000f0000
+
 /*
  * These are 'magic' values for PTRACE_PEEKUSR that return info about where a
  * process is located in memory.
@@ -144,35 +146,9 @@ static inline unsigned long regs_return_
 	return regs->regs[0];
 }
 
-/*
- * Are the current registers suitable for user mode? (used to maintain
- * security in signal handlers)
- */
-static inline int valid_user_regs(struct user_pt_regs *regs)
-{
-	if (user_mode(regs) && (regs->pstate & PSR_I_BIT) == 0) {
-		regs->pstate &= ~(PSR_F_BIT | PSR_A_BIT);
-
-		/* The T bit is reserved for AArch64 */
-		if (!(regs->pstate & PSR_MODE32_BIT))
-			regs->pstate &= ~COMPAT_PSR_T_BIT;
-
-		return 1;
-	}
-
-	/*
-	 * Force PSR to something logical...
-	 */
-	regs->pstate &= PSR_f | PSR_s | (PSR_x & ~PSR_A_BIT) | \
-			COMPAT_PSR_T_BIT | PSR_MODE32_BIT;
-
-	if (!(regs->pstate & PSR_MODE32_BIT)) {
-		regs->pstate &= ~COMPAT_PSR_T_BIT;
-		regs->pstate |= PSR_MODE_EL0t;
-	}
-
-	return 0;
-}
+/* We must avoid circular header include via sched.h */
+struct task_struct;
+int valid_user_regs(struct user_pt_regs *regs, struct task_struct *task);
 
 #define instruction_pointer(regs)	((unsigned long)(regs)->pc)
 
--- a/arch/arm64/kernel/ptrace.c
+++ b/arch/arm64/kernel/ptrace.c
@@ -45,6 +45,10 @@
 #define CREATE_TRACE_POINTS
 #include <trace/events/syscalls.h>
 
+#ifndef DBG_SPSR_SS
+#define DBG_SPSR_SS             (1 << 21)
+#endif
+
 /*
  * TODO: does not yet catch signals sent when the child dies.
  * in exit.c or in signal.c.
@@ -501,7 +505,7 @@ static int gpr_set(struct task_struct *t
 	if (ret)
 		return ret;
 
-	if (!valid_user_regs(&newregs))
+	if (!valid_user_regs(&newregs, target))
 		return -EINVAL;
 
 	task_pt_regs(target)->user_regs = newregs;
@@ -733,7 +737,7 @@ static int compat_gpr_set(struct task_st
 
 	}
 
-	if (valid_user_regs(&newregs.user_regs))
+	if (valid_user_regs(&newregs.user_regs, target))
 		*task_pt_regs(target) = newregs;
 	else
 		ret = -EINVAL;
@@ -1138,3 +1142,78 @@ asmlinkage void syscall_trace_exit(struc
 	if (test_thread_flag(TIF_SYSCALL_TRACE))
 		tracehook_report_syscall(regs, PTRACE_SYSCALL_EXIT);
 }
+
+/*
+ * Bits which are always architecturally RES0 per ARM DDI 0487A.h
+ * Userspace cannot use these until they have an architectural meaning.
+ * We also reserve IL for the kernel; SS is handled dynamically.
+ */
+#define SPSR_EL1_AARCH64_RES0_BITS \
+	(GENMASK_ULL(63,32) | GENMASK_ULL(27, 22) | GENMASK_ULL(20, 10) | \
+	 GENMASK_ULL(5, 5))
+#define SPSR_EL1_AARCH32_RES0_BITS \
+	(GENMASK_ULL(63,32) | GENMASK_ULL(24, 22) | GENMASK_ULL(20,20))
+
+static int valid_compat_regs(struct user_pt_regs *regs)
+{
+	regs->pstate &= ~SPSR_EL1_AARCH32_RES0_BITS;
+
+	/* Force kernel endianness on user space */
+	if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN))
+		regs->pstate |= COMPAT_PSR_E_BIT;
+	else
+		regs->pstate &= ~COMPAT_PSR_E_BIT;
+
+	if (user_mode(regs) && (regs->pstate & PSR_MODE32_BIT) &&
+	    (regs->pstate & COMPAT_PSR_A_BIT) == 0 &&
+	    (regs->pstate & COMPAT_PSR_I_BIT) == 0 &&
+	    (regs->pstate & COMPAT_PSR_F_BIT) == 0) {
+		return 1;
+	}
+
+	/*
+	 * Force PSR to a valid 32-bit EL0t, preserving the same bits as
+	 * arch/arm.
+	 */
+	regs->pstate &= COMPAT_PSR_N_BIT | COMPAT_PSR_Z_BIT |
+			COMPAT_PSR_C_BIT | COMPAT_PSR_V_BIT |
+			COMPAT_PSR_Q_BIT | COMPAT_PSR_IT_MASK |
+			COMPAT_PSR_GE_MASK | COMPAT_PSR_E_BIT |
+			COMPAT_PSR_T_BIT;
+	regs->pstate |= PSR_MODE32_BIT;
+
+	return 0;
+}
+
+static int valid_native_regs(struct user_pt_regs *regs)
+{
+	regs->pstate &= ~SPSR_EL1_AARCH64_RES0_BITS;
+
+	if (user_mode(regs) && !(regs->pstate & PSR_MODE32_BIT) &&
+	    (regs->pstate & PSR_D_BIT) == 0 &&
+	    (regs->pstate & PSR_A_BIT) == 0 &&
+	    (regs->pstate & PSR_I_BIT) == 0 &&
+	    (regs->pstate & PSR_F_BIT) == 0) {
+		return 1;
+	}
+
+	/* Force PSR to a valid 64-bit EL0t */
+	regs->pstate &= PSR_N_BIT | PSR_Z_BIT | PSR_C_BIT | PSR_V_BIT;
+
+	return 0;
+}
+
+/*
+ * Are the current registers suitable for user mode? (used to maintain
+ * security in signal handlers)
+ */
+int valid_user_regs(struct user_pt_regs *regs, struct task_struct *task)
+{
+	if (!test_tsk_thread_flag(task, TIF_SINGLESTEP))
+		regs->pstate &= ~DBG_SPSR_SS;
+
+	if (is_compat_thread(task_thread_info(task)))
+		return valid_compat_regs(regs);
+	else
+		return valid_native_regs(regs);
+}
--- a/arch/arm64/kernel/signal.c
+++ b/arch/arm64/kernel/signal.c
@@ -115,7 +115,7 @@ static int restore_sigframe(struct pt_re
 	 */
 	regs->syscallno = ~0UL;
 
-	err |= !valid_user_regs(&regs->user_regs);
+	err |= !valid_user_regs(&regs->user_regs, current);
 
 	if (err == 0) {
 		struct fpsimd_context *fpsimd_ctx =
@@ -322,7 +322,7 @@ static void handle_signal(unsigned long
 	/*
 	 * Check that the resulting registers are actually sane.
 	 */
-	ret |= !valid_user_regs(&regs->user_regs);
+	ret |= !valid_user_regs(&regs->user_regs, current);
 
 	if (ret != 0) {
 		force_sigsegv(sig, tsk);
--- a/arch/arm64/kernel/signal32.c
+++ b/arch/arm64/kernel/signal32.c
@@ -350,7 +350,7 @@ static int compat_restore_sigframe(struc
 	 */
 	regs->syscallno = ~0UL;
 
-	err |= !valid_user_regs(&regs->user_regs);
+	err |= !valid_user_regs(&regs->user_regs, current);
 
 	aux = (struct compat_aux_sigframe __user *) sf->uc.uc_regspace;
 	if (err == 0)

  parent reply	other threads:[~2017-10-09 14:01 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-09 12:44 [PATCH 3.16 000/192] 3.16.49-rc1 review Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 062/192] USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 036/192] udf: Fix races with i_size changes during readpage Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 108/192] crypto: atmel - only treat EBUSY as transient if backlog Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 046/192] iwlwifi: mvm: fix the recovery flow while connecting Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 092/192] crypto: sha1-ssse3 - Disable avx2 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 054/192] scsi: sun_esp: fix device reference leaks Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 005/192] sched/topology: Fix overlapping sched_group_mask Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 096/192] target: Fix COMPARE_AND_WRITE caw_sem leak during se_cmd quiesce Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 130/192] btrfs: preserve i_mode if __btrfs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 097/192] cfg80211: Check if PMKID attribute is of expected size Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 024/192] xen: avoid type warning in xchg_xen_ulong Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 077/192] PCI/PM: Restore the status of PCI devices across hibernation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 068/192] PM / Domains: Fix unsafe iteration over modified list of device links Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 075/192] btrfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 052/192] scsi: bnx2i: missing error code in bnx2i_ep_connect() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 060/192] ath9k: fix tx99 use after free Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 051/192] scsi: virtio_scsi: let host do exception handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 022/192] e1000e: Undo e1000e_pm_freeze if __e1000_shutdown fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 123/192] reiserfs: preserve i_mode if __reiserfs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 079/192] scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 045/192] Btrfs: fix invalid extent maps due to hole punching Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 049/192] i2c: cadance: fix ctrl/addr reg write order Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 006/192] sched/topology: Fix overlapping sched_group_capacity Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 069/192] MIPS: math-emu: Prevent wrong ISA mode instruction emulation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 031/192] usb: Fix typo in the definition of Endpoint[out]Request Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 043/192] xhci: Limit USB2 port wake support for AMD Promontory hosts Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 106/192] powerpc: Fix emulation of mfocrf in emulate_step() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 023/192] perf/core: Correct event creation with PERF_FORMAT_GROUP Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 004/192] sched/topology: Fix building of overlapping sched-groups Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 035/192] USB: serial: qcserial: new Sierra Wireless EM7305 device ID Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 128/192] f2fs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 033/192] md: don't use flush_signals in userspace processes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 088/192] IB/core: Add inline function to validate port Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 087/192] IB/core: Create common start/end port functions Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 073/192] Add USB quirk for HVR-950q to avoid intermittent device resets Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 125/192] jfs: preserve i_mode if __jfs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 129/192] f2fs: preserve i_mode if __f2fs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 053/192] xfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 067/192] PCI: Work around poweroff & suspend-to-RAM issue on Macbook Pro 11 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 072/192] MIPS: Send SIGILL for BPOSGE32 in `__compute_return_epc_for_insn' Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 029/192] vxlan: dont migrate permanent fdb entries during learn Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 002/192] sched/topology: Refactor function build_overlap_sched_groups() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 105/192] iscsi-target: Add login_keys_workaround attribute for non RFC initiators Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 042/192] Btrfs: skip commit transaction if we don't have enough pinned bytes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 016/192] drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 037/192] udf: Fix deadlock between writeback and udf_setsize() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 078/192] scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 019/192] kvm: x86: Guest BNDCFGS requires guest MPX support Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 071/192] MIPS: Fix unaligned PC interpretation in `compute_return_epc' Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 132/192] [media] saa7164: fix double fetch PCIe access condition Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 113/192] sunrpc: use constant time memory comparison for mac Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 027/192] iio: accel: st_accel_spi: fix spi_device_id table Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 112/192] sysctl: fix lax sysctl_check_table() sanity check Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 074/192] arm64: ptrace: Avoid setting compat FP[SC]R to garbage if get_user fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 080/192] parisc: use compat_sys_keyctl() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 038/192] drm/msm/hdmi: Use bitwise operators when building register values Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 009/192] f2fs: load inode's flag from disk Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 020/192] kvm: vmx: Check value written to IA32_BNDCFGS Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 131/192] [media] saa7164: fix sparse warnings Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 012/192] arm64: Preventing READ_IMPLIES_EXEC propagation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 003/192] sched/fair, cpumask: Export for_each_cpu_wrap() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 039/192] NFC: fix broken device allocation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 083/192] ipv6: dad: don't remove dynamic addresses if link is down Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 111/192] Input: i8042 - fix crash at boot time Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 014/192] tools/lib/lockdep: Reduce MAX_LOCK_DEPTH to avoid overflowing lock_chain/: Depth Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 119/192] ext3: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 017/192] [media] mceusb: fix memory leaks in error path Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 056/192] MIPS: module: Ensure we always clean up r_mips_hi16_list Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 070/192] MIPS: Actually decode JALX in `__compute_return_epc_for_insn' Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 048/192] staging: comedi: fix clean-up of comedi_class in comedi_init() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 099/192] cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 126/192] ext4: preserve i_mode if __ext4_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 018/192] kvm: vmx: Do not disable intercepts for BNDCFGS Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 040/192] crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 026/192] Bluetooth: use constant time memory comparison for secret values Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 109/192] powerpc/64: Fix atomic64_inc_not_zero() to return an int Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 058/192] MIPS: Save static registers before sysmips Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 098/192] cfg80211: Define nla_policy for NL80211_ATTR_LOCAL_MESH_POWER_MODE Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 032/192] PCI: Correct PCI_STD_RESOURCE_END usage Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 061/192] ath9k: fix tx99 bus error Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 120/192] ext3: preserve i_mode if ext2_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 090/192] net: reflect mark on tcp syn ack packets Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 008/192] pinctrl: imx: fix debug message for SHARE_MUX_CONF_REG case Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 107/192] crypto: caam - fix signals handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 081/192] parisc: Report SIGSEGV instead of SIGBUS when running out of stack Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 122/192] reiserfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 057/192] MIPS: Fix mips_atomic_set() retry condition Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 001/192] sched: Rename a misleading variable in build_overlap_sched_groups() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 118/192] ext2: preserve i_mode if ext2_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 065/192] vfio: New external user group/file match Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 055/192] MIPS: Bail on unsupported module relocs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 103/192] powerpc/asm: Mark cr0 as clobbered in mftb() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 034/192] USB: serial: option: add two Longcheer device ids Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 110/192] PM / QoS: return -EINVAL for bogus strings Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 030/192] usb: usbip: set buffer pointers to NULL after free Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 117/192] ext2: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 063/192] libertas: Fix lbs_prb_rsp_limit_set() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 095/192] tpm: fix a kernel memory leak in tpm-sysfs.c Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 116/192] mm: fix overflow check in expand_upwards() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 091/192] s390/syscalls: Fix out of bounds arguments access Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 114/192] ubifs: Correctly evict xattr inodes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 124/192] jfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 066/192] PCI: Mark Haswell Power Control Unit as having non-compliant BARs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 100/192] drm/radeon: Fix eDP for single-display iMac10,1 (v2) Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 084/192] x86/xen: allow userspace access during hypercalls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 059/192] MIPS: Fix mips_atomic_set() with EVA Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 085/192] drm/i915: Disable MSI for all pre-gen5 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 089/192] RDMA/uverbs: Check port number supplied by user verbs cmds Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 115/192] ubifs: Don't leak kernel memory to the MTD Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 093/192] CIFS: fix circular locking dependency Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 011/192] wlcore: fix 64K page support Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 082/192] ipv6: always add flag an address that failed DAD with DADFAILED Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 094/192] rtc: rtc-nuc900: fix loop timeout test Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 015/192] Documentation: DMA API: fix a typo in a function name Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 050/192] af_iucv: Move sockaddr length checks to before accessing sa_family in bind and connect handlers Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 101/192] mm/mmap.c: do not blow on PROT_NONE MAP_FIXED holes in the stack Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 047/192] spi: atmel: fix corrupted data issue on SAM9 family SoCs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 102/192] fs/dcache.c: fix spin lockup issue on nlru->lock Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 104/192] MIPS: Negate error syscall return in trace Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 044/192] x86/nmi: Fix timeout test in test_nmi_ipi() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 028/192] iio: magnetometer: st_magn_spi: fix spi_device_id table Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 086/192] parisc: DMA API: return error instead of BUG_ON for dma ops on non dma devs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 013/192] Fix serial console on SNI RM400 machines Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 127/192] ext4: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 007/192] mwifiex: fixup error cases in mwifiex_add_virtual_intf() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 121/192] hfsplus: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 025/192] vt: fix unchecked __put_user() in tioclinux ioctls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 064/192] vfio: Fix group release deadlock Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 076/192] mwifiex: do not update MCS set from hostapd Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 021/192] e1000e: Fix Runtime PM blocks EEE link negotiation in S5 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 010/192] f2fs: try to freeze in gc and discard threads Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 041/192] ASoC: compress: Derive substream from stream based on direction Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 153/192] net: Don't forget pr_fmt on net_dbg_ratelimited for CONFIG_DYNAMIC_DEBUG Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 149/192] sparc: Harden signal return frame checks Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 188/192] sched: move no_new_privs into new atomic flags Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 152/192] net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 162/192] ARM: OMAP3: Fix booting with thumb2 kernel Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 187/192] Fix match_prepath() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 168/192] perf/x86: Fix undefined shift on 32-bit kernels Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 191/192] cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 135/192] video: fbdev: aty: do not leak uninitialized padding in clk to userspace Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 189/192] sched: fix confusing PFA_NO_NEW_PRIVS constant Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 178/192] PCI: Add Netronome NFP4000 PF device ID Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 159/192] usb: musb: cppi41: improve rx channel abort routine Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 177/192] PCI: Limit config space size for Netronome NFP6000 family Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 192/192] dm: flush queued bios when process blocks to avoid deadlock Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 157/192] x86/efi: Avoid triple faults during EFI mixed mode calls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 165/192] misc: ad525x_dpot: Fix the enabling of the "otpXen" attributes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 151/192] net_dbg_ratelimited: turn into no-op when !DEBUG Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 137/192] scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 145/192] sparc64: Fix bootup regressions on some Kconfig combinations Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 142/192] m32r: add definition of ioremap_wc to io.h Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 155/192] Revert "ACPI / EC: Add support to disallow QR_EC to be issued before completing previous QR_EC" Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 166/192] MIPS: Fix 64k page support for 32 bit kernels Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 172/192] mm/swap.c: flush lru pvecs on compound page arrival Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 184/192] Compare prepaths when comparing superblocks Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 147/192] sparc/PCI: Fix for panic while enabling SR-IOV Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 150/192] sparc64: Fix return from trap window fill crashes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 181/192] netvsc: fix incorrect receive checksum offloading Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 173/192] s390/seccomp: fix error return for filtered system calls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 163/192] Btrfs: don't use src fd for printk Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 133/192] nl80211: check for the required netlink attributes presence Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 158/192] usb: musb: cppi41: correct the macro name EP_MODE_AUTOREG_* Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 140/192] net/route: enforce hoplimit max value Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 138/192] Bluetooth: Properly check L2CAP config option output buffer length Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 169/192] macintosh/therm_windtunnel: Export I2C module alias information Ben Hutchings
2017-10-09 12:44 ` Ben Hutchings [this message]
2017-10-09 12:44 ` [PATCH 3.16 167/192] perf/x86: Honor the architectural performance monitoring version Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 180/192] ALSA: oxygen: Fix logical-not-parentheses warning Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 144/192] sparc: Fix system call tracing register handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 186/192] Fix regression which breaks DFS mounting Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 134/192] kvm: nVMX: Don't allow L2 to access the hardware CR8 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 141/192] ipv4/fib: don't warn when primary address is missing if in_dev is dead Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 139/192] l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 175/192] PCI: Support PCIe devices with short cfg_size Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 176/192] PCI: Add Netronome vendor and device IDs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 182/192] fs/cifs: make share unaccessible at root level mountable Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 146/192] sparc64: Fix sparc64_set_context stack handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 161/192] Input: ads7846 - correct the value got from SPI Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 160/192] v4l2-dv-timings.h: fix polarity for 4k formats Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 156/192] drm/irq: BUG_ON() -> WARN_ON() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 164/192] serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 143/192] m32r: add io*_rep helpers Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 148/192] sparc64: Take ctx_alloc_lock properly in hugetlb_setup() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 136/192] xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 170/192] MIPS: KVM: Fix modular KVM under QEMU Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 190/192] sched: add macros to define bitops for task atomic flags Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 185/192] Move check for prefix path to within cifs_get_root() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 183/192] Fix memory leaks in cifs_do_mount() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 179/192] PCI: Limit config space size for Netronome NFP4000 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 174/192] mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 154/192] net sched filters: fix notification of filter delete with proper handle Ben Hutchings
2017-10-09 20:13 ` [PATCH 3.16 000/192] 3.16.49-rc1 review Guenter Roeck
2017-10-09 21:17   ` Ben Hutchings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=lsq.1507553065.776955832@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=dave.martin@arm.com \
    --cc=james.morse@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=peter.maydell@linaro.org \
    --cc=stable@vger.kernel.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox