odwrócenie bconda pax w glibc

Marek Guevara Braun marek.guevara w atm.com.pl
Czw, 5 Paź 2006, 11:17:49 CEST


Zbyniu Krzystolik wrote:
> Mniej wiecej Thu, Sep 28, 2006 at 12:49:11AM +0200, zainteresowany Marek Guevara Braun rzekl:
>> Arkadiusz Miskiewicz wrote:
>>> On Wednesday 27 September 2006 21:43, Paweł Gołaszewski wrote:
>>>
>>>> Bo wtedy nikt nie miałby myślę nic przeciwko temu.
>> Domyślne działanie softmode jest takie, że bez opcji pax_softmode=1
>> pax jest aktywowany (tj. domyślny jest pax_softmode=0). Dopiero po
>> podaniu 1 dla tej opcji funkcje PaX są wyłączone. Tak to sobie
>> PaX Team wymyślił.
>  
> Zmiana tego zachowania powinna być trywialna, nie sprawdzałem, ale na na
> pierwszy rzut oka łatka z załącznika powinna wystarczyć.

Zapewnie to by wystarczyło, ale wolałbym by opcja ładowania jądra
pax_softmode i wartości w /proc/sys/kernel/pax/softmode miały oryginalne
(choć i tak słabo udokumentowane) znaczenie.

Z drugiej strony, po krótkim zastanowieniu nie jestem przekonany, czy
softmode == 1 całkowicie deaktywuje PaX - np. dla architektury z
aktywnym SEGMEXEC (32-bit x86) mamy 1/2 przestrzeni adresowej dla
procesu - ponieważ softmode (o ile jest skonfigurowane) można w(y)łączyć
w dowolnej chwili oznaczało by to możliwość gwałtownego
zwiększenia/zmniejszenia przestrzeni adresowej procesu - co raczej nie
ma miejsca. Nawet jeśli odwołania do niewłaściwego segmentu nie będą
powodować zabicia aplikacji to więcej pamięci IMO nie uzyskamy.

Podobnie z opcjami dotyczącymi przestrzeni adresowej samego jądra - tego
podejrzewam nie da się przełączyć "w biegu" (ale u nas i tak jest to
domyślnie wyłączone/nietestowane, choć podobno już działa z modułami).

Dla PAGEEXEC nie mam pojęcia - dla architektur z bitem NX podobno nie ma
nawet różnicy w wydajności *), a przetrzeń adresowa procesu powinna być
cała - być może w tym przypadku softmode == 1 jest dokładnym
odpowiednikiem braku PaX-a.

Pozdrawiam,
Marek

*) http://www.pjvenda.org/linux/doc/pax-performance/


Więcej informacji o liście dyskusyjnej pld-devel-pl