RE: Iptable loop during kernel startup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ok, this is what happens:

iptable_filter sets up initial_table.
The part that says { IPT_ALIGN(sizeof(struct ipt_standard_target)), "" }
  initializes a xt_entry_target struct. target_size gets the value 
  0x24 and name "". 
This is copied to loc_cpu_entry in iptables.c:ipt_register_table() 
  and translate_table is called
translate_table calls IPT_ENTRY_ITERATE with the 
  check_entry_function
check_entry does t->u.kernel.target = target;

On this particular architecture u.user.name and u.kernel.target in 
struct xt_entry_target has the same address (because of the union). So 
name that was previously "" gets mangled here.

check_entry returns into translate_table which calls mark_source_chains
mark_source_chains compares t->target.u.user.name with 
IPT_STANDARD_TARGET. name has been mangled above and the comparision 
fails. On my ARM platform name has not been mangled (I guess this is 
because target and name doesn't share address by I haven't checked).

So... Is it really correct to modify the target pointer there?

/Mikael



-----Original Message-----
From: Mikael Starvik 
Sent: Wednesday, January 10, 2007 12:29 PM
To: 'Patrick McHardy'; Mikael Starvik
Cc: 'Linux Kernel Mailing List'; Edgar Iglesias; 'Netfilter Development
Mailinglist'
Subject: RE: Iptable loop during kernel startup


>Which iptables/kernel versions are you using?

2.6.19. After further testing it seams to be a compiler/CPU issue. The exact

same kernelconfig works on ARM. So I have to dig some...

/Mikael

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux