vkernel - Fix semi-random SIGILL crashes under heavy network loads
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 2 Feb 2012 23:17:44 +0000 (15:17 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 2 Feb 2012 23:20:45 +0000 (15:20 -0800)
commit7f65f0d5238875c7e0d3cf4e31af15deacdf8bb4
tree46d5434702dabbc6e9eee645e0d5dee923313223
parentd2e7f0d14e326d61e28608cea197d12c1ee9be5d
vkernel - Fix semi-random SIGILL crashes under heavy network loads

* SIGIO was being installed with SA_NODEFER, resulting in situations
  under heavy network loads where multiple SIGIOs could stack and cause
  a stack overflow.  This often resulted in the sendsig code in the kernel
  generating a SIGILL to the process after being unable to push a new
  signal context.

* Removing SA_NODEFER appears to solve the problem.

Reported-by: tuxillo
sys/platform/vkernel/platform/kqueue.c
sys/platform/vkernel64/platform/kqueue.c