Skip to content

Commit

Permalink
scripts/gdb: replace flags (MS_xyz -> SB_xyz)
Browse files Browse the repository at this point in the history
Since commit 1751e8a ("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 e262e32 "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, e262e32 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.

[[email protected]: add fixes tag, reword commit message]
Link: http://lkml.kernel.org/r/[email protected]
Fixes: e262e32 "vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled"
Signed-off-by: Jackie Liu <[email protected]>
Signed-off-by: Kieran Bingham <[email protected]>
Tested-by: Nick Desaulniers <[email protected]>
Tested-by: Kieran Bingham <[email protected]>
Cc: Felipe Balbi <[email protected]>
Cc: Dan Robertson <[email protected]>
Cc: Jan Kiszka <[email protected]>
Cc: David Howells <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
JackieLiu1 authored and torvalds committed Mar 8, 2019
1 parent 39e07cb commit 663cb63
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
12 changes: 6 additions & 6 deletions scripts/gdb/linux/constants.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
12 changes: 6 additions & 6 deletions scripts/gdb/linux/proc.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -184,7 +184,7 @@ def invoke(self, arg, from_tty):
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"
Expand Down

0 comments on commit 663cb63

Please sign in to comment.