linux-2.4.0-test1-ac13 ip_conntrack_confirm bug?

From: Charles R. Anderson (cra@WPI.EDU)
Date: Sun Jun 11 2000 - 20:24:39 EST


Please Cc: cra@wpi.edu in any replies. Thanks.

I'm getting this message from the kernel on 2.4.0-test1-ac13:

bug: kernel timer added twice at c02873fa.

My System.map shows these relevant lines:

c0287264 T ip_conntrack_find_get
c0287350 T ip_conntrack_confirm
c0287450 T ip_conntrack_tuple_taken

Relevant info:

Linux xxxx 2.4.0-test1-ac13 #1 SMP Sun Jun 11 19:34:43 EDT
2000 i686 unknown

No modules--everything is compiled in (SCSI, Ethernet, ATM, etc.). Here
are the relevant networking options that are configured:

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK_DEV=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
CONFIG_IP_ALIAS=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y

#
# (it is safe to leave these untouched)
#
CONFIG_SKB_LARGE=y

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_UNCLEAN=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_MIRROR=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_MARK=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IPV6=y
CONFIG_IPV6_EUI64=y
CONFIG_IPV6_NO_PB=y

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_LIMIT=y
CONFIG_IP6_NF_MATCH_MARK=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_TARGET_MARK=y
# CONFIG_KHTTPD is not set
CONFIG_ATM=y
# CONFIG_ATM_CLIP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y

...

#
# Network device support
#
CONFIG_NETDEVICES=y

#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
CONFIG_BONDING=y
# CONFIG_EQUALIZER is not set
CONFIG_ETHERTAP=y
# CONFIG_NET_SB1000 is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
# CONFIG_ELPLUS is not set
# CONFIG_EL16 is not set
# CONFIG_EL3 is not set
# CONFIG_3C515 is not set
CONFIG_VORTEX=y
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_POCKET is not set

...

#
# ATM drivers
#
# CONFIG_ATM_TCP is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_AMBASSADOR is not set
# CONFIG_ATM_HORIZON is not set
# CONFIG_ATM_IA is not set
CONFIG_ATM_FORE200E_MAYBE=y
CONFIG_ATM_FORE200E_PCA=y
CONFIG_ATM_FORE200E_PCA_DEFAULT_FW=y
CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=1
CONFIG_ATM_FORE200E=y

Note: I had to patch fore200e.c with this simple patch to compile it into
the kernel (not as a module):

--- linux-2.4.0-test1-ac13/drivers/atm/fore200e.c Sun Jun 11 19:26:47 2000
+++ linux-2.4.0-test1-ac13-fixed/drivers/atm/fore200e.c Fri Jun 9 11:18:14 2000
@@ -1409,7 +1409,9 @@
     struct fore200e* fore200e = FORE200E_DEV(vcc->dev);
     struct fore200e_vcc* fore200e_vcc;
     
+#ifdef MODULE
     MOD_INC_USE_COUNT;
+#endif
 
     /* find a free VPI/VCI */
     fore200e_walk_vccs(vcc, &vpi, &vci);
@@ -1419,7 +1421,9 @@
 
     /* ressource checking only? */
     if (vci == ATM_VCI_UNSPEC || vpi == ATM_VPI_UNSPEC) {
+#ifdef MODULE
             MOD_DEC_USE_COUNT;
+#endif
         return 0;
     }
 
@@ -1439,7 +1443,9 @@
         down(&fore200e->rate_sf);
         if (fore200e->available_cell_rate < vcc->qos.txtp.max_pcr) {
             up(&fore200e->rate_sf);
+#ifdef MODULE
                 MOD_DEC_USE_COUNT;
+#endif
             return -EAGAIN;
         }
         /* reserving the pseudo-CBR bandwidth at this point grants us
@@ -1456,7 +1462,9 @@
         down(&fore200e->rate_sf);
         fore200e->available_cell_rate += vcc->qos.txtp.max_pcr;
         up(&fore200e->rate_sf);
+#ifdef MODULE
             MOD_DEC_USE_COUNT;
+#endif
         return -ENOMEM;
     }
 
@@ -1467,7 +1475,9 @@
         down(&fore200e->rate_sf);
         fore200e->available_cell_rate += vcc->qos.txtp.max_pcr;
         up(&fore200e->rate_sf);
+#ifdef MODULE
             MOD_DEC_USE_COUNT;
+#endif
         return -EBUSY;
     }
     
I have no idea if that is a correct patch, but it seems to work for
me(TM).

I also get these messages. Is this normal or related to the bug above?

ip_finish_output: bad unowned skb = cffb43c0: LOCAL_OUT POST_ROUTING
skb: pf=2 (unowned) dev=eth0 len=32
PROTO=2 10.10.10.10:0 224.0.1.1:0 L=32 S=0x00 I=0 F=0x4000 T=1
O=0x00000494

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



This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:24 EST