scripts/gdb: replace flags (MS_xyz -> SB_xyz)
Since commit1751e8a6cb
("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 commite262e32d6b
"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. Note to stable,e262e32d6b
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). Without this, debugging a kernel a kernel via GDB+QEMU is broken in the 5.0 release. [kieran.bingham@ideasonboard.com: add fixes tag, reword commit message] Link: http://lkml.kernel.org/r/20190305103014.25847-1-kieran.bingham@ideasonboard.com Fixes:e262e32d6b
"vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled" Signed-off-by: Jackie Liu <liuyun01@kylinos.cn> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Cc: Felipe Balbi <felipe.balbi@linux.intel.com> Cc: Dan Robertson <danlrobertson89@gmail.com> Cc: Jan Kiszka <jan.kiszka@siemens.com> Cc: David Howells <dhowells@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
39e07cb608
Коммит
663cb6340c
|
@ -37,12 +37,12 @@
|
||||||
import gdb
|
import gdb
|
||||||
|
|
||||||
/* linux/fs.h */
|
/* linux/fs.h */
|
||||||
LX_VALUE(MS_RDONLY)
|
LX_VALUE(SB_RDONLY)
|
||||||
LX_VALUE(MS_SYNCHRONOUS)
|
LX_VALUE(SB_SYNCHRONOUS)
|
||||||
LX_VALUE(MS_MANDLOCK)
|
LX_VALUE(SB_MANDLOCK)
|
||||||
LX_VALUE(MS_DIRSYNC)
|
LX_VALUE(SB_DIRSYNC)
|
||||||
LX_VALUE(MS_NOATIME)
|
LX_VALUE(SB_NOATIME)
|
||||||
LX_VALUE(MS_NODIRATIME)
|
LX_VALUE(SB_NODIRATIME)
|
||||||
|
|
||||||
/* linux/mount.h */
|
/* linux/mount.h */
|
||||||
LX_VALUE(MNT_NOSUID)
|
LX_VALUE(MNT_NOSUID)
|
||||||
|
|
|
@ -114,11 +114,11 @@ def info_opts(lst, opt):
|
||||||
return opts
|
return opts
|
||||||
|
|
||||||
|
|
||||||
FS_INFO = {constants.LX_MS_SYNCHRONOUS: ",sync",
|
FS_INFO = {constants.LX_SB_SYNCHRONOUS: ",sync",
|
||||||
constants.LX_MS_MANDLOCK: ",mand",
|
constants.LX_SB_MANDLOCK: ",mand",
|
||||||
constants.LX_MS_DIRSYNC: ",dirsync",
|
constants.LX_SB_DIRSYNC: ",dirsync",
|
||||||
constants.LX_MS_NOATIME: ",noatime",
|
constants.LX_SB_NOATIME: ",noatime",
|
||||||
constants.LX_MS_NODIRATIME: ",nodiratime"}
|
constants.LX_SB_NODIRATIME: ",nodiratime"}
|
||||||
|
|
||||||
MNT_INFO = {constants.LX_MNT_NOSUID: ",nosuid",
|
MNT_INFO = {constants.LX_MNT_NOSUID: ",nosuid",
|
||||||
constants.LX_MNT_NODEV: ",nodev",
|
constants.LX_MNT_NODEV: ",nodev",
|
||||||
|
@ -184,7 +184,7 @@ values of that process namespace"""
|
||||||
fstype = superblock['s_type']['name'].string()
|
fstype = superblock['s_type']['name'].string()
|
||||||
s_flags = int(superblock['s_flags'])
|
s_flags = int(superblock['s_flags'])
|
||||||
m_flags = int(vfs['mnt']['mnt_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(
|
gdb.write(
|
||||||
"{} {} {} {}{}{} 0 0\n"
|
"{} {} {} {}{}{} 0 0\n"
|
||||||
|
|
Загрузка…
Ссылка в новой задаче