[tip: objtool/urgent] iov_iter: Mark copy_iovec_from_user() noclone

From: tip-bot2 for Peter Zijlstra
Date: Mon Jul 10 2023 - 04:14:37 EST


The following commit has been merged into the objtool/urgent branch of tip:

Commit-ID: 719a937b7003933de1298ffa4b881dd6a234e244
Gitweb: https://git.kernel.org/tip/719a937b7003933de1298ffa4b881dd6a234e244
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Fri, 16 Jun 2023 14:43:55 +02:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Mon, 10 Jul 2023 09:52:28 +02:00

iov_iter: Mark copy_iovec_from_user() noclone

Extend commit 50f9a76ef127 ("iov_iter: Mark
copy_compat_iovec_from_user() noinline") to also cover
copy_iovec_from_user(). Different compiler versions cause the same
problem on different functions.

lib/iov_iter.o: warning: objtool: .altinstr_replacement+0x1f: redundant UACCESS disable
lib/iov_iter.o: warning: objtool: iovec_from_user+0x84: call to copy_iovec_from_user.part.0() with UACCESS enabled
lib/iov_iter.o: warning: objtool: __import_iovec+0x143: call to copy_iovec_from_user.part.0() with UACCESS enabled

Fixes: 50f9a76ef127 ("iov_iter: Mark copy_compat_iovec_from_user() noinline")
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Tested-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
Link: https://lkml.kernel.org/r/20230616124354.GD4253@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
---
lib/iov_iter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index b667b1e..e4dc809 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1349,7 +1349,7 @@ uaccess_end:
return ret;
}

-static int copy_iovec_from_user(struct iovec *iov,
+static __noclone int copy_iovec_from_user(struct iovec *iov,
const struct iovec __user *uiov, unsigned long nr_segs)
{
int ret = -EFAULT;