Patchwork [Bug,12793] ext4 gives wrong errno with too long extended attribute values

login
register
mail settings
Submitter bugzilla-daemon@bugzilla.kernel.org
Date Aug. 7, 2009, 3:02 p.m.
Message ID <200908071502.n77F2I8X018452@demeter.kernel.org>
Download mbox | patch
Permalink /patch/30937/
State New
Headers show

Comments

bugzilla-daemon@bugzilla.kernel.org - Aug. 7, 2009, 3:02 p.m.
http://bugzilla.kernel.org/show_bug.cgi?id=12793


Narendra Prasad Madanapalli <narendramind@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |narendramind@gmail.com




--- Comment #1 from Narendra Prasad Madanapalli <narendramind@gmail.com>  2009-08-07 15:02:16 ---
The following patch fixes the issue.

====Patch ends

Ran test_xattr.py on the kernel with above fix, it terminates with OSError 7.

Patch

====Patch starts
iff -uNr linux-2.6.30.3-orig/fs/ext4/xattr.c linux-2.6.30.3-fix/fs/ext4/xattr.c
--- linux-2.6.30.3-orig/fs/ext4/xattr.c    2009-07-25 03:17:51.000000000 +0530
+++ linux-2.6.30.3-fix/fs/ext4/xattr.c    2009-08-07 20:27:40.907412651 +0530
@@ -698,7 +698,7 @@ 
 #define header(x) ((struct ext4_xattr_header *)(x))

     if (i->value && i->value_len > sb->s_blocksize)
-        return -ENOSPC;
+        return -E2BIG;
     if (s->base) {
         ce = mb_cache_entry_get(ext4_xattr_cache, bs->bh->b_bdev,
                     bs->bh->b_blocknr);