Ok, after several runs of crashme, I think I've squashed Phil's bug...

Some advice for using crashme - use a serial connection to run crashme,
and run something like minicom with a decent amount of scroll-back.  When
a crash happens, find the previous invocation of crashme - it will give
you the random seed required to regenerate the code that caused the crash.

Anyway, stuff fixed in the up and coming 2.2.5-rmk5 patch:

1. vector exceptions were too noisy, and were being over-zealous about
   killing the task (rather than sending it a SEGV and letting it handle
   that).

2. bug in kernel_page_fault meant another kernel NULL dereference caused
   this routine to be called ad infinitum, causing stack overflow.

3. the bad mode handler called because the signal stack was corrupted,
   and the SEGV signal was blocked.  The signal stack registers are
   now forced to something sensible instead of being left in their
   corrupted state (namely forcing USER mode and SP to be word aligned).
   *** Note: this was a security hole ***

4. Infinite loop lockup when flush_icache_area is called with
    start = 0x......33, end = 0x7ffffff7
   flush_icache_area and cache_clean(_area) are now called with an
   address and size argument and are now guaranteed to terminate.

5. Expansion card IRQs on Acorn machines now work again.  These
   were unfortunately broken in previous 2.2 kernels (I must keep those
   hard drives dangling out the side of my RiscPC for testing this...)

Unfortunately, the FTP site is currently down, so I don't know when I'll
be able to make the patch available.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [EMAIL PROTECTED]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to