[GIT PULL] tracing/rv: Move monitor structure in rodata

From: Steven Rostedt
Date: Tue Dec 20 2022 - 22:38:10 EST



Linus,

I missed this minor hardening of the kernel in the first pull.

Tracing fix for 6.2:

- Make monitor structures read only


Please pull the latest trace-v6.2-1 tree, which can be found at:


git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-v6.2-1

Tag SHA1: cf64258c2d5be026d8f6ec5b16d32e90ef3e2990
Head SHA1: bfa87ac86ce9ff879c5ac49bf09c3999859a8968


Alessandro Carminati (1):
rv/monitors: Move monitor structure in rodata

----
kernel/trace/rv/monitors/wip/wip.h | 2 +-
kernel/trace/rv/monitors/wwnr/wwnr.h | 2 +-
tools/verification/dot2/dot2c.py | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
---------------------------
commit bfa87ac86ce9ff879c5ac49bf09c3999859a8968
Author: Alessandro Carminati <acarmina@xxxxxxxxxx>
Date: Tue Nov 22 18:36:48 2022 +0100

rv/monitors: Move monitor structure in rodata

It makes sense to move the important monitor structure into rodata to
prevent accidental structure modification.

Link: https://lkml.kernel.org/r/20221122173648.4732-1-acarmina@xxxxxxxxxx

Signed-off-by: Alessandro Carminati <acarmina@xxxxxxxxxx>
Acked-by: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx>
Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

diff --git a/kernel/trace/rv/monitors/wip/wip.h b/kernel/trace/rv/monitors/wip/wip.h
index dacc37b62a2c..2e373f2c65ed 100644
--- a/kernel/trace/rv/monitors/wip/wip.h
+++ b/kernel/trace/rv/monitors/wip/wip.h
@@ -27,7 +27,7 @@ struct automaton_wip {
bool final_states[state_max_wip];
};

-static struct automaton_wip automaton_wip = {
+static const struct automaton_wip automaton_wip = {
.state_names = {
"preemptive",
"non_preemptive"
diff --git a/kernel/trace/rv/monitors/wwnr/wwnr.h b/kernel/trace/rv/monitors/wwnr/wwnr.h
index 118e576b91b4..d0d9c4b8121b 100644
--- a/kernel/trace/rv/monitors/wwnr/wwnr.h
+++ b/kernel/trace/rv/monitors/wwnr/wwnr.h
@@ -27,7 +27,7 @@ struct automaton_wwnr {
bool final_states[state_max_wwnr];
};

-static struct automaton_wwnr automaton_wwnr = {
+static const struct automaton_wwnr automaton_wwnr = {
.state_names = {
"not_running",
"running"
diff --git a/tools/verification/dot2/dot2c.py b/tools/verification/dot2/dot2c.py
index be8a364a469b..87d8a1e1470c 100644
--- a/tools/verification/dot2/dot2c.py
+++ b/tools/verification/dot2/dot2c.py
@@ -111,7 +111,7 @@ class Dot2c(Automata):

def format_aut_init_header(self):
buff = []
- buff.append("static struct %s %s = {" % (self.struct_automaton_def, self.var_automaton_def))
+ buff.append("static const struct %s %s = {" % (self.struct_automaton_def, self.var_automaton_def))
return buff

def __get_string_vector_per_line_content(self, buff):