[so2] [Tema 1] Bug checker

Cristian Chilipirea cristian.chilipirea at cti.pub.ro
Tue Mar 6 15:51:07 EET 2012


2012/3/6 Alexandru Juncu <alexj at rosedu.org>

> 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?
>
interceptarea se porneste de root
cererea de monitorizare de 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)."
>
Yeah se pare ca citesc o data la 2 randuri, my bad :)

>
>
> >
> > "
> > 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...
>
Intrebarea se refera strict la ce cod de eroare trebuie intors, raspunul
lui Daniel mi-a lamurit toate problemele, in ambele cazuri e -EPERM pentru
ca pid-ul 0 trebuie tratat special (ceea ce eu am uitat sa citesc) iar in
cazul de stop eroarea -EPERM are prioritate mai mare decat -EINVAL.

Sorry for wasting your time, obvious answear was obvious I guess I need to
rtfm more ;;)

> _______________________________________________
> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20120306/c2b56c7b/attachment.html>


More information about the so2 mailing list