LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Похоже в ядре этот флаг преобразовывается в VM_GROWSDOWN, который таки используется.

Видимо возможности этого флага как-то сильно ограничили, но до конца не удалили. Поэтому он работает не так как обещано маном.

Гуглятся обрывки информации о том, что этот флаг всё ещё используется для стека основного потока приложения, но стеки потоков рулятся в libc полностью силами юзерспейса. То есть видимо обработкой соответствующих сигналов с последующим подсовыванием свежей страницы памяти туда, где упало. Либо просто выделяют с очень большим запасом и надеются, что ядро не будет выделять эти страницы физически до того, как туда кто-то попытается записать что-то.

Чтобы детально разобрать как работает это хрень, надо читать исходники ядра и libc.

Исправление Deleted, :

Похоже в ядре этот флаг преобразовывается в VM_GROWSDOWN, который таки используется.

Видимо возможности этого флага как-то сильно ограничили, но до конца не удалили. Поэтому он работает не так как обещано маном.

Гуглятся обрывки информации о том, что этот флаг всё ещё используется для стека основного потока приложения, но стеки потоков рулятся в libc полностью силами юзерспейса. То есть видимо обработкой соответствующих сигналов с последующим подсовыванием свежей страницы памяти туда, где упало.

Исходная версия Deleted, :

Похоже в ядре этот флаг преобразовывается в VM_GROWSDOWN, который таки используется.

Похоже возможности этого флага как-то сильно ограничили, но до конца не удалили. По этому он работает не так как обещано маном.

Гуглятся обрывки информации о том, что этот флаг всё ещё используется для стека основного потока приложения, но стеки потоков рулятся в libc полностью силами юзерспейса. То есть видимо обработкой соответствующих сигналов с последующим подсовыванием свежей страницы памяти туда, где упало.