Re: [PATCH V6 01/16] rv: Add Runtime Verification (RV) interface

From: Steven Rostedt
Date: Thu Jul 21 2022 - 10:55:19 EST


On Thu, 21 Jul 2022 22:38:25 +0800
Tao Zhou <tao.zhou@xxxxxxxxx> wrote:

> > +static int enable_monitor(struct rv_monitor_def *mdef)
> > +{
> > + int retval;
> > +
> > + if (!mdef->monitor->enabled) {
> > + retval = mdef->monitor->enable();
> > + if (retval)
> > + return retval;
> > + }
> > +
> > + mdef->monitor->enabled = 1;
>
> This should be placed at the end of the last if block. Otherwise
> another assignment may be duplicated because it is already 1 now.
> no?(not sure how compiler treat this..)

It really doesn't matter, it will just sent enabled to one even though it's
already one.

You could simplify this to be:

static int enable_monitor(struct rv_monitor_def *mdef)
{
int retval;

if (mdef->monitor->enabled)
return 0;

retval = mdef->monitor->enable();

if (!retval)
mdef->monitor->enabled = 1;

return retval;
}

-- Steve