[so2] [Tema 1] Bug checker

Alexandru Juncu alexj at rosedu.org
Tue Mar 6 15:21:54 EET 2012


2012/3/6 Cristian Chilipirea <cristian.chilipirea at cti.pub.ro>:
> 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

Nu am înțeles... cererea se face de câtre root sau non-root?

>
> 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?

Citez: "Monitorizarea se poate face pentru un proces (pid primește un
PID) sau pentru toate procesele (pid primește 0)."


>
> "
> verificări de consistență [eroare: parametru nevalid]:
>
> numărul apelului de sistem (se consideră nevalid apelul MY_SYSCALL_NO sau
> __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ă
> "

Ai putea, te rog, să reformulezi nelămurirea ta, pentru că am citit de
vreo 3 ori și nu am înțeles exact ce întrebi...


More information about the so2 mailing list