All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ipt_dstlimit spinlock fixup
@ 2004-08-22 15:33 Phil Oester
  2004-08-23 18:47 ` Patrick McHardy
  0 siblings, 1 reply; 4+ messages in thread
From: Phil Oester @ 2004-08-22 15:33 UTC (permalink / raw)
  To: netfilter-devel

Since ipt_dstlimit makes use of MUST_BE_LOCKED macro, compiling
without CONFIG_NETFILTER_DEBUG causes errors.  Fix below.

Similar patch posted by Samir Bellabes a few days ago, but this one
removes an unneeded #ifdef pair

This fixes bugzilla #225

Phil


diff -ru pom-orig/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c pom-new/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c
--- pom-orig/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c       2004-02-22 19:15:45.000000000 -0500
+++ pom-new/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c        2004-08-22 11:30:10.156485400 -0400
@@ -83,7 +83,11 @@
        struct dstlimit_cfg cfg;        /* config */
 
        /* used internally */
+#ifdef CONFIG_NETFILTER_DEBUG
+       struct spinlock_debug lock;     /* lock for list_head */
+#else
        spinlock_t lock;                /* lock for list_head */
+#endif
        u_int32_t rnd;                  /* random seed for hash */
        struct timer_list timer;        /* timer for gc */
        atomic_t count;                 /* number entries in table */
@@ -212,7 +216,11 @@
        atomic_set(&hinfo->count, 0);
        atomic_set(&hinfo->use, 1);
        hinfo->rnd = 0;
+#ifdef CONFIG_NETFILTER_DEBUG
+       hinfo->lock.l = SPIN_LOCK_UNLOCKED;
+#else
        hinfo->lock = SPIN_LOCK_UNLOCKED;
+#endif
        hinfo->pde = create_proc_entry(minfo->name, 0, dstlimit_procdir);
        if (!hinfo->pde) {
                vfree(hinfo);

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ipt_dstlimit spinlock fixup
  2004-08-22 15:33 [PATCH] ipt_dstlimit spinlock fixup Phil Oester
@ 2004-08-23 18:47 ` Patrick McHardy
  2004-08-23 20:12   ` Phil Oester
  0 siblings, 1 reply; 4+ messages in thread
From: Patrick McHardy @ 2004-08-23 18:47 UTC (permalink / raw)
  To: Phil Oester; +Cc: netfilter-devel, kadlec

Phil Oester wrote:

>Since ipt_dstlimit makes use of MUST_BE_LOCKED macro, compiling
>without CONFIG_NETFILTER_DEBUG causes errors.  Fix below.
>
>Similar patch posted by Samir Bellabes a few days ago, but this one
>removes an unneeded #ifdef pair
>
>This fixes bugzilla #225
>  
>

Jozsefs conntrack_locking patch has the same problem, I wonder if we
should introduce a spinlock_debug_t (if that is not taken yet) or
better yet, kill lockhelp.h.

Regards
Patrick

>Phil
>
>
>diff -ru pom-orig/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c pom-new/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c
>--- pom-orig/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c       2004-02-22 19:15:45.000000000 -0500
>+++ pom-new/dstlimit/linux-2.6/net/ipv4/netfilter/ipt_dstlimit.c        2004-08-22 11:30:10.156485400 -0400
>@@ -83,7 +83,11 @@
>        struct dstlimit_cfg cfg;        /* config */
> 
>        /* used internally */
>+#ifdef CONFIG_NETFILTER_DEBUG
>+       struct spinlock_debug lock;     /* lock for list_head */
>+#else
>        spinlock_t lock;                /* lock for list_head */
>+#endif
>        u_int32_t rnd;                  /* random seed for hash */
>        struct timer_list timer;        /* timer for gc */
>        atomic_t count;                 /* number entries in table */
>@@ -212,7 +216,11 @@
>        atomic_set(&hinfo->count, 0);
>        atomic_set(&hinfo->use, 1);
>        hinfo->rnd = 0;
>+#ifdef CONFIG_NETFILTER_DEBUG
>+       hinfo->lock.l = SPIN_LOCK_UNLOCKED;
>+#else
>        hinfo->lock = SPIN_LOCK_UNLOCKED;
>+#endif
>        hinfo->pde = create_proc_entry(minfo->name, 0, dstlimit_procdir);
>        if (!hinfo->pde) {
>                vfree(hinfo);
>
>  
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ipt_dstlimit spinlock fixup
  2004-08-23 18:47 ` Patrick McHardy
@ 2004-08-23 20:12   ` Phil Oester
  2004-08-23 20:49     ` Patrick McHardy
  0 siblings, 1 reply; 4+ messages in thread
From: Phil Oester @ 2004-08-23 20:12 UTC (permalink / raw)
  To: Patrick McHardy; +Cc: netfilter-devel, kadlec

On Mon, Aug 23, 2004 at 08:47:06PM +0200, Patrick McHardy wrote:
> Phil Oester wrote:
> 
> >Since ipt_dstlimit makes use of MUST_BE_LOCKED macro, compiling
> >without CONFIG_NETFILTER_DEBUG causes errors.  Fix below.
> >
> Jozsefs conntrack_locking patch has the same problem, I wonder if we
> should introduce a spinlock_debug_t (if that is not taken yet) or
> better yet, kill lockhelp.h.

Or option 3: remove the MUST_BE_LOCKED users in both files.  lockhelp
does seem to be, er, helpful in some cases.

Phil

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ipt_dstlimit spinlock fixup
  2004-08-23 20:12   ` Phil Oester
@ 2004-08-23 20:49     ` Patrick McHardy
  0 siblings, 0 replies; 4+ messages in thread
From: Patrick McHardy @ 2004-08-23 20:49 UTC (permalink / raw)
  To: Phil Oester; +Cc: netfilter-devel, kadlec

Phil Oester wrote:

>On Mon, Aug 23, 2004 at 08:47:06PM +0200, Patrick McHardy wrote:
>  
>
>>Phil Oester wrote:
>>
>>    
>>
>>>Since ipt_dstlimit makes use of MUST_BE_LOCKED macro, compiling
>>>without CONFIG_NETFILTER_DEBUG causes errors.  Fix below.
>>>
>>>      
>>>
>>Jozsefs conntrack_locking patch has the same problem, I wonder if we
>>should introduce a spinlock_debug_t (if that is not taken yet) or
>>better yet, kill lockhelp.h.
>>    
>>
>
>Or option 3: remove the MUST_BE_LOCKED users in both files.  lockhelp
>does seem to be, er, helpful in some cases.
>  
>
With the conntrack patches we need to remove it from ip_conntrack_core.c
and ip_nat_core.c, after that there really would be no readon for keeping
it at all. There isn't any readon even today, spinlock.h already offers
the same features.

Regards
Patrick

>Phil
>
>  
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-08-23 20:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-22 15:33 [PATCH] ipt_dstlimit spinlock fixup Phil Oester
2004-08-23 18:47 ` Patrick McHardy
2004-08-23 20:12   ` Phil Oester
2004-08-23 20:49     ` Patrick McHardy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.