Re: Page Fault Handler Hijacking and Oops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please, don't top-post.

On Thu, Aug 04, 2005 at 01:45:41 +0000, Vincenzo Mallozzi wrote:
> I forgot that there's another message printed in Oops. It is the following:
> 
> Code: Bad EIP value
> <0> Kernel Panic: Aiee, Killing Interrupt Handler!
> In Interrupt handler - not syncing

Yes, that's fully expected. When an interrupt handler causes a memory
fault, the kernel has no way but to panic. If the fault was in process
context, it would just kill that process, but there is no way to recover
from interrupt.

Anyway, is that all? Isn't there a backtrace and register dump too?

> Alle 22:59, mercoled? 3 agosto 2005, Vincenzo Mallozzi ha scritto:
> > Hi all,
> > in LKM I've implemented, I hijack the page fault handler with a function 
> that 
> > first scans a list created by me and then call the original page fault 
> > handler.
> > 
> > Now, the problem is that when I scan this list from within functions 
> different 
> > from the one that hijack the page fault handler, all the elements of the 
> list 
> > are printed. 
> > But, when I try to scan this list from within the exception handler 
> hijacked, 
> > only the first three elements are printed and then an Oops message is 
> > printed.
> > 
> > The Oops is something like this:
> > 
> > Unable to handle NULL pointer dereference at virtual address 00000000.

I'd expect this message is clear enough. You tried to access value at
address 0 (NULL) somewhere. Though, it is the page fault handler that
detects this problem, so it may be a problem with how you hijack it.

As a side note: I hope you use the macros in linux/list.h, so it's not
a stupid thinko in the list walking code somewhere.

-------------------------------------------------------------------------------
						 Jan 'Bulb' Hudec <bulb@xxxxxx>

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux