Peter & Andreas,

Thank you very much for your help. 

I understood that the kernel error numbers are limited. The largest
error number for i386 (kernel 2.6) is 131 so far.  Assume that the
virtual address returned from do_mmap_pgoff will never exceed (unsigned
long)(-1000L), which is in the address range one page below the maximum
virtual address, then IS_ERR_VALUE() should work.

Dongliang Chen

Staff Engineer
EMS Technologies, Inc - Defense & Space Systems
660 Engineering Dr 
Norcross, GA 30092
Tel: 770-263-9200 x 4379


-----Original Message-----
From: H. Peter Anvin [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 06, 2007 7:39 PM
To: Chen, Dongliang
Cc: linux-kernel@vger.kernel.org
Subject: Re: return negative number for unsigned long function in kernel


H. Peter Anvin wrote:
>If you want to test for errorness, you could use the macro 
>IS_ERR_VALUE().  Unfortunately the macro isn't all that safe, in that
it 
>will give you the wrong answer if it's ever used on something that 
>*isn't* an unsigned long.

-----Original Message-----
From: Andreas Schwab [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 06, 2007 2:06 PM
To: Chen, Dongliang
Cc: linux-kernel@vger.kernel.org
Subject: Re: return negative number for unsigned long function in kernel

Andreas Schwab wrote:
>The return value is directly passed to user space (it's the guts of the
>mmap syscall).  The glibc wrapper transforms it appropriately so that
errno >is set and -1 is returned if there is an error.

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

Reply via email to