Re: [PATCH] rv/rtapp/wakeup: Use "rv_this" the rv_monitor variable
From: Gabriele Monaco
Date: Thu Oct 01 2026 - 07:32:05 EST
On Thu, 2026-10-01 at 08:31 +0200, Gabriele Monaco wrote:
> On Thu, 2026-10-01 at 06:42 +0200, Nam Cao wrote:
> > Commit d9e4c61a12dd ("rv: Use generic rv_this for the rv_monitor
> > variable in LTL") renamed the rv_monitor variable to rv_this. But
> > rtapp/wakeup monitor was late to the party and missed that.
> >
> > So for this monitor, rv_this is an empty struct. The reactor fails to
> > work, because rv_react() checks monitor->react and sees NULL.
> >
> > Correct to "rv_this" and make the reactor work again.
> >
> > Signed-off-by: Nam Cao <namcao@xxxxxxxxxxxxx>
d9e4c61a12dd was introduced in the same pull request but after introducing the
wakeup monitor.
So for me that's the commit that is "broken" (should have accounted for wakeup):
Fixes: d9e4c61a12dd ("rv: Use generic rv_this for the rv_monitor variable in
LTL")
>
> Damn.. Thanks for noticing!
>
> That's a weird one, I cannot think of a way to only declare the rv_this, so
> the
> compiler is perfectly happy to give you the empty one..
>
> I'm taking this, but I believe it deserves the Fixes tag. What do you think?
>
> Thanks,
> Gabriele
>
> > ---
> > kernel/trace/rv/monitors/wakeup/wakeup.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/kernel/trace/rv/monitors/wakeup/wakeup.c
> > b/kernel/trace/rv/monitors/wakeup/wakeup.c
> > index 01b47416f24e..2e803e79181e 100644
> > --- a/kernel/trace/rv/monitors/wakeup/wakeup.c
> > +++ b/kernel/trace/rv/monitors/wakeup/wakeup.c
> > @@ -128,7 +128,7 @@ static void disable_wakeup(void)
> > ltl_monitor_destroy();
> > }
> >
> > -static struct rv_monitor rv_wakeup = {
> > +static struct rv_monitor rv_this = {
> > .name = "wakeup",
> > .description = "Monitor that real-time tasks are not woken by
> > lower-
> > priority tasks",
> > .enable = enable_wakeup,
> > @@ -137,12 +137,12 @@ static struct rv_monitor rv_wakeup = {
> >
> > static int __init register_wakeup(void)
> > {
> > - return rv_register_monitor(&rv_wakeup, &rv_rtapp);
> > + return rv_register_monitor(&rv_this, &rv_rtapp);
> > }
> >
> > static void __exit unregister_wakeup(void)
> > {
> > - rv_unregister_monitor(&rv_wakeup);
> > + rv_unregister_monitor(&rv_this);
> > }
> >
> > module_init(register_wakeup);