[so2] [Linux][Tema1] Sincronizare interceptor
Mihail Costea
mihail.costea90 at gmail.com
Tue Mar 12 21:15:02 EET 2013
2013/3/12 Alexandru Juncu <alexj at rosedu.org>:
> 2013/3/12 Mihail Costea <mihail.costea90 at gmail.com>:
>> Fie urmatorul caz de utilizare:
>>
>> Un syscall este interceptat de catre modulul nostru.
>>
>> La un moment dat o functie apeleaza acest syscall, dar fix inainte de
>> a obtine pointer-ul la functia syscall-ului original primim
>> deinterceptarea
>> acestui syscall.
>> Cum tratam acest caz? Pur si simplu rulam sycall-ul original in
>> continuare sau returnam o eroare?
>>
>
> Cred că ar trebui să ai un lock pe tabelă în momentul acela. Adică
> cât faci operațiuni de modificare a unui apel de sistem ar trebui să
> te asiguri că nu sunt folosite informatiile ce se modifică.
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii
Am asta, ma gandeam ce ar fi sa se intample daca interceptorul e
preemptat inainte de a obtine lock-ul (adica intra in functie dar nu
ia lock-ul) si in locul lui vine apelul de deinterceptare si astfel se
elimina anumite date despre apelul de sistem care ar trebui pentru
rularea in interceptor.
--
Mihail Costea
More information about the so2
mailing list