[<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