Gabriele Monaco <[email protected]> writes:
> Functions like model_get_event_name() and model_get_state_name() are
> shared with BPF monitors, however those programs don't play nice with
> string pointers without fixed length and the event_name and state_name
> arrays need to be defined differently. This gets the compiler to notice
> those are const char and the above function discard the const qualifier.
>
> Drop the warning by casting the result to (char *). Note, a cleaner
> solution would require to modify all callers, but that would require
> changing every single monitor's tracepoint and the advantage is minimal.
I prefer the cleaner solution. Just mass replace "char *" with
"const char *", and manually fix up a few errors and we are done.
diff --git a/include/rv/automata.h b/include/rv/automata.h
index 4a4eb40cf09a..e4afd5ba1d06 100644
--- a/include/rv/automata.h
+++ b/include/rv/automata.h
@@ -22,7 +22,7 @@
/*
* model_get_state_name - return the (string) name of the given state
*/
-static char *model_get_state_name(enum states state)
+static const char *model_get_state_name(enum states state)
{
if ((state < 0) || (state >= STATE_MAX))
return "INVALID";
@@ -33,7 +33,7 @@ static char *model_get_state_name(enum states state)
/*
* model_get_event_name - return the (string) name of the given event
*/
-static char *model_get_event_name(enum events event)
+static const char *model_get_event_name(enum events event)
{
if ((event < 0) || (event >= EVENT_MAX))
return "INVALID";
diff --git a/include/rv/da_monitor.h b/include/rv/da_monitor.h
index 6fc5ef8142ac..fc830c9f5046 100644
--- a/include/rv/da_monitor.h
+++ b/include/rv/da_monitor.h
@@ -633,8 +633,8 @@ static inline void da_monitor_destroy(void)
*/
static inline void da_trace_event(struct da_monitor *da_mon,
- char *curr_state, char *event,
- char *next_state, bool is_final,
+ const char *curr_state, const char *event,
+ const char *next_state, bool is_final,
da_id_type id)
{
CONCATENATE(trace_event_, MONITOR_NAME)(curr_state, event, next_state,
@@ -642,7 +642,7 @@ static inline void da_trace_event(struct da_monitor *da_mon,
}
static inline void da_trace_error(struct da_monitor *da_mon,
- char *curr_state, char *event,
+ const char *curr_state, const char *event,
da_id_type id)
{
CONCATENATE(trace_error_, MONITOR_NAME)(curr_state, event);
@@ -662,8 +662,8 @@ static inline da_id_type da_get_id(struct da_monitor
*da_mon)
*/
static inline void da_trace_event(struct da_monitor *da_mon,
- char *curr_state, char *event,
- char *next_state, bool is_final,
+ const char *curr_state, const char *event,
+ const char *next_state, bool is_final,
da_id_type id)
{
CONCATENATE(trace_event_, MONITOR_NAME)(id, curr_state, event,
@@ -671,7 +671,7 @@ static inline void da_trace_event(struct da_monitor *da_mon,
}
static inline void da_trace_error(struct da_monitor *da_mon,
- char *curr_state, char *event,
+ const char *curr_state, const char *event,
da_id_type id)
{
CONCATENATE(trace_error_, MONITOR_NAME)(id, curr_state, event);
diff --git a/include/rv/ha_monitor.h b/include/rv/ha_monitor.h
index 6e1c7fe5449a..0952a3f161c3 100644
--- a/include/rv/ha_monitor.h
+++ b/include/rv/ha_monitor.h
@@ -87,7 +87,7 @@ _Static_assert(offsetof(struct ha_monitor, da_mon) == 0,
* environment constraint is false. This function can be called also with no
* event from a timer (state constraints only).
*/
-static void ha_react(enum states curr_state, enum events event, char *env)
+static void ha_react(enum states curr_state, enum events event, const char
*env)
{
rv_react(&rv_this,
"rv: monitor %s does not allow event %s on state %s with env
%s\n",
@@ -98,13 +98,13 @@ static void ha_react(enum states curr_state, enum events
event, char *env)
#else /* CONFIG_RV_REACTOR */
-static void ha_react(enum states curr_state, enum events event, char *env) { }
+static void ha_react(enum states curr_state, enum events event, const char
*env) { }
#endif
/*
* model_get_state_name - return the (string) name of the given state
*/
-static char *model_get_env_name(enum envs env)
+static const char *model_get_env_name(enum envs env)
{
if ((env < 0) || (env >= ENV_MAX))
return "INVALID";
@@ -227,7 +227,7 @@ static inline void ha_get_env_string(struct seq_buf *s,
#if RV_MON_TYPE == RV_MON_GLOBAL || RV_MON_TYPE == RV_MON_PER_CPU
static inline void ha_trace_error_env(struct ha_monitor *ha_mon,
- char *curr_state, char *event, char *env,
+ const char *curr_state, const char
*event, const char *env,
da_id_type id)
{
CONCATENATE(trace_error_env_, MONITOR_NAME)(curr_state, event, env);
@@ -237,7 +237,7 @@ static inline void ha_trace_error_env(struct ha_monitor
*ha_mon,
#define ha_get_target(ha_mon) da_get_target(&ha_mon->da_mon)
static inline void ha_trace_error_env(struct ha_monitor *ha_mon,
- char *curr_state, char *event, char *env,
+ const char *curr_state, const char
*event, const char *env,
da_id_type id)
{
CONCATENATE(trace_error_env_, MONITOR_NAME)(id, curr_state, event, env);
diff --git a/kernel/trace/rv/monitors/nomiss/nomiss.h
b/kernel/trace/rv/monitors/nomiss/nomiss.h
index 3d1b436194d7..0e74a27bc38c 100644
--- a/kernel/trace/rv/monitors/nomiss/nomiss.h
+++ b/kernel/trace/rv/monitors/nomiss/nomiss.h
@@ -41,9 +41,9 @@ _Static_assert(env_max_stored_nomiss <= MAX_HA_ENV_LEN, "Not
enough slots");
#define HA_CLK_NS
struct automaton_nomiss {
- char *state_names[state_max_nomiss];
- char *event_names[event_max_nomiss];
- char *env_names[env_max_nomiss];
+ const char *state_names[state_max_nomiss];
+ const char *event_names[event_max_nomiss];
+ const char *env_names[env_max_nomiss];
unsigned char function[state_max_nomiss][event_max_nomiss];
unsigned char initial_state;
bool final_states[state_max_nomiss];
diff --git a/kernel/trace/rv/monitors/nomiss/nomiss_trace.h
b/kernel/trace/rv/monitors/nomiss/nomiss_trace.h
index 42e7efaca4e7..8ad43b6dde6a 100644
--- a/kernel/trace/rv/monitors/nomiss/nomiss_trace.h
+++ b/kernel/trace/rv/monitors/nomiss/nomiss_trace.h
@@ -6,14 +6,14 @@
#ifdef CONFIG_RV_MON_NOMISS
DEFINE_EVENT(event_da_monitor_id, event_nomiss,
- TP_PROTO(int id, char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(int id, const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(id, state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor_id, error_nomiss,
- TP_PROTO(int id, char *state, char *event),
+ TP_PROTO(int id, const char *state, const char *event),
TP_ARGS(id, state, event));
DEFINE_EVENT(error_env_da_monitor_id, error_env_nomiss,
- TP_PROTO(int id, char *state, char *event, char *env),
+ TP_PROTO(int id, const char *state, const char *event, const char
*env),
TP_ARGS(id, state, event, env));
#endif /* CONFIG_RV_MON_NOMISS */
diff --git a/kernel/trace/rv/monitors/nrp/nrp.h
b/kernel/trace/rv/monitors/nrp/nrp.h
index 3270d4c0139f..f6c1ec62233d 100644
--- a/kernel/trace/rv/monitors/nrp/nrp.h
+++ b/kernel/trace/rv/monitors/nrp/nrp.h
@@ -26,8 +26,8 @@ enum events_nrp {
};
struct automaton_nrp {
- char *state_names[state_max_nrp];
- char *event_names[event_max_nrp];
+ const char *state_names[state_max_nrp];
+ const char *event_names[event_max_nrp];
unsigned char function[state_max_nrp][event_max_nrp];
unsigned char initial_state;
bool final_states[state_max_nrp];
diff --git a/kernel/trace/rv/monitors/nrp/nrp_trace.h
b/kernel/trace/rv/monitors/nrp/nrp_trace.h
index 2e13497de3b6..bcdb44c8e1fa 100644
--- a/kernel/trace/rv/monitors/nrp/nrp_trace.h
+++ b/kernel/trace/rv/monitors/nrp/nrp_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_NRP
DEFINE_EVENT(event_da_monitor_id, event_nrp,
- TP_PROTO(int id, char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(int id, const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(id, state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor_id, error_nrp,
- TP_PROTO(int id, char *state, char *event),
+ TP_PROTO(int id, const char *state, const char *event),
TP_ARGS(id, state, event));
#endif /* CONFIG_RV_MON_NRP */
diff --git a/kernel/trace/rv/monitors/opid/opid.h
b/kernel/trace/rv/monitors/opid/opid.h
index fb0aa4c28aa6..42680aa81f33 100644
--- a/kernel/trace/rv/monitors/opid/opid.h
+++ b/kernel/trace/rv/monitors/opid/opid.h
@@ -30,9 +30,9 @@ enum envs_opid {
_Static_assert(env_max_stored_opid <= MAX_HA_ENV_LEN, "Not enough slots");
struct automaton_opid {
- char *state_names[state_max_opid];
- char *event_names[event_max_opid];
- char *env_names[env_max_opid];
+ const char *state_names[state_max_opid];
+ const char *event_names[event_max_opid];
+ const char *env_names[env_max_opid];
unsigned char function[state_max_opid][event_max_opid];
unsigned char initial_state;
bool final_states[state_max_opid];
diff --git a/kernel/trace/rv/monitors/opid/opid_trace.h
b/kernel/trace/rv/monitors/opid/opid_trace.h
index b04005b64208..daca1f4a1cd6 100644
--- a/kernel/trace/rv/monitors/opid/opid_trace.h
+++ b/kernel/trace/rv/monitors/opid/opid_trace.h
@@ -6,14 +6,14 @@
#ifdef CONFIG_RV_MON_OPID
DEFINE_EVENT(event_da_monitor, event_opid,
- TP_PROTO(char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor, error_opid,
- TP_PROTO(char *state, char *event),
+ TP_PROTO(const char *state, const char *event),
TP_ARGS(state, event));
DEFINE_EVENT(error_env_da_monitor, error_env_opid,
- TP_PROTO(char *state, char *event, char *env),
+ TP_PROTO(const char *state, const char *event, const char *env),
TP_ARGS(state, event, env));
#endif /* CONFIG_RV_MON_OPID */
diff --git a/kernel/trace/rv/monitors/pagefault/pagefault_trace.h
b/kernel/trace/rv/monitors/pagefault/pagefault_trace.h
index fe1f82597b1a..cd0915a42c85 100644
--- a/kernel/trace/rv/monitors/pagefault/pagefault_trace.h
+++ b/kernel/trace/rv/monitors/pagefault/pagefault_trace.h
@@ -6,7 +6,7 @@
#ifdef CONFIG_RV_MON_PAGEFAULT
DEFINE_EVENT(event_ltl_monitor_id, event_pagefault,
- TP_PROTO(struct task_struct *task, char *states, char *atoms, char
*next),
+ TP_PROTO(struct task_struct *task, const char *states, const char
*atoms, const char *next),
TP_ARGS(task, states, atoms, next));
DEFINE_EVENT(error_ltl_monitor_id, error_pagefault,
TP_PROTO(struct task_struct *task),
diff --git a/kernel/trace/rv/monitors/sco/sco.h
b/kernel/trace/rv/monitors/sco/sco.h
index bac3beb51e72..65bcfcb136b7 100644
--- a/kernel/trace/rv/monitors/sco/sco.h
+++ b/kernel/trace/rv/monitors/sco/sco.h
@@ -23,8 +23,8 @@ enum events_sco {
};
struct automaton_sco {
- char *state_names[state_max_sco];
- char *event_names[event_max_sco];
+ const char *state_names[state_max_sco];
+ const char *event_names[event_max_sco];
unsigned char function[state_max_sco][event_max_sco];
unsigned char initial_state;
bool final_states[state_max_sco];
diff --git a/kernel/trace/rv/monitors/sco/sco_trace.h
b/kernel/trace/rv/monitors/sco/sco_trace.h
index b711cd9024ec..99bc63873f4a 100644
--- a/kernel/trace/rv/monitors/sco/sco_trace.h
+++ b/kernel/trace/rv/monitors/sco/sco_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_SCO
DEFINE_EVENT(event_da_monitor, event_sco,
- TP_PROTO(char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor, error_sco,
- TP_PROTO(char *state, char *event),
+ TP_PROTO(const char *state, const char *event),
TP_ARGS(state, event));
#endif /* CONFIG_RV_MON_SCO */
diff --git a/kernel/trace/rv/monitors/scpd/scpd.h
b/kernel/trace/rv/monitors/scpd/scpd.h
index d6329da2671b..e9742c2789f7 100644
--- a/kernel/trace/rv/monitors/scpd/scpd.h
+++ b/kernel/trace/rv/monitors/scpd/scpd.h
@@ -24,8 +24,8 @@ enum events_scpd {
};
struct automaton_scpd {
- char *state_names[state_max_scpd];
- char *event_names[event_max_scpd];
+ const char *state_names[state_max_scpd];
+ const char *event_names[event_max_scpd];
unsigned char function[state_max_scpd][event_max_scpd];
unsigned char initial_state;
bool final_states[state_max_scpd];
diff --git a/kernel/trace/rv/monitors/scpd/scpd_trace.h
b/kernel/trace/rv/monitors/scpd/scpd_trace.h
index 6b0f4aa4732e..d9013db67f94 100644
--- a/kernel/trace/rv/monitors/scpd/scpd_trace.h
+++ b/kernel/trace/rv/monitors/scpd/scpd_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_SCPD
DEFINE_EVENT(event_da_monitor, event_scpd,
- TP_PROTO(char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor, error_scpd,
- TP_PROTO(char *state, char *event),
+ TP_PROTO(const char *state, const char *event),
TP_ARGS(state, event));
#endif /* CONFIG_RV_MON_SCPD */
diff --git a/kernel/trace/rv/monitors/sleep/sleep_trace.h
b/kernel/trace/rv/monitors/sleep/sleep_trace.h
index 22eaf31da987..446c30c3af36 100644
--- a/kernel/trace/rv/monitors/sleep/sleep_trace.h
+++ b/kernel/trace/rv/monitors/sleep/sleep_trace.h
@@ -6,7 +6,7 @@
#ifdef CONFIG_RV_MON_SLEEP
DEFINE_EVENT(event_ltl_monitor_id, event_sleep,
- TP_PROTO(struct task_struct *task, char *states, char *atoms, char
*next),
+ TP_PROTO(struct task_struct *task, const char *states, const char
*atoms, const char *next),
TP_ARGS(task, states, atoms, next));
DEFINE_EVENT(error_ltl_monitor_id, error_sleep,
TP_PROTO(struct task_struct *task),
diff --git a/kernel/trace/rv/monitors/snep/snep.h
b/kernel/trace/rv/monitors/snep/snep.h
index 357520a5b3d1..fabc363684d2 100644
--- a/kernel/trace/rv/monitors/snep/snep.h
+++ b/kernel/trace/rv/monitors/snep/snep.h
@@ -24,8 +24,8 @@ enum events_snep {
};
struct automaton_snep {
- char *state_names[state_max_snep];
- char *event_names[event_max_snep];
+ const char *state_names[state_max_snep];
+ const char *event_names[event_max_snep];
unsigned char function[state_max_snep][event_max_snep];
unsigned char initial_state;
bool final_states[state_max_snep];
diff --git a/kernel/trace/rv/monitors/snep/snep_trace.h
b/kernel/trace/rv/monitors/snep/snep_trace.h
index 01aad49a949a..d758882e7607 100644
--- a/kernel/trace/rv/monitors/snep/snep_trace.h
+++ b/kernel/trace/rv/monitors/snep/snep_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_SNEP
DEFINE_EVENT(event_da_monitor, event_snep,
- TP_PROTO(char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor, error_snep,
- TP_PROTO(char *state, char *event),
+ TP_PROTO(const char *state, const char *event),
TP_ARGS(state, event));
#endif /* CONFIG_RV_MON_SNEP */
diff --git a/kernel/trace/rv/monitors/snroc/snroc.h
b/kernel/trace/rv/monitors/snroc/snroc.h
index 88b7328ad31a..12aa743e4f19 100644
--- a/kernel/trace/rv/monitors/snroc/snroc.h
+++ b/kernel/trace/rv/monitors/snroc/snroc.h
@@ -23,8 +23,8 @@ enum events_snroc {
};
struct automaton_snroc {
- char *state_names[state_max_snroc];
- char *event_names[event_max_snroc];
+ const char *state_names[state_max_snroc];
+ const char *event_names[event_max_snroc];
unsigned char function[state_max_snroc][event_max_snroc];
unsigned char initial_state;
bool final_states[state_max_snroc];
diff --git a/kernel/trace/rv/monitors/snroc/snroc_trace.h
b/kernel/trace/rv/monitors/snroc/snroc_trace.h
index 50114cef5122..aa9162a2d34d 100644
--- a/kernel/trace/rv/monitors/snroc/snroc_trace.h
+++ b/kernel/trace/rv/monitors/snroc/snroc_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_SNROC
DEFINE_EVENT(event_da_monitor_id, event_snroc,
- TP_PROTO(int id, char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(int id, const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(id, state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor_id, error_snroc,
- TP_PROTO(int id, char *state, char *event),
+ TP_PROTO(int id, const char *state, const char *event),
TP_ARGS(id, state, event));
#endif /* CONFIG_RV_MON_SNROC */
diff --git a/kernel/trace/rv/monitors/sssw/sssw.h
b/kernel/trace/rv/monitors/sssw/sssw.h
index 1a4b806061c3..ad8d7a18c52d 100644
--- a/kernel/trace/rv/monitors/sssw/sssw.h
+++ b/kernel/trace/rv/monitors/sssw/sssw.h
@@ -31,8 +31,8 @@ enum events_sssw {
};
struct automaton_sssw {
- char *state_names[state_max_sssw];
- char *event_names[event_max_sssw];
+ const char *state_names[state_max_sssw];
+ const char *event_names[event_max_sssw];
unsigned char function[state_max_sssw][event_max_sssw];
unsigned char initial_state;
bool final_states[state_max_sssw];
diff --git a/kernel/trace/rv/monitors/sssw/sssw_trace.h
b/kernel/trace/rv/monitors/sssw/sssw_trace.h
index 6c03cfc6960b..14d22f793a07 100644
--- a/kernel/trace/rv/monitors/sssw/sssw_trace.h
+++ b/kernel/trace/rv/monitors/sssw/sssw_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_SSSW
DEFINE_EVENT(event_da_monitor_id, event_sssw,
- TP_PROTO(int id, char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(int id, const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(id, state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor_id, error_sssw,
- TP_PROTO(int id, char *state, char *event),
+ TP_PROTO(int id, const char *state, const char *event),
TP_ARGS(id, state, event));
#endif /* CONFIG_RV_MON_SSSW */
diff --git a/kernel/trace/rv/monitors/stall/stall.h
b/kernel/trace/rv/monitors/stall/stall.h
index 638520cb1082..ce38b6b2311e 100644
--- a/kernel/trace/rv/monitors/stall/stall.h
+++ b/kernel/trace/rv/monitors/stall/stall.h
@@ -33,9 +33,9 @@ enum envs_stall {
_Static_assert(env_max_stored_stall <= MAX_HA_ENV_LEN, "Not enough slots");
struct automaton_stall {
- char *state_names[state_max_stall];
- char *event_names[event_max_stall];
- char *env_names[env_max_stall];
+ const char *state_names[state_max_stall];
+ const char *event_names[event_max_stall];
+ const char *env_names[env_max_stall];
unsigned char function[state_max_stall][event_max_stall];
unsigned char initial_state;
bool final_states[state_max_stall];
diff --git a/kernel/trace/rv/monitors/stall/stall_trace.h
b/kernel/trace/rv/monitors/stall/stall_trace.h
index 6a7cc1b1d040..30896932a91c 100644
--- a/kernel/trace/rv/monitors/stall/stall_trace.h
+++ b/kernel/trace/rv/monitors/stall/stall_trace.h
@@ -6,14 +6,14 @@
#ifdef CONFIG_RV_MON_STALL
DEFINE_EVENT(event_da_monitor_id, event_stall,
- TP_PROTO(int id, char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(int id, const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(id, state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor_id, error_stall,
- TP_PROTO(int id, char *state, char *event),
+ TP_PROTO(int id, const char *state, const char *event),
TP_ARGS(id, state, event));
DEFINE_EVENT(error_env_da_monitor_id, error_env_stall,
- TP_PROTO(int id, char *state, char *event, char *env),
+ TP_PROTO(int id, const char *state, const char *event, const char
*env),
TP_ARGS(id, state, event, env));
#endif /* CONFIG_RV_MON_STALL */
diff --git a/kernel/trace/rv/monitors/sts/sts.h
b/kernel/trace/rv/monitors/sts/sts.h
index 6f7b2d9d72e6..74397c37cb0e 100644
--- a/kernel/trace/rv/monitors/sts/sts.h
+++ b/kernel/trace/rv/monitors/sts/sts.h
@@ -31,8 +31,8 @@ enum events_sts {
};
struct automaton_sts {
- char *state_names[state_max_sts];
- char *event_names[event_max_sts];
+ const char *state_names[state_max_sts];
+ const char *event_names[event_max_sts];
unsigned char function[state_max_sts][event_max_sts];
unsigned char initial_state;
bool final_states[state_max_sts];
diff --git a/kernel/trace/rv/monitors/sts/sts_trace.h
b/kernel/trace/rv/monitors/sts/sts_trace.h
index d78beb58d5b3..61e8e414627d 100644
--- a/kernel/trace/rv/monitors/sts/sts_trace.h
+++ b/kernel/trace/rv/monitors/sts/sts_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_STS
DEFINE_EVENT(event_da_monitor, event_sts,
- TP_PROTO(char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor, error_sts,
- TP_PROTO(char *state, char *event),
+ TP_PROTO(const char *state, const char *event),
TP_ARGS(state, event));
#endif /* CONFIG_RV_MON_STS */
diff --git a/kernel/trace/rv/monitors/wakeup/wakeup_trace.h
b/kernel/trace/rv/monitors/wakeup/wakeup_trace.h
index 7e056183f920..79bfaf91c912 100644
--- a/kernel/trace/rv/monitors/wakeup/wakeup_trace.h
+++ b/kernel/trace/rv/monitors/wakeup/wakeup_trace.h
@@ -6,7 +6,7 @@
#ifdef CONFIG_RV_MON_WAKEUP
DEFINE_EVENT(event_ltl_monitor_id, event_wakeup,
- TP_PROTO(struct task_struct *task, char *states, char *atoms, char
*next),
+ TP_PROTO(struct task_struct *task, const char *states, const char
*atoms, const char *next),
TP_ARGS(task, states, atoms, next));
DEFINE_EVENT(error_ltl_monitor_id, error_wakeup,
TP_PROTO(struct task_struct *task),
diff --git a/kernel/trace/rv/monitors/wip/wip.h
b/kernel/trace/rv/monitors/wip/wip.h
index b4c3eea94c86..b65baeae5419 100644
--- a/kernel/trace/rv/monitors/wip/wip.h
+++ b/kernel/trace/rv/monitors/wip/wip.h
@@ -23,8 +23,8 @@ enum events_wip {
};
struct automaton_wip {
- char *state_names[state_max_wip];
- char *event_names[event_max_wip];
+ const char *state_names[state_max_wip];
+ const char *event_names[event_max_wip];
unsigned char function[state_max_wip][event_max_wip];
unsigned char initial_state;
bool final_states[state_max_wip];
diff --git a/kernel/trace/rv/monitors/wip/wip_trace.h
b/kernel/trace/rv/monitors/wip/wip_trace.h
index aa2162f47a4c..99cf368a4b03 100644
--- a/kernel/trace/rv/monitors/wip/wip_trace.h
+++ b/kernel/trace/rv/monitors/wip/wip_trace.h
@@ -6,10 +6,10 @@
#ifdef CONFIG_RV_MON_WIP
DEFINE_EVENT(event_da_monitor, event_wip,
- TP_PROTO(char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor, error_wip,
- TP_PROTO(char *state, char *event),
+ TP_PROTO(const char *state, const char *event),
TP_ARGS(state, event));
#endif /* CONFIG_RV_MON_WIP */
diff --git a/kernel/trace/rv/monitors/wwnr/wwnr.h
b/kernel/trace/rv/monitors/wwnr/wwnr.h
index a28006512c9b..06d724ac1182 100644
--- a/kernel/trace/rv/monitors/wwnr/wwnr.h
+++ b/kernel/trace/rv/monitors/wwnr/wwnr.h
@@ -23,8 +23,8 @@ enum events_wwnr {
};
struct automaton_wwnr {
- char *state_names[state_max_wwnr];
- char *event_names[event_max_wwnr];
+ const char *state_names[state_max_wwnr];
+ const char *event_names[event_max_wwnr];
unsigned char function[state_max_wwnr][event_max_wwnr];
unsigned char initial_state;
bool final_states[state_max_wwnr];
diff --git a/kernel/trace/rv/monitors/wwnr/wwnr_trace.h
b/kernel/trace/rv/monitors/wwnr/wwnr_trace.h
index fc97ec7476ad..c36c8935dce5 100644
--- a/kernel/trace/rv/monitors/wwnr/wwnr_trace.h
+++ b/kernel/trace/rv/monitors/wwnr/wwnr_trace.h
@@ -7,10 +7,10 @@
#ifdef CONFIG_RV_MON_WWNR
/* id is the pid of the task */
DEFINE_EVENT(event_da_monitor_id, event_wwnr,
- TP_PROTO(int id, char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(int id, const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(id, state, event, next_state, final_state));
DEFINE_EVENT(error_da_monitor_id, error_wwnr,
- TP_PROTO(int id, char *state, char *event),
+ TP_PROTO(int id, const char *state, const char *event),
TP_ARGS(id, state, event));
#endif /* CONFIG_RV_MON_WWNR */
diff --git a/kernel/trace/rv/rv_monitors_test.c
b/kernel/trace/rv/rv_monitors_test.c
index 3ad11195e664..e70ae29da268 100644
--- a/kernel/trace/rv/rv_monitors_test.c
+++ b/kernel/trace/rv/rv_monitors_test.c
@@ -21,7 +21,7 @@
static struct rv_kunit_ctx *active_ctx;
__printf(1, 0)
-static void rv_kunit_mock_react(const char *msg, va_list args)
+static void rv_kunit_mock_react(const const char *msg, va_list args)
{
if (active_ctx)
++active_ctx->reactions;
diff --git a/kernel/trace/rv/rv_reactors.c b/kernel/trace/rv/rv_reactors.c
index 2f5fc8d18dea..538fd0d70fc7 100644
--- a/kernel/trace/rv/rv_reactors.c
+++ b/kernel/trace/rv/rv_reactors.c
@@ -71,7 +71,7 @@
*/
static LIST_HEAD(rv_reactors_list);
-static struct rv_reactor *get_reactor_rdef_by_name(char *name)
+static struct rv_reactor *get_reactor_rdef_by_name(const char *name)
{
struct rv_reactor *r;
diff --git a/kernel/trace/rv/rv_trace.h b/kernel/trace/rv/rv_trace.h
index 2f8a932432c9..a756c7d11755 100644
--- a/kernel/trace/rv/rv_trace.h
+++ b/kernel/trace/rv/rv_trace.h
@@ -11,7 +11,7 @@
#ifdef CONFIG_DA_MON_EVENTS_IMPLICIT
DECLARE_EVENT_CLASS(event_da_monitor,
- TP_PROTO(char *state, char *event, char *next_state, bool final_state),
+ TP_PROTO(const char *state, const char *event, const char *next_state,
bool final_state),
TP_ARGS(state, event, next_state, final_state),
@@ -38,7 +38,7 @@ DECLARE_EVENT_CLASS(event_da_monitor,
DECLARE_EVENT_CLASS(error_da_monitor,
- TP_PROTO(char *state, char *event),
+ TP_PROTO(const char *state, const char *event),
TP_ARGS(state, event),
@@ -68,7 +68,7 @@ DECLARE_EVENT_CLASS(error_da_monitor,
/* For simplicity this class is marked as DA although relevant only for HA */
DECLARE_EVENT_CLASS(error_env_da_monitor,
- TP_PROTO(char *state, char *event, char *env),
+ TP_PROTO(const char *state, const char *event, const char *env),
TP_ARGS(state, event, env),
@@ -100,7 +100,7 @@ DECLARE_EVENT_CLASS(error_env_da_monitor,
#ifdef CONFIG_DA_MON_EVENTS_ID
DECLARE_EVENT_CLASS(event_da_monitor_id,
- TP_PROTO(int id, char *state, char *event, char *next_state, bool
final_state),
+ TP_PROTO(int id, const char *state, const char *event, const char
*next_state, bool final_state),
TP_ARGS(id, state, event, next_state, final_state),
@@ -130,7 +130,7 @@ DECLARE_EVENT_CLASS(event_da_monitor_id,
DECLARE_EVENT_CLASS(error_da_monitor_id,
- TP_PROTO(int id, char *state, char *event),
+ TP_PROTO(int id, const char *state, const char *event),
TP_ARGS(id, state, event),
@@ -162,7 +162,7 @@ DECLARE_EVENT_CLASS(error_da_monitor_id,
/* For simplicity this class is marked as DA although relevant only for HA */
DECLARE_EVENT_CLASS(error_env_da_monitor_id,
- TP_PROTO(int id, char *state, char *event, char *env),
+ TP_PROTO(int id, const char *state, const char *event, const char *env),
TP_ARGS(id, state, event, env),
@@ -197,7 +197,7 @@ DECLARE_EVENT_CLASS(error_env_da_monitor_id,
#ifdef CONFIG_LTL_MON_EVENTS_ID
DECLARE_EVENT_CLASS(event_ltl_monitor_id,
- TP_PROTO(struct task_struct *task, char *states, char *atoms, char
*next),
+ TP_PROTO(struct task_struct *task, const char *states, const char
*atoms, const char *next),
TP_ARGS(task, states, atoms, next),
@@ -249,7 +249,7 @@ DECLARE_EVENT_CLASS(error_ltl_monitor_id,
/* Tracepoint useful for monitors development, currenly only used in DA */
TRACE_EVENT(rv_retries_error,
- TP_PROTO(char *name, char *event),
+ TP_PROTO(const char *name, const char *event),
TP_ARGS(name, event),