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, Denis Kirjanov <kda@linux-powerpc.org>,
	"Richard Weinberger" <richard@nod.at>
Subject: [PATCH 3.16 123/202] powerpc: Use get_signal() signal_setup_done()
Date: Sat, 27 Apr 2019 16:13:09 +0100	[thread overview]
Message-ID: <lsq.1556377989.381748030@decadent.org.uk> (raw)
In-Reply-To: <lsq.1556377988.384060557@decadent.org.uk>

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

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

From: Richard Weinberger <richard@nod.at>

commit 129b69df9c9074750245fca8aa92df5cc1a86ef4 upstream.

Use the more generic functions get_signal() signal_setup_done()
for signal delivery.
This inverts also the return codes of setup_*frame() to follow the
kernel convention.

Signed-off-by: Richard Weinberger <richard@nod.at>
[bwh: Backported to 3.16 as dependency of commit 35634ffa1751
 "signal: Always notice exiting tasks"]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 arch/powerpc/kernel/signal.c    | 31 ++++++++++------------------
 arch/powerpc/kernel/signal.h    | 14 +++++--------
 arch/powerpc/kernel/signal_32.c | 36 +++++++++++++++------------------
 arch/powerpc/kernel/signal_64.c | 28 ++++++++++++-------------
 4 files changed, 45 insertions(+), 64 deletions(-)

--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -105,25 +105,23 @@ static void check_syscall_restart(struct
 	}
 }
 
-static int do_signal(struct pt_regs *regs)
+static void do_signal(struct pt_regs *regs)
 {
 	sigset_t *oldset = sigmask_to_save();
-	siginfo_t info;
-	int signr;
-	struct k_sigaction ka;
+	struct ksignal ksig;
 	int ret;
 	int is32 = is_32bit_task();
 
-	signr = get_signal_to_deliver(&info, &ka, regs, NULL);
+	get_signal(&ksig);
 
 	/* Is there any syscall restart business here ? */
-	check_syscall_restart(regs, &ka, signr > 0);
+	check_syscall_restart(regs, &ksig.ka, ksig.sig > 0);
 
-	if (signr <= 0) {
+	if (ksig.sig <= 0) {
 		/* No signal to deliver -- put the saved sigmask back */
 		restore_saved_sigmask();
 		regs->trap = 0;
-		return 0;               /* no signals delivered */
+		return;               /* no signals delivered */
 	}
 
 #ifndef CONFIG_PPC_ADV_DEBUG_REGS
@@ -140,23 +138,16 @@ static int do_signal(struct pt_regs *reg
 	thread_change_pc(current, regs);
 
 	if (is32) {
-        	if (ka.sa.sa_flags & SA_SIGINFO)
-			ret = handle_rt_signal32(signr, &ka, &info, oldset,
-					regs);
+        	if (ksig.ka.sa.sa_flags & SA_SIGINFO)
+			ret = handle_rt_signal32(&ksig, oldset, regs);
 		else
-			ret = handle_signal32(signr, &ka, &info, oldset,
-					regs);
+			ret = handle_signal32(&ksig, oldset, regs);
 	} else {
-		ret = handle_rt_signal64(signr, &ka, &info, oldset, regs);
+		ret = handle_rt_signal64(&ksig, oldset, regs);
 	}
 
 	regs->trap = 0;
-	if (ret) {
-		signal_delivered(signr, &info, &ka, regs,
-					 test_thread_flag(TIF_SINGLESTEP));
-	}
-
-	return ret;
+	signal_setup_done(ret, &ksig, test_thread_flag(TIF_SINGLESTEP));
 }
 
 void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)
--- a/arch/powerpc/kernel/signal.h
+++ b/arch/powerpc/kernel/signal.h
@@ -12,15 +12,13 @@
 
 extern void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags);
 
-extern void __user * get_sigframe(struct k_sigaction *ka, unsigned long sp,
+extern void __user *get_sigframe(struct ksignal *ksig, unsigned long sp,
 				  size_t frame_size, int is_32);
 
-extern int handle_signal32(unsigned long sig, struct k_sigaction *ka,
-			   siginfo_t *info, sigset_t *oldset,
+extern int handle_signal32(struct ksignal *ksig, sigset_t *oldset,
 			   struct pt_regs *regs);
 
-extern int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
-			      siginfo_t *info, sigset_t *oldset,
+extern int handle_rt_signal32(struct ksignal *ksig, sigset_t *oldset,
 			      struct pt_regs *regs);
 
 extern unsigned long copy_fpr_to_user(void __user *to,
@@ -44,14 +42,12 @@ extern unsigned long copy_transact_vsx_f
 
 #ifdef CONFIG_PPC64
 
-extern int handle_rt_signal64(int signr, struct k_sigaction *ka,
-			      siginfo_t *info, sigset_t *set,
+extern int handle_rt_signal64(struct ksignal *ksig, sigset_t *set,
 			      struct pt_regs *regs);
 
 #else /* CONFIG_PPC64 */
 
-static inline int handle_rt_signal64(int signr, struct k_sigaction *ka,
-				     siginfo_t *info, sigset_t *set,
+static inline int handle_rt_signal64(struct ksignal *ksig, sigset_t *set,
 				     struct pt_regs *regs)
 {
 	return -EFAULT;
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -1001,9 +1001,8 @@ int copy_siginfo_from_user32(siginfo_t *
  * Set up a signal frame for a "real-time" signal handler
  * (one which gets siginfo).
  */
-int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
-		siginfo_t *info, sigset_t *oldset,
-		struct pt_regs *regs)
+int handle_rt_signal32(struct ksignal *ksig, sigset_t *oldset,
+		       struct pt_regs *regs)
 {
 	struct rt_sigframe __user *rt_sf;
 	struct mcontext __user *frame;
@@ -1015,13 +1014,13 @@ int handle_rt_signal32(unsigned long sig
 
 	/* Set up Signal Frame */
 	/* Put a Real Time Context onto stack */
-	rt_sf = get_sigframe(ka, get_tm_stackpointer(regs), sizeof(*rt_sf), 1);
+	rt_sf = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*rt_sf), 1);
 	addr = rt_sf;
 	if (unlikely(rt_sf == NULL))
 		goto badframe;
 
 	/* Put the siginfo & fill in most of the ucontext */
-	if (copy_siginfo_to_user(&rt_sf->info, info)
+	if (copy_siginfo_to_user(&rt_sf->info, &ksig->info)
 	    || __put_user(0, &rt_sf->uc.uc_flags)
 	    || __save_altstack(&rt_sf->uc.uc_stack, regs->gpr[1])
 	    || __put_user(to_user_ptr(&rt_sf->uc.uc_mcontext),
@@ -1071,15 +1070,15 @@ int handle_rt_signal32(unsigned long sig
 
 	/* Fill registers for signal handler */
 	regs->gpr[1] = newsp;
-	regs->gpr[3] = sig;
+	regs->gpr[3] = ksig->sig;
 	regs->gpr[4] = (unsigned long) &rt_sf->info;
 	regs->gpr[5] = (unsigned long) &rt_sf->uc;
 	regs->gpr[6] = (unsigned long) rt_sf;
-	regs->nip = (unsigned long) ka->sa.sa_handler;
+	regs->nip = (unsigned long) ksig->ka.sa.sa_handler;
 	/* enter the signal handler in native-endian mode */
 	regs->msr &= ~MSR_LE;
 	regs->msr |= (MSR_KERNEL & MSR_LE);
-	return 1;
+	return 0;
 
 badframe:
 	if (show_unhandled_signals)
@@ -1089,8 +1088,7 @@ badframe:
 				   current->comm, current->pid,
 				   addr, regs->nip, regs->link);
 
-	force_sigsegv(sig, current);
-	return 0;
+	return 1;
 }
 
 static int do_setcontext(struct ucontext __user *ucp, struct pt_regs *regs, int sig)
@@ -1437,8 +1435,7 @@ int sys_debug_setcontext(struct ucontext
 /*
  * OK, we're invoking a handler
  */
-int handle_signal32(unsigned long sig, struct k_sigaction *ka,
-		    siginfo_t *info, sigset_t *oldset, struct pt_regs *regs)
+int handle_signal32(struct ksignal *ksig, sigset_t *oldset, struct pt_regs *regs)
 {
 	struct sigcontext __user *sc;
 	struct sigframe __user *frame;
@@ -1448,7 +1445,7 @@ int handle_signal32(unsigned long sig, s
 	unsigned long tramp;
 
 	/* Set up Signal Frame */
-	frame = get_sigframe(ka, get_tm_stackpointer(regs), sizeof(*frame), 1);
+	frame = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*frame), 1);
 	if (unlikely(frame == NULL))
 		goto badframe;
 	sc = (struct sigcontext __user *) &frame->sctx;
@@ -1456,7 +1453,7 @@ int handle_signal32(unsigned long sig, s
 #if _NSIG != 64
 #error "Please adjust handle_signal()"
 #endif
-	if (__put_user(to_user_ptr(ka->sa.sa_handler), &sc->handler)
+	if (__put_user(to_user_ptr(ksig->ka.sa.sa_handler), &sc->handler)
 	    || __put_user(oldset->sig[0], &sc->oldmask)
 #ifdef CONFIG_PPC64
 	    || __put_user((oldset->sig[0] >> 32), &sc->_unused[3])
@@ -1464,7 +1461,7 @@ int handle_signal32(unsigned long sig, s
 	    || __put_user(oldset->sig[1], &sc->_unused[3])
 #endif
 	    || __put_user(to_user_ptr(&frame->mctx), &sc->regs)
-	    || __put_user(sig, &sc->signal))
+	    || __put_user(ksig->sig, &sc->signal))
 		goto badframe;
 
 	if (vdso32_sigtramp && current->mm->context.vdso_base) {
@@ -1499,12 +1496,12 @@ int handle_signal32(unsigned long sig, s
 		goto badframe;
 
 	regs->gpr[1] = newsp;
-	regs->gpr[3] = sig;
+	regs->gpr[3] = ksig->sig;
 	regs->gpr[4] = (unsigned long) sc;
-	regs->nip = (unsigned long) ka->sa.sa_handler;
+	regs->nip = (unsigned long) (unsigned long)ksig->ka.sa.sa_handler;
 	/* enter the signal handler in big-endian mode */
 	regs->msr &= ~MSR_LE;
-	return 1;
+	return 0;
 
 badframe:
 	if (show_unhandled_signals)
@@ -1514,8 +1511,7 @@ badframe:
 				   current->comm, current->pid,
 				   frame, regs->nip, regs->link);
 
-	force_sigsegv(sig, current);
-	return 0;
+	return 1;
 }
 
 /*
--- a/arch/powerpc/kernel/signal_64.c
+++ b/arch/powerpc/kernel/signal_64.c
@@ -743,20 +743,19 @@ badframe:
 	return 0;
 }
 
-int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info,
-		sigset_t *set, struct pt_regs *regs)
+int handle_rt_signal64(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
 {
 	struct rt_sigframe __user *frame;
 	unsigned long newsp = 0;
 	long err = 0;
 
-	frame = get_sigframe(ka, get_tm_stackpointer(regs), sizeof(*frame), 0);
+	frame = get_sigframe(&ksig->ka, get_tm_stackpointer(regs), sizeof(*frame), 0);
 	if (unlikely(frame == NULL))
 		goto badframe;
 
 	err |= __put_user(&frame->info, &frame->pinfo);
 	err |= __put_user(&frame->uc, &frame->puc);
-	err |= copy_siginfo_to_user(&frame->info, info);
+	err |= copy_siginfo_to_user(&frame->info, &ksig->info);
 	if (err)
 		goto badframe;
 
@@ -771,15 +770,15 @@ int handle_rt_signal64(int signr, struct
 		err |= __put_user(&frame->uc_transact, &frame->uc.uc_link);
 		err |= setup_tm_sigcontexts(&frame->uc.uc_mcontext,
 					    &frame->uc_transact.uc_mcontext,
-					    regs, signr,
+					    regs, ksig->sig,
 					    NULL,
-					    (unsigned long)ka->sa.sa_handler);
+					    (unsigned long)ksig->ka.sa.sa_handler);
 	} else
 #endif
 	{
 		err |= __put_user(0, &frame->uc.uc_link);
-		err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, signr,
-					NULL, (unsigned long)ka->sa.sa_handler,
+		err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, ksig->sig,
+					NULL, (unsigned long)ksig->ka.sa.sa_handler,
 					1);
 	}
 	err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));
@@ -805,7 +804,7 @@ int handle_rt_signal64(int signr, struct
 
 	/* Set up "regs" so we "return" to the signal handler. */
 	if (is_elf2_task()) {
-		regs->nip = (unsigned long) ka->sa.sa_handler;
+		regs->nip = (unsigned long) ksig->ka.sa.sa_handler;
 		regs->gpr[12] = regs->nip;
 	} else {
 		/* Handler is *really* a pointer to the function descriptor for
@@ -814,7 +813,7 @@ int handle_rt_signal64(int signr, struct
 		 * entry is the TOC value we need to use.
 		 */
 		func_descr_t __user *funct_desc_ptr =
-			(func_descr_t __user *) ka->sa.sa_handler;
+			(func_descr_t __user *) ksig->ka.sa.sa_handler;
 
 		err |= get_user(regs->nip, &funct_desc_ptr->entry);
 		err |= get_user(regs->gpr[2], &funct_desc_ptr->toc);
@@ -824,9 +823,9 @@ int handle_rt_signal64(int signr, struct
 	regs->msr &= ~MSR_LE;
 	regs->msr |= (MSR_KERNEL & MSR_LE);
 	regs->gpr[1] = newsp;
-	regs->gpr[3] = signr;
+	regs->gpr[3] = ksig->sig;
 	regs->result = 0;
-	if (ka->sa.sa_flags & SA_SIGINFO) {
+	if (ksig->ka.sa.sa_flags & SA_SIGINFO) {
 		err |= get_user(regs->gpr[4], (unsigned long __user *)&frame->pinfo);
 		err |= get_user(regs->gpr[5], (unsigned long __user *)&frame->puc);
 		regs->gpr[6] = (unsigned long) frame;
@@ -836,7 +835,7 @@ int handle_rt_signal64(int signr, struct
 	if (err)
 		goto badframe;
 
-	return 1;
+	return 0;
 
 badframe:
 	if (show_unhandled_signals)
@@ -844,6 +843,5 @@ badframe:
 				   current->comm, current->pid, "setup_rt_frame",
 				   (long)frame, regs->nip, regs->link);
 
-	force_sigsegv(signr, current);
-	return 0;
+	return 1;
 }


  parent reply	other threads:[~2019-04-27 15:23 UTC|newest]

Thread overview: 205+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-27 15:13 [PATCH 3.16 000/202] 3.16.66-rc1 review Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 126/202] s390: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 056/202] vt: invoke notifier on screen size change Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 129/202] tile: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 105/202] Input: bma150 - register input device after setting private data Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 044/202] fuse: call pipe_buf_release() under pipe lock Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 181/202] mm: enforce min addr even if capable() in expand_downwards() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 192/202] brcmfmac: assure SSID length from firmware is limited Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 138/202] signal: Better detection of synchronous signals Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 134/202] tracehook_signal_handler: Remove sig, info, ka and regs Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 102/202] drm/vmwgfx: Fix setting of dma masks Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 001/202] batman-adv: Avoid WARN on net_device without parent in netns Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 042/202] net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ9031 Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 185/202] [media] media: em28xx-dvb - fix em28xx_dvb_resume() to not unregister i2c and dvb Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 007/202] ALSA: usb-audio: Always check descriptor sizes in parser code Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 016/202] ALSA: cs46xx: Potential NULL dereference in probe Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 060/202] can: bcm: check timer values before ktime conversion Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 033/202] omap2fb: Fix stack memory disclosure Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 154/202] x86/a.out: Clear the dump structure initially Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 167/202] tmpfs: fix link accounting when a tmpfile is linked in Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 193/202] brcmfmac: consolidate ifp lookup in driver core Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 194/202] brcmfmac: make brcmf_proto_hdrpull() return struct brcmf_if instance Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 010/202] usb: cdc-acm: send ZLP for Telit 3G Intel based modems Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 144/202] alpha: fix page fault handling for r16-r18 targets Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 092/202] dmaengine: dmatest: unmap data on a single code-path when xfer done Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 086/202] dmaengine: imx-dma: fix wrong callback invoke Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 132/202] unicore32: Fix build error Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 200/202] binfmt_elf: switch to new creds when switching to new mm Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 077/202] ARM: iop32x/n2100: fix PCI IRQ mapping Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 182/202] netlabel: fix out-of-bounds memory accesses Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 151/202] net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 084/202] mm: hwpoison: use do_send_sig_info() instead of force_sig() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 052/202] net: bridge: Fix ethernet header pointer before check skb forwardable Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 074/202] MIPS: OCTEON: don't set octeon_dma_bar_type if PCI is disabled Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 188/202] Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 159/202] dm thin: fix bug where bio that overwrites thin block ignores FUA Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 068/202] IB/ipoib: Fix for use-after-free in ipoib_cm_tx_start Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 030/202] i2c: dev: prevent adapter retries and timeout being set as minus value Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 063/202] drm/modes: Prevent division by zero htotal Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 067/202] KVM: x86: Fix single-step debugging Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 073/202] scsi: bnx2fc: Fix error handling in probe() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 011/202] USB: storage: don't insert sane sense for SPC3+ when bad sense specified Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 139/202] sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 198/202] brcmfmac: add subtype check for event handling in data path Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 080/202] l2tp: copy 4 more bytes to linear part if necessary Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 098/202] s390/qeth: conclude all event processing before offlining a card Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 199/202] binfmt_elf: Fix missing SIGKILL for empty PIE Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 083/202] mm, oom: fix use-after-free in oom_kill_process Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 097/202] s390/qeth: cancel close_dev work before removing a card Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 128/202] sh: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 076/202] CIFS: Do not consider -ENODATA as stat failure for reads Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 137/202] signal: Always notice exiting tasks Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 145/202] perf/x86: Add check_period PMU callback Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 118/202] microblaze: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 111/202] c6x: " Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 085/202] mm: migrate: don't rely on __PageMovable() of newpage after unlocking it Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 163/202] assoc_array: Fix shortcut creation Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 057/202] char/mwave: fix potential Spectre v1 vulnerability Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 110/202] blackfin: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 131/202] unicore32: " Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 099/202] MIPS: Remove function size check in get_frame_info() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 064/202] iommu/amd: Fix IOMMU page flush when detach device from a domain Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 015/202] ASoC: atom: fix a missing check of snd_pcm_lib_malloc_pages Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 047/202] Yama: Check for pid death before checking ancestry Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 112/202] cris: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 108/202] arm64: " Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 183/202] net: netem: fix skb length BUG_ON in __skb_to_sgvec Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 055/202] vt: always call notifier with the console lock held Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 117/202] m68k: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 133/202] xtensa: " Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 050/202] ARC: show_regs: lockdep: avoid page allocator Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 043/202] fuse: handle zero sized retrieve correctly Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 124/202] powerpc: Use sigsp() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 160/202] i2c: cadence: Fix the hold bit setting Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 088/202] dmaengine: bcm2835: Fix interrupt race on RT Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 049/202] arc: do not export symbols in troubleshoot.c Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 171/202] KEYS: always initialize keyring_index_key::desc_len Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 031/202] CIFS: Do not hide EINTR after sending network packets Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 078/202] usb: gadget: musb: fix short isoc packets with inventra dma Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 196/202] brcmfmac: fix incorrect event channel deduction Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 191/202] perf/core: Fix perf_event_open() vs. execve() race Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 146/202] vxlan: test dev->flags & IFF_UP before calling netif_rx() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 121/202] mn10300: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 190/202] coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 106/202] libata: Add NOLPM quirk for SAMSUNG MZ7TE512HMHP-000L1 SSD Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 022/202] scsi: isci: initialize shost fully before calling scsi_add_host() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 120/202] mips: Use sigsp() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 071/202] usb: phy: am335x: fix race condition in _probe Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 035/202] s390/mm: always force a load of the primary ASCE on context switch Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 038/202] staging: rtl8188eu: Add device code for D-Link DWA-121 rev B1 Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 019/202] packet: Do not leak dev refcounts on error exit Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 119/202] mips: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 170/202] KEYS: restrict /proc/keys by credentials at open time Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 041/202] net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 148/202] x86/kvm/nVMX: read from MSR_IA32_VMX_PROCBASED_CTLS2 only when it is available Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 175/202] mmc: tmio_mmc_core: don't claim spurious interrupts Ben Hutchings
2019-04-27 15:13 ` Ben Hutchings [this message]
2019-04-27 15:13 ` [PATCH 3.16 180/202] mm/mmap.c: expand_downwards: don't require the gap if !vm_prev Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 122/202] parisc: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 172/202] mdio_bus: Fix use-after-free on device_register fails Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 195/202] brcmfmac: screening firmware event packet Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 018/202] packet: validate address length if non-zero Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 100/202] net: dsa: slave: Don't propagate flag changes on down slave interfaces Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 089/202] dmaengine: bcm2835: Fix abort of transactions Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 157/202] netfilter: nf_tables: nft_compat: fix refcount leak on xt module Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 003/202] ACPI: power: Skip duplicate power resource references in _PRx Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 176/202] x86/uaccess: Don't leak the AC flag into __put_user() value evaluation Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 059/202] can: dev: __can_get_echo_skb(): fix bogous check for non-existing skb by removing it Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 156/202] netfilter: nft_compat: fix crash when related match/target module is removed Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 009/202] USB: serial: simple: add Motorola Tetra TPG2200 device id Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 202/202] tty: mark Siemens R3964 line discipline as BROKEN Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 040/202] net/phy: micrel: configure intterupts after autoneg workaround Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 024/202] drm/fb-helper: Partially bring back workaround for bugs of SDL 1.2 Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 103/202] ALSA: compress: Fix stop handling on compressed capture streams Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 037/202] x86/kaslr: Fix incorrect i8254 outb() parameters Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 104/202] mtd: rawnand: gpmi: fix MX28 bus master lockup problem Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 201/202] apparmor: provide userspace flag indicating binfmt_elf_mmap change Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 025/202] drm/fb-helper: Ignore the value of fb_var_screeninfo.pixclock Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 130/202] um: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 032/202] cifs: Fix potential OOB access of lock element array Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 107/202] arc: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 079/202] fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 184/202] ipc/shm: Fix pid freeing Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 039/202] net/phy: micrel: Add workaround for bad autoneg Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 127/202] score: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 069/202] kallsyms: Handle too long symbols in kallsyms.c Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 155/202] signal: Restore the stop PTRACE_EVENT_EXIT Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 168/202] ARC: U-boot: check arguments paranoidly Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 114/202] hexagon: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 005/202] mfd: tps6586x: Handle interrupts on suspend Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 143/202] vsock: cope with memory allocation failure at socket creation time Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 027/202] ARM: dts: kirkwood: Fix polarity of GPIO fan lines Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 165/202] ceph: avoid repeatedly adding inode to mdsc->snap_flush_list Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 115/202] ia64: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 158/202] netfilter: nft_compat: use-after-free when deleting targets Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 125/202] powerpc/signal: Properly handle return value from uprobe_deny_signal() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 150/202] net/packet: fix 4gb buffer limit due to overflow check Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 051/202] ARC: mm: do_page_fault fixes #1: relinquish mmap_sem if signal arrives while handle_mm_fault Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 142/202] Input: elantech - enable 3rd button support on Fujitsu CELSIUS H780 Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 072/202] s390/dasd: fix using offset into zero size array error Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 149/202] batman-adv: fix uninit-value in batadv_interface_tx() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 186/202] media: em28xx: Fix use-after-free when disconnecting Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 090/202] perf/x86/intel/uncore: Add Node ID mask Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 081/202] mac80211: ensure that mgmt tx skbs have tailroom for encryption Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 053/202] uart: Fix crash in uart_write and uart_put_char Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 020/202] sd: Clear PS bit before Mode Select Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 173/202] net/x25: fix a race in x25_bind() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 028/202] crypto: authenc - fix parsing key with misaligned rta_len Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 141/202] Input: elantech - force needed quirks on Fujitsu H760 Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 147/202] net: fix IPv6 prefix route residue Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 004/202] mfd: ab8500-core: Return zero in get_register_interruptible() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 002/202] batman-adv: Force mac header to start of data on xmit Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 058/202] tty: Handle problem if line discipline does not have receive_buf Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 006/202] ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 164/202] scsi: libsas: Fix rphy phy_identifier for PHYs with end devices attached Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 012/202] USB: storage: add quirk for SMI SM3350 Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 062/202] ARM: pxa: ssp: unneeded to free devm_ allocated data Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 017/202] packet: validate address length Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 021/202] scsi: sd: Fix cache_type_store() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 177/202] tmpfs: fix uninitialized return value in shmem_link Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 179/202] net: nfc: Fix NULL dereference on nfc_llcp_build_tlv fails Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 197/202] brcmfmac: revise handling events in receive path Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 166/202] net: stmmac: Fix a race in EEE enable callback Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 095/202] perf test: Fix failure of 'evsel-tp-sched' test on s390 Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 045/202] fuse: decrement NR_WRITEBACK_TEMP on the right page Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 096/202] s390/qeth: fix use-after-free in error path Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 113/202] frv: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 082/202] skge: potential memory corruption in skge_get_regs() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 008/202] ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 094/202] perf tests evsel-tp-sched: Fix bitwise operator Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 116/202] m32r: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 065/202] net/mlx4_core: Add masking for a few queries on HCA caps Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 162/202] KEYS: allow reaching the keys quotas exactly Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 066/202] debugfs: fix debugfs_rename parameter checking Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 169/202] KEYS: user: Align the payload buffer Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 135/202] Clean up signal_delivered() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 101/202] drm/vmwgfx: Return error code from vmw_execbuf_copy_fence_user Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 029/202] Disable MSI also when pcie-octeon.pcie_disable on Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 093/202] dmaengine: dmatest: Abort test in case of mapping error Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 161/202] netfilter: nf_tables: fix flush after rule deletion in the same batch Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 014/202] ASoC: tlv320aic32x4: Kernel OOPS while entering DAPM standby mode Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 091/202] perf/core: Don't WARN() for impossible ring-buffer sizes Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 087/202] dmaengine: bcm2835: add additional defines for DMA-registers Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 013/202] USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 036/202] s390/smp: fix CPU hotplug deadlock with CPU rescan Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 054/202] tty/n_hdlc: fix __might_sleep warning Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 140/202] ALSA: usb-audio: Fix implicit fb endpoint setup by quirk Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 152/202] team: avoid complex list operations in team_nl_cmd_options_set() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 153/202] perf/core: Fix impossible ring-buffer sizes warning Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 023/202] Drivers: hv: vmbus: Check for ring when getting debug info Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 034/202] s390/early: improve machine detection Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 075/202] CIFS: Do not count -ENODATA as failure for query directory Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 061/202] ipmi: msghandler: Fix potential Spectre v1 vulnerabilities Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 189/202] vfio/type1: Limit DMA mappings per container Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 109/202] avr32: Use get_signal() signal_setup_done() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 187/202] Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 046/202] media: v4l: ioctl: Validate num_planes for debug messages Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 178/202] net: phy: Micrel KSZ8061: link failure after cable connect Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 026/202] rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 070/202] usb: gadget: udc: net2272: Fix bitwise and boolean operations Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 174/202] mmc: spi: Fix card detection during probe Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 136/202] Rip out get_signal_to_deliver() Ben Hutchings
2019-04-27 15:13 ` [PATCH 3.16 048/202] USB: serial: pl2303: add new PID to support PL2303TB Ben Hutchings
2019-04-27 18:41 ` [PATCH 3.16 000/202] 3.16.66-rc1 review Guenter Roeck
2019-04-28 15:45   ` 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.1556377989.381748030@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=kda@linux-powerpc.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richard@nod.at \
    --cc=stable@vger.kernel.org \
    /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