* [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).