lkm 적재 시 2.6.9-78 ELsmp에서 패닉 발생 원인?

hogi2271의 이미지

안녕하세요.

시스템콜을 후킹하여 원하는 작업을 하도록 lkm모듈을 작성하였습니다.

대부분 개발 및 테스트는 2.6.9-78 EL (centOS 4.7)에서 진행되었습니다.

별문제 없이 롱런 테스트까지 무사히 마쳤는데 최근 시스템을 변경하여 테스트를 진행하니

1 ~ 2일(롱런테스트 중)사이에 알수 없는 패닉이 발생을 하고 있습니다.

테스트 시스템의 커널버전이 smp를 지원하도록 되어있는데.. 이것이 패닉의 원인이 될수 있을까요??

다음은 2.6.9-78 ELsmp상에서 lkm을 load, unload를 주기적으로 반복하는 테스트를 진행 하였을 때

발생한 콘솔 로그입니다. (20초 간격으로 1000회 이상 정상적으로 load, unload를 진행 하다가 패닉이 발생 함)

kernel BUG at kernel/exit.c:904!
invalid operand: 0000 [#1]
SMP
Modules linked in: mdp_module(U) nfsd exportfs lockd nfs_acl md5 ipv6 autofs4 sunrpc cpufreq_powersave dm_mirror joydev dm_mod button battery ac uhci_hcd ehci_hcd tg3 bonding(U) ext3 jbd qla2400 ata_piix libata megaraid_sas qla2xxx scsi_transport_fc sd_mod scsi_mod
CPU:    3
EIP:    0060:[<c0124cc5>]    Not tainted VLI
EFLAGS: 00010046   (2.6.9-78.ELsmp)
EIP is at next_thread+0xc/0x3f
eax: 00000000   ebx: f5da0670   ecx: 00000001   edx: f5544b30
esi: 00002f70   edi: 00002c62   ebp: b254b370   esp: f6652f8c
ds: 007b   es: 007b   ss: 0068
Process fw_server (pid: 5687, threadinfo=f6652000 task=f5da0670)
Stack: c012f536 298c1d98 000f4217 00000000 00000000 00000756 000008d0 00000000
       00000000 b254b370 00000000 00000000 f6652000 c02e09db b254b370 00000001
       009ecff4 00000000 00000000 b254b398 0000002b c02e007b 0000007b 0000002b
Call Trace:
 [<c012f536>] sys_times+0x56/0x1c5
 [<c02e09db>] syscall_call+0x7/0xb
 [<c02e007b>] __lock_text_end+0x880/0x107d
Code: 85 c0 89 d3 74 05 e8 53 9c ff ff 53 e8 b9 fb ff ff 0f b6 44 24 04 c1 e0 08 50 e8 ab fb ff ff 89 c2 8b 80 f0 04 00 00 85 c0 75 08 <0f> 0b 88 03 a6 25 2f c0 0f b6 80 04 05 00 00 84 c0 7e 14 a1 80
 <0>Fatal exception: panic in 5 seconds

이런 비슷한 문제를 경험하신분 계시면 조언을 부탁드립니다.

ydhoney의 이미지

hogi2271의 이미지

그렇네요... 커널 패치하고 나니 문제가 해결됬습니다.

답변 감사합니다.
^^/

^^/