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

From: Sai Praneeth Prakhya
Date: Mon Aug 05 2019 - 23:13:12 EST


On Mon, 2019-08-05 at 15:28 +0200, Vlastimil Babka wrote:
> On 8/2/19 8:46 AM, Prakhya, Sai Praneeth wrote:
> > > > > > +static const char * const resident_page_types[NR_MM_COUNTERS] = {
> > > > > > + "MM_FILEPAGES",
> > > > > > + "MM_ANONPAGES",
> > > > > > + "MM_SWAPENTS",
> > > > > > + "MM_SHMEMPAGES",
> > > > > > +};
> > > > >
> > > > > But please let's not put this in a header file. We're asking the
> > > > > compiler to put a copy of all of this into every compilation unit
> > > > > which includes the header. Presumably the compiler is smart enough
> > > > > not to do that, but it's not good practice.
> > > >
> > > > Thanks for the explanation. Makes sense to me.
> > > >
> > > > Just wanted to check before sending V2, Is it OK if I add this to
> > > > kernel/fork.c? or do you have something else in mind?
> > >
> > > I was thinking somewhere like mm/util.c so the array could be used by
> > > other
> > > code. But it seems there is no such code. Perhaps it's best to just
> > > leave fork.c as
> > > it is now.
> >
> > Ok, so does that mean have the struct in header file itself?
>
> If the struct definition (including the string values) was in mm/util.c,
> there would have to be a declaration in a header. If it's in fork.c with
> the only users, there doesn't need to be separate declaration in a header.

Makes sense.

>
> > Sorry! for too many questions. I wanted to check with you before changing
> > because it's *the* fork.c file (I presume random changes will not be
> > encouraged here)
> >
> > I am not yet clear on what's the right thing to do here :(
> > So, could you please help me in deciding.
>
> fork.c should be fine, IMHO

I was leaning to add struct definition in fork.c as well but just wanted to
check with Andrew before posting V2.

Thanks for the reply though :)

Regards,
Sai