diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-12 23:18:54 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-03-12 23:18:54 -0500 |
commit | f414ca64be4b36c30deb5b5fa25c5a8ff42ea56b (patch) | |
tree | 19e4ea30bb32a4a2d3794d09be9b442f1c30ceb7 | |
parent | 2f51c8204ab3ea211ac92f3b7b88a38595ed6412 (diff) | |
parent | 90d0f0f11588ec692c12f9009089b398be395184 (diff) |
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
Pull block merge fix from Jens Axboe.
This fixes the block segment counting bug and resulting sg overrun
reported by Kent Overstreet, introduced with the last block pull.
* 'for-linus' of git://git.kernel.dk/linux-block:
block: don't optimize for non-cloned bio in bio_get_last_bvec()
-rw-r--r-- | include/linux/bio.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index cb6888824108..88bc64f00bb5 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -320,11 +320,6 @@ static inline void bio_get_last_bvec(struct bio *bio, struct bio_vec *bv) | |||
320 | struct bvec_iter iter = bio->bi_iter; | 320 | struct bvec_iter iter = bio->bi_iter; |
321 | int idx; | 321 | int idx; |
322 | 322 | ||
323 | if (!bio_flagged(bio, BIO_CLONED)) { | ||
324 | *bv = bio->bi_io_vec[bio->bi_vcnt - 1]; | ||
325 | return; | ||
326 | } | ||
327 | |||
328 | if (unlikely(!bio_multiple_segments(bio))) { | 323 | if (unlikely(!bio_multiple_segments(bio))) { |
329 | *bv = bio_iovec(bio); | 324 | *bv = bio_iovec(bio); |
330 | return; | 325 | return; |