[so2] [curs2] nelamuriri

Alexandru Juncu alexj at rosedu.org
Thu Mar 7 00:35:53 EET 2013


2013/3/7 Andrei Epure <epure.andrei at gmail.com>:
> Salut.

Salut!

>
> Am niște întrebări legate de cursul 2:
>
> slide 26
> f=sys_call_table[NR_open]; // aici înțeleg că iau pointerul apelului
> de sistem open

Da, iei adresa funcției ce ar fi apelată pentru apelul original.

> r=f(sp); // nu înțeleg

Tu interceptezi apelul original. Asta înseamnă că tu vrei să vezi când
e apelat și care este rezultatul apelului adevărat. Deci trebuie să
apelezi și funcția originală de tratare a apelului din funcția ta de
interceptare.
E ca la un man-in-the-middle: tu vrei să capturezi traficul, dar vrei
să circule și traficul între punctele inițiale.

> Cum pot să-i dau lui open ca parametru o structură conținând
> regiștrii? Poate explica cineva mecanismul? Mi-e neclar.

Registre*
Nu am înțeles întrebarea. Te referi la faptul că parametrii unui apel
sunt transmiși prin registre vs stivă? Vezi slide 24. (sau mai
reformulează întrebarea, te rog).



>
> slide 38
> Am înțeles că se face căutare binară a adresei instr. care a cauzat
> page-fault [1] folosind adresele __start_ex_table și __stop_ex_table.
> Întrebări:
> - Nu înțeleg ce este punctul aici: "__start_ex_table = ."
> - *(__ex_table) înseamnă ceva de genul copiere a tabelei acolo?
> - Ce înseamnă AT(ADDR(__ex_table) - LOAD_OFFSET)?
> - În general, ce se întâmplă în codul ăla?
>
> Se poate pune pe ocw o legătură către cursul extra de assembly
> language [3]? Ar fi util. Mie mi-au folosit puțin și extra explicații
> la [4].
>
> Mersi,
> Andrei
>
> [1] http://lxr.linux.no/#linux+v3.8.2/arch/x86/mm/extable.c#L82
> [2] http://lxr.linux.no/#linux+v3.8.2/kernel/extable.c#L51
> [3] https://docs.google.com/presentation/d/1qmKGpAiDX0GNAXnNXBtSE2xV8s659PZDb2ZLtQKjzbw/edit#slide=id.i178
> [4] http://staff.ustc.edu.cn/~xlanchen/cailiao/x86%20Assembly%20Programming.htm
>
> --
> Andrei Epure
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii


More information about the so2 mailing list