2019-03-05 10:47:07

by Kieran Bingham

[permalink] [raw]
Subject: [PATCH v3] scripts/gdb: replace flags (MS_xyz -> SB_xyz)

From: Jackie Liu <[email protected]>

Since commit 1751e8a6cb93 ("Rename superblock flags (MS_xyz -> SB_xyz)"),
scripts/gdb should be updated to replace MS_xyz with SB_xyz.

This change didn't directly affect the running operation of scripts/gdb until
commit e262e32d6bde "vfs: Suppress MS_* flag defs within the kernel unless
explicitly enabled" removed the definitions used by constants.py.

Update constants.py.in to utilise the new internal flags, matching the
implementation at fs/proc_namespace.c::show_sb_opts.

Cc: <[email protected]>
Fixes: e262e32d6bde "vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled"
Tested-by: Nick Desaulniers <[email protected]>
Tested-by: Kieran Bingham <[email protected]>
Signed-off-by: Jackie Liu <[email protected]>
[Kieran: Add fixes tag, reword commit message]
Signed-off-by: Kieran Bingham <[email protected]>
---
scripts/gdb/linux/constants.py.in | 12 ++++++------
scripts/gdb/linux/proc.py | 12 ++++++------
2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/scripts/gdb/linux/constants.py.in b/scripts/gdb/linux/constants.py.in
index 7aad82406422..d3319a80788a 100644
--- a/scripts/gdb/linux/constants.py.in
+++ b/scripts/gdb/linux/constants.py.in
@@ -37,12 +37,12 @@
import gdb

/* linux/fs.h */
-LX_VALUE(MS_RDONLY)
-LX_VALUE(MS_SYNCHRONOUS)
-LX_VALUE(MS_MANDLOCK)
-LX_VALUE(MS_DIRSYNC)
-LX_VALUE(MS_NOATIME)
-LX_VALUE(MS_NODIRATIME)
+LX_VALUE(SB_RDONLY)
+LX_VALUE(SB_SYNCHRONOUS)
+LX_VALUE(SB_MANDLOCK)
+LX_VALUE(SB_DIRSYNC)
+LX_VALUE(SB_NOATIME)
+LX_VALUE(SB_NODIRATIME)

/* linux/mount.h */
LX_VALUE(MNT_NOSUID)
diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
index 0aebd7565b03..2f01a958eb22 100644
--- a/scripts/gdb/linux/proc.py
+++ b/scripts/gdb/linux/proc.py
@@ -114,11 +114,11 @@ def info_opts(lst, opt):
return opts


-FS_INFO = {constants.LX_MS_SYNCHRONOUS: ",sync",
- constants.LX_MS_MANDLOCK: ",mand",
- constants.LX_MS_DIRSYNC: ",dirsync",
- constants.LX_MS_NOATIME: ",noatime",
- constants.LX_MS_NODIRATIME: ",nodiratime"}
+FS_INFO = {constants.LX_SB_SYNCHRONOUS: ",sync",
+ constants.LX_SB_MANDLOCK: ",mand",
+ constants.LX_SB_DIRSYNC: ",dirsync",
+ constants.LX_SB_NOATIME: ",noatime",
+ constants.LX_SB_NODIRATIME: ",nodiratime"}

MNT_INFO = {constants.LX_MNT_NOSUID: ",nosuid",
constants.LX_MNT_NODEV: ",nodev",
@@ -184,7 +184,7 @@ values of that process namespace"""
fstype = superblock['s_type']['name'].string()
s_flags = int(superblock['s_flags'])
m_flags = int(vfs['mnt']['mnt_flags'])
- rd = "ro" if (s_flags & constants.LX_MS_RDONLY) else "rw"
+ rd = "ro" if (s_flags & constants.LX_SB_RDONLY) else "rw"

gdb.write(
"{} {} {} {}{}{} 0 0\n"
--
2.19.1



2019-03-05 22:07:22

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH v3] scripts/gdb: replace flags (MS_xyz -> SB_xyz)

On Tue, Mar 5, 2019 at 2:30 AM Kieran Bingham
<[email protected]> wrote:
>
> From: Jackie Liu <[email protected]>
>
> Since commit 1751e8a6cb93 ("Rename superblock flags (MS_xyz -> SB_xyz)"),
> scripts/gdb should be updated to replace MS_xyz with SB_xyz.
>
> This change didn't directly affect the running operation of scripts/gdb until
> commit e262e32d6bde "vfs: Suppress MS_* flag defs within the kernel unless

Note to stable, e262e32d6bde landed in v5.0-rc1 (which was just
released), so we'll want this picked back to 5.0 stable once this
patch hits mainline (akpm just picked it up).

Just following up to say that without this, debugging a kernel a
kernel via GDB+QEMU is broken in the 5.0 release.
--
Thanks,
~Nick Desaulniers

2019-03-08 12:39:14

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v3] scripts/gdb: replace flags (MS_xyz -> SB_xyz)

On Tue, Mar 05, 2019 at 01:47:58PM -0800, Nick Desaulniers wrote:
> On Tue, Mar 5, 2019 at 2:30 AM Kieran Bingham
> <[email protected]> wrote:
> >
> > From: Jackie Liu <[email protected]>
> >
> > Since commit 1751e8a6cb93 ("Rename superblock flags (MS_xyz -> SB_xyz)"),
> > scripts/gdb should be updated to replace MS_xyz with SB_xyz.
> >
> > This change didn't directly affect the running operation of scripts/gdb until
> > commit e262e32d6bde "vfs: Suppress MS_* flag defs within the kernel unless
>
> Note to stable, e262e32d6bde landed in v5.0-rc1 (which was just
> released), so we'll want this picked back to 5.0 stable once this
> patch hits mainline (akpm just picked it up).
>
> Just following up to say that without this, debugging a kernel a
> kernel via GDB+QEMU is broken in the 5.0 release.

I do not understand, sorry. Specifically, what git commits do you want
applied to which stable releases for what reason?

thanks,

greg k-h

2019-03-08 20:57:25

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH v3] scripts/gdb: replace flags (MS_xyz -> SB_xyz)

On Fri, Mar 8, 2019 at 4:37 AM Greg KH <[email protected]> wrote:
>
> On Tue, Mar 05, 2019 at 01:47:58PM -0800, Nick Desaulniers wrote:
> > On Tue, Mar 5, 2019 at 2:30 AM Kieran Bingham
> > <[email protected]> wrote:
> > >
> > > From: Jackie Liu <[email protected]>
> > >
> > > Since commit 1751e8a6cb93 ("Rename superblock flags (MS_xyz -> SB_xyz)"),
> > > scripts/gdb should be updated to replace MS_xyz with SB_xyz.
> > >
> > > This change didn't directly affect the running operation of scripts/gdb until
> > > commit e262e32d6bde "vfs: Suppress MS_* flag defs within the kernel unless
> >
> > Note to stable, e262e32d6bde landed in v5.0-rc1 (which was just
> > released), so we'll want this picked back to 5.0 stable once this
> > patch hits mainline (akpm just picked it up).
> >
> > Just following up to say that without this, debugging a kernel a
> > kernel via GDB+QEMU is broken in the 5.0 release.
>
> I do not understand, sorry. Specifically, what git commits do you want
> applied to which stable releases for what reason?

commits: 663cb6340c6e
release: 5.0
reason: kernel debugging scripts in gdb are broken since v5.0-rc1 via
e262e32d6bde
--
Thanks,
~Nick Desaulniers

2019-03-12 12:51:22

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v3] scripts/gdb: replace flags (MS_xyz -> SB_xyz)

On Fri, Mar 08, 2019 at 12:56:28PM -0800, Nick Desaulniers wrote:
> On Fri, Mar 8, 2019 at 4:37 AM Greg KH <[email protected]> wrote:
> >
> > On Tue, Mar 05, 2019 at 01:47:58PM -0800, Nick Desaulniers wrote:
> > > On Tue, Mar 5, 2019 at 2:30 AM Kieran Bingham
> > > <[email protected]> wrote:
> > > >
> > > > From: Jackie Liu <[email protected]>
> > > >
> > > > Since commit 1751e8a6cb93 ("Rename superblock flags (MS_xyz -> SB_xyz)"),
> > > > scripts/gdb should be updated to replace MS_xyz with SB_xyz.
> > > >
> > > > This change didn't directly affect the running operation of scripts/gdb until
> > > > commit e262e32d6bde "vfs: Suppress MS_* flag defs within the kernel unless
> > >
> > > Note to stable, e262e32d6bde landed in v5.0-rc1 (which was just
> > > released), so we'll want this picked back to 5.0 stable once this
> > > patch hits mainline (akpm just picked it up).
> > >
> > > Just following up to say that without this, debugging a kernel a
> > > kernel via GDB+QEMU is broken in the 5.0 release.
> >
> > I do not understand, sorry. Specifically, what git commits do you want
> > applied to which stable releases for what reason?
>
> commits: 663cb6340c6e
> release: 5.0
> reason: kernel debugging scripts in gdb are broken since v5.0-rc1 via
> e262e32d6bde

Ok, now queued up, thanks.

greg k-h