remove patch that is included upstream now
This commit is contained in:
parent
513d3dd435
commit
de79447876
|
@ -1,44 +0,0 @@
|
|||
From 791cc43b36eb1f88166c8505900cad1b43c7fe1a Mon Sep 17 00:00:00 2001
|
||||
From: Artem Savkov <asavkov@redhat.com>
|
||||
Date: Wed, 14 Sep 2016 07:40:35 +1000
|
||||
Subject: [PATCH] Make __xfs_xattr_put_listen preperly report errors.
|
||||
|
||||
Commit 2a6fba6 "xfs: only return -errno or success from attr ->put_listent"
|
||||
changes the returnvalue of __xfs_xattr_put_listen to 0 in case when there is
|
||||
insufficient space in the buffer assuming that setting context->count to -1
|
||||
would be enough, but all of the ->put_listent callers only check seen_enough.
|
||||
This results in a failed assertion:
|
||||
XFS: Assertion failed: context->count >= 0, file: fs/xfs/xfs_xattr.c, line: 175
|
||||
in insufficient buffer size case.
|
||||
|
||||
This is only reproducible with at least 2 xattrs and only when the buffer
|
||||
gets depleted before the last one.
|
||||
|
||||
Furthermore if buffersize is such that it is enough to hold the last xattr's
|
||||
name, but not enough to hold the sum of preceeding xattr names listxattr won't
|
||||
fail with ERANGE, but will suceed returning last xattr's name without the
|
||||
first character. The first character end's up overwriting data stored at
|
||||
(context->alist - 1).
|
||||
|
||||
Signed-off-by: Artem Savkov <asavkov@redhat.com>
|
||||
Reviewed-by: Dave Chinner <dchinner@redhat.com>
|
||||
Signed-off-by: Dave Chinner <david@fromorbit.com>
|
||||
---
|
||||
fs/xfs/xfs_xattr.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/fs/xfs/xfs_xattr.c b/fs/xfs/xfs_xattr.c
|
||||
index ea62245..6290093 100644
|
||||
--- a/fs/xfs/xfs_xattr.c
|
||||
+++ b/fs/xfs/xfs_xattr.c
|
||||
@@ -147,6 +147,7 @@ __xfs_xattr_put_listent(
|
||||
arraytop = context->count + prefix_len + namelen + 1;
|
||||
if (arraytop > context->firstu) {
|
||||
context->count = -1; /* insufficient space */
|
||||
+ context->seen_enough = 1;
|
||||
return 0;
|
||||
}
|
||||
offset = (char *)context->alist + context->count;
|
||||
--
|
||||
2.7.4
|
||||
|
Loading…
Reference in New Issue