From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/8] Fix restart_block syscall restarting for 3.5
Date: Tue, 26 Jun 2012 15:33:14 +0100 [thread overview]
Message-ID: <20120626143314.GO27996@mudshark.cambridge.arm.com> (raw)
In-Reply-To: <20120625091818.GB22128@mudshark.cambridge.arm.com>
On Mon, Jun 25, 2012 at 10:18:18AM +0100, Will Deacon wrote:
> Hi Al,
Hello again,
> On Fri, Jun 22, 2012 at 08:36:26PM +0100, Al Viro wrote:
> > On Fri, Jun 22, 2012 at 04:06:58PM +0100, Will Deacon wrote:
> > > I reckon the first two reverts should go in for 3.5 unless anybody has
> > > a better solution. The rest of the code is an RFC since, as Russell has
> > > said before, the code is `rather yucky'.
> >
> > See commit 76c3f4da3ee47b68304dbe0f64e86562e7945bf3 and a couiple before it in
> > signal.git:
>
> Thanks, I'll take a look (it may keep me occupied for some time...). Are
> these destined for 3.5 or shall we press ahead with the two reverts for now
> and fix this properly in the merge window?
For what it's worth, your patches look correct to me. The main difference
between my approach and yours is that I continue processing signals even
after the restart requirements have been filled, aborting the restart later
if further signal processing indicates that it's necessary to do so. With
your patches we stop iterating through the signals as soon as we hit a
restart and avoid the problem that way.
POSIX helpfully seems to avoid this scenario and given the asychronous
nature of signals, I'm not sure it matters either way. The only thing I
wonder about is whether restarting a syscall using restart_syscall(2) when
there are further signals pending will cause the syscall to return
-ERESTART_RESTARTBLOCK immediately and we'll go through this long-winded
sequence for each pending signal without a handler installed...
... or am I grossly confused?
Cheers,
Will
prev parent reply other threads:[~2012-06-26 14:33 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-22 15:06 [RFC PATCH 0/8] Fix restart_block syscall restarting for 3.5 Will Deacon
2012-06-22 15:06 ` [RFC PATCH 1/8] Revert "arm: remove unused restart trampoline" Will Deacon
2012-06-22 15:07 ` [RFC PATCH 2/8] Revert "arm: new way of handling ERESTART_RESTARTBLOCK" Will Deacon
2012-06-22 15:07 ` [RFC PATCH 3/8] audit: arm: only allow syscall auditing for pure EABI userspace Will Deacon
2012-06-22 15:07 ` [RFC PATCH 4/8] ARM: entry: don't bother with syscall tracing on ret_from_fork path Will Deacon
2012-06-22 15:07 ` [RFC PATCH 5/8] ARM: audit: move syscall auditing until after ptrace SIGTRAP handling Will Deacon
2012-06-22 15:07 ` [RFC PATCH 6/8] ARM: ptrace: provide separate functions for tracing syscall {entry, exit} Will Deacon
2012-06-22 15:07 ` [RFC PATCH 7/8] ARM: signal: perform restart_block system call restarting in the kernel Will Deacon
2012-06-22 15:07 ` [RFC PATCH 8/8] Revert "Revert "arm: remove unused restart trampoline"" Will Deacon
2012-06-22 19:36 ` [RFC PATCH 0/8] Fix restart_block syscall restarting for 3.5 Al Viro
2012-06-25 9:18 ` Will Deacon
2012-06-26 14:33 ` Will Deacon [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=20120626143314.GO27996@mudshark.cambridge.arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).