On Tue, 22 Nov 2005 11:45:21 +1000
David McCullough <[EMAIL PROTECTED]> wrote:

> 
> Jivin Kim Phillips lays it down ...
> > 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?
> > 
> 
> Ok,  I only tested this with crypto HW on 2.6,  and it was working fine,
> I will try out the cryptosoft driver when I get a chance,  it may be the
> cause/trigger of the problem.
> 
> If you set USE_TASKQ to 1 in ipsec_ocf.c does the problem go away ?  We

I get another one before I even try it:

# modprobe ipsec
ipsec: Unknown symbol shedule_work

> cryptosoft it is possible that we call back into ourselves.  You could
> also try setting USE_CBIMM to 0 in the same file,
> 
setting USE_CBIMM to 0 does indeed do the trick, thanks.

> Cheers,
> Davidm

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
> 
> -- 
> David McCullough, [EMAIL PROTECTED], Custom Embedded Solutions + Security
> Ph:+61 734352815 Fx:+61 738913630 http://www.uCdot.org 
> http://www.cyberguard.com


-- 
-
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

Reply via email to