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;

Reply via email to