| To: | Eric Sandeen <sandeen@xxxxxxxxxxx> |
|---|---|
| Subject: | [PATCH] Make __xfs_xattr_put_listen preperly report errors. |
| From: | Artem Savkov <asavkov@xxxxxxxxxx> |
| Date: | Tue, 23 Aug 2016 17:54:13 +0200 |
| Cc: | Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Artem Savkov <asavkov@xxxxxxxxxx> |
| Delivered-to: | xfs@xxxxxxxxxxx |
Commit "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.
Signed-off-by: Artem Savkov <asavkov@xxxxxxxxxx>
---
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
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] xfs: close xfs_wait_buftarg() race with buffer lookups, Brian Foster |
|---|---|
| Next by Date: | [PATCH v3 2/2] xfs_quota: additional changes to allow use on ext4, Bill O'Donnell |
| Previous by Thread: | Re: Invitation to visit Shrink Terminal and Solder Sleeve booth of Hampool in Automechanika show in FRANKFURT,Germany during 13-17 September, 2016, ZoeTang1999@xxxxxxx |
| Next by Thread: | Re: [PATCH] Make __xfs_xattr_put_listen preperly report errors., Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |