[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