All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jann Horn <jannh@google.com>
To: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Oleg Nesterov <oleg@redhat.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH pidfd] signal: Add missing __user annotation to copy_siginfo_from_user_any
Date: Mon,  7 Dec 2020 01:02:52 +0100	[thread overview]
Message-ID: <20201207000252.138564-1-jannh@google.com> (raw)

copy_siginfo_from_user_any() takes a userspace pointer as second
argument; annotate the parameter type accordingly.

Signed-off-by: Jann Horn <jannh@google.com>
---
I'm messing around with clang's version of __user annotation checking
and it spotted this issue:

kernel/signal.c:3759:44: warning: casting to dereferenceable pointer removes 'noderef' attribute [-Wnoderef]
                ret = copy_siginfo_from_user_any(&kinfo, info);
                                                         ^~~~
Untracked cast to function pointer at kernel/signal.c:4294:26


Christian, since this is pidfd code, can you take this through your tree?
Or should I send this to akpm (or someone else)?

 kernel/signal.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/signal.c b/kernel/signal.c
index ef8f2a28d37c..4693191dc17c 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -3685,7 +3685,8 @@ static bool access_pidfd_pidns(struct pid *pid)
 	return true;
 }
 
-static int copy_siginfo_from_user_any(kernel_siginfo_t *kinfo, siginfo_t *info)
+static int copy_siginfo_from_user_any(kernel_siginfo_t *kinfo,
+		siginfo_t __user *info)
 {
 #ifdef CONFIG_COMPAT
 	/*

base-commit: 0477e92881850d44910a7e94fc2c46f96faa131f
-- 
2.29.2.576.ga3fc446d84-goog


             reply	other threads:[~2020-12-07  0:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-07  0:02 Jann Horn [this message]
2020-12-07 10:32 ` [PATCH pidfd] signal: Add missing __user annotation to copy_siginfo_from_user_any Christian Brauner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201207000252.138564-1-jannh@google.com \
    --to=jannh@google.com \
    --cc=christian.brauner@ubuntu.com \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleg@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.