summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-06-18 07:37:27 -0600
committerJens Axboe <axboe@kernel.dk>2022-07-21 11:14:38 -0600
commit537c746119a583dec62a3dbdc294171c2743278e (patch)
treed1d66f887fd28c141666a6d590c9fedd937d52bd
parent5c55adbcebc8fc722d92f2812f7bc3267ac95ab1 (diff)
iov_iter: fix bad parenthesis placement for iter_type checkfor-5.20/io_uring-iter
Due to some unfortunate placement of the parenthesis for the iter_type check in iov_iter_restore(), we can generate spurious triggers of the type WARN_ON_ONCE() even if the iter is of the correct type. While in there, correct the comment on what types can be used with the save/restore helpers, and fix an extra word in the function description. Fixes: 6696361cc3d8 ("new iov_iter flavour - ITER_UBUF") Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--lib/iov_iter.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index bbb781d15161..ec021217c6d2 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1866,15 +1866,15 @@ int import_ubuf(int rw, void __user *buf, size_t len, struct iov_iter *i)
* @i: &struct iov_iter to restore
* @state: state to restore from
*
- * Used after iov_iter_save_state() to bring restore @i, if operations may
- * have advanced it.
+ * Used after iov_iter_save_state() to restore @i, if operations may have
+ * advanced it.
*
- * Note: only works on ITER_IOVEC, ITER_BVEC, and ITER_KVEC
+ * Note: only works on ITER_IOVEC, ITER_BVEC, ITER_KVEC, and ITER_UBUF.
*/
void iov_iter_restore(struct iov_iter *i, struct iov_iter_state *state)
{
- if (WARN_ON_ONCE(!iov_iter_is_bvec(i) && !iter_is_iovec(i)) &&
- !iov_iter_is_kvec(i) && !iter_is_ubuf(i))
+ if (WARN_ON_ONCE(!iov_iter_is_bvec(i) && !iter_is_iovec(i) &&
+ !iov_iter_is_kvec(i) && !iter_is_ubuf(i)))
return;
i->iov_offset = state->iov_offset;
i->count = state->count;