Re: IS_ERR Threshold Value

From: Nathan Scott
Date: Wed Jun 28 2006 - 18:40:16 EST


Hi Erik,

On Wed, Jun 28, 2006 at 02:57:07PM -0600, Erik Frederiksen wrote:
>
> from include/asm-mips/errno.h
> #define EDQUOT 1133 /* Quota exceeded */
>
> I noticed that the errno value for EDQUOT on MIPS is considerably larger
> than all others. This can lead to a situation where functions using
> ERR_PTR() to return error codes in pointers cannot return this error
> code without IS_ERR() thinking that the pointer is valid. In my case,
> it caused an alignment exception in the XFS open call when quota has
> been exceeded in the linux-mips 2.6.14 kernel. I think that the XFS
> code has changed enough that this bug isn't in newer versions, though I
> haven't done a thorough investigation.

Hmm, I'm not sure I understand the XFS side of your report here - on
open, for quota to be coming into play we must be creating a new inode
and those code paths inside XFS have no use of IS_ERR/ERR_PTR magic...
did you mean there's generic problems here (I can see those macros are
used in the generic VFS open() code) ... or am I missing your point?

thanks.

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