All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cred: Use RCU primitives to access RCU pointers
@ 2020-01-28  7:27 ` Amol Grover
  0 siblings, 0 replies; 34+ messages in thread
From: Amol Grover @ 2020-01-28  7:27 UTC (permalink / raw)
  To: David Howells, Shakeel Butt, James Morris, Oleg Nesterov,
	Kees Cook, Amol Grover, Thomas Gleixner, Jann Horn
  Cc: linux-kernel, linux-kernel-mentees, Joel Fernandes,
	Madhuparna Bhowmik, Paul E . McKenney

task_struct.cred and task_struct.real_cred are annotated by __rcu,
hence use rcu_access_pointer to access them.

Fixes the following sparse errors:
kernel/cred.c:144:9: error: incompatible types in comparison expression
(different address spaces):
kernel/cred.c:144:9:    struct cred *
kernel/cred.c:144:9:    struct cred const [noderef] <asn:4> *
kernel/cred.c:145:9: error: incompatible types in comparison expression
(different address spaces):
kernel/cred.c:145:9:    struct cred *
kernel/cred.c:145:9:    struct cred const [noderef] <asn:4> *

Signed-off-by: Amol Grover <frextrite@gmail.com>
---
 kernel/cred.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/cred.c b/kernel/cred.c
index 809a985b1793..3043c8e1544d 100644
--- a/kernel/cred.c
+++ b/kernel/cred.c
@@ -141,8 +141,8 @@ void __put_cred(struct cred *cred)
 	cred->magic = CRED_MAGIC_DEAD;
 	cred->put_addr = __builtin_return_address(0);
 #endif
-	BUG_ON(cred == current->cred);
-	BUG_ON(cred == current->real_cred);
+	BUG_ON(cred == rcu_access_pointer(current->cred));
+	BUG_ON(cred == rcu_access_pointer(current->real_cred));
 
 	if (cred->non_rcu)
 		put_cred_rcu(&cred->rcu);
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2020-02-06 18:13 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-28  7:27 [PATCH] cred: Use RCU primitives to access RCU pointers Amol Grover
2020-01-28  7:27 ` [Linux-kernel-mentees] " Amol Grover
2020-01-28  9:30 ` Jann Horn
2020-01-28  9:30   ` [Linux-kernel-mentees] " Jann Horn via Linux-kernel-mentees
2020-01-28 11:48   ` Oleg Nesterov
2020-01-28 11:48     ` [Linux-kernel-mentees] " Oleg Nesterov
2020-01-28 12:19     ` Jann Horn
2020-01-28 12:19       ` [Linux-kernel-mentees] " Jann Horn via Linux-kernel-mentees
2020-01-28 12:38       ` Oleg Nesterov
2020-01-28 12:38         ` [Linux-kernel-mentees] " Oleg Nesterov
2020-01-28 17:04   ` Amol Grover
2020-01-28 17:04     ` [Linux-kernel-mentees] " Amol Grover
2020-01-28 19:09     ` Jann Horn
2020-01-28 19:09       ` [Linux-kernel-mentees] " Jann Horn via Linux-kernel-mentees
2020-01-29  6:57       ` Amol Grover
2020-01-29  6:57         ` [Linux-kernel-mentees] " Amol Grover
2020-01-29 14:14         ` Jann Horn
2020-01-29 14:14           ` [Linux-kernel-mentees] " Jann Horn via Linux-kernel-mentees
2020-02-06  1:32           ` Joel Fernandes
2020-02-06  1:32             ` [Linux-kernel-mentees] " Joel Fernandes
2020-02-06 11:28             ` Jann Horn
2020-02-06 11:28               ` [Linux-kernel-mentees] " Jann Horn via Linux-kernel-mentees
2020-02-06 16:49               ` Joel Fernandes
2020-02-06 16:49                 ` [Linux-kernel-mentees] " Joel Fernandes
2020-02-06 17:15                 ` Jann Horn
2020-02-06 17:15                   ` [Linux-kernel-mentees] " Jann Horn via Linux-kernel-mentees
2020-02-06 18:08                   ` Joel Fernandes
2020-02-06 18:08                     ` [Linux-kernel-mentees] " Joel Fernandes
2020-02-06 13:09             ` Amol Grover
2020-02-06 13:09               ` [Linux-kernel-mentees] " Amol Grover
2020-01-28 15:00 ` David Howells
2020-01-28 15:00   ` [Linux-kernel-mentees] " David Howells
2020-01-31 17:49 ` David Howells
2020-01-31 17:49   ` [Linux-kernel-mentees] " David Howells

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.