diff options
author | Joel Stanley <joel@jms.id.au> | 2019-04-08 12:35:00 +0930 |
---|---|---|
committer | Joel Stanley <joel@jms.id.au> | 2019-04-08 12:35:05 +0930 |
commit | 0b37f9a0bd24d9622f75d981feac67e72351b6e8 (patch) | |
tree | d40154b713e136a2d9dfb3fcb1903dd730bd234f /fs/buffer.c | |
parent | df66fbc97853fbba90a0bfa44de32f3d5f7602b4 (diff) | |
parent | 8b298d3a0bd5feeb47129c4889356b38b78ab231 (diff) | |
download | talos-obmc-linux-0b37f9a0bd24d9622f75d981feac67e72351b6e8.tar.gz talos-obmc-linux-0b37f9a0bd24d9622f75d981feac67e72351b6e8.zip |
Merge tag 'v5.0.7' into dev-5.0
This is the 5.0.7 stable release
Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'fs/buffer.c')
-rw-r--r-- | fs/buffer.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 48318fb74938..cab7a026876b 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -3027,6 +3027,13 @@ void guard_bio_eod(int op, struct bio *bio) /* Uhhuh. We've got a bio that straddles the device size! */ truncated_bytes = bio->bi_iter.bi_size - (maxsector << 9); + /* + * The bio contains more than one segment which spans EOD, just return + * and let IO layer turn it into an EIO + */ + if (truncated_bytes > bvec->bv_len) + return; + /* Truncate the bio.. */ bio->bi_iter.bi_size -= truncated_bytes; bvec->bv_len -= truncated_bytes; |