From: Mark Rutland <mark.rutland@arm.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>,
Andrew Morton <akpm@linux-foundation.org>,
linux-arch <linux-arch@vger.kernel.org>,
uclinux-h8-devel@lists.sourceforge.jp
Subject: Re: [PATCH RESEND] h8300: fix syscall restarting
Date: Mon, 17 Oct 2016 18:09:59 +0100 [thread overview]
Message-ID: <20161017170959.GA23170@leverpostej> (raw)
In-Reply-To: <CALCETrX82Jdu+bqg70S4x-bzXrSW+u1jMbQmpviMdTU=6y2uTA@mail.gmail.com>
On Mon, Oct 17, 2016 at 10:04:32AM -0700, Andy Lutomirski wrote:
> On Mon, Oct 17, 2016 at 7:35 AM, Mark Rutland <mark.rutland@arm.com> wrote:
> > Back in commit f56141e3e2d9aabf ("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.
>
> This is Obviously Correct (tm). Should it have a cc: stable?
> > Cc: stable@vger.kernel.org # v4.2+
Yes. ;)
I must've messed up with git-send-email for the "real" Cc list.
Thanks,
Mark.
> > Cc: uclinux-h8-devel@lists.sourceforge.jp
> > ---
> > arch/h8300/include/asm/thread_info.h | 4 ----
> > arch/h8300/kernel/signal.c | 2 +-
> > 2 files changed, 1 insertion(+), 5 deletions(-)
> >
> > This was previously sent as a reply to another patch [1], and then subsequently
> > on its own [2], but I haven't heard anything for about three weeks since the
> > last posting.
> >
> > This happens to get in the way of moving thread_info into task_struct on some
> > architectures as it implicitly relies on include ordering in a core header. I
> > have a workaround for that, but this does seem like a major bug regardless...
> >
> > Mark.
> >
> > [1] http://lkml.kernel.org/r/20160919104254.GA12473@leverpostej
> > [2] http://lkml.kernel.org/r/1474918434-3870-1-git-send-email-mark.rutland@arm.com
> >
> > diff --git a/arch/h8300/include/asm/thread_info.h b/arch/h8300/include/asm/thread_info.h
> > index b408fe6..3cef068 100644
> > --- a/arch/h8300/include/asm/thread_info.h
> > +++ b/arch/h8300/include/asm/thread_info.h
> > @@ -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)
> > diff --git a/arch/h8300/kernel/signal.c b/arch/h8300/kernel/signal.c
> > index ad1f81f..7138303 100644
> > --- a/arch/h8300/kernel/signal.c
> > +++ b/arch/h8300/kernel/signal.c
> > @@ -79,7 +79,7 @@ struct rt_sigframe {
> > unsigned 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)
> > --
> > 1.9.1
> >
>
> --
> Andy Lutomirski
> AMA Capital Management, LLC
>
prev parent reply other threads:[~2016-10-17 17:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-17 14:35 [PATCH RESEND] h8300: fix syscall restarting Mark Rutland
2016-10-17 17:04 ` Andy Lutomirski
2016-10-17 17:09 ` Mark Rutland [this message]
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=20161017170959.GA23170@leverpostej \
--to=mark.rutland@arm.com \
--cc=akpm@linux-foundation.org \
--cc=linux-arch@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=uclinux-h8-devel@lists.sourceforge.jp \
--cc=ysato@users.sourceforge.jp \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.