안드로이드 커널 2.6.27~28대에서 CONFIG_SUSPEND옵션 켜고 실행하면 INIT후에 죽는 문제가 있습니다.
kernel/power/main.c에서 pm_state[] 라는 포인터 배열이 있어 상태에 따라 문자를 리턴하는데
pm_state[4]로 선언되어 있고 실제는 2개만 들어가 있습니다.
393 static const char * const pm_states[PM_SUSPEND_MAX] = {
394 [PM_SUSPEND_STANDBY] = "standby",
395 [PM_SUSPEND_MEM] = "mem",
396 };
그래서 state_store()함수에서 strlen()을하다가 kernel panic이 납니다.
pm_states[]값을 4번 돌면서 체크 하다가 죽습니다.
저 갯수 만큼 돌리면 죽지 않습니다.
.)
항상 좋은 정보 올려 주셔서 감사합니다.
그런데요... 위 훈남사진은 뉘신지?