lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dafb08f254efaa7ba5703b5a0fb17f901ca5fa1c.camel@redhat.com>
Date: Tue, 20 Jan 2026 09:06:47 +0100
From: Gabriele Monaco <gmonaco@...hat.com>
To: Wander Lairson Costa <wander@...hat.com>
Cc: Steven Rostedt <rostedt@...dmis.org>, Nam Cao <namcao@...utronix.de>, 
 open list <linux-kernel@...r.kernel.org>, "open list:RUNTIME VERIFICATION
 (RV)"	 <linux-trace-kernel@...r.kernel.org>
Subject: Re: [PATCH 15/26] rv/rvgen: use class constant for init marker

On Mon, 2026-01-19 at 17:45 -0300, Wander Lairson Costa wrote:
> Replace hardcoded string literal and magic number with a class
> constant for the initial state marker in DOT file parsing. The
> previous implementation used the magic string "__init_" directly
> in the code along with a hardcoded length of 7 for substring
> extraction, which made the code less maintainable and harder to
> understand.
> 
> This change introduces a class constant init_marker to serve as
> a single source of truth for the initial state prefix. The code
> now uses startswith() for clearer intent and calculates the
> substring position dynamically using len(), eliminating the magic
> number. If the marker value needs to change in the future, only
> the constant definition requires updating rather than multiple
> locations in the code.
> 
> The refactoring improves code readability and maintainability
> while preserving the exact same runtime behavior.
> 

Looks good, thanks.

Reviewed-by: Gabriele Monaco <gmonaco@...hat.com>

> Signed-off-by: Wander Lairson Costa <wander@...hat.com>
> ---
>  tools/verification/rvgen/rvgen/automata.py | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/verification/rvgen/rvgen/automata.py
> b/tools/verification/rvgen/rvgen/automata.py
> index b302af3e5133e..8548265955570 100644
> --- a/tools/verification/rvgen/rvgen/automata.py
> +++ b/tools/verification/rvgen/rvgen/automata.py
> @@ -25,6 +25,7 @@ class Automata:
>      """
>  
>      invalid_state_str = "INVALID_STATE"
> +    init_marker = "__init_"
>  
>      def __init__(self, file_path, model_name=None):
>          self.__dot_path = file_path
> @@ -96,8 +97,8 @@ class Automata:
>  
>              #  "enabled_fired"}; -> enabled_fired
>              state = raw_state.replace('"', '').replace('};', '').replace(',',
> '_')
> -            if state[0:7] == "__init_":
> -                initial_state = state[7:]
> +            if state.startswith(self.init_marker):
> +                initial_state = state[len(self.init_marker):]
>              else:
>                  states.append(state)
>                  if "doublecircle" in self.__dot_lines[cursor]:


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ