проблема в том что у тебя модуль может сьесть до 4GB. Это на секундочку всю адресное пространство. Даже если выделить абсолютно все адрессное пространство под васм инстанс, то там например будет ждать еще одна проблема: суммирование адреса по умолчанию приведет к wrap around и выдаст легальный адрес
да, в этом плане ты прав, я имел в виду, что просто guard page возможен.
Но, теоретически, всё равно можно сделать на x86 через переключение в amd64 (всё равно сейчас же практически все процессоры общего назначения этой архитектуры), только это, конечно больший overhead чем проверка на переполнение