CIPE 1.6.0 on 2.6.7

[email protected] (Zygo Blaxell) 10 Aug 2004 00:15:16 -0400
Newsgroups gmane.comp.encryption.cipe
Organization A poorly-installed InterNetNews site
Message-ID <[email protected]>
I've built a 2.6.7 kernel from kernel.org, and built CIPE 1.6.0
with:

	./configure --disable-pkcipe --with-linux=/path/to/my/kernel

and it seems to work fine, except for the occasional message I've not
seen before:

	cipcb40: cipe_fakenkey: enqueuing failed

When I do a 'ifconfig cipcb40 down', I get:

	cipcb40: sock_close
	cipcb40: closed
	cipcb40: unalloc
	cipcb: cipe_unalloc_dev 40
	eip: c031cad0
	------------[ cut here ]------------
	kernel BUG at include/asm/spinlock.h:121!
	invalid operand: 0000 [#1]
	PREEMPT SMP 
	Modules linked in: cipcb ipv6 deflate zlib_deflate twofish serpent aes blowfish des sha256 md5 crypto_null af_key nfs lockd sunrpc af_packet pcnet32 agpgart eepro100 mii
	CPU:    0
	EIP:    0060:[<c031cbc6>]    Not tainted
	EFLAGS: 00010292   (2.6.7-zb-586-smp-no-regparm) 
	EIP is at dev_mc_discard+0xf6/0x110
	eax: 0000000e   ebx: c031cad0   ecx: c03bdc83   edx: cb05ae2c
	esi: cb05ae2c   edi: cb05af50   ebp: 00000100   esp: ca0e5ddc
	ds: 007b   es: 007b   ss: 0068
	Process ciped-2.6.7-zb- (pid: 1502, threadinfo=ca0e4000 task=ca21e6f0)
	Stack: 00000000 00000000 cb05ae2c cb05ae2c ca0e4000 c031b1e9 cb05ae2c c054bfe0 
	       00000006 cb05ae2c cb05ae2c cb05a910 00000028 ca0e5f4c ca0e5e48 cc9c5efe 
	       cb05ae2c 00000000 cb05ae2c cc9c58ea 00000028 fffffff2 cc9c5b18 cb05ae2c 
	Call Trace:
	 [<c031b1e9>] unregister_netdevice+0x179/0x2f3
	 [<cc9c5efe>] cipe_unalloc_dev+0x3e/0x60 [cipcb]
	 [<cc9c58ea>] cipe_unalloc+0x4a/0x50 [cipcb]
	 [<cc9c5b18>] cipe_dev_ioctl+0x228/0x240 [cipcb]
	 [<c0108a81>] handle_IRQ_event+0x31/0x60
	 [<c022e695>] vsnprintf+0x245/0x4f0
	 [<c02199ea>] inode_doinit_with_dentry+0x3a/0x5f0
	 [<c031a568>] dev_ifsioc+0x2d8/0x340
	 [<c031a769>] dev_ioctl+0x199/0x2d0
	 [<c0310a2b>] sock_ioctl+0x30b/0x350
	 [<c0180035>] sys_ioctl+0x155/0x2c0
	 [<c0106247>] syscall_call+0x7/0xb

	Code: 0f 0b 79 00 0c 70 3b c0 e9 33 ff ff ff 8d b6 00 00 00 00 8d 
	 <0>Kernel panic: Fatal exception in interrupt
	In interrupt handler - not syncing

Now, you might be wondering why my kernel has "no-regparm" in its name.
This is because enabling regparm works even less well:

	cipcb: CIPE driver vers 1.6.0 (c) Olaf Titz 1996-2003, 100 channels, debug=1
	cipcb: cipe_alloc_dev 0
	cipcb0: alloc
	cipcb: cipe_alloc_dev 40
	cipcb40: setpar
	cipcb40: setkey
	cipcb40: attach
	cipcb40: opened
	cipcb40: cipe_sendmsg
	Unable to handle kernel paging request at virtual address 99b6e1d9
	 printing eip:
	cc9c2134
	*pde = 00000000
	Oops: 0000 [#1]
	PREEMPT SMP 
	Modules linked in: cipcb ipv6 deflate zlib_deflate twofish serpent aes blowfish 
	des sha256 md5 crypto_null af_key nfs lockd sunrpc af_packet pcnet32 agpgart eep
	ro100 mii
	CPU:    0
	EIP:    0060:[<cc9c2134>]    Not tainted
	EFLAGS: 00010296   (2.6.7-zb-586-smp) 
	EIP is at cipe_sendmsg+0x44/0x2f0 [cipcb]
	eax: 99b6e1d1   ebx: c9901330   ecx: c9901330   edx: c9902000
	esi: c990127c   edi: c996aebc   ebp: cc9c5daf   esp: c996ac34
	ds: 007b   es: 007b   ss: 0068
	Process ciped-2.6.7-zb- (pid: 1499, threadinfo=c996a000 task=c995f210)
	Stack: 00000000 c9933a84 c1266418 cbc42918 cbb29b98 cbb296d8 c12a6e18 c1266a18 
	       cbc42a18 cbc42f98 c1266418 00001000 00001000 c1266418 c016cee5 00000000 
	       000029a6 00000000 000029a6 00000000 cbfc7208 00001000 c016cf74 00001000 
	Call Trace:
	 [<c016cee5>] __find_get_block+0x65/0xe0
	 [<c016cf74>] __getblk+0x14/0x30
	 [<c01cbb38>] search_by_key+0x7c8/0x10c0
	 [<c01cbb38>] search_by_key+0x7c8/0x10c0
	 [<c0353300>] inet_set_ifa+0xd0/0xe0
	 [<c035c835>] fib_check_nh+0x165/0x1c0
	 [<c01cb0d0>] pathrelse+0x20/0x30
	 [<c01b917a>] init_inode+0x1da/0x440
	 [<c01b993a>] reiserfs_read_locked_inode+0xaa/0xf0
	 [<c011f1f6>] scheduler_tick+0x196/0x520
	 [<c011761c>] smp_apic_timer_interrupt+0xec/0x150
	 [<c010722a>] apic_timer_interrupt+0x1a/0x20
	 [<c0355da9>] inet_sendmsg+0x39/0x50
	 [<c03031af>] sock_sendmsg+0xaf/0xc0
	 [<c011f09e>] scheduler_tick+0x3e/0x520
	 [<c011cb6b>] activate_task+0x8b/0xa0
	 [<c03046c4>] sys_sendto+0xc4/0xe0
	 [<c012f27f>] group_send_sig_info+0xbf/0x100
	 [<c037841a>] preempt_schedule+0x2a/0x50
	 [<c012f50f>] kill_proc_info+0x6f/0x80
	 [<c013158b>] sys_kill+0x4b/0x50
	 [<c03046fd>] sys_send+0x1d/0x30
	 [<c0304dcf>] sys_socketcall+0xdf/0x1a0
	 [<c0106197>] syscall_call+0x7/0xb

	Code: 80 78 08 01 0f 85 69 02 00 00 8b 5a 08 f6 46 48 01 75 0a f6 

All of the above happens almost immediately after starting ciped.
This isn't a panic--the machine keeps running, and the cipe tunnel 
actually seems to be usable.  If I bring CIPE down, I get:

	cipcb40: closing
	cipe_dev_close: not owned??
	cipcb40: closed
	------------[ cut here ]------------
	kernel BUG at /home/zblaxell/linux/586-smp/kernel-source-2.6.7-zb-586-smp-zb2003072623/debian/cipe-tmp/2.6.7-zb-586-smp-i386-SMP-cb/lebf.c:89!
	invalid operand: 0000 [#2]
	PREEMPT SMP 
	Modules linked in: cipcb ipv6 deflate zlib_deflate twofish serpent aes blowfish des sha256 md5 crypto_null af_key nfs lockd sunrpc af_packet pcnet32 agpgart eepro100 mii
	CPU:    0
	EIP:    0060:[<cc9c447c>]    Not tainted
	EFLAGS: 00010283   (2.6.7-zb-586-smp) 
	EIP is at cipe_free_tfm+0xc/0x30 [cipcb]
	eax: c9902000   ebx: c990127c   ecx: c990127c   edx: c9902000
	esi: 000000d0   edi: 00000091   ebp: 00000000   esp: c98f8ecc
	ds: 007b   es: 007b   ss: 0068
	Process ifconfig (pid: 1511, threadinfo=c98f8000 task=c9897850)
	Stack: 00000091 cc9c1117 c990127c 00000091 cc9c1b43 c990127c cc9c1be0 cc9c61e0 
	       c9901798 c030b57f c9901798 000000d0 c030ccdc c98f8f44 ffffff9d c9969863 
	       c996983c c035396d 00000000 00000000 00000000 c9901798 cbfe3374 cbfe3360 
	Call Trace:
	 [<cc9c1117>] cipe_zero_c+0x57/0x60 [cipcb]
	 [<cc9c1b43>] cipe_close+0x13/0x40 [cipcb]
	 [<cc9c1be0>] cipe_dev_close+0x70/0xa0 [cipcb]
	 [<c030b57f>] dev_close+0x7f/0x90
	 [<c030ccdc>] dev_change_flags+0x4c/0x120
	 [<c035396d>] devinet_ioctl+0x22d/0x510
	 [<c0355f5f>] inet_ioctl+0x3f/0x80
	 [<c03037b2>] sock_ioctl+0x132/0x340
	 [<c017dbd8>] sys_ioctl+0x158/0x2c0
	 [<c0303680>] sock_ioctl+0x0/0x340
	 [<c0106197>] syscall_call+0x7/0xb

	Code: 0f 0b 59 00 a0 6b 9c cc 5f c3 31 c0 b9 1d 04 00 00 89 d7 f3 

Let me know what further information and/or tests you think would
be useful.

-- 
Zygo Blaxell (Laptop) <[email protected]>
GPG = D13D 6651 F446 9787 600B AD1E CCF3 6F93 2823 44AD

--
Message sent by the [email protected] mailing list.
Unsubscribe: mail [email protected], "unsubscribe cipe-l" in body
Other commands available with "help" in body to the same address.
CIPE info and list archive: <URL:http://sites.inka.de/~bigred/devel/cipe.html>