[pso] [Tema1] Ordine verificari
Marius Nicolae
mariusn007 at gmail.com
Sat Mar 29 01:02:24 EET 2008
2008/3/28 Alexandru-Mihai Carp <carpalex at gmail.com>:
> Salut,
>
> Exista vreo ordine care se impune pentru efectuarea verificarilor?
> Eu am intalnit urmatoarele 2 situatii discutabile:
>
> 1. In testul "do_as_guest":
> - User-ul "nobody" incearca sa monitorizeze un apel de sistem pentru
> PID1, si evident, nu va reusi, eroarea fiind EPERM.
> - User-ul "nobody" incearca sa opreasca monitorizarea apelului de sistem
> pentru PID1 si nici acum nu va mai reusi.
>
> In test, se asteapta o eroare de tip EPERM.
> In implementarea mea, eu verific mai intai daca procesul respectiv este
> monitorizat, si daca nu, nu trec mai departe. Deci eu voi intoarce EINVAL.
Aici eu sunt de acord cu varianta sa intorci EPERM, pentru ca daca nu
are voie sa faca o anumita operatie
nu e nevoie sa ii oferi informatia suplimentara cum ca procesul nu
este monitorizat. Adica asa cum ai implementat
tu, eu chiar daca nu am dreptul sa pornesc/opresc monitorizarea, pot
totusi sa vad care procese sunt monitorizate,
pentru ca la ele primesc EINVAL si EPERM la cele nemonitorizate.
nu am drepturi
>
>
> 2. In testul cu "last_child":
> Mie imi trece testul chiar daca nu am implementat inca demonitorizarea
> automata a proceselor ce se termina, pentru ca:
> - La REQUEST_STOP_MONITOR, eu verific mai intai daca pid-ul este valid,
> cu get_task_by_pid()
> - Astfel, imi va intoarce un task_struct NULL, deci nu trec mai departe
> si intorc EINVAL.
>
> Sa inteleg ca nu ar trebui sa verific daca este un pid valid, ci doar sa
> caut daca exista in lista si sa-l scot daca da?
> In acest caz, nu mai respect enuntul, pentru ca nu implementez
> verificarea. In caz contrar, testul de last_child nu mai are nici o
> relevanta.
>
> Mersi,
>
> Alex Carp
> _______________________________________________
> pso mailing list
> pso at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>
More information about the pso
mailing list