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

From: jerome lacoste
Date: Sun Jan 30 2005 - 13:32:15 EST


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)) {

JL
-
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/