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 <[email protected]>

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);


Reply via email to