Messages in this thread Patch in this message | | | From | Amol Grover <> | Subject | [PATCH v3] kernel: audit.c: Add __rcu annotation to RCU pointer | Date | Mon, 2 Dec 2019 00:03:48 +0530 |
| |
Add __rcu annotation to RCU-protected global pointer auditd_conn.
auditd_conn is an RCU-protected global pointer,i.e., accessed via RCU methods rcu_dereference() and rcu_assign_pointer(), hence it must be annotated with __rcu for sparse to report warnings/errors correctly.
Fix multiple instances of the sparse error: error: incompatible types in comparison expression (different address spaces)
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Amol Grover <frextrite@gmail.com> --- v3: - update changelog to be more descriptive
v2: - fix erroneous RCU pointer initialization kernel/audit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/audit.c b/kernel/audit.c index da8dc0db5bd3..ff7cfc61f53d 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -102,12 +102,13 @@ struct audit_net { * This struct is RCU protected; you must either hold the RCU lock for reading * or the associated spinlock for writing. */ -static struct auditd_connection { +struct auditd_connection { struct pid *pid; u32 portid; struct net *net; struct rcu_head rcu; -} *auditd_conn = NULL; +}; +static struct auditd_connection __rcu *auditd_conn; static DEFINE_SPINLOCK(auditd_conn_lock); /* If audit_rate_limit is non-zero, limit the rate of sending audit records -- 2.24.0
| |