stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] script/gdb: replace flags (MS_xyz -> SB_xyz)
@ 2019-03-05  1:53 Jackie Liu
  2019-03-05 10:21 ` Kieran Bingham
       [not found] ` <20190305234209.DFDEB208E4@mail.kernel.org>
  0 siblings, 2 replies; 3+ messages in thread
From: Jackie Liu @ 2019-03-05  1:53 UTC (permalink / raw)
  To: akpm, kbingham; +Cc: ndesaulniers, Jackie Liu, stable

Since commit 1751e8a6cb93 ("Rename superblock flags (MS_xyz -> SB_xyz)"),
script/gdb need replace MS_xyz to SB_xyz.

Fix follow problem:
root@localhost:/data# gdb -q vmlinux
Reading symbols from vmlinux...done.
Traceback (most recent call last):
  File "/data/vmlinux-gdb.py", line 32, in <module>
    import linux.proc
  File "/data/scripts/gdb/linux/proc.py", line 15, in <module>
    from linux import constants
  File "/data/scripts/gdb/linux/constants.py", line 2, in <module>
    LX_SB_RDONLY = MS_RDONLY
NameError: name 'MS_RDONLY' is not defined
(gdb)

Cc: <stable@vger.kernel.org>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
---
 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.20.1




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] script/gdb: replace flags (MS_xyz -> SB_xyz)
  2019-03-05  1:53 [PATCH v2] script/gdb: replace flags (MS_xyz -> SB_xyz) Jackie Liu
@ 2019-03-05 10:21 ` Kieran Bingham
       [not found] ` <20190305234209.DFDEB208E4@mail.kernel.org>
  1 sibling, 0 replies; 3+ messages in thread
From: Kieran Bingham @ 2019-03-05 10:21 UTC (permalink / raw)
  To: Jackie Liu, akpm
  Cc: ndesaulniers, stable, J. Kiszka, Felipe Balbi, Dan Robertson

Hi Jackie,

Thank you for the patch,

I think this supercedes the other attempts to fix this issue because
this fix mirrors the actual change which occured in the /proc/mounts
output (fs/proc_namespace.c::show_sb_opts), which is the equivalent
usage of the code here.

I've now managed to resurrect my GDB testing environment, and I've
tested that this patch works - and the lx-mounts command which this
specifically affects is functioning.


On 05/03/2019 01:53, Jackie Liu wrote:
> Since commit 1751e8a6cb93 ("Rename superblock flags (MS_xyz -> SB_xyz)"),
> script/gdb need replace MS_xyz to SB_xyz.
> 
> Fix follow problem:
> root@localhost:/data# gdb -q vmlinux
> Reading symbols from vmlinux...done.
> Traceback (most recent call last):
>   File "/data/vmlinux-gdb.py", line 32, in <module>
>     import linux.proc
>   File "/data/scripts/gdb/linux/proc.py", line 15, in <module>
>     from linux import constants
>   File "/data/scripts/gdb/linux/constants.py", line 2, in <module>
>     LX_SB_RDONLY = MS_RDONLY
> NameError: name 'MS_RDONLY' is not defined
> (gdb)
> 
> Cc: <stable@vger.kernel.org>

There should be a Fixes tag here, The point of breakage is:

Fixes: e262e32d6bde "vfs: Suppress MS_* flag defs within the kernel
unless explicitly enabled"


I'd like to update the commit message to the following:

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

I will repost a v3 with that change, along with my SoB, and retaining
your authorship - and ask Andrew to collect the patch.

--

Regards

Kieran


> Tested-by: Nick Desaulniers <ndesaulniers@google.com>
> Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
> ---
>  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"
> 


-- 
--
Kieran

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] script/gdb: replace flags (MS_xyz -> SB_xyz)
       [not found] ` <20190305234209.DFDEB208E4@mail.kernel.org>
@ 2019-03-06  0:13   ` Nick Desaulniers
  0 siblings, 0 replies; 3+ messages in thread
From: Nick Desaulniers @ 2019-03-06  0:13 UTC (permalink / raw)
  To: Sasha Levin; +Cc: Jackie Liu, Andrew Morton, Kieran Bingham, stable

On Tue, Mar 5, 2019 at 3:42 PM Sasha Levin <sashal@kernel.org> wrote:
>
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
>
> The bot has tested the following trees: v4.20.13, v4.19.26, v4.14.104, v4.9.161, v4.4.176, v3.18.136.
>
> v4.20.13: Build OK!
> v4.19.26: Build OK!
> v4.14.104: Build OK!
> v4.9.161: Build OK!
> v4.4.176: Failed to apply! Possible dependencies:
>     2d061d999424 ("scripts/gdb: add version command")
>     c1a153992ea8 ("scripts/gdb: add mount point list command")
>     e7165a2d7d87 ("scripts/gdb: add io resource readers")
>     f197d75fcad1 ("scripts/gdb: provide linux constants")
>
> v3.18.136: Failed to apply! Possible dependencies:
>     084f6b1ec651 ("scripts/gdb: add command to check list consistency")
>     0a227985d4a9 ("time: Move timeconst.h into include/generated")
>     223c24a7dba9 ("kbuild: Automatically remove stale <linux/version.h> file")
>     2b514827ef06 ("scripts/gdb: add cache for type objects")
>     2d061d999424 ("scripts/gdb: add version command")
>     3ee7b3fa2cd0 ("scripts/gdb: add infrastructure")
>     4752871081ba ("scripts/gdb: add helper and convenience function to look up tasks")
>     66051720b841 ("scripts/gdb: add lx-symbols command")
>     7704d58a8509 ("scripts/gdb: add task iteration class")
>     7b599ef535a7 ("scripts/gdb: add internal helper and convenience function to look up a module")
>     850202e17df6 ("scripts/gdb: add module iteration class")
>     ae7dbaad23f0 ("scripts/gdb: add lx-dmesg command")
>     b0fecd8c5703 ("scripts/gdb: add container_of helper and convenience function")
>     c1a153992ea8 ("scripts/gdb: add mount point list command")
>     e7165a2d7d87 ("scripts/gdb: add io resource readers")
>     f197d75fcad1 ("scripts/gdb: provide linux constants")
>     fe7f9ed98dad ("scripts/gdb: add internal helper and convenience function for per-cpu lookup")
>
>
> How should we proceed with this patch?

No; a v3 was authored, and is in akpm's tree.  The v3 should be
backported only to 5.0-stable once it hits mainline.

-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-03-06  0:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-05  1:53 [PATCH v2] script/gdb: replace flags (MS_xyz -> SB_xyz) Jackie Liu
2019-03-05 10:21 ` Kieran Bingham
     [not found] ` <20190305234209.DFDEB208E4@mail.kernel.org>
2019-03-06  0:13   ` Nick Desaulniers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).