[so2] [Tema1] Problema la make skels

Relu Dragan draganrelu at gmail.com
Sun Mar 18 13:57:43 EET 2018


Salut,

Am observat ca atunci cand dau comanda LABS="tracer_assignment" make skels
si mi se genereaza scheletul de cod pentru tema 1, la generarea sursei
*skels/tracer_assignment/checker/_helper/tracer_helper.c* din
*templates/tracer_assignment/checker/_helper/tracer_helper.c* sunt omise
linile 74 si 81:

73 /* TODO: use tp->down for down_interruptible */
74 sema_init(&sem, 1);
//////////////////////////////////// omisa
75 for (i = 0; i < tp->up; i++) {
76  up(&sem);
77  do_work();
78  down_interruptible(&sem);
79 }
80 /* TODO: use to->unlock for mutex_unlock */
81 mutex_init(&lock);                       ///////////////////////////////
omisa
82 for (i = 0; i < tp->lock; i++) {
83 mutex_lock(&lock);
84 do_work();
85 mutex_unlock(&lock);
86 }

M-am uitat in fisierul generate_skels.py si am observat ca se foloseste un
regex pentru a identifica liniile marcate cu TODO si pentru a nu le mai
copia pe acestea. E posibil sa fie o greseala aici ca si linia imediat
urmatoare dupa TODO este omisa.

Observatia mea a pornit de la un kernel oops obtinut pe masina virtuala.
Implementasem o functionalitate minima pentru tracer.ko si primeam la
testul 6 urmatorul bug:
BUG: unable to handle kernel NULL pointer dereference at 00000000000000c9.

Era din cauza ca nu se initializau sem si lock in tracer_assignment.c din
cauza omiterii celor 2 linii la generare.

Multumesc,
Relu Dragan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20180318/7d0d750d/attachment.html>


More information about the so2 mailing list