[so2] securizat/mapat pointer din userspace

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Sun Apr 26 21:38:16 EEST 2015


Catalin Vasile via so2 <so2 at cursuri.cs.pub.ro> writes:
> 2015-04-21 18:46 GMT+03:00 Daniel Baluta <daniel.baluta at gmail.com>:
>> 2015-04-21 16:14 GMT+03:00 Catalin Vasile via so2 <so2 at cursuri.cs.pub.ro>:
>>> Exista vreo metoda prin care, pentru o scurta perioada, sa fac check-urile
>>> pe care le-ar face copy_to/from_userspace si sa asigur un spatiu fizic
>>> alocat pentru un pointer din userspace si sa lucrez direct pe el?
>>
>> Zi-ne pentru ce-ți trebuie asta. Cred ca incerci sa faci ceva gresit :).
>
> Incerc sa fac offloading la un anumit tip de job dintr-o masina
> virtuala direct in kernel-ul host-ului.
> Modulul din host primeste un pointer de la masina virtuala in care
> trebuie sa-i scrie ce a rezultat din executia job-ului.
> Incerc pe cat posibil sa nu folosesc buffere intermediare.

Salutare, Cătălin.

Din ce înțeleg ai nevoie de o comunicare user space - kernel space, caz
în care cel mai bine este să mapezi același spațiu fizic (memorie
fizică) atât în spațiul virtual al procesului (user space) cât și în
spațiul virtual al nucleului (kernel space).

Cel mai bine ar fi să-i rezervi mașinii virtuale (user space-ul) o zonă
fizică rezidentă (pinned, reserved, locked). Și acea zonă să o mapezi și
în modulul de pe host (kernel space) și să comunici astfel între ele.

Poți urmări laboratorul de maparea memoriei[1], care cu asta se ocupă și
în care găsești informații legate de asta. Sper că îți sunt utile. Dacă
nu, revino cu clarificări.

Să ții cont, te rugăm, de recomandările de discutat pe listă[2].

[1] http://ocw.cs.pub.ro/courses/so2/laboratoare/lab11
[2] http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii#mailing_list_guidelines

Răzvan


More information about the so2 mailing list