[so] make rodata writable through mprotect

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Thu Feb 5 20:33:09 EET 2015


Catalin Vasile <catalinvasile92 at gmail.com> writes:
> Din cate stiu zona de text(cod) a unui program este mapata pe executabil =>
> la swapin programul este luat din nou din fisierul executabil SI nu i se
> creaza un nou spatiu de swapout pe partitia de swap.
>
> Este valabil si pentru rodata?
>
> Daca da, atunci daca modific drepturile paginilor specifice zonei rodata in
> R&W, in fisierul executabil se vor regasi modificarile facute asupra
> valorilor initiale pentru variabilele globale care se initializeaza la
> pornirea programului?

Cred că dacă o pagină este marcată dirty (modificată) atunci este
swapată pe disc și reîncărcată tot de acolo. Astfel că dacă modifici
permisiunile unei pagini și pagina devine writable, modificări ale
paginii o fac dirty și va fi evacuată și reîncărcată.

Nu am investigat sistemul de operare să validez ce am spus mai spus dar
pare calea cea mai potrivită.

Răzvan


More information about the so mailing list