RE: [PATCH] fork: Improve error message for corrupted page tables

Prakhya, Sai Praneeth
2019-08-02T06:52:14Z

> >
> > Cc: Ingo Molnar <mingo@kernel.org>
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Cc: Andrew Morton <akpm@linux-foundation.org>
> > Suggested-by/Acked-by: Dave Hansen <dave.hansen@intel.com>
>
> Though I am not sure, should the above be two separate lines instead ?

Sure! Will split them in V2.

>
> > Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
> > ---
> > include/linux/mm_types_task.h | 7 +++++++
> > kernel/fork.c | 4 ++--
> > 2 files changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/linux/mm_types_task.h
> > b/include/linux/mm_types_task.h index d7016dcb245e..881f4ea3a1b5
> > 100644
> > --- a/include/linux/mm_types_task.h
> > +++ b/include/linux/mm_types_task.h
> > @@ -44,6 +44,13 @@ enum {
> > NR_MM_COUNTERS
> > };
> >
> > +static const char * const resident_page_types[NR_MM_COUNTERS] = {
> > + "MM_FILEPAGES",
> > + "MM_ANONPAGES",
> > + "MM_SWAPENTS",
> > + "MM_SHMEMPAGES",
> > +};
>
> Should index them to match respective typo macros.
>
> [MM_FILEPAGES] = "MM_FILEPAGES",
> [MM_ANONPAGES] = "MM_ANONPAGES",
> [MM_SWAPENTS] = "MM_SWAPENTS",
> [MM_SHMEMPAGES] = "MM_SHMEMPAGES",

Sure! Will change it.

> > +
> > #if USE_SPLIT_PTE_PTLOCKS && defined(CONFIG_MMU) #define
> > SPLIT_RSS_COUNTING
> > /* per-thread cached information, */
> > diff --git a/kernel/fork.c b/kernel/fork.c index
> > 2852d0e76ea3..6aef5842d4e0 100644
> > --- a/kernel/fork.c
> > +++ b/kernel/fork.c
> > @@ -649,8 +649,8 @@ static void check_mm(struct mm_struct *mm)
> > long x = atomic_long_read(&mm->rss_stat.count[i]);
> >
> > if (unlikely(x))
> > - printk(KERN_ALERT "BUG: Bad rss-counter state "
> > - "mm:%p idx:%d val:%ld\n", mm, i, x);
> > + pr_alert("BUG: Bad rss-counter state mm:%p type:%s
> val:%ld\n",
> > + mm, resident_page_types[i], x);
> It changes the print function as well, though very minor change but perhaps
> mention that in the commit message ?

Sure! Will mention it in V2.
I have changed printk() to pr_alert() because the other message in check_mm() uses pr_alert().

Regards,
Sai