On Thursday 2009-03-26 15:26, Nicolas Dichtel wrote: > Hi all, > > I'm trying to understand why the following commit has been done: > > http://git.netfilter.org/cgi-bin/gitweb.cgi?p=iptables.git;a=commitdiff;h=7d5cc229064b0e718046b9ecaebad3426dfff15f > > Removes KERNEL_64_USERSPACE_32 > > Yasuyuki KOZAKAI [Sat, 30 Jun 2007 10:47:57 +0000 (10:47 +0000)] > > The recent kernel has compat layer for iptables. It doesn't have > compat layer for libipq and ip6tables, but ip6tables with > KERNEL_64_USERSPACE_32 is still broken. We should fix kernel instead of > fixing them if and when we want use their 32bit binary with 64bit kernel. > > Where is the compat layer? For example, net/netfilter/xt_MARK.c there are some regions with "#ifdef CONFIG_COMPAT". People used to use the C type "long", which has different sizes across different platforms, leading to a mess and evidently the compat conversion functions. Many of the Xtables modules do not suffer from this and hence there is not that much compat code left. > If I look in a recent kernel, it seems that > ip_queue.h still uses long and is broken. > [linux/netfilter_ipv4/ip_queue.h] Indeed this seems so. > Am I wrong? > If yes, what is the right way to fix this? Updating the API? Use libnetfilter_queue ;-) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html