Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 179425

Summary: net-firewall/ipp2p-0.8.2-r2 doesn't work with kernel 2.6.21
Product: Gentoo Linux Reporter: Federico Cuello <fedux>
Component: Current packagesAssignee: Alin Năstac (RETIRED) <mrness>
Status: RESOLVED FIXED    
Severity: normal CC: eradicator
Priority: High    
Version: 2006.1   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 176188    
Attachments: Changes ipt_*_match to xt_*_match
Pragmatic fix

Description Federico Cuello 2007-05-22 13:29:34 UTC
Compilation of module fails with unresolved symbols.


Reproducible: Always

Steps to Reproduce:
1. emerge ipp2p
2. modprobe ipt_ipp2p

Actual Results:  
FATAL: Error inserting ipt_ipp2p (/lib/modules/2.6.21-gentoo-r1/ipp2p/ipt_ipp2p.ko): Unknown symbol in module, or unknown parameter (see dmesg)


Expected Results:  
Module loaded

dmesg shows:

ipt_ipp2p: Unknown symbol ipt_register_match
ipt_ipp2p: Unknown symbol ipt_unregister_match
Comment 1 Federico Cuello 2007-05-22 13:32:39 UTC
Created attachment 120001 [details, diff]
Changes ipt_*_match to xt_*_match

This patch fixes the unresolved symbols
Comment 2 Alin Năstac (RETIRED) gentoo-dev 2007-05-22 17:43:45 UTC
Fixed in -r3, but not exactly as you proposed. I'm sure other ipt_* defines will be removed soon, therefore I preferred a more pragmatic approach.

Although this is a violation of our policies, the package has been revbumped with the same stable keywords. The old revision had another minor issue on kernels >= 2.6.18, so I decided to preserve keyword status.

Thanks!
Comment 3 Federico Cuello 2007-05-22 19:10:14 UTC
Created attachment 120021 [details, diff]
Pragmatic fix

You forgot to #define ipt_match xt_match.

;)
Comment 4 Alin Năstac (RETIRED) gentoo-dev 2007-05-22 19:37:44 UTC
but you fix didn't had it and looks like 2.6.21 still defines ipt_match!
are you sure my fix doesn't work for you?
Comment 5 Federico Cuello 2007-05-22 19:46:06 UTC
(In reply to comment #4)
> but you fix didn't had it and looks like 2.6.21 still defines ipt_match!
> are you sure my fix doesn't work for you?
> 

Yes, I'm sure. My first patch had it here:

@@ -843,7 +843,7 @@
 }


-static struct ipt_match ipp2p_match = {
+static struct xt_match ipp2p_match = {
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
        { NULL, NULL },
        "ipp2p",


, and the new patch works ok. These is the result of the -r3 patch:

make[1]: Entering directory `/usr/src/linux-2.6.21-gentoo-r1'
  CC [M]  /var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.o
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:856: error: variable 'ipp2p_match' has initializer but incomplete type
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:870: error: unknown field 'name' specified in initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:870: warning: excess elements in struct initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:870: warning: (near initialization for 'ipp2p_match')
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:871: error: unknown field 'match' specified in initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:871: warning: excess elements in struct initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:871: warning: (near initialization for 'ipp2p_match')
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:872: error: unknown field 'family' specified in initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:872: warning: excess elements in struct initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:872: warning: (near initialization for 'ipp2p_match')
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:873: error: unknown field 'matchsize' specified in initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:873: warning: excess elements in struct initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:873: warning: (near initialization for 'ipp2p_match')
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:874: error: unknown field 'checkentry' specified in initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:874: warning: excess elements in struct initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:874: warning: (near initialization for 'ipp2p_match')
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:875: error: unknown field 'me' specified in initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:875: warning: excess elements in struct initializer
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:875: warning: (near initialization for 'ipp2p_match')
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c: In function 'init':
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:883: warning: passing argument 1 of 'xt_register_match' from incompatible pointer type
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c: In function 'fini':
/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.c:888: warning: passing argument 1 of 'xt_unregister_match' from incompatible pointer type
make[2]: *** [/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2/ipt_ipp2p.o] Error 1
make[1]: *** [_module_/var/tmp/portage/net-firewall/ipp2p-0.8.2-r3/work/ipp2p-0.8.2] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.21-gentoo-r1'
make: *** [ipt_ipp2p.ko] Error 2
Comment 6 Alin Năstac (RETIRED) gentoo-dev 2007-05-22 20:20:17 UTC
Sorry about that.
The patch has been updated in cvs. Thanks again!