--- On Wed, 4/18/12, Andreea Hodea <[email protected]> wrote: > --- On Wed, 4/18/12, Vlad <[email protected]> > > Da. Testul incearca sa citeasca sau sa inscrie ceva si > zona > > nu are protectia > > necesara. > > > > Ok, de acord, observ asta din debugging. Dar, desi protectia > e buna, da in continuare SIGSEGV de acces: > [sig_handler(), vmsim.c:104] Page 1 > with fault code 2 vs SEGV_ACCERR=2 > when protection is 0 vs PROT_READ=1 > [lru_in_ram(), vmsim.c:73] Mapping page 1 with prot 1 vs > PROT_READ=1 > [lru_in_ram(), vmsim.c:84] Page 1 mapped to frame 0 > [sig_handler(), vmsim.c:104] Page 1 > with fault code 2 vs SEGV_ACCERR=2 > when protection is 1 vs PROT_READ=1 > [sig_handler(), vmsim.c:104] Page 1 > with fault code 2 vs SEGV_ACCERR=2 > when protection is 2 vs PROT_READ=1 > > Adica, desi pagina e mapata in RAM cu protectia PROT_READ > (testul 21 e cel care se agata), primesc in continuare fault > de acces si fiind in RAM, inca un fault de acces inseamna > mprotect(PROT_WRITE); de aici incolo ramane intr-o bucla > infinita. De ce? > > Multumesc, Andreea
Am rezolvat: detectam gresit pagina care provoca fault, astfel ca dadeam protectia buna unei pagini gresite. _______________________________________________ http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
