Aiee :)
Hello!
While looking at the firewalling kernel code I found something
strange (but please correct me if I'm wrong).
In ip_fw_ctl routine, there's, at the end, a call to the macro
FWC_WRITE_UNLOCK_IRQ but no FWC_WRITE_LOCK_IRQ is called [1].
So, since we're inserting rules, we cannot remove
FWC_WRITE_UNLOCK_IRQ and we have to add a FWC_WRITE_LOCK_IRQ.
Here's attached a very little patch that should fix it.
bye bye
-- gg sullivan
--
[1]: Indeed a macro FWC_WRITE_LOCK_IRQ is found at the beginning of
the routine, but it's well `unlocked'.
--
Lorenzo Cavallaro `Gigi Sullivan' <[EMAIL PROTECTED]>
Until I loved, life had no beauty;
I did not know I lived until I had loved. (Theodor Korner)
--- ip_fw.c.orig Sun Apr 23 19:28:39 2000
+++ ip_fw.c Sun Apr 23 19:31:04 2000
@@ -1391,6 +1391,8 @@
}
break;
+ FWC_WRITE_LOCK_IRQ(&ip_fw_lock, flags);
+
case IP_FW_REPLACE: {
struct ip_fwkernel *ip_fwkern;
struct ip_fwnew *new = m;