Index: src/common/misc/pint-eattr.c
===================================================================
--- src/common/misc/pint-eattr.c	(revision 11991)
+++ src/common/misc/pint-eattr.c	(working copy)
@@ -338,7 +338,7 @@
 #else
     /* New Posix compliant PVFS2 ACL format */
     if(val->buffer_sz == 0 || 
-            (val->buffer_sz - sizeof(pvfs2_acl_header) - 1) %
+            (val->buffer_sz - sizeof(pvfs2_acl_header)) %
                 sizeof(pvfs2_acl_entry) != 0)
     {
         return -PVFS_EINVAL;
Index: src/kernel/linux-2.6/pvfs2-utils.c
===================================================================
--- src/kernel/linux-2.6/pvfs2-utils.c	(revision 11991)
+++ src/kernel/linux-2.6/pvfs2-utils.c	(working copy)
@@ -852,38 +852,15 @@
          */
         if (ret == 0)
         {
-            ssize_t new_length=0;
             length = new_op->downcall.resp.getxattr.val_sz;
-/* NOTE - kernel/fs should never add or remove things from the value of
- * an xattr - this was a misguided approach
- */
-#if 0
-            /*
-             * if the xattr corresponding to name was not terminated with a \0
-             * then we return the entire response length
-             */
-            if (xattr_zero_terminated(name) == 0)
-            {
-                new_length = length;
-            }
-            /*
-             * if it was terminated by a \0 then we return 1 less for the getfattr
-             * programs to play nicely with displaying it
-             */
-            else {
-                new_length = length - 1;
-            }
-#endif
-            /* Just return the length of the queried attribute after
-             * subtracting the \0 thingie */
             if (size == 0)
             {
-                ret = new_length;
+                ret = length;
             }
             else
             {
                 /* check to see if key length is > provided buffer size */
-                if (new_length > size)
+                if (length > size)
                 {
                     ret = -ERANGE;
                 }
@@ -891,9 +868,8 @@
                 {
                     /* No size problems */
                     memset(buffer, 0, size);
-                    memcpy(buffer, new_op->downcall.resp.getxattr.val, 
-                            new_length);
-                    ret = new_length;
+                    memcpy(buffer, new_op->downcall.resp.getxattr.val, length);
+                    ret = length;
                     s = kzalloc(HANDLESTRINGSIZE, GFP_KERNEL);
                     gossip_debug(GOSSIP_XATTR_DEBUG,
                         "pvfs2_inode_getxattr: inode %s key %s "
