[Openswan dev] recursion in write_lock_bh in openswan 2.4.5-rc4 klips

Ankit Desai ankit at elitecore.com
Sat Feb 11 13:04:26 CET 2006


hi,
found the following message at kernel bootup
klips_info:ipsec_init: KLIPS startup, Openswan KLIPS IPsec stack version:
2.4.5rc4
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()
KLIPS cryptoapi interface: alg_type=15 alg_id=12 name=aes keyminbits=128
keymaxbits=256, found(0)
KLIPS cryptoapi interface: alg_type=15 alg_id=253 name=twofish
keyminbits=128 keymaxbits=256, found(0)
KLIPS cryptoapi interface: alg_type=15 alg_id=252 name=serpent
keyminbits=128 keymaxbits=256, found(0)
KLIPS cryptoapi interface: alg_type=15 alg_id=6 name=cast5 keyminbits=128
keymaxbits=128, found(0)
KLIPS cryptoapi interface: alg_type=15 alg_id=7 name=blowfish keyminbits=96
keymaxbits=448, found(0)
KLIPS cryptoapi interface: alg_type=15 alg_id=3 name=des3_ede keyminbits=192
keymaxbits=192, found(0)
KLIPS cryptoapi interface: alg_type=15 alg_id=2 name=des keyminbits=64
keymaxbits=64, found(0)
BUG: rwlock recursion on CPU#0, klipsdebug/1379, c8a8c844
 [<c01ce285>] _raw_write_lock+0x35/0x60
 [<c0308d04>] _write_lock_bh+0x14/0x20
 [<c8a5166e>] pfkey_sock_list_grab+0xe/0xf0 [ipsec]
 [<c014b2ae>] do_no_page+0x22e/0x250
 [<c0159c3a>] do_sync_write+0xba/0x100
 [<c8a51a90>] pfkey_remove_socket+0x20/0xa0 [ipsec]
 [<c8a51b37>] pfkey_destroy_socket+0x27/0x340 [ipsec]
 [<c0308c84>] _spin_lock_bh+0x14/0x20
 [<c02a2cff>] release_sock+0xf/0x50
 [<c8a52395>] pfkey_release+0xa5/0x100 [ipsec]
 [<c029f3d4>] sock_release+0x14/0x70
 [<c029fddd>] sock_close+0x2d/0x40
 [<c015aa35>] __fput+0xa5/0x140
 [<c015934c>] filp_close+0x4c/0x60
 [<c01593c4>] sys_close+0x64/0x80
 [<c0102ec5>] syscall_call+0x7/0xb

1)
klips: openswan 2.4.5-rc4
userspace:  openswan 2.4.4
system: redhat 7.2
kernel: 2.6.15-1
------
2)
 klips parameters in .config
CONFIG_KLIPS=m

#
# KLIPS options
#
CONFIG_KLIPS_ESP=y
# CONFIG_KLIPS_AH is not set
CONFIG_KLIPS_AUTH_HMAC_MD5=y
CONFIG_KLIPS_AUTH_HMAC_SHA1=y
CONFIG_KLIPS_ALG=y
CONFIG_KLIPS_ENC_CRYPTOAPI=y
CONFIG_KLIPS_ENC_1DES=y
# CONFIG_KLIPS_ENC_3DES is not set
# CONFIG_KLIPS_ENC_AES is not set
CONFIG_KLIPS_IPCOMP=y
CONFIG_KLIPS_DEBUG=y

-------
3) TEST CASE
when i restart the kernel after applying klips patch i found the above error
message in dmesg.
NOTE: If i manually restart ipsec there seems to be no problem. I tried to
stop, start the service couple of times.
It seems to be working fine. still have not tried to make any connection
though.

4) I verified the source and found the above recursion to be there in the
code.

-- Ankit Desai




More information about the Dev mailing list