Besides being generally bad, allowing an fd open when there are no active
instances means that osnoise_options_write() and osnoise_cpus_write() will
leave it active during reconfiguration, causing at least WARN splats.

Signed-off-by: Crystal Wood <[email protected]>
---
v2: new patch
---
 kernel/trace/trace_osnoise.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c
index 912ff5f5e490..fc55ef8e7204 100644
--- a/kernel/trace/trace_osnoise.c
+++ b/kernel/trace/trace_osnoise.c
@@ -2507,7 +2507,8 @@ static int timerlat_fd_open(struct inode *inode, struct 
file *file)
         * This file is accessible only if timerlat is enabled, and
         * NO_OSNOISE_WORKLOAD is set.
         */
-       if (!timerlat_enabled() || test_bit(OSN_WORKLOAD, &osnoise_options))
+       if (!osnoise_has_registered_instances() || !timerlat_enabled() ||
+           test_bit(OSN_WORKLOAD, &osnoise_options))
                return -EINVAL;
 
        guard(migrate)();
-- 
2.54.0


Reply via email to