[Top] [All Lists]

Re: [PATCH v3] kernel/signal.c: fix BUG_ON with SIG128 (MIPS)

To: Andrew Morton <>
Subject: Re: [PATCH v3] kernel/signal.c: fix BUG_ON with SIG128 (MIPS)
From: James Hogan <>
Date: Tue, 25 Jun 2013 23:13:30 +0100
Cc: Oleg Nesterov <>, David Daney <>, David Daney <>, LKML <>, Ralf Baechle <>, Al Viro <>, Kees Cook <>, David Daney <>, "Paul E. McKenney" <>, David Howells <>, Dave Jones <>,
In-reply-to: <>
List-archive: <>
List-help: <>
List-id: linux-mips <>
List-owner: <>
List-post: <>
List-software: Ecartis version 1.0.0
List-subscribe: <>
List-unsubscribe: <>
Original-recipient: rfc822;
References: <> <> <> <> <> <> <>
On 25 June 2013 22:40, Andrew Morton <> wrote:
> On Mon, 24 Jun 2013 10:10:08 +0100 James Hogan <> wrote:
>> On 22/06/13 20:09, Oleg Nesterov wrote:
>> > On 06/21, David Daney wrote:
>> >> I am proposing that we just reduce the number of usable signals such
>> >> that existing libc status checking macros/functions don't change in any
>> >> way.
>> >
>> > And I fully agree! Absolutely, sorry for confusion.
>> >
>> >
>> > What I tried to say, _if_ we change the ABI instead, lets make this
>> > change sane.
>> I agree that this approach isn't very nice (I was really just trying to
>> explore the options) and reducing the number of signals is nicer. But is
>> anybody here confident enough that the number of signals changing under
>> the feet of existing binaries/libc won't actually break anything real?
>> I.e. anything trying to use SIGRTMAX() to get a lower priority signal.
> Meanwhile, unprivileged users can make a MIPS kernel go BUG.
> How much of a problem is this?  Obviously less of a problem with MIPS
> than it would be with some other CPU types, but I'd imagine it's still
> awkward in some environments.
> If this _is_ considered a problem, can we think of some nasty little
> hack which at least makes the effects less damaging, which we can also
> put into -stable kernels?

The first rfc patch I sent sort of satisfies that by passing 127 if
sig==128, or slightly better would be passing 126 if sig>=127 (so that
SIFSIGNALED returns true). Effectively #ifdef'ing it on _NSIG>127 as
this patch does may be preferable too.

That's probably the minimum change necessary to evade the BUG_ON
without removing it. The wait status code will still be wrong, but it
wasn't exactly right before so it's no worse.

IMO changing the ABI by reducing _NSIG to 127 or 126 isn't appropriate
for stable.


<Prev in Thread] Current Thread [Next in Thread>