* [patch] ebtables: don't compute gap before checking struct type
@ 2006-12-26 17:54 Chuck Ebbert
0 siblings, 0 replies; only message in thread
From: Chuck Ebbert @ 2006-12-26 17:54 UTC (permalink / raw)
To: Bart De Schuymer
Cc: Al Viro, Patrick McHardy, linux-kernel, Dave Jones, netdev
We cannot compute the gap until we know we have a 'struct ebt_entry'
and not 'struct ebt_entries'. Failure to check can cause crash.
Tested by Santiago Garcia Mantinan <manty@manty.net>
Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
---
Can we get this upstream quickly? The bug's also in 2.6.19.1 and
2.6.18.6.
--- 2.6.20-rc1-32smp.orig/net/bridge/netfilter/ebtables.c
+++ 2.6.20-rc1-32smp/net/bridge/netfilter/ebtables.c
@@ -610,7 +610,7 @@ ebt_check_entry(struct ebt_entry *e, str
struct ebt_entry_target *t;
struct ebt_target *target;
unsigned int i, j, hook = 0, hookmask = 0;
- size_t gap = e->next_offset - e->target_offset;
+ size_t gap;
int ret;
/* don't mess with the struct ebt_entries */
@@ -660,6 +660,7 @@ ebt_check_entry(struct ebt_entry *e, str
if (ret != 0)
goto cleanup_watchers;
t = (struct ebt_entry_target *)(((char *)e) + e->target_offset);
+ gap = e->next_offset - e->target_offset;
target = find_target_lock(t->u.name, &ret, &ebt_mutex);
if (!target)
goto cleanup_watchers;
--
MBTI: IXTP
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-12-26 18:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-26 17:54 [patch] ebtables: don't compute gap before checking struct type Chuck Ebbert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®