[patch -mm] tools, vm: new option to specify kpageflags file fix fix

From: David Rientjes
Date: Tue Jan 30 2018 - 21:41:16 EST


On Tue, 30 Jan 2018, Andrew Morton wrote:

> On Tue, 30 Jan 2018 15:01:01 -0800 (PST) David Rientjes <rientjes@xxxxxxxxxx> wrote:
>
> > page-types currently hardcodes /proc/kpageflags as the file to parse.
> > This works when using the tool to examine the state of pageflags on the
> > same system, but does not allow storing a snapshot of pageflags at a given
> > time to debug issues nor on a different system.
> >
> > This allows the user to specify a saved version of kpageflags with a new
> > page-types -F option.
> >
>
> This, methinks:
>
> --- a/tools/vm/page-types.c~tools-vm-new-option-to-specify-kpageflags-file-fix
> +++ a/tools/vm/page-types.c
> @@ -791,7 +791,7 @@ static void usage(void)
> " -N|--no-summary Don't show summary info\n"
> " -X|--hwpoison hwpoison pages\n"
> " -x|--unpoison unpoison pages\n"
> -" -F|--kpageflags kpageflags file to parse\n"
> +" -F|--kpageflags filename kpageflags file to parse\n"
> " -h|--help Show this usage message\n"
> "flags:\n"
> " 0x10 bitfield format, e.g.\n"

Please find a "fix fix" below per Naoya. Thanks both!

diff --git a/tools/vm/page-types.c b/tools/vm/page-types.c
--- a/tools/vm/page-types.c
+++ b/tools/vm/page-types.c
@@ -169,10 +169,10 @@ static int opt_raw; /* for kernel developers */
static int opt_list; /* list pages (in ranges) */
static int opt_no_summary; /* don't show summary */
static pid_t opt_pid; /* process to walk */
-const char * opt_file; /* file or directory path */
+const char *opt_file; /* file or directory path */
static uint64_t opt_cgroup; /* cgroup inode */
static int opt_list_cgroup;/* list page cgroup */
-static const char * opt_kpageflags; /* kpageflags file to parse */
+static const char *opt_kpageflags;/* kpageflags file to parse */

#define MAX_ADDR_RANGES 1024
static int nr_addr_ranges;