ABORT
Posts
4 posts[리눅스커널][디버깅] 유저공간 abort 발생 시 커널 패닉 유발하는 패치
개발 도중에 유저 공간에서 abort가 발생합니다. 안드로이드 플렛폼에서는 tombstone이 생성돼 레지스터와 콜스택을 확인할 수 있습니다.Revision: '0'ABI: 'arm'pid: 16458, tid: 16513, name: thermal-engine >>> /system/vendor/bin/thermal-engine <<<signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0Cause: null pointer dereference r0 00000000 r1 a73a48c0 r2 8362dec4 r3 8362deec r4 80000000 r5 00000000 r6 83639000 r7 83c35
[안드로이드][리눅스커널] 시그널 - 유저 공간 abort(SIGABRT) 시 동작 시 흐름
유저 공간에서 zygote가 강제 종료되면서 부팅을 못하는 상황입니다. 커널 로그로 아래 메시지를 볼 수 있습니다.아래 로그는 init 프로세스가 zygote에 SIGABRT(6) 시그널을 전달해서 zygote를 종료시키고 있습니다.[ 46.116831 / 01-02 01:20:24.859][0] init: Service 'zygote' (pid 1777) killed by signal 6[ 46.124107 / 01-02 01:20:24.869][1] init: Service 'zygote' (pid 1777) killing any children in process group 그럼 이 동작을 할 때 커널 관점으로 어떤 코드가 수행되는지 살펴보겠습니다. zygote는 커널 공간에서 "main"
[Linux][Kernel] data abort@irq_affinity_notify - 리눅스 커널
아래 커널 로그와 함께 시스템이 커널 패닉으로 돌아가셨어요.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]
ARM64 - Data Abort Exception(익셉션) Vector 실행
이번 시간에는 Abort 즉 프로그램에 문제가 생겨서 Exception이 생겼을 때 동작 흐름에 대해점검해보고자 해요. ARM에 대한 자료와 세미나를 통해 Exception에 대해서 엄청나게 많이 들었잖아요.뭐, data abort, prefetch abort, undefined abort 등등이죠. 이제 ARM64 아키텍처에서는 이 Abort를 어떻게 처리하고 있는 지 살펴보도록 할께요 우선 아래 코드와 같이 익셉션 벡터가 정의되어 있구요.그런데 abort가 발생할 때는 el1_sync 벡터로 프로그램 카운터가 이동하게 되어 있어요./* * Exception vectors. */ .align 11ENTRY(vectors) ventry el1_sync_invalid // Synchronous E

![[일상] Eave 65와 목새 택타일 | 토프레 무접점 느낌 | 타건 영상 있음](https://img.zoomtrend.com/2026/06/07/1780838085-SE-77297eb3-90bf-43a7-9629-75fd8530e370.jpg)

