[so2] [Tema 1] Bug checker

Cristian Chilipirea cristian.chilipirea at cti.pub.ro
Tue Mar 6 14:59:02 EET 2012


Problema este eroarea care trebuie intoarsa in urmatoarea situatie:

Se cere monitorizare pe 5 (interceptarea inceputa de root cu success)
User non-root != 0
pid == 0

Eroarea pe care o asteapta checkerul -EPERM (eroare de permisiuni)

Problema: pid == 0 doesn't really exist... e idle care e tratat diferit si
find_vpid pe el intoarce null;
ergo pid 0 nu ar trebui cumva tratat ca -EINVAL dupa cum spune si enuntul?

"
verificări de consistență [eroare: parametru nevalid]:

   - numărul apelului de sistem (se consideră nevalid apelul MY_SYSCALL_NOsau
   __NR_exit_group)
   - PID-ul procesului

"
sau tratam special pid 0

Eroarea este in test.c linia 150
    do_start(syscall, 0, -EPERM);
    do_stop(syscall, 0, -EPERM);

As I write this oberv ca stop este si mai gresit el ar trebui deasemenea sa
aiba -EINVAL (aici e chiar mai evident)
din enunt:
"
verificări de consistență [eroare: parametru nevalid]:
monitorizarea pentru un proces/apel de sistem nu poate fi oprită dacă, în
prealabil, nu a fost pornită
"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20120306/4039c199/attachment.html>


More information about the so2 mailing list