[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