[so] siginfo + map_anonymous

Octavian Purdila so@atlantis.cs.pub.ro
Sun, 11 Jan 2004 11:48:36 +0200


On Sat, 10 Jan 2004 21:22:12 -0800, Daniel Cosmin Porumbel 
<dany@p16.pub.ro> wrote:

> Salut!
>
>     Pentru Kernel 2.3.39 sau mai mic(eu am 2.2...), se pare ca semnalul 
> de Seg. Fault nu completeaza si_addr. Am I right?

Da.

>     Prin urmare handlerul de semnal nu stie ce pagina a produs 
> Fault-ul... Ce se poate face? Oricum, am gasit indivizi care au produs 
> patch-uri la chestia asta.
> http://www.ussg.iu.edu/hypermail/linux/kernel/0001.2/0035.html
> http://www.ussg.iu.edu/hypermail/linux/kernel/9908.3/0273.html
>     Stie cineva cum se instaleaza un patch? Sau ce pot sa fac?
>

Solutia cea mai simpla e sa-ti pui un kernel 2.4.

>    Pentru a rezerva memorie, am incercat sa folosesc mmap cu flagul 
> MAP_ANONYMOUS. Si imi da eroare invalid argument pentru o combinatie de 
> argumente (e vorba de address, length si offset care genereaza eroarea 
> asta comform man) care mergea la un fisier normal. Combinatii

MAP_ANONYMOUS merge doar cu MAP_PRIVATE.

> malloc/free mi-au dat eroare cand am vrut sa mapez un fisier pe memoria 
> gasita de malloc...Stie cineva o alta varianta de a rezerva o zona de 
> memorie pt mapare?
>

Din moment ce toata memoria procesului este mapata cumva (inclusiv cea 
alocate cu malloc)
nu ai cum sa mapezi un fisier peste o zona alocata cu malloc, pentru ca 
asta inseamna ca
vrei sa mapezi de doua ori aceeasi in aceeasi zona din cadrul spatiului de 
adresa al procesului.

> Toate bune!
> Daniel



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/