Patch "h8300: fix syscall restarting" has been added to the 4.4-stable tree
This is a note to let you know that I've just added the patch titled
h8300: fix syscall restarting
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
h8300-fix-syscall-restarting.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
21753583056d48a5fad964d6f272e28168426845Mon Sep 17 00:00:00 2001
From: Mark Rutland <[email protected]>
Date: Thu, 27 Oct 2016 17:46:24 -0700
Subject: h8300: fix syscall restarting
From: Mark Rutland <[email protected]>
commit 21753583056d48a5fad964d6f272e28168426845 upstream.
Back in commit f56141e3e2d9 ("all arches, signal: move restart_block to struct task_struct"), all architectures and core code were changed to use task_struct::restart_block. However, when h8300 support was subsequently restored in v4.2, it was not updated to account for this, and maintains thread_info::restart_block, which is not kept in sync.
This patch drops the redundant restart_block from thread_info, and moves h8300 to the common one in task_struct, ensuring that syscall restarting always works as expected.
--- arch/h8300/include/asm/thread_info.h | 4 ---- arch/h8300/kernel/signal.c | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-)
arch/h8300/include/asm/thread_info.h +0 -4
@@ -31,7 +31,6 @@ struct thread_info {int cpu;/* cpu we're on */ int preempt_count;/* 0 => preemptable, <0 => BUG */ mm_segment_t addr_limit; -struct restart_block restart_block; };/*
@@ -44,9 +43,6 @@ struct thread_info { .cpu = 0, \ .preempt_count = INIT_PREEMPT_COUNT, \ .addr_limit = KERNEL_DS, \ - .restart_block = { \ - .fn = do_no_restart_syscall, \ - }, \ }#define init_thread_info (init_thread_union.thread_info)
arch/h8300/kernel/signal.c +1 -1
@@ -79,7 +79,7 @@ restore_sigcontext(struct sigcontext *usunsigned int er0;/* Always make any pending restarted system calls return -EINTR */ -current_thread_info ()->restart_block.fn = do_no_restart_syscall; + current->restart_block.fn = do_no_restart_syscall;/* restore passed registers */ #define COPY (r) do { err |= get_user(regs->r, &usc->sc_##r); } while (0)
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/h8300-fix-syscall-restarting.patch