Bug 155004 - iptables broken with CONFIG_DEBUG_SLAB enabled
Summary: iptables broken with CONFIG_DEBUG_SLAB enabled
Status: RESOLVED WORKSFORME
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: Kernel (show other bugs)
Version: Beta 6
Hardware: PowerPC Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Jaroslav Kysela
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-03 15:08 UTC by peter czanik
Modified: 2006-09-28 13:24 UTC (History)
4 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
output of starting SuSEfirewall2 (2.84 KB, text/plain)
2006-03-07 12:57 UTC, peter czanik
Details
lsmod (1.91 KB, text/plain)
2006-03-07 13:01 UTC, peter czanik
Details
iptables -L -v -n (713 bytes, application/octet-stream)
2006-03-07 13:01 UTC, peter czanik
Details
Align kmalloc objects to 8 bytes (425 bytes, patch)
2006-03-13 08:12 UTC, Jaroslav Kysela
Details | Diff
dmesg.2.6.16-rc6-20060312_ac_on_power-default-iptables-slab.txt (102.79 KB, text/plain)
2006-03-13 13:16 UTC, Olaf Hering
Details
dmesg.2.6.16-rc6-20060312_ac_on_power-default-iptables-slab.txt (31.68 KB, text/plain)
2006-03-13 13:33 UTC, Olaf Hering
Details

Note You need to log in before you can comment on or make changes to this bug.
Description peter czanik 2006-03-03 15:08:34 UTC
SuSEfirewall2 seems to be broken. I use Pegasos PPC. When the machine is started, there are a lot of error messages. What remained on screen, is here:

Starting Firewall Initialization (phase 2 of 2)
done
commit failed on table mangle: Unknown error 4294967295
commit failed on table nat: Unknown error 4294967295
SuSEfirewall2: Error: iptables-batch failed, re-running using iptables
iptables: Unknown error 4294967295
iptables: Too many links
iptables: Unknown error 4294967295
iptables: Unknown error 4294967295
iptables: Chain already exists
iptables: Chain already exists
iptables: Chain already exists
commit failed on table mangle: Unknown error 4294967295
SuSEfirewall2: Error: ip6tables-batch failed, re-running using ip6tables
ip6tables: Unknown error 4294967295
ip6tables: Directory not empty
ip6tables: Unknown error 4294967295
ip6tables: Chain already exists
done
Comment 1 Marcus Meissner 2006-03-03 15:47:39 UTC
if this is a 64bit kernel, you need tgo 64bit iptables RPM.

check with rpm -q --qf '%{ARCH}\n' iptables 
if you have the 32bit or 64bit rpm installed.

this is a problem of the packagemanager in previous betas I think.
Comment 2 Olaf Hering 2006-03-03 16:11:29 UTC
I see the same on g4.
Comment 3 Michael Gross 2006-03-03 17:05:17 UTC
Peter: Please provide the information asked for by Marcus in comment #1
Comment 4 Olaf Hering 2006-03-03 17:26:10 UTC
this is a 32bit system.
Comment 5 Michael Gross 2006-03-06 13:08:35 UTC
Taking the PPC-Team into CC and reassigning to Ludwig.
Comment 6 Ludwig Nussel 2006-03-06 13:56:11 UTC
the messages are from iptables so either iptables or the kernel is broken. iptables was last updated feb. 1st so if it worked in previous betas its probably the kernel.
Comment 7 Olaf Kirch 2006-03-06 14:05:00 UTC
Jaroslav, could you look at this one, please?
Comment 9 Olaf Hering 2006-03-07 12:32:13 UTC
I tried beta7 and did not see it. But I did not see it with beta6 either.
Is there anything special in your setup?
Comment 10 peter czanik 2006-03-07 12:43:53 UTC
No, there isn't anything special. I installed both the CD and the factory version, and I had the same problem in both installations.
I did not remove any package from the selection, just added a few more selections (kernel developer, apache).
Comment 11 Olaf Hering 2006-03-07 12:57:06 UTC
hmm, same here. can you attach the final iptables -L -v -n  and lsmod output?
Comment 12 peter czanik 2006-03-07 12:57:51 UTC
Created attachment 71547 [details]
output of starting SuSEfirewall2

I stopped SuSEfirewall2 from loading at boot, so I could collect all of the messages by starting it from a shell.
Comment 13 peter czanik 2006-03-07 13:01:02 UTC
Created attachment 71548 [details]
lsmod
Comment 14 peter czanik 2006-03-07 13:01:59 UTC
Created attachment 71549 [details]
iptables -L -v -n
Comment 15 Olaf Hering 2006-03-07 16:31:52 UTC
 Jaroslav, you can poke around on mulberry.suse.de. The log indicates that some libs cant be found. They seem to come from iptables.rpm.
Comment 16 Jaroslav Kysela 2006-03-08 13:37:11 UTC
Strange, our machine (beta7) does not show this behaviour. I cannot find any mentioned problem. Peter, could you upgrade to latest kernel (ftp://ftp.suse.com/pub/projects/kernel/kotd/ppc/HEAD/)?

Also, disabling SuSEfirewall and typing 'modprobe ip6table_filter.ko' on command line might show the error. Is something iptables related in /var/log/messages after this command?
Comment 17 peter czanik 2006-03-08 15:51:13 UTC
I'm just downloading 'factory' and will make a fresh install tomorrow.
Comment 18 Olaf Hering 2006-03-09 13:24:40 UTC
I did a fresh install of sles10 beta7 on date, and now it happens.
Comment 19 Olaf Hering 2006-03-09 13:51:06 UTC
_filter.kp gives -EINVAL
Comment 20 Olaf Hering 2006-03-09 13:51:18 UTC
_filter.ko gives -EINVAL
Comment 21 Olaf Hering 2006-03-09 18:10:00 UTC
ok, its the used .config.
I did install a kernel with slab debugging enabled, and now it starts to fail.
Comment 22 peter czanik 2006-03-10 06:14:11 UTC
Installed factory, and seems to work fine.
Comment 23 Olaf Hering 2006-03-12 17:27:40 UTC
kmalloc returns something unaligned when slab debugging is enabled.

the working case looks like this:
sys_init_module(2019) modprobe(1705):c0,j4294903545 umod 30030008 23d38 ''
ip6table_filter: module not supported by Novell, setting U taint flag.
translate_table: size 856
check_entry_size_and_hooks(671) modprobe(1705):c0,j4294903592 e c26ab400 al 8 
check_entry_size_and_hooks(671) modprobe(1705):c0,j4294903613 e c26ab4d0 al 8 
check_entry_size_and_hooks(671) modprobe(1705):c0,j4294903634 e c26ab5a0 al 8 
check_entry_size_and_hooks(671) modprobe(1705):c0,j4294903654 e c26ab670 al 8 
translate_table(755) modprobe(1705):c0,j4294903675 ret 0
Finished chain 1
Finished chain 2
Finished chain 3
translate_table(790) modprobe(1705):c0,j4294903705 ret 0
ip6t_register_table(1301) modprobe(1705):c0,j4294903720 ret 0
init(176) modprobe(1705):c0,j4294903736 ret 0
init(182) modprobe(1705):c0,j4294903751 ret 0
init(187) modprobe(1705):c0,j4294903766 ret 0
init(192) modprobe(1705):c0,j4294903781 ret 0
sys_init_module(2049) modprobe(1705):c0,j4294903793 ip6table_filter returned 0


in the non-working case it looks like:

sys_init_module(2019) modprobe(1695):c0,j4294904596 umod 30030008 23d28 ''
ip6table_filter: module not supported by Novell, setting U taint flag.
translate_table: size 856
check_entry_size_and_hooks(671) modprobe(1695):c0,j4294904644 e cfc5112c al 8 
Bad offset cfc5112c 4 cfc511d4 cfc51484
translate_table(755) modprobe(1695):c0,j4294904676 ret -22
ip6t_register_table(1301) modprobe(1695):c0,j4294904691 ret -22
init(176) modprobe(1695):c0,j4294904708 ret -22
sys_init_module(2049) modprobe(1695):c0,j4294904721 ip6table_filter returned -22


cfc5112c is not 8 byte aligned.
Comment 24 Jaroslav Kysela 2006-03-13 08:12:52 UTC
Created attachment 72492 [details]
Align kmalloc objects to 8 bytes

This is my proposed patch for this issue. Could someone review this patch? Maybe the define should be conditional only when CONFIG_DEBUG_SLAB is not selected.
Comment 25 Olaf Hering 2006-03-13 13:16:40 UTC
Created attachment 72545 [details]
dmesg.2.6.16-rc6-20060312_ac_on_power-default-iptables-slab.txt

helps only for some modules.
Comment 26 Olaf Hering 2006-03-13 13:33:44 UTC
Created attachment 72546 [details]
dmesg.2.6.16-rc6-20060312_ac_on_power-default-iptables-slab.txt

kmalloc_node or vmalloc_node returns unaligned data, in xt_alloc_table_info()
Comment 27 Olaf Hering 2006-03-15 14:47:14 UTC
so should kmalloc_node alloc size+8 and store 2 pointers (the malloc return value and the selfaligned pointer)?
Comment 29 Olaf Hering 2006-05-15 14:09:43 UTC
I have commited a patch to hide CONFIG_SLAB_DEBUG if CONFIG_NETFILTER is enabled. just to avoid unexpected network failures when SuSEfirewall decides that the default rule should be DROP instead of ACCEPT.