Linux Kernel(4.14) Hacks

rousalome.egloos.com

포토로그 Kernel Crash




태그 : preempt_disable 요약보기전체보기목록닫기

1

[Linux][Kernel] preempt_disable()/preempt_enable() 주의 사항

preempt_disable() 함수를 쓸 때 주의해야 할 점이 있습니다.preempt_disable() 함수는 preempt_enable() 함수와 반드시 Pair로 써야 합니다.preempt_disable() 함수를 호출한 다음 스케줄링 동작을 수행하는 함수를 쓰면 리눅스 시스템은 오동작합니다.예를 들어 다음과 같은 드라이버를 초기화하는 코드를 예를...

ARM64 - 프로세스(Process) preempt_disable(), preemption 스케줄(Schedule) 조건 분석

아래 제 블로그에서 ARM32 아키텍처에서 preempt_disable() 매크로 함수를 호출하면 __irq_svc 벡터에서 svc_preempt 함수를 호출하지 않아, preemption이 수행되지 않는다고 확인했어요.http://rousalome.egloos.com/9964816이번에는 ARM64(Aarch64) 아키텍처에서는 어떤 코드로 ...

ARM32 - 프로세스(Process) preempt_disable(), preemption 스케줄(Schedule) 조건 분석

저번 시간에 preempt_disable() 함수 호출로 커널 패닉이 일어나는 문제가 있었는데요.이 매크로 함수와 preemption의 관계에 대해서 좀 더 알아보고자 해요.preemption은 리눅스 커널 핵심 개념 중의 핵심이죠.preempt_disable() 함수를 호출하면 스택 주소를 꺼내와서, current_thread_info에 있는 pree...

[Linux][Kernel] panic@___might_sleep

#커널 크래시 디버깅 및 TroubleShootingRace로 mmc_wait_data_done() 함수에서 커널 패닉"cat /d/shrinker" 입력 시 커널 패닉함수 포인터 미지정으로 xfrm_local_error() 커널 패닉preempt 조건으로 ___might_sleep() 함수 크래시스택 카나리: __stack_chk_fail() 함수 크...
1