[pso] [Tema 1 win] - problema la setarea parametrilor syscall-ului pe stiva

Razvan Deaconescu razvand at cs.pub.ro
Thu Apr 3 14:35:59 EEST 2008


On Thu, 2008-04-03 at 14:22 +0300, Cristi Lazea wrote:
[...]
> Mentionez ca bucata de salvare in stiva e incadrata de un spinlock,
> asta ca sa nu mai umble cineva
> pe acolo in momentul in care fac eu modificari (am incercat si fara
> spinlock, si rezultatul
> e identic).

Nu ai nevoie de spinlock pentru ca spatiul de stiva folosit este unic
per proces.

>  De asemenea, syscall-no e preluat cum trebuie din eax (intructiunea
> corespunzatoare e
> din metoda mea, caci altfel, se altereaza eax-ul).

_Prima_ instructiune din functia de interceptare trebuie sa fie cea care
salveaza registrul eax intr-o variabila locala de tipul int syscall_no.

Esti sigur ca nu faci alta operatie/apel de functie inainte de bucata in
limbaj de asamblare?

Ai afisat in hexa valorile de la old_stack? Sunt aceleasi ca cele
trimise ca argument. In speta acele valori sunt obtinute cu ajutorul
registrului ebp (frame pointer) si doar proasta initializare a aceluia
ar putea sa duca la probleme.

Razvan


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the pso mailing list