Open xdoju opened 5 years ago
task_struct의 comm 을 가져오기 위해 get_task_comm 매크로를 사용하려고 했습니다. 그러나 prinfo의 comm 배열의 크기와 커널에서 사용하는 comm의 길이가 서로 길이가 달라 컴파일이 되지 않습니다.
get_task_comm
** include/linux/prinfo.h struct prinfo { ... char comm[64]; }
** include/linux/sched.h#L207 #define TASK_COMM_LEN 16
** include/linux/sched.h#L1555 BUILD_BUG_ON(sizeof(buf) != TASK_COMM_LEN);
이를 깔끔하게 처리할 수 있는 방법이 있나요? prinfo의 comm의 크기를 16으로 수정해도 될까요?
해당 매크로를 쓰시려면 기존 커널코드 혹은 과제 명세 (prinfo) 수정이 불가피해보이고, 매크로 대신 task->comm 이런 식으로 직접 접근하시면 될 것 같습니다.
task_struct의 comm 을 가져오기 위해
get_task_comm
매크로를 사용하려고 했습니다. 그러나 prinfo의 comm 배열의 크기와 커널에서 사용하는 comm의 길이가 서로 길이가 달라 컴파일이 되지 않습니다.이를 깔끔하게 처리할 수 있는 방법이 있나요? prinfo의 comm의 크기를 16으로 수정해도 될까요?