OpenBSD yatora shanduko kuti iwedzere kuchengetedza ndangariro

Theo de Raadt akawedzera nhevedzano yezvigamba kuOpenBSD codebase kuti aenderere mberi nekuchengetedza ndangariro yemaitiro munzvimbo yemushandisi. Vagadziri vanopihwa nyowani system yekufona uye yakabatana raibhurari basa rezita rimwe chete, risingachinjiki, iro rinokutendera kuti ugadzirise kodzero dzekuwana kana uchifunga mundangariro (memory mappings). Mushure mekuita, kodzero dzakagadzirirwa nzvimbo yekuyeuka, semuenzaniso, kurambidzwa kunyora nekuita, haigone kuchinjwa kuburikidza nekufona kunotevera mmap (), mprotect () uye munmap () mabasa, ayo anoburitsa EPERM kukanganisa paunenge uchiedza. kuchinja.

Kuti udzore kugona kushandura kodzero dzendangariro dzakaratidzwa dzemafaira echinhu, chikamu chitsva cheMutable BSS (.openbsd.mutable, Mutable Block Starting Symbol) chakurudzirwa, uye mireza mitsva PF_MUTABLE uye UVM_ET_IMMUTABLE yakawedzerwa. Yakawedzera tsigiro kune chinongedzo chekutsanangura "openbsd.mutable" zvikamu nekuzviisa munzvimbo yakaparadzana muBSS, yakabatana nemuganhu wepeji yendangariro. Nekudaidza iyo isingachinjiki basa, zvinokwanisika kumaka ese magirazi nzvimbo sezvisingachinjiki, kunze kwezvikamu zvakanzi "openbsd.mutable". Iyo nyowani nyowani ichaendeswa kune vashandisi mukuburitswa kweOpenBSD 7.3.

Source: opennet.ru

Voeg