Re: IS_ERR Threshold Value

From: Jan Engelhardt
Date: Wed Oct 18 2006 - 08:52:30 EST



>Subject: Re: IS_ERR Threshold Value
>
>> > Peter Anvin mentioned just a few days ago that this threshold value
>> > should be 4095 for all arches. I think we need to get that patch
>> > done & submitted to Andrew for -mm.
>>
>> So here the patch is:
>>
>> o Raise the maximum error number in IS_ERR_VALUE to 4095.
>>
>> +#define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO)

There seems to be a slight problem with doing that. Running
`ldd /bin/bash` prints out

linux-gate.so.1 => (0xffffe000)

and the topmost address a kernel function can return is 0xFFFFf000 when
MAX_ERRNO=4095, but that is going to be tight with the vdso mapped at
0xffffE000.

Or is ldd giving wrong output? Because actually, `cat /proc/$$/maps`
($$=bash) says it is mapped a lot less high:

a7fbe000-a7fbf000 r-xp a7fbe000 00:00 0 [vdso]

(CONFIG_COMPAT_VDSO=y, CONFIG_PAGE_OFFSET=0xB0000000, 2.6.18)

-`J'
--
-
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/