Patch: netfilter ipv6

From: Andreas Herrmann (AHERRMAN@de.ibm.com)
Date: Thu Feb 21 2002 - 10:26:41 EST


Hi,

enclosed is a patch (against version 2.4.17
of the kernel) for netfilter module ip6_tables.

On an SMP machine (s390 LPAR 4cpus) a page
fault occured when executing "ip6tables -L".

The exception occured in kernel module
ip6_tables (in function get_counters() in
IP6T_ENTRY_ITERATE()).

I found out that the exception goes
back to the memcpy() call in function
translate_table() of ip6_tables.c,
where for each additional cpu a copy
of the entries is generated.

But the entries were copied to the
wrong place. (due to the SMP_ALIGN macro)
(Bad luck :)

Applying the patch, the page
fault didn't occure anymore.

Regards,

Andreas

--- net/ipv6/netfilter/ip6_tables.c~ Wed Oct 31 00:08:12 2001
+++ net/ipv6/netfilter/ip6_tables.c Wed Feb 20 17:38:18 2002
@@ -906,7 +906,7 @@

     /* And one copy for every other CPU */
     for (i = 1; i < smp_num_cpus; i++) {
- memcpy(newinfo->entries + SMP_ALIGN(newinfo->size*i),
+ memcpy(newinfo->entries + SMP_ALIGN(newinfo->size)*i,
                 newinfo->entries,
                 SMP_ALIGN(newinfo->size));
     }

--
Linux for eServer Development
Tel :  +49-7031-16-4640
Notes mail :  Andreas Herrmann/GERMANY/IBM@IBMDE
email :  aherrman@de.ibm.com

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:34 EST