Hello all, I'm trying out the latest OCF patch for openswan, and it's generating 'Badness in local_bh_enable' messages when I ping across the tunnel (session details below). It seems irq's are disabled when they shouldn't be?
This is a vanilla 2.6.11+ocf-linux-20051110 kernel, with openswan 2.4.3, using the cryptosoft algorithm interface, running on powerpc. Openswan KLIPS alone (without the OCF patch) does not produce this warning. The patch seems to properly match existing spin_lock_* usage. Is the patch adding a new lock that overlays the domain of an existing lock? Thanks, Kim -- # modprobe cryptosoft # modprobe cryptodev cryptodev: module license 'BSD' taints kernel. # modprobe ipsec klips_info:ipsec_init: KLIPS startup, Openswan KLIPS IPsec stack version: 2.4.3 NET: Registered protocol family 15 klips_info:ipsec_alg_init: KLIPS alg v=0.8.1-0 (EALG_MAX=255, AALG_MAX=251) klips_info:ipsec_alg_init: calling ipsec_alg_static_init() ipsec_aes_init(alg_type=15 alg_id=12 name=aes): ret=0 ipsec_3des_init(alg_type=15 alg_id=3 name=3des): ret=0 Debug: sleeping function called from invalid context at include/linux/rwsem.h:43 in_atomic():0, irqs_disabled():1 Call trace: [c001b740] __might_sleep+0xe4/0xf0 [c0115368] crypto_alg_lookup+0x34/0x120 [c01154dc] crypto_alloc_tfm+0x1c/0x19c [d102743c] swcr_newsession+0x1f4/0x6d8 [cryptosoft] [c01397c8] crypto_newsession+0x1b4/0x41c [d13f8548] ipsec_ocf_check_alg+0x64/0x108 [ipsec] [d13f862c] ipsec_ocf_init+0x40/0xe4 [ipsec] [d13d711c] ipsec_klips_init+0x118/0x20c [ipsec] [d13d74ac] init_module+0x10/0x20 [ipsec] [c0046ee0] sys_init_module+0x3a8/0x4b4 [c0001ec4] ret_from_syscall+0x0/0x48 # /etc/rc.d/init.d/ipsec --start ipsec_setup: Starting Openswan IPsec 2.4.3... # pluto[4919]: Starting Pluto (Openswan Version 2.4.3 X.509-1.5.4 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR; Vendor ID OE~yatdI\134sBK) pluto[4919]: Setting NAT-Traversal port-4500 floating to off pluto[4919]: port floating activation criteria nat_t=0/port_fload=1 pluto[4919]: including NAT-Traversal patch (Version 0.6c) [disabled] pluto[4919]: ike_alg_register_enc(): Activating OAKLEY_AES_CBC: Ok (ret=0) pluto[4919]: starting up 1 cryptographic helpers pluto[4919]: started helper pid=4927 (fd:5) pluto[4919]: Using KLIPS IPsec interface code on 2.6.11 pluto[4919]: Could not change to directory '/etc/cacerts' pluto[4919]: Could not change to directory '/etc/aacerts' pluto[4919]: Could not change to directory '/etc/ocspcerts' pluto[4919]: Could not change to directory '/etc/crls' pluto[4919]: added connection description "roadwarrior" pluto[4919]: listening for IKE messages pluto[4919]: adding interface ipsec0/eth0 192.168.1.109:500 pluto[4919]: loading secrets from "/etc/ipsec.secrets" pluto[4919]: "roadwarrior" #1: initiating Main Mode pluto[4919]: "roadwarrior" #1: received Vendor ID payload [Openswan (this version) 2.4.3 X.509-1.5.4 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR] pluto[4919]: "roadwarrior" #1: received Vendor ID payload [Dead Peer Detection] pluto[4919]: "roadwarrior" #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2 pluto[4919]: "roadwarrior" #1: STATE_MAIN_I2: sent MI2, expecting MR2 pluto[4919]: "roadwarrior" #1: I did not send a certificate because I do not have one. pluto[4919]: "roadwarrior" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3 pluto[4919]: "roadwarrior" #1: STATE_MAIN_I3: sent MI3, expecting MR3 pluto[4919]: "roadwarrior" #1: Main mode peer ID is ID_IPV4_ADDR: '192.168.1.110' pluto[4919]: "roadwarrior" #1: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4 pluto[4919]: "roadwarrior" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_RSA_SIG cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1536} pluto[4919]: "roadwarrior" #2: initiating Quick Mode RSASIG+ENCRYPT+TUNNEL+PFS+UP {using isakmp#1} Debug: sleeping function called from invalid context at include/linux/rwsem.h:43 in_atomic():0, irqs_disabled():1 Call trace: [c001b740] __might_sleep+0xe4/0xf0 [c0115368] crypto_alg_lookup+0x34/0x120 [c01154dc] crypto_alloc_tfm+0x1c/0x19c [d102743c] swcr_newsession+0x1f4/0x6d8 [cryptosoft] [c01397c8] crypto_newsession+0x1b4/0x41c [d13f7afc] ipsec_ocf_sa_init+0x1f0/0x2a0 [ipsec] [d13d98f0] ipsec_sa_init+0x2f4/0xa18 [ipsec] [d13eae20] pfkey_ipsec_sa_init+0x10/0x20 [ipsec] [d13ec144] pfkey_add_parse+0x1c0/0x62c [ipsec] [d13f07ac] pfkey_msg_interp+0x2d0/0x3d8 [ipsec] [d13e9f2c] pfkey_sendmsg+0x2d8/0x4f8 [ipsec] [c0195f00] sock_aio_write+0x110/0x12c [c00792f8] do_sync_write+0x9c/0x104 [c00793fc] vfs_write+0x9c/0x15c [c0079598] sys_write+0x4c/0x90 pluto[4919]: "roadwarrior" #2: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2 pluto[4919]: "roadwarrior" #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0x4a81b637 <0x2cf9fbcf xfrm=3DES_0-HMAC_SHA1 NATD=none DPD=none} # pluto[4919]: packet from 192.168.1.110:500: received Vendor ID payload [Openswan (this version) 2.4.3 X.509-1.5.4 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR] pluto[4919]: packet from 192.168.1.110:500: received Vendor ID payload [Dead Peer Detection] pluto[4919]: "roadwarrior" #3: responding to Main Mode pluto[4919]: "roadwarrior" #3: transition from state STATE_MAIN_R0 to state STATE_MAIN_R1 pluto[4919]: "roadwarrior" #3: STATE_MAIN_R1: sent MR1, expecting MI2 pluto[4919]: "roadwarrior" #3: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2 pluto[4919]: "roadwarrior" #3: STATE_MAIN_R2: sent MR2, expecting MI3 pluto[4919]: "roadwarrior" #3: Main mode peer ID is ID_IPV4_ADDR: '192.168.1.110' pluto[4919]: "roadwarrior" #3: I did not send a certificate because I do not have one. pluto[4919]: "roadwarrior" #3: transition from state STATE_MAIN_R2 to state STATE_MAIN_R3 pluto[4919]: "roadwarrior" #3: STATE_MAIN_R3: sent MR3, ISAKMP SA established {auth=OAKLEY_RSA_SIG cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1536} pluto[4919]: "roadwarrior" #4: responding to Quick Mode {msgid:908b01cd} Debug: sleeping function called from invalid context at include/linux/rwsem.h:43 in_atomic():0, irqs_disabled():1 Call trace: [c001b740] __might_sleep+0xe4/0xf0 [c0115368] crypto_alg_lookup+0x34/0x120 [c01154dc] crypto_alloc_tfm+0x1c/0x19c [d102743c] swcr_newsession+0x1f4/0x6d8 [cryptosoft] [c01397c8] crypto_newsession+0x1b4/0x41c [d13f7afc] ipsec_ocf_sa_init+0x1f0/0x2a0 [ipsec] [d13d98f0] ipsec_sa_init+0x2f4/0xa18 [ipsec] [d13eae20] pfkey_ipsec_sa_init+0x10/0x20 [ipsec] [d13ec144] pfkey_add_parse+0x1c0/0x62c [ipsec] [d13f07ac] pfkey_msg_interp+0x2d0/0x3d8 [ipsec] [d13e9f2c] pfkey_sendmsg+0x2d8/0x4f8 [ipsec] [c0195f00] sock_aio_write+0x110/0x12c [c00792f8] do_sync_write+0x9c/0x104 [c00793fc] vfs_write+0x9c/0x15c [c0079598] sys_write+0x4c/0x90 pluto[4919]: "roadwarrior" #4: transition from state STATE_QUICK_R0 to state STATE_QUICK_R1 pluto[4919]: "roadwarrior" #4: STATE_QUICK_R1: sent QR1, inbound IPsec SA installed, expecting QI2 pluto[4919]: "roadwarrior" #4: transition from state STATE_QUICK_R1 to state STATE_QUICK_R2 pluto[4919]: "roadwarrior" #4: STATE_QUICK_R2: IPsec SA established {ESP=>0x4a81b638 <0x2cf9fbd0 xfrm=AES_0-HMAC_SHA1 NATD=none DPD=none} # ping 192.168.2.2 PING 192.168.2.2Badness in local_bh_enable at kernel/softirq.c:140 Call trace: [c0003044] check_bug_trap+0x9c/0xe4 [c00031f0] ProgramCheckException+0x164/0x20c [c000254c] ret_from_except_full+0x0/0x4c [c0027e2c] local_bh_enable+0x18/0x6c [c01b9f50] __ip_route_output_key+0x128/0x980 [c01ba7cc] ip_route_output_flow+0x24/0xa4 [d13dfab0] ipsec_tunnel_send+0x80/0x410 [ipsec] [d13e01cc] ipsec_tunnel_xsm_complete+0x1d0/0x2d4 [ipsec] [d13e55a8] ipsec_xsm+0x164/0x33c [ipsec] [d13f8100] ipsec_ocf_xmit_cb+0x60/0x108 [ipsec] [c013b444] crypto_done+0x1d4/0x2d4 [d1027bb0] swcr_process+0x290/0x900 [cryptosoft] [c013b684] crypto_invoke+0xd8/0x1c4 [c013c098] crypto_proc+0x19c/0x778 [c0004d14] kernel_thread+0x44/0x60 Badness in local_bh_enable at kernel/softirq.c:140 Call trace: [c0003044] check_bug_trap+0x9c/0xe4 [c00031f0] ProgramCheckException+0x164/0x20c [c000254c] ret_from_except_full+0x0/0x4c [c0027e2c] local_bh_enable+0x18/0x6c [c01a88ac] neigh_lookup+0x98/0xe4 [c01e3fcc] arp_bind_neighbour+0x7c/0xc0 [c01b7510] rt_intern_hash+0x1e8/0x68c [c01ba2a8] __ip_route_output_key+0x480/0x980 [c01ba7cc] ip_route_output_flow+0x24/0xa4 [d13dfab0] ipsec_tunnel_send+0x80/0x410 [ipsec] [d13e01cc] ipsec_tunnel_xsm_complete+0x1d0/0x2d4 [ipsec] [d13e55a8] ipsec_xsm+0x164/0x33c [ipsec] [d13f8100] ipsec_ocf_xmit_cb+0x60/0x108 [ipsec] [c013b444] crypto_done+0x1d4/0x2d4 [d1027bb0] swcr_process+0x290/0x900 [cryptosoft] Badness in local_bh_enable at kernel/softirq.c:140 Call trace: [c0003044] check_bug_trap+0x9c/0xe4 [c00031f0] ProgramCheckException+0x164/0x20c [c000254c] ret_from_except_full+0x0/0x4c [c0027e2c] local_bh_enable+0x18/0x6c [c01b78a8] rt_intern_hash+0x580/0x68c [c01ba2a8] __ip_route_output_key+0x480/0x980 [c01ba7cc] ip_route_output_flow+0x24/0xa4 [d13dfab0] ipsec_tunnel_send+0x80/0x410 [ipsec] [d13e01cc] ipsec_tunnel_xsm_complete+0x1d0/0x2d4 [ipsec] [d13e55a8] ipsec_xsm+0x164/0x33c [ipsec] [d13f8100] ipsec_ocf_xmit_cb+0x60/0x108 [ipsec] [c013b444] crypto_done+0x1d4/0x2d4 [d1027bb0] swcr_process+0x290/0x900 [cryptosoft] [c013b684] crypto_invoke+0xd8/0x1c4 [c013c098] crypto_proc+0x19c/0x778 Badness in local_bh_enable at kernel/softirq.c:140 Call trace: [c0003044] check_bug_trap+0x9c/0xe4 [c00031f0] ProgramCheckException+0x164/0x20c [c000254c] ret_from_except_full+0x0/0x4c [c0027e2c] local_bh_enable+0x18/0x6c [c01aa4a4] neigh_resolve_output+0x128/0x2e8 [c01c0280] ip_finish_output+0x14c/0x2a8 [d13dfca4] ipsec_tunnel_send+0x274/0x410 [ipsec] [d13e01cc] ipsec_tunnel_xsm_complete+0x1d0/0x2d4 [ipsec] [d13e55a8] ipsec_xsm+0x164/0x33c [ipsec] [d13f8100] ipsec_ocf_xmit_cb+0x60/0x108 [ipsec] [c013b444] crypto_done+0x1d4/0x2d4 [d1027bb0] swcr_process+0x290/0x900 [cryptosoft] [c013b684] crypto_invoke+0xd8/0x1c4 [c013c098] crypto_proc+0x19c/0x778 [c0004d14] kernel_thread+0x44/0x60 (192.168.2.2): 56 data bytes 64 bytes from 192.168.2.2: icmp_seq=0 ttl=63 time=264.8 ms Badness in local_bh_enable at kernel/softirq.c:140 Call trace: [c0003044] check_bug_trap+0x9c/0xe4 [c00031f0] ProgramCheckException+0x164/0x20c [c000254c] ret_from_except_full+0x0/0x4c [c0027e2c] local_bh_enable+0x18/0x6c [c01b9f40] __ip_route_output_key+0x118/0x980 [c01ba7cc] ip_route_output_flow+0x24/0xa4 [d13dfab0] ipsec_tunnel_send+0x80/0x410 [ipsec] [d13e01cc] ipsec_tunnel_xsm_complete+0x1d0/0x2d4 [ipsec] [d13e55a8] ipsec_xsm+0x164/0x33c [ipsec] [d13f8100] ipsec_ocf_xmit_cb+0x60/0x108 [ipsec] [c013b444] crypto_done+0x1d4/0x2d4 [d1027bb0] swcr_process+0x290/0x900 [cryptosoft] [c013b684] crypto_invoke+0xd8/0x1c4 [c013c098] crypto_proc+0x19c/0x778 [c0004d14] kernel_thread+0x44/0x60 Badness in local_bh_enable at kernel/softirq.c:140 Call trace: [c0003044] check_bug_trap+0x9c/0xe4 [c00031f0] ProgramCheckException+0x164/0x20c [c000254c] ret_from_except_full+0x0/0x4c [c0027e2c] local_bh_enable+0x18/0x6c [c01c0218] ip_finish_output+0xe4/0x2a8 [d13dfca4] ipsec_tunnel_send+0x274/0x410 [ipsec] [d13e01cc] ipsec_tunnel_xsm_complete+0x1d0/0x2d4 [ipsec] [d13e55a8] ipsec_xsm+0x164/0x33c [ipsec] [d13f8100] ipsec_ocf_xmit_cb+0x60/0x108 [ipsec] [c013b444] crypto_done+0x1d4/0x2d4 [d1027bb0] swcr_process+0x290/0x900 [cryptosoft] [c013b684] crypto_invoke+0xd8/0x1c4 [c013c098] crypto_proc+0x19c/0x778 [c0004d14] kernel_thread+0x44/0x60 64 bytes from 192.168.2.2: icmp_seq=1 ttl=63 time=127.9 ms --- 192.168.2.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 127.9/196.3/264.8 ms # /etc/rc.d/init.d/ipsec --stop pluto[4919]: shutting down pluto[4919]: forgetting secrets pluto[4919]: "roadwarrior": deleting connection pluto[4919]: "roadwarrior" #4: deleting state (STATE_QUICK_R2) pluto[4919]: "roadwarrior" #2: deleting state (STATE_QUICK_I2) pluto[4919]: "roadwarrior" #3: deleting state (STATE_MAIN_R3) pluto[4919]: "roadwarrior" #1: deleting state (STATE_MAIN_I4) pluto[4919]: shutting down interface ipsec0/eth0 192.168.1.109:500 IPSEC EVENT: KLIPS device ipsec0 shut down. ipsec_setup: Stopping Openswan IPsec... # -- - To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html