diff options
author | Joe Thornber <ejt@redhat.com> | 2015-05-29 14:52:51 +0100 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2015-05-29 13:41:16 -0400 |
commit | 1c220c69ce0dcc0f234a9f263ad9c0864f971852 (patch) | |
tree | 8ab6d754a212bd1fbfad8909686bc893cb889a82 /block/ioctl.c | |
parent | 15b94a690470038aa08247eedbebbe7e2218d5ee (diff) |
dm: fix casting bug in dm_merge_bvec()
dm_merge_bvec() was originally added in f6fccb ("dm: introduce
merge_bvec_fn"). In that commit a value in sectors is converted to
bytes using << 9, and then assigned to an int. This code made
assumptions about the value of BIO_MAX_SECTORS.
A later commit 148e51 ("dm: improve documentation and code clarity in
dm_merge_bvec") was meant to have no functional change but it removed
the use of BIO_MAX_SECTORS in favor of using queue_max_sectors(). At
this point the cast from sector_t to int resulted in a zero value. The
fallout being dm_merge_bvec() would only allow a single page to be added
to a bio.
This interim fix is minimal for the benefit of stable@ because the more
comprehensive cleanup of passing a sector_t to all DM targets' merge
function will impact quite a few DM targets.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org # 3.19+
Diffstat (limited to 'block/ioctl.c')
0 files changed, 0 insertions, 0 deletions