X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Ferr.h;h=1ab1d44f8d3be7a28c8a1a849c72e1f841424015;hb=refs%2Fremotes%2Fvserver;hp=17c55df13615a9bda172e80c6f4711c11f3183e8;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/include/linux/err.h b/include/linux/err.h index 17c55df13..1ab1d44f8 100644 --- a/include/linux/err.h +++ b/include/linux/err.h @@ -13,6 +13,12 @@ * This should be a per-architecture thing, to allow different * error and pointer decisions. */ +#define MAX_ERRNO 4095 + +#ifndef __ASSEMBLY__ + +#define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO) + static inline void *ERR_PTR(long error) { return (void *) error; @@ -25,7 +31,9 @@ static inline long PTR_ERR(const void *ptr) static inline long IS_ERR(const void *ptr) { - return unlikely((unsigned long)ptr > (unsigned long)-1000L); + return IS_ERR_VALUE((unsigned long)ptr); } +#endif + #endif /* _LINUX_ERR_H */