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: <7984ea38-20cc-49ad-ad72-c6433ad64698@oracle.com>
Date: Mon, 2 Jun 2025 21:42:17 -0700
From: Stephen Brennan <stephen.s.brennan@...cle.com>
To: Tony Ambardar <tony.ambardar@...il.com>, linux-kernel@...r.kernel.org,
        linux-debuggers@...r.kernel.org
Cc: Jan Kiszka <jan.kiszka@...mens.com>, Kieran Bingham
 <kbingham@...nel.org>,
        Christian Brauner <brauner@...nel.org>
Subject: Re: [PATCH v1] scripts/gdb: fix parsing of MNT_* constants

On 5/31/25 22:50, Tony Ambardar wrote:
> Recently, constants in linux/mount.h were changed from integer macros
> parsable by LX_VALUE() to enums which are not, thus breaking gdb python
> scripts:
> 
>   Reading symbols from vmlinux...
>   Traceback (most recent call last):
>     File ".../linux/vmlinux-gdb.py", line 25, in <module>
>       import linux.constants
>     File ".../linux/scripts/gdb/linux/constants.py", line 19, in <module>
>       LX_MNT_NOSUID = MNT_NOSUID
>   NameError: name 'MNT_NOSUID' is not defined
> 
> Update to parse with LX_GDBPARSED(), which correctly handles enums.
> 
> Fixes: 101f2bbab541 ("fs: convert mount flags to enum")
> Signed-off-by: Tony Ambardar <tony.ambardar@...il.com>

Hi Tony,

I was totally unaware that these constants were being consumed by
another debugger, and having fixed them for one, I broke them for another!

Thanks for the fix. Having read through the preprocessor magic and this
change, they make sense to me. In the future, I'll be sure to make an
extra check for GDB users when updating enums.

Reviewed-by: Stephen Brennan <stephen.s.brennan@...cle.com>

> ---
>  scripts/gdb/linux/constants.py.in | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/scripts/gdb/linux/constants.py.in b/scripts/gdb/linux/constants.py.in
> index fd6bd69c5096..d5e3069f42a7 100644
> --- a/scripts/gdb/linux/constants.py.in
> +++ b/scripts/gdb/linux/constants.py.in
> @@ -73,12 +73,12 @@ if IS_BUILTIN(CONFIG_MODULES):
>      LX_GDBPARSED(MOD_RO_AFTER_INIT)
>  
>  /* linux/mount.h */
> -LX_VALUE(MNT_NOSUID)
> -LX_VALUE(MNT_NODEV)
> -LX_VALUE(MNT_NOEXEC)
> -LX_VALUE(MNT_NOATIME)
> -LX_VALUE(MNT_NODIRATIME)
> -LX_VALUE(MNT_RELATIME)
> +LX_GDBPARSED(MNT_NOSUID)
> +LX_GDBPARSED(MNT_NODEV)
> +LX_GDBPARSED(MNT_NOEXEC)
> +LX_GDBPARSED(MNT_NOATIME)
> +LX_GDBPARSED(MNT_NODIRATIME)
> +LX_GDBPARSED(MNT_RELATIME)
>  
>  /* linux/threads.h */
>  LX_VALUE(NR_CPUS)


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ