64비트 커널을 구성할 때 "DEBUG_STACKOVERFLOW"를 활성화할 수 없는 이유는 무엇입니까?

64비트 커널을 구성할 때 "DEBUG_STACKOVERFLOW"를 활성화할 수 없는 이유는 무엇입니까?

디버깅을 위해 Linux 커널을 설정하기 위해 menuconfig를 사용하고 있는데 DEBUG_STACKOVERFLOW가 32비트 시스템에서만 작동하는 것처럼 보이는 이유는 무엇입니까?여기에 이미지 설명을 입력하세요.

스크린샷에서 볼 수 있듯이 HAVE_DEBUG_STACKOVERFLOW를 활성화하려면 시스템이 32비트여야 합니다. 64비트 시스템용으로 컴파일할 때 기본적으로 활성화되어 있기 때문인가요? Google은 나에게 어떤 답변도 제공하지 않았습니다.

답변1

x86_64는 스택 오버플로 검사를 사용했지만모든 스택 유형에 가드 페이지를 추가한 후 제거. 가드 페이지는 안정적인 오버플로 보호를 제공하고 추가 검사가 필요하지 않으므로 스택 오버플로 검사가 중복됩니다.

관련 정보