[pso] [T1] Un pic mai mult despre interceptarea apelurilor de sistem
Mircea Gherzan
mgherzan at anaconda.cs.pub.ro
Tue Mar 11 07:09:22 EET 2008
Stefan Bucur wrote:
> PS: Constat o inadvertenta intre exemplul de pe kernelnewbies.org si
> cel dat in cursul 2 de pe site-ul PSO: in curs este prezentata o
> structura cu numai 7 parametri (struct syscall_params) care sa acopere
> stack frame-ul, in timp ce pe kernelnewbies se foloseste struct
> pt_reg, care contine mult mai multe campuri. Care dintre variante este
> cea corecta?
Eu am folosit struct pt_regs in tema (ptrace.h).
*Cred* ca e o mica eroare in slide-uri: ordinea in care sunt salvati
registrii pe stiva e corecta (ca in SAVE_ALL din entry_32.S), dar
ordinea registrilor in structura nu (EAX nu e primul, nefiind ultimul
salvat).
In ptrace.h se vede ca ordinea registrilor in struct pt_regs e corecta.
Ar mai fi si diferenta posibila int/long... dar e prea dimineata pentru
asta :)
Mai e in slide-uri si variabila pt_regs in functia interceptor, care nu
stiu de unde apare. Probabil s/pt_regs/sp
--
Mircea Gherzan
Faculty of Automatic Control and Computers
Politehnica University of Bucharest
More information about the pso
mailing list