1

Я попытался установить cisco vpnclient на моем встроенном устройстве linux под управлением vmlinux, скомпилированным из linux-2.6.39. Я мог бы успешно вставить драйвер "cisco_ipsec.ko". однако при вставке показывал логи

cipsec0: Features changed: 0x00004800 -> 0x00004000

Cisco Systems VPN Client Version 4.8.02 (0030) kernel module loaded

который я проигнорировал. Но затем, выполняя vpnclient verify, я получил ядро упс. Журналы ниже:

Cisco Systems VPN Client Version 4.8.02 (0030) kernel module loaded
logrotate due, not forced
BUG: unable to handle kernel paging request at fc61ae98
IP: [<c1026cf7>] task_rq_lock+0x27/0x70
*pdpt = 00000000017a3001 *pde = 0000000000000000
Thread overran stack, or stack corrupted
Oops: 0000 [#1] PREEMPT SMP
last sysfs file: /sys/devices/virtual/net/cipsec0/uevent
Modules linked in: cisco_ipsec(P) fusion hardwareinfo gp500 intelce3100_io intelce3100_spi pd_hdmi SiI9XXX vidcap_ce4X00 sec_kernel ismdavcap_shim zvbi_intelce ismdvidenc ismdmux ismdviddec_v3 ismddemux_v3 ismdces_viddec_mux ismdces_vidparse_videnc ismdces_router ismdvidrend ismdvidpproc ismdremux ismdbufmon ismdaudio ismdclock_recovery pvrsrvkm pd_inttvenc_comp pd_inttvenc_cvbs gdl_server gen_timer ismdclock ismdcore ioctl_module mspod_drv intel_pic_uart intel_ce_pm iosf clock_control edl_thermal pace_spi_drv_linux intel_ce_flash sven_linux avcap_core system_utils_linux idl_smartcard idl_gpio idl_i2c idl_spi platform_config pal_linux osal_linux cosai_soc_utils cosai_irqproxy [last unloaded: cisco_ipsec]

Pid: -845642624, comm:  Tainted: P            2.6.39 #1
EIP: 0060:[<c1026cf7>] EFLAGS: 00010082 CPU: 0
EIP is at task_rq_lock+0x27/0x70
EAX: cebbac96 EBX: c179be40 ECX: 00000000 EDX: cd979730
ESI: cec02db0 EDI: cd989ef0 EBP: cd979730 ESP: cd979704
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process  (pid: -845642624, ti=cd978000 task=cd988370 task.ti=ce92e6b8)

Stack:
 cd989ef0 cec02db0 cec02d80 0000000f c102d2a1 cd99df60 cec02db8 00000002
 00000000 c1246a25 cd99df60 00000082 cd99df60 cec02db0 cec02d80 c104dbd0
 c104dbe5 c104dd58 00000000 cec02d84 0000002c 7aa7e623 00000083 c104e565
Call Trace:

 [<c102d2a1>] ? try_to_wake_up+0x31/0x2f0
 [<c1246a25>] ? timerqueue_del+0x25/0x70
 [<c104dbd0>] ? update_rmtp+0x80/0x80
 [<c104dbe5>] ? hrtimer_wakeup+0x15/0x20
 [<c104dd58>] ? __run_hrtimer.clone.31+0x48/0xd0
 [<c104e565>] ? hrtimer_interrupt+0x185/0x270
 [<c1019ffe>] ? smp_apic_timer_interrupt+0x4e/0x90
 [<c1561d4e>] ? apic_timer_interrupt+0x2a/0x30
 [<c10a196f>] ? __kmalloc+0x6f/0x160
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e7912748>] ? INTER_CNI_Allocate_Buffer+0x48/0xf0 [cisco_ipsec]
 [<e7912397>] ? do_cni_send+0xc7/0x240 [cisco_ipsec]

 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]

 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
Code: 00 00 00 00 83 ec 10 89 7c 24 08 89 c7 89 6c 24 0c 89 d5 89 74 24 04 89 1c 24 bb 40 be 79 c1 9c 58 fa 89 45 00 8b 47 04 8b 40 10 <8b> 34 85 40 fc 72 c1 01 de 89 f0 e8 89 a6 53 00 8b 47 04 8b 40
EIP: [<c1026cf7>] task_rq_lock+0x27/0x70 SS:ESP 0068:cd979704
CR2: 00000000fc61ae98
---[ end trace 2f149dab3380c9f4 ]---
Kernel panic - not syncing: Fatal exception in interrupt
Pid: -845642624, comm:  Tainted: P      D     2.6.39 #1
Call Trace:
 [<c155ef03>] ? panic+0x61/0x13f
 [<c1005b76>] ? oops_end+0x86/0x90
 [<c1021b20>] ? no_context+0xc0/0x190
 [<c1021f20>] ? vmalloc_sync_all+0x10/0x10
 [<c1021d3f>] ? bad_area_nosemaphore+0xf/0x20
 [<c1022176>] ? do_page_fault+0x256/0x3f0
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e791279e>] ? INTER_CNI_Allocate_Buffer+0x9e/0xf0 [cisco_ipsec]
 [<c1021f20>] ? vmalloc_sync_all+0x10/0x10
 [<c1561f6e>] ? error_code+0x5a/0x60
 [<c1021f20>] ? vmalloc_sync_all+0x10/0x10
 [<c1026cf7>] ? task_rq_lock+0x27/0x70
 [<c102d2a1>] ? try_to_wake_up+0x31/0x2f0
 [<c1246a25>] ? timerqueue_del+0x25/0x70
 [<c104dbd0>] ? update_rmtp+0x80/0x80
 [<c104dbe5>] ? hrtimer_wakeup+0x15/0x20
 [<c104dd58>] ? __run_hrtimer.clone.31+0x48/0xd0
 [<c104e565>] ? hrtimer_interrupt+0x185/0x270
 [<c1019ffe>] ? smp_apic_timer_interrupt+0x4e/0x90
 [<c1561d4e>] ? apic_timer_interrupt+0x2a/0x30
 [<c10a196f>] ? __kmalloc+0x6f/0x160
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e7912748>] ? INTER_CNI_Allocate_Buffer+0x48/0xf0 [cisco_ipsec]
 [<e7912397>] ? do_cni_send+0xc7/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]

1 ответ1

0

Вы пробовали использовать vpnc вместо этого? vpnc является открытым исходным кодом; Собственный VPN-клиент Cisco является закрытым исходным кодом. Модули ядра с закрытым исходным кодом имеют плохую репутацию взлома на новых ядрах. Учитывая, что 2.6.39 не является чем-то новым, он все же достаточно нов, чтобы выпуск vpnclient Cisco не поддерживал это ядро правильно. vpnc предоставляет аналогичную функциональность, но не зависит от каких-либо закрытых исходных компонентов, что позволяет вам перекомпилировать его для поддержки вашей собственной среды. Более того, vpnc использует драйвер tun , встроенный в основное ядро Linux, поэтому ему не нужен собственный модуль ядра.

Кроме того, комментарий, сделанный Colin 't Hart, может быть верным, что у вашего поставщика "встроенного устройства" могут быть настройки ядра, которые несовместимы с этим модулем ядра. Я надеюсь, что такие несовместимости появятся во время компиляции и не позволят вам построить модуль в первую очередь, но это не обязательно должно иметь место.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .