Re: [PATCH v2] kernel: audit.c: Add __rcu notation to RCU pointer

From: Richard Guy Briggs
Date: Wed Apr 15 2020 - 11:34:48 EST


On 2019-11-29 21:07, Joel Fernandes wrote:
> On Thu, Nov 28, 2019 at 09:02:03PM +0530, Amol Grover wrote:
> > add __rcu notation to RCU protected global pointer auditd_conn
>
> Again, please use proper punctuation and captilization. This is unacceptable.
> Please put more effort into changelog.
>
> Otherwise the patch diff itself looks good to me, with the above nit
> corrected, you could add my tag to the next revision:
>
> Reviewed-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>
>
> thanks,
>
> - Joel
>
> >
> > Fixes multiple instances of sparse error:
> > error: incompatible types in comparison expression
> > (different address spaces)

Amol or Joel: Is there a reproducer recipe for this?

> > Signed-off-by: Amol Grover <frextrite@xxxxxxxxx>
> > ---
> > 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

- RGB

--
Richard Guy Briggs <rgb@xxxxxxxxxx>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635