PANIC

포스트: 11
Tags

Posts

11 posts

[Linux][Kernel] data abort@irq_affinity_notify - 리눅스 커널

Guillermo Austin Kim|2018년 1월 12일

아래 커널 로그와 함께 시스템이 커널 패닉으로 돌아가셨어요.irq_affinity_notify+0x4c 란 함수에서 data abort가 난 것을 확인할 수 있어요.[287229.435076] mmc0: mmc_start_bkops: raw_bkops_status=0x2, from_exception=1[287230.328287] mmc0: mmc_start_bkops: Starting bkops[287231.319886] <26>Unable to handle kernel NULL pointer dereference at virtual address 000000fc[287231.319920] <26>pgd = c0004000[287231.319936]

[Linux][Kernel] data abort @tty_wakeup - 리눅스 커널

Guillermo Austin Kim|2018년 1월 9일

USB와 TTY Driver 관련한 커널 패닉 디버깅 정보를 좀 공유하고자 해요. 아래 Signature로 커널 패닉이 발생했는데요. __irq_usr -> gic_handle_irq 코드 흐름으로 보아 유저 공간에서 실행 중인 프로세스로 IRQ가 Trigger되었다는 정보를 확인할 수 있어요.바꾸어 말하면 아래 콜스택은 IRQ Context라고 할 수 있죠. 문제가 발생한 보드는 Mediatek MT6755랍니다.[ ] do_page_fault+0x338/0x3f8 [ ] do_DataAbort+0x38/0x98 [ ] __dabt_svc+0x38/0x60 [ ] tty_wakeup+0xc/0

Kernel][Panic] 메모리 불량 커널 크래시@find_vma_links - 1

Guillermo Austin Kim|2017년 12월 28일

특정 디바이스가 부팅 후 5분 이내에 커널 패닉이 발생하는 현상을 리포트 받았는데요.참 신기하죠? 특정 디바이스만 커널 패닉이라. 이럴 때 너무 긴장할 필요 없어요. 논리적인 오류로 발생한 커널 패닉인지 정확히 분석한 후,논리적인 문제가 아니라면 하드웨어 담당자에게 메모리 불량이 아닌 지 테스트(보통 정상 메모리와 스왑하죠)을 요청하면 되요. 커널 패닉 시 로그는 아래와 같아요.CPU5에서 돌던 find_vma_links() 함수의 find_vma_links+0x1c 코드에서 데이터 오버트가(Data Abort) 발생했네요. 프로세스 이름은 "sensorservice" 이구요.[ 2107.239317 / 01-01 11:11:03.809][5] Unable to handle kernel NULL po

특정 CPU를 끄는 패치(특정 CPU에서 커널 크래시)

Guillermo Austin Kim|2017년 12월 24일

가끔 타겟 보드에서 특정 CPU에서만 커널 패닉으로 시스템이 리셋되는 경우가 있어요.이럴 때 테스트할 수 있는 유용한 디버깅 패치를 소개하고자 해요. 아래 패치는 부팅 할 때 CPU3을 sys node에서 아예 제거시키거든요. 아예 CPU3가 안 돌게 되는거죠.diff --git a/kernel/cpu.c b/kernel/cpu.cindex 5b4440d..14cce91 100644--- a/kernel/cpu.c+++ b/kernel/cpu.c@@ -510,7 +510,7 @@ static int _cpu_up(unsigned int cpu, int tasks_frozen) cpu_hotplug_begin(); - if (cpu_online(cpu) || !cpu_presen