[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrVxHvH61D-xY6vq4ymWXAVOdj8=XV_ENqLQUJ5rMieuEg@mail.gmail.com>
Date: Fri, 2 Dec 2011 14:47:35 -0800
From: Andy Lutomirski <luto@...capital.net>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: x86@...nel.org, Ingo Molnar <mingo@...e.hu>,
richard -rw- weinberger <richard.weinberger@...il.com>,
Adrian Bunk <bunk@...sta.de>,
"H. Peter Anvin" <hpa@...ux.intel.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org,
Andy Lutomirski <luto@...capital.net>
Subject: Re: [PATCH 0/2] Fix and re-enable vsyscall=emulate
On Mon, Nov 7, 2011 at 4:33 PM, Andy Lutomirski <luto@...capital.net> wrote:
> The really nice fix (wiring up access_ok failures to be able to raise
> signals) won't be ready on time for 3.2, so let's try the simpler fix
> for now.
I spoke to hpa about this a couple days ago, and he pointed out a
problem with making access_ok send signals. Userspace expects signals
that come with full context information to be restartable, and many
system calls are not restartable. read() and write() are the obvious
examples: once they're processed the beginning of the buffer, unless
they adjust their parameters, they can't safely be restarted. So
without massive changes, I think allowing access_ok to raise a signal
with full context is asking for trouble.
I can still do the patch with two modes: signals without context via
arch_prctl and signals with context via vsyscall emulation, but that's
probably overkill for fixing this bug. I'd say just apply these
patches as is (for 3.3).
--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists