linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Stas Sergeev <stsp@list.ru>,
	Raymond Jennings <shentino@gmail.com>,
	Cyrill Gorcunov <gorcunov@gmail.com>,
	Pavel Emelyanov <xemul@parallels.com>,
	Linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: [regression] x86/signal/64: Fix SS handling for signals delivered to 64-bit programs breaks dosemu
Date: Thu, 13 Aug 2015 17:40:59 -0700	[thread overview]
Message-ID: <CA+55aFzY8-etGJ+sxXuZM=gF5MHJbzAcUH9gh2-14jOKaDvw7A@mail.gmail.com> (raw)
In-Reply-To: <CALCETrWBhUOf6hg00Lh2YF+dGJJHgNhBn3z7gbNF7aY+bjO7Vw@mail.gmail.com>

On Thu, Aug 13, 2015 at 5:24 PM, Andy Lutomirski <luto@amacapital.net> wrote:
>
> So yes, it mostly works.  It also sucks, and it makes it extremely
> unpleasant for any other program to do this.

Well, I'd argue that

 (a) we don't really _want_ any other programs to do that

 (b) but yeah, we might want to make it easier to do cleanly and
explicitly for dosemu (and any other possible programs that do want to
do it)

so if this is for just things like dosemu and for test applications
etc, let's just introduce something like SA_RESTORE_SS for those to
explicitly opt in to "I want this signal handler to save and restore
SS".

That's how we have handled these kinds of things in the past (ie
SA_SIGINFO extends the stack frame with siginfo, sa_restorer says that
user space will use its own sigrestore function, etc etc).

Yeah, the SA_xyzzy flags aren't exactly _common_, but it's how we've
handled these kinds of compat issues in the past (SA_ONESHOT, SA_MASK,
and SA_NOCLDWAIT are obviously about the traditional BSD/SysV
differences, and SA_RESTORER is a Linux internal compatibility thing
etc)

                      Linus

  reply	other threads:[~2015-08-14  0:41 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-12  0:17 [regression] x86/signal/64: Fix SS handling for signals delivered to 64-bit programs breaks dosemu Stas Sergeev
2015-08-12  0:38 ` Andy Lutomirski
2015-08-12  8:02   ` Stas Sergeev
2015-08-12 16:19     ` Andy Lutomirski
2015-08-12 17:00       ` Stas Sergeev
2015-08-12 18:25         ` Andy Lutomirski
2015-08-12 18:55           ` Stas Sergeev
2015-08-12 19:20             ` Andy Lutomirski
2015-08-12 19:55               ` Stas Sergeev
2015-08-12 20:01                 ` Andy Lutomirski
2015-08-12 20:14                   ` Stas Sergeev
2015-08-12 20:28                     ` Andy Lutomirski
2015-08-12 20:45                       ` Stas Sergeev
2015-08-12 20:47                         ` Andy Lutomirski
2015-08-12 20:55                           ` Stas Sergeev
2015-08-12 21:37                             ` Andy Lutomirski
2015-08-12 21:50                               ` Stas Sergeev
2015-08-12 22:00                                 ` Andy Lutomirski
2015-08-13  8:39                                   ` Ingo Molnar
2015-08-13 10:14                                     ` Stas Sergeev
2015-08-13 12:44                                     ` Stas Sergeev
2015-08-13 14:58                                       ` Andy Lutomirski
2015-08-13 15:22                                         ` Stas Sergeev
2015-08-13 15:38                                           ` Andy Lutomirski
2015-08-13 16:03                                             ` Stas Sergeev
2015-08-13 16:09                                               ` Andy Lutomirski
2015-08-13 16:20                                                 ` Stas Sergeev
2015-08-13 16:24                                                   ` Andy Lutomirski
2015-08-13 16:38                                                     ` Stas Sergeev
2015-08-13 16:42                                                       ` Andy Lutomirski
2015-08-13 16:48                                                         ` Stas Sergeev
2015-08-13 16:59                                                           ` Andy Lutomirski
2015-08-13 17:13                                                             ` Stas Sergeev
2015-08-13 17:17                                                               ` Andy Lutomirski
2015-08-13 18:00                                                                 ` Stas Sergeev
2015-08-13 18:05                                                                   ` Andy Lutomirski
2015-08-13 18:19                                                                     ` Stas Sergeev
2015-08-13 18:25                                                                       ` Andy Lutomirski
2015-08-13 18:35                                                                         ` Stas Sergeev
2015-08-22 12:38                                             ` Ingo Molnar
2015-08-22 14:19                                               ` Stas Sergeev
2015-08-23  6:25                                                 ` Ingo Molnar
2015-08-13 11:08                                   ` Stas Sergeev
2015-08-13 15:37 ` Linus Torvalds
2015-08-13 15:43   ` Andy Lutomirski
2015-08-13 16:19     ` Linus Torvalds
2015-08-13 16:23       ` Andy Lutomirski
2015-08-13 16:34         ` Linus Torvalds
2015-08-13 16:43           ` Linus Torvalds
2015-08-13 16:44             ` Andy Lutomirski
2015-08-13 17:00     ` Brian Gerst
2015-08-18  6:29       ` Stas Sergeev
2015-08-18 22:42         ` Andy Lutomirski
2015-08-18 22:47           ` Andy Lutomirski
2015-08-19  9:35             ` Stas Sergeev
2015-08-19 15:46               ` Andy Lutomirski
2015-08-19 16:30                 ` Stas Sergeev
2015-09-02  5:12                   ` Andy Lutomirski
2015-09-02  9:17                     ` Stas Sergeev
2015-09-02 14:21                       ` Andy Lutomirski
2015-09-02 15:02                         ` Andy Lutomirski
2015-09-02 17:46                         ` Stas Sergeev
2015-09-02 18:17                           ` Andy Lutomirski
2015-09-02 18:23                             ` Stas Sergeev
2015-09-02 19:06                               ` Andy Lutomirski
2015-09-02 21:01                                 ` Stas Sergeev
2015-09-02 21:39                                   ` Andy Lutomirski
2015-09-02 22:25                                     ` Stas Sergeev
2015-09-02 22:25                                       ` Andy Lutomirski
2015-09-02 23:01                                         ` Stas Sergeev
2015-08-19 10:10           ` Stas Sergeev
2015-08-19 15:35             ` Andy Lutomirski
2015-08-14  8:10     ` Cyrill Gorcunov
2015-08-13 17:51   ` Stas Sergeev
2015-08-13 18:35     ` Linus Torvalds
2015-08-13 18:41       ` Andy Lutomirski
2015-08-13 19:05         ` Stas Sergeev
2015-08-13 19:49           ` Andy Lutomirski
2015-08-13 20:09             ` Stas Sergeev
2015-08-13 19:53         ` Linus Torvalds
2015-08-13 20:08           ` Cyrill Gorcunov
2015-08-13 20:09             ` Linus Torvalds
2015-08-13 21:42               ` Raymond Jennings
2015-08-13 21:46                 ` Linus Torvalds
2015-08-13 22:01                   ` Raymond Jennings
2015-08-13 22:05                     ` Stas Sergeev
2015-08-13 23:05                     ` Linus Torvalds
2015-08-13 23:18                       ` Linus Torvalds
2015-08-13 23:35                         ` Raymond Jennings
2015-08-13 23:43                         ` Stas Sergeev
2015-08-14  0:02                           ` Linus Torvalds
2015-08-13 22:02                   ` Stas Sergeev
2015-08-13 22:11                     ` Andy Lutomirski
2015-08-13 22:25                       ` Stas Sergeev
2015-08-13 22:29                         ` Andy Lutomirski
2015-08-13 22:51                           ` Stas Sergeev
2015-08-13 23:00                             ` Andy Lutomirski
2015-08-13 23:17                               ` Stas Sergeev
2015-08-14  0:00                               ` Stas Sergeev
2015-08-14  0:05                                 ` Andy Lutomirski
2015-08-14  0:17                                   ` Stas Sergeev
2015-08-14  0:27                                     ` Linus Torvalds
2015-08-14  0:50                                       ` Stas Sergeev
2015-08-14  1:21                                         ` Andy Lutomirski
2015-08-14  1:32                                           ` Stas Sergeev
2015-08-14  1:37                                             ` Andy Lutomirski
2015-08-14  2:03                                               ` Stas Sergeev
2015-08-18  6:19                                               ` Stas Sergeev
2015-08-14  0:08                                 ` Linus Torvalds
2015-08-14  0:24                                   ` Andy Lutomirski
2015-08-14  0:40                                     ` Linus Torvalds [this message]
2015-08-14  7:22               ` Cyrill Gorcunov
2015-08-14 10:02                 ` Pavel Emelyanov
2015-08-14 10:53                   ` Cyrill Gorcunov
2015-08-13 18:57       ` Stas Sergeev
2015-08-13 19:01         ` Andy Lutomirski
2015-08-13 19:13           ` Stas Sergeev
2015-08-13 19:37             ` Linus Torvalds
2015-08-13 19:59               ` Stas Sergeev
2015-08-13 20:07                 ` Linus Torvalds
2015-08-18  6:40                   ` Stas Sergeev

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='CA+55aFzY8-etGJ+sxXuZM=gF5MHJbzAcUH9gh2-14jOKaDvw7A@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=gorcunov@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=shentino@gmail.com \
    --cc=stsp@list.ru \
    --cc=xemul@parallels.com \
    /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).