diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index b667b1e2f6886689b79c5c7158e3bd05706d78ce..e4dc809d10754fffca03b5f141d981d8805f9803 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1349,7 +1349,7 @@ static __noclone int copy_compat_iovec_from_user(struct iovec *iov,
 	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;
diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
index d420b5d2e2b6751a43078913500e3d101acc7eec..081befa4674b86cbdbeed1b7085ba960b262d7c0 100644
--- a/tools/objtool/elf.c
+++ b/tools/objtool/elf.c
@@ -1005,7 +1005,7 @@ struct elf *elf_open_read(const char *name, int flags)
 		perror("malloc");
 		return NULL;
 	}
-	memset(elf, 0, offsetof(struct elf, sections));
+	memset(elf, 0, sizeof(*elf));
 
 	INIT_LIST_HEAD(&elf->sections);