[so2] Despre cum gestioneaza nucleul accesele la stiva user dincolo de limita stivei

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Thu Apr 23 22:38:46 EEST 2015


Salutare.

Am discutat astăzi la curs[1] despre modul în care nucleul Linux
gestionează page fault-urile. Unul dintre subiecte era prezența în
diagrama de la slide-ul 26 a precizării "Address could belong to the
User Mode stack".

Am actualizat exemplul de test de la curs aici[2] în care am precizat
când un acces dincolo de limita stivei duce la Segmentation Fault și
când nu, cu link către codul sursă din kernel[3].

Andrei Datcu a avut dreptate la curs, și eu am greșit, legat de
faptul că nucleul ține cont de poziția curentă a registrului de stivă
(esp/rsp: stack pointer-ul). Lucru care poate fi observat din codul
kernel[3].

[1] http://ocw.cs.pub.ro/courses/so2/cursuri/curs08
[2] https://github.com/razvand/snippets/tree/master/stack-underflow
[3] http://lxr.free-electrons.com/source/arch/x86/mm/fault.c?v=3.13#L1171

Răzvan


More information about the so2 mailing list