summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Myers <bpm@sgi.com>2014-01-09 22:58:59 +0100
committerBen Myers <bpm@sgi.com>2014-01-09 22:58:59 +0100
commitdc16b186bb12c479b6a88bc280b34806a69199ad (patch)
treea465b0766e6e6c6a3dcedcb70e70ef8d2a4cf745
parentMerge branch 'xfs-for-linus-v3.13-rc5' into for-next (diff)
parentxfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK() (diff)
downloadlinux-dc16b186bb12c479b6a88bc280b34806a69199ad.tar.xz
linux-dc16b186bb12c479b6a88bc280b34806a69199ad.zip
Merge branch 'xfs-misc' into for-next
A bugfix for an off-by-one in the remote attribute verifier, and a fix for a missing destroy_work_on_stack() in the allocation worker.
-rw-r--r--fs/xfs/xfs_attr_remote.c2
-rw-r--r--fs/xfs/xfs_bmap_util.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_attr_remote.c b/fs/xfs/xfs_attr_remote.c
index 739e0a52deda..5549d69ddb45 100644
--- a/fs/xfs/xfs_attr_remote.c
+++ b/fs/xfs/xfs_attr_remote.c
@@ -110,7 +110,7 @@ xfs_attr3_rmt_verify(
if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt))
return false;
if (be32_to_cpu(rmt->rm_offset) +
- be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX)
+ be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX)
return false;
if (rmt->rm_owner == 0)
return false;
diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c
index 1394106ed22d..82e0dab46ee5 100644
--- a/fs/xfs/xfs_bmap_util.c
+++ b/fs/xfs/xfs_bmap_util.c
@@ -287,6 +287,7 @@ xfs_bmapi_allocate(
INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker);
queue_work(xfs_alloc_wq, &args->work);
wait_for_completion(&done);
+ destroy_work_on_stack(&args->work);
return args->result;
}