iov_iter: add missing handling for ITER_KVEC in iov_iter_single_seg_count
diff mbox

Message ID 1483718362-18147-1-git-send-email-jlayton@redhat.com
State New
Headers show

Commit Message

Jeff Layton Jan. 6, 2017, 3:59 p.m. UTC
This seems to currently work by happenstance since kvec and iovec fields
basically the same, but it's probably better to make this explicit.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
 lib/iov_iter.c | 2 ++
 1 file changed, 2 insertions(+)

Patch
diff mbox

diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index f2bd21b93dfc..6b415b5a100d 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -738,6 +738,8 @@  size_t iov_iter_single_seg_count(const struct iov_iter *i)
 		return i->count;
 	else if (i->type & ITER_BVEC)
 		return min(i->count, i->bvec->bv_len - i->iov_offset);
+	else if (i->type & ITER_KVEC)
+		return min(i->count, i->kvec->iov_len - i->iov_offset);
 	else
 		return min(i->count, i->iov->iov_len - i->iov_offset);
 }