Merge tag 'xfs-for-linus-v3.13-rc8' of git://oss.sgi.com/xfs/xfs
Pull xfs bugfixes from Ben Myers: "Here we have a bugfix for an off-by-one in the remote attribute verifier that results in a forced shutdown which you can hit with v5 superblock by creating a 64k xattr, and a fix for a missing destroy_work_on_stack() in the allocation worker. It's a bit late, but they are both fairly straightforward" * tag 'xfs-for-linus-v3.13-rc8' of git://oss.sgi.com/xfs/xfs: xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK() xfs: fix off-by-one error in xfs_attr3_rmt_verify
This commit is contained in:
@@ -110,7 +110,7 @@ xfs_attr3_rmt_verify(
|
|||||||
if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt))
|
if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt))
|
||||||
return false;
|
return false;
|
||||||
if (be32_to_cpu(rmt->rm_offset) +
|
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;
|
return false;
|
||||||
if (rmt->rm_owner == 0)
|
if (rmt->rm_owner == 0)
|
||||||
return false;
|
return false;
|
||||||
|
@@ -287,6 +287,7 @@ xfs_bmapi_allocate(
|
|||||||
INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker);
|
INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker);
|
||||||
queue_work(xfs_alloc_wq, &args->work);
|
queue_work(xfs_alloc_wq, &args->work);
|
||||||
wait_for_completion(&done);
|
wait_for_completion(&done);
|
||||||
|
destroy_work_on_stack(&args->work);
|
||||||
return args->result;
|
return args->result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user