* [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.