Re: [patch 1/1] fix syscallN() macro errno value checking for i386

From: Blaisorblade
Date: Mon Mar 07 2005 - 22:51:05 EST


On Sunday 30 January 2005 19:30, jerome lacoste wrote:
> On Sun, 30 Jan 2005 18:00:22 +0100, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > On Sünnavend 29 Januar 2005 02:01, blaisorblade@xxxxxxxx wrote:
> > > From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>
> > > Cc: David Howells <dhowells@xxxxxxxxxx>
> > >
> > > The errno values which are visible for userspace are actually in the
> > > range -1 - -129, not until -128 (): this value was added:
> > >
> > > #define EKEYREJECTED 129 /* Key was rejected by service */
> > >
> > > And this would break ucLibc (for what I heard).
> > >
> > > This is just a quick-fix, because putting a macro inside errno.h
> > > instead of having it copied in two places would be probably nicer.
> >
> > Yes. Note that your patch only fixes the bug on i386. The code has been
> > copied to many other architectures, and some of them have been updated
> > less recently and are checking for values lower than 128. There should
> > really be a way to keep them all in sync.
>
> what about something along?
>
> #define EKEYNEXT 130 /* key counter */
>
> and
>
> if ((unsigned long)(res) >= (unsigned long)(-EKEYNEXT)) {
Yes, I agree with you... I didn't do it that way because of this mail:

"Subject: Re: Fw: Re: [patch 02/11] uml: fix compilation for missing headers
From: David Howells <dhowells@xxxxxxxxxx>
To: Andrew Morton <akpm@xxxxxxxx>
CC: blaisorblade_spam@xxxxxxxx
Date: Fri Jan 14 12:19:33 2005
[....]
> I think that the max errno value should become a macro defined in errno.h.

I agree with him on this, but I seem to remember that this didn't go down very
well.

David"

Now, I don't know why it was not done that way, but I wanted to do a quick-fix
to merge it. Somebody please fix it definitively... in 2.6.11 official this
is still unfixed.

--
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/