ะขัะพ ะดะต ะ ะฐะฐะดั (Theo de Raadt) ะดะพะฑะฐะฒะธะป ะฒ ะบะพะดะพะฒัั ะฑะฐะทั OpenBSD ัะตัะธั ะฟะฐััะตะน ะดะปั ะดะพะฟะพะปะฝะธัะตะปัะฝะพะน ะทะฐัะธัั ะฟะฐะผััะธ ะฟัะพัะตััะพะฒ ะฒ ะฟัะพัััะฐะฝััะฒะต ะฟะพะปัะทะพะฒะฐัะตะปั. ะ ะฐะทัะฐะฑะพััะธะบะฐะผ ะฟัะตะดะปะพะถะตะฝ ะฝะพะฒัะน ัะธััะตะผะฝัะน ะฒัะทะพะฒ ะธ ัะฒัะทะฐะฝะฝะฐั ั ะฝะธะผ ะพะดะฝะพะธะผัะฝะฝะฐั ะฑะธะฑะปะธะพัะตัะฝะฐั ััะฝะบัะธั mimmutable, ะฟะพะทะฒะพะปัััะฐั ะทะฐัะธะบัะธัะพะฒะฐัั ะฟัะฐะฒะฐ ะดะพัััะฟะฐ ะฟัะธ ะพััะฐะถะตะฝะธะธ ะฒ ะฟะฐะผััั (memory mappings). ะะพัะปะต ัะธะบัะฐัะธะธ, ะฒัััะฐะฒะปะตะฝะฝัะต ะดะปั ะพะฑะปะฐััะธ ะฟะฐะผััะธ ะฟัะฐะฒะฐ, ะฝะฐะฟัะธะผะตั, ะทะฐะฟัะตั ะฝะฐ ะทะฐะฟะธัั ะธ ะธัะฟะพะปะฝะตะฝะธะต, ะฝะตะฒะพะทะผะพะถะฝะพ ะฒ ะดะฐะปัะฝะตะนัะตะผ ะธะทะผะตะฝะธัั ัะตัะตะท ะฟะพัะปะตะดัััะธะต ะฒัะทะพะฒั ััะฝะบัะธะน mmap(), mprotect() ะธ munmap(), ะบะพัะพััะต ะฟัะธ ะฟะพะฟััะบะต ะธะทะผะตะฝะตะฝะธั ะฑัะดัั ะฒัะดะฐะฒะฐัั ะพัะธะฑะบั EPERM.
ะะปั ัะฟัะฐะฒะปะตะฝะธั ะฒะพะทะผะพะถะฝะพัััั ะผะตะฝััั ะฟัะฐะฒะฐ ะพััะฐะถัะฝะฝะพะน ะฟะฐะผััะธ ะดะปั ะพะฑัะตะบัะฝัั
ัะฐะนะปะพะฒ ะฟัะตะดะปะพะถะตะฝะฐ ะฝะพะฒะฐั ัะตะบัะธั Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol), ะฐ ัะฐะบะถะต ะดะพะฑะฐะฒะปะตะฝั ะฝะพะฒัะต ัะปะฐะณะธ PF_MUTABLE ะธ UVM_ET_IMMUTABLE. ะ ะบะพะผะฟะพะฝะพะฒัะธะบ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตัะถะบะฐ ะพะฟัะตะดะตะปะตะฝะธั ัะตะบัะธะน ยซopenbsd.mutableยป ะธ ัะฐะทะผะตัะตะฝะธั ะธั
ะฒ ะพัะดะตะปัะฝัั ะพะฑะปะฐััั ะฒ BSS, ะฒััะพะฒะฝะตะฝะฝัั ะฟะพ ะณัะฐะฝะธัะต ัััะฐะฝะธัั ะฟะฐะผััะธ. ะงะตัะตะท ะฒัะทะพะฒ ััะฝะบัะธะธ mimmutable ะฟัะตะดะพััะฐะฒะปัะตััั ะฒะพะทะผะพะถะฝะพััั ะฟะพะผะตัะบะธ ะฒัะตั
ะพััะฐะถัะฝะฝัั
ะพะฑะปะฐััะตะน ะบะฐะบ ะฝะตะธะทะผะตะฝัะตะผัั
(immutable), ะทะฐ ะธัะบะปััะตะฝะธะตะผ ัะตะบัะธะน, ะพัะผะตัะตะฝะฝัั
ะบะฐะบ ยซopenbsd.mutableยป. ะะพะฒะฐั ะฒะพะทะผะพะถะฝะพััั ะฑัะดะตั ะดะพะฒะตะดะตะฝะฐ ะดะพ ะฟะพะปัะทะพะฒะฐัะตะปะตะน ะฒ ะฒัะฟััะบะต OpenBSD 7.3.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru