lkml.org 
[lkml]   [1999]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[PATCH] signal.c, kernel 2.3.34

This patch against 2.3.34 causes siginfo on i386 to correctly report the
address and SEGV_MAPERR/SEGV_ACCERR status for segvs. To accomplish this,
it allows queueing of up to one siginfo for each non-realtime signal,
as per the XXX comments in kernel/signal.c. It also cleans this code up
somewhat, since dequeueing of both non-realtime and realtime signals is
now identical. It looks bigger than it is, because some code has been
pulled out of a conditional block.

There is an arch-dependent portion to this patch, in arch/i386/mm/fault.c
. Ideally, I would change the page fault handlers for all architectures
to correctly report the address and si_code for their faults, but since
I only have an i386 to test with, I only patched the i386. The patch
should not break other architectures, in any event.

I have tested it, and found that it correctly reports the siginfo
information on i386, only queues one non realtime signal at a time, and
still queues as many realtime signals as are sent. Test code available
on request. This is my first kernel patch, so any feedback would be
appreciated.

Thanks,
Keith Adams
[unhandled content-type:application/octet-stream]This patch enables correct siginfo reporting for SIGSEGV on i386.
Keith Adams -- kma@cs.brown.edu
\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.025 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site