<div class="gmail_quote"><div class="im">2012/3/6 Alexandru Juncu <span dir="ltr">&lt;<a href="mailto:alexj@rosedu.org" target="_blank">alexj@rosedu.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

2012/3/6 Cristian Chilipirea &lt;<a href="mailto:cristian.chilipirea@cti.pub.ro" target="_blank">cristian.chilipirea@cti.pub.ro</a>&gt;:<br>
<div>&gt; Problema este eroarea care trebuie intoarsa in urmatoarea situatie:<br>
&gt;<br>
&gt; Se cere monitorizare pe 5 (interceptarea inceputa de root cu success)<br>
&gt; User non-root != 0<br>
&gt; pid == 0<br>
<br>
</div>Nu am înțeles... cererea se face de câtre root sau non-root?<br></blockquote></div><div>interceptarea se porneste de root<br>cererea de monitorizare de non-root <br></div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


<div><br>
&gt;<br>
&gt; Eroarea pe care o asteapta checkerul -EPERM (eroare de permisiuni)<br>
&gt;<br>
&gt; Problema: pid == 0 doesn&#39;t really exist... e idle care e tratat diferit si<br>
&gt; find_vpid pe el intoarce null;<br>
&gt; ergo pid 0 nu ar trebui cumva tratat ca -EINVAL dupa cum spune si enuntul?<br>
<br>
</div>Citez: &quot;Monitorizarea se poate face pentru un proces (pid primește un<br>
<div>PID) sau pentru toate procesele (pid primește 0).&quot;<br></div></blockquote></div><div>Yeah se pare ca citesc o data la 2 randuri, my bad :) <br></div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div>
<br>
<br>
&gt;<br>
&gt; &quot;<br>
</div><div>&gt; verificări de consistență [eroare: parametru nevalid]:<br>
&gt;<br>
&gt; numărul apelului de sistem (se consideră nevalid apelul MY_SYSCALL_NO sau<br>
&gt; __NR_exit_group)<br>
&gt; PID-ul procesului<br>
&gt;<br>
&gt; &quot;<br>
&gt; sau tratam special pid 0<br>
&gt;<br>
&gt; Eroarea este in test.c linia 150<br>
&gt;     do_start(syscall, 0, -EPERM);<br>
&gt;     do_stop(syscall, 0, -EPERM);<br>
&gt;<br>
&gt; As I write this oberv ca stop este si mai gresit el ar trebui deasemenea sa<br>
&gt; aiba -EINVAL (aici e chiar mai evident)<br>
&gt; din enunt:<br>
&gt; &quot;<br>
&gt; verificări de consistență [eroare: parametru nevalid]:<br>
&gt; monitorizarea pentru un proces/apel de sistem nu poate fi oprită dacă, în<br>
&gt; prealabil, nu a fost pornită<br>
&gt; &quot;<br>
<br>
</div>Ai putea, te rog, să reformulezi nelămurirea ta, pentru că am citit de<br>
vreo 3 ori și nu am înțeles exact ce întrebi...<br></blockquote></div><div>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.<br>
<br>Sorry for wasting your time, obvious answear was obvious I guess I need to rtfm more ;;)<br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


_______________________________________________<br>
<a href="http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii" target="_blank">http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii</a></blockquote></div>