Re: Panic: GPF in kernel mode in fork_exit() (prior to FS mouont)

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Tue, 24 Nov 2015 00:07:16 +0200
On Mon, Nov 23, 2015 at 11:22:55AM -0800, Bryan Drewery wrote:
> On 11/23/2015 9:58 AM, Ed Maste wrote:
> > On 23 November 2015 at 08:33, Konstantin Belousov <kostikbel_at_gmail.com> wrote:
> >>
> >> The revision 291171 changed layout of the dereferenced structure
> >> sysentvec. Was your kernel build clean, or did you used -DNO_CLEAN or
> >> similar option ? If yes, remove the kernel build directory and start
> >> from scratch.
> > 
> > Every time removing the build directory and starting from scratch
> > fixes an issue like this it's demonstrated a bug in our build's
> > dependency tracking. Starting over is a fine workaround to make
> > progress, but I'd also like to try to extract sufficient detail when
> > this happens so that we can fix these cases.
> 
> My guess is that some files are missing proper dependencies on sysent.h.
Probably yes.

> 
> For example these 2 would not rebuild. I think any consumers of these
> headers which dereferenced the struct pointers would need to include
> sys/sysent.h, but that this still may lead to a broken situation somewhere.
> 
> sys/sys/imgact.h:struct sysentvec;
> sys/sys/ktrace.h:struct sysentvec;
> 
Why would headers need a rebuild, what does it mean for header anyway ?

Indeed, any code which dereferences the structure or otherwise depends
on its layout, have to include sys/sysent.h to get the full definition,
otherwise compiler cannot generate code.  In other words, the problem
cannot be in the source, it is somewhere in the build system.
Received on Mon Nov 23 2015 - 21:07:27 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:01 UTC