summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2007-03-05 21:00:34 +0000
committerThomas Schwinge <tschwinge@gnu.org>2009-06-18 00:27:05 +0200
commit6275df35e4b574f089e8266e4dccec4d5e22c403 (patch)
tree4d9ea76b01953b590c83bc7e6add7a3293c02ae1
parent85cc387fcadf24c1c4a1c3df515619bd48914457 (diff)
net_filter is actually interrupt-safe
-rw-r--r--ChangeLog1
-rw-r--r--device/net_io.c2
2 files changed, 1 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5179bf6..501f0c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,6 @@
2007-03-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
[bug #18349 --- ``General Protection Trap'' in `ipc_kmsg_enqueue']
- * device/net_io.c (net_deliver): Call net_filter() with splimp held.
* linux/dev/glue/net.c (device_write): Call net_packet() with splimp
held.
diff --git a/device/net_io.c b/device/net_io.c
index 9c7517a..b565aa3 100644
--- a/device/net_io.c
+++ b/device/net_io.c
@@ -444,13 +444,13 @@ boolean_t net_deliver(nonblocking)
} else
return FALSE;
simple_unlock(&net_queue_lock);
+ (void) spl0();
/*
* Run the packet through the filters,
* getting back a queue of packets to send.
*/
net_filter(kmsg, &send_list);
- (void) spl0();
if (!nonblocking) {
/*