Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Aug 2012 12:15:58 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Monthadar Al Jaberi <monthadar@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: kernel page fult for a valid pointer?
Message-ID:  <201208201215.58033.jhb@freebsd.org>
In-Reply-To: <CA%2BsBSo%2B_aYpYam31P_YhTnOMbLAZauVi-Qouz5AkdjeDCY22Sw@mail.gmail.com>
References:  <CA%2BsBSo%2BG7ovJk5O17YB-ZjCe%2BEQSntdx6MvBftKx9S=p4w8hvA@mail.gmail.com> <201208200804.31932.jhb@freebsd.org> <CA%2BsBSo%2B_aYpYam31P_YhTnOMbLAZauVi-Qouz5AkdjeDCY22Sw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, August 20, 2012 9:49:48 am Monthadar Al Jaberi wrote:
> On Mon, Aug 20, 2012 at 2:04 PM, John Baldwin <jhb@freebsd.org> wrote:
> > On Saturday, August 18, 2012 2:29:26 pm Monthadar Al Jaberi wrote:
> >> Hi,
> >>
> >> I am wondering is there a reason for getting "Fatal trap 12: page
> >> fault while in kernel mode" "supervisor read, page not present" for an
> >> address used to be valid in kernel space?
> >>
> >> I dont really understand why I am getting this, I added a hardware
> >> watchpoint on the address, and when I got to the debuger I could read
> >> the memory content and dump for that address. But when I continue from
> >> the debugger I get the panic and now when I try to read the memory
> >> content I get *** error reading from address ce733000 ***.
> >
> > Whatever memory was there might have been unmapped?  For example,
> > memory pointed to by I/O buffers (struct buf/bio) use transient
> > mappings that are only valid while an I/O request is in progress.
> 
> Thank you the for the reply, so if a struct gets freed will the page
> it was on get un-mapped, so that I cant dump it in debugger? Even
> VirtualBox debugger cant dump the memory giving
> "VERR_PAGE_TABLE_NOT_PRESENT: Reading memory at...".
> 
> In my case it is a struct ieee80211_node which gets freed, but where
> does the page get unmaped? I tried doubling the memory in VirtualBox.

Well, things that are malloc'd are a bit trickier.  I do believe they can
get unmapped if the backing slab is released to the system during a
uma_reclaim().

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208201215.58033.jhb>