На самом деле вы можете получить доступ к неверным данным между байтами 100 и 4K страницы, даже если страница не загружена. Ядро знает только о доступах, которые сделаны к несуществующей странице (или к странице, на которой у вас нет прав на чтение / запись). Точное расположение отдельных фрагментов данных на страницах определяется библиотекой C, а не ядром.
Если вы хотите, чтобы неверный доступ к памяти мгновенно завершился неудачей в целях отладки, вам следует использовать инструмент, такой как valgrind, который проверяет все обращения к памяти. Это еще не гарантия того, что вы получите сообщение об ошибке. Вы можете обнаружить, что на самом деле получаете доступ к фрагменту памяти, который был выделен для какой-то другой цели, и в этой ситуации valgrind не может понять, что это неправильно.