PDA

View Full Version : [OT] Fidiamoci dei driver closed source!


ilsensine
03-08-2005, 10:31
Dopo diverso tempo, sono riuscuito a trovare i sorgenti di uno stupido driver della Motorola per un suo processore, che inizialmente la Motorola non aveva distribuito ritenendolo forse "troppo banale".
Nei sorgenti c'è questa chicca:

ssize_t hwb_read(struct file *filp, char *buf, size_t size, loff_t *l)
{
*((unsigned long *)buf) = dataToReturn;
return size;
}

CINQUE BUG in una sola riga di codice.
Un vero record.

VegetaSSJ5
03-08-2005, 11:13
ilsensine puoi spiegare quali sono i bug?


P.S.
scusa l'ignoranza... :rolleyes:

ilsensine
03-08-2005, 11:32
Quel driver serve per accedere allo spazio di i/o da user space di un processore sul quale la normale mmap di /dev/mem non funziona per questi registri. Già la struttura del driver è discutibile, in quanto basata su read/write (in questo caso particolare la ioctl era meglio). Se devi leggere un registro, tramite la write comunichi una struttura con le informazioni necessarie, e tramite la read recuperi il valore letto.

L'elenco, forse parziale, è questo:

Bug #1: dataToReturn è una variabile globale, non specifica per "file" aperto. Se più processi usano il driver, è una divertente race fest.

Bug #2: dataToReturn non è mai inizializzata, ed è leggibile anche se nessuna operazione di "read" è stata comunicata al driver.

Bug #3: Non c'è controllo del parametro "size" passato dal programma. Molti registri del processore restituiscono uno o due byte validi, quindi si può legittimamente chiamare la read con 1 o 2. L'effetto è un possibile overflow del buffer utente.

Bug #4: Il valore di ritorno non deve essere "size" ma i byte effettivamente scritti.

Bug #5: Bug gravissimo dovuto alla mancata validazione del puntatore utente "buf". Gli effetti collaterali possono andare da semplici kernel oops (anche in situazioni dove "buf" è valido) a corruzione della memoria del kernel.


Ne ho visti un pò di driver della Motorola; vi lascio immaginare cosa sono in grado di combinare con un driver completo :D

Fil9998
03-08-2005, 11:37
moolto interessante

sono un emerito ignorante in programmazione ... però ... fino a capire che closed = non così direttamente verificabile/migliorabile ci arrivo ... nonostante le discussioni dei giorni scorsi su open/closed ... closed dentro l'open etc etc ...

Hal2001
03-08-2005, 11:44
Secondo me è una bella discussione, mi iscrivo.

DanieleC88
02-10-2005, 11:43
CINQUE BUG in una sola riga di codice.
Un vero record.
È fantastico. Non avrei saputo fare di meglio. :cry:

ryu hayabusa
02-10-2005, 11:47
È fantastico. Non avrei saputo fare di meglio. :cry:

non facciamo di tutta un erba un fascio per favore :rolleyes:

DanieleC88
02-10-2005, 12:07
non facciamo di tutta un erba un fascio per favore :rolleyes:
Ma, c**zo, io ho 17 anni e saprei scrivere codice più sicuro! Sai programmare? Se non lo sai fare, impara a farlo, capirai che oscenità è quel codice.
E poi ci si chiede anche il perché non utilizzare più software open source.

ryu hayabusa
02-10-2005, 12:09
Ma, c**zo, io ho 17 anni e saprei scrivere codice più sicuro! Sai programmare? Se non lo sai fare, impara a farlo, capirai che oscenità è quel codice.
E poi ci si chiede anche il perché non utilizzare più software open source.


non ci ho messo le mani , ma mi fido di te
ma quello che ti voglio dire è che siccome quel codice è pieno di errori non vuol dire che tutti i software closed siano così :)

DanieleC88
02-10-2005, 12:21
non ci ho messo le mani , ma mi fido di te
ma quello che ti voglio dire è che siccome quel codice è pieno di errori non vuol dire che tutti i software closed siano così :)
Certo. Ma neanche tutti i software open hanno dei difetti simili (rispondo ad un altro thread che non ricordo in cui tu dicevi qualcosa di simile).

ryu hayabusa
02-10-2005, 12:29
Certo. Ma neanche tutti i software open hanno dei difetti simili (rispondo ad un altro thread che non ricordo in cui tu dicevi qualcosa di simile).


eh?
quando mai ho detto qualcosa di simile ! :mad:
non facciamo di tutta un erba un fascio per favore :)
uff
è una maledizione essere liberi qua dentro.. :(

z3n0
02-10-2005, 13:45
nella lettera aperta agli hobbysti, bill gates dice: chi scriverebbe un software di qualità se a nessuno importa se venite pagati o meno per farlo? :D

ryu hayabusa
02-10-2005, 13:49
nella lettera aperta agli hobbysti, bill gates dice: chi scriverebbe un software di qualità se a nessuno importa se venite pagati o meno per farlo? :D


E rispetto le sue opinioni.. in parte la penso anchio così ; penso che con i soldi in mezzo uno ci mette forse di più..
di sicuro nessuna versione di linux gratuita è come red hat ad esempio .. :)

AnonimoVeneziano
02-10-2005, 13:58
E rispetto le sue opinioni.. in parte la penso anchio così ; penso che con i soldi in mezzo uno ci mette forse di più..
di sicuro nessuna versione di linux gratuita è come red hat ad esempio .. :)


E inizia il flame :D


Debian Rulezzz :D

Ciao

ryu hayabusa
02-10-2005, 14:08
E inizia il flame :D


Debian Rulezzz :D

Ciao


hai ragione niente flame.. :)
ma.. si può anche scambiare pareri senza flame .. :)
però se red hat è la N1 nei server professionali c'è un perchè.. :)

z3n0
02-10-2005, 14:08
non voglio andare ma ot, ma non penso che torvalds quando ha creato il toolkit
riscrivendolo col la filosofia open source non abbia fatto software di qualità..

chi crede nell'open source, lavora bene e basta..se poi pensi ai soldi, non dovresti manco installarlo linux.. :O

pinok
02-10-2005, 15:10
Sei sicuro che la funzione venga utilizzata?
Perché nei sistemi closed source a volte viene usato un sistema di "firma" che protegga dalle copiature indiscriminate: si aggiunge una funzione inutile, fatta appositamente male, che uno andrebbe a riproporre solo se copia pedissequamente il codice, altrimenti non si sognerebbe mai di scriverla.

In un eventuale causa per plagio l'eccezionalità dell'anomalia depone a favore del proprietario, perché l'altro non può dire: "le funzioni sono simili perché anch'io, da solo, sono arrivato a implementarne una che fa le stesse cose e, giocoforza, è scritta più o meno uguale".

ilsensine
03-10-2005, 10:44
Sei sicuro che la funzione venga utilizzata?
Direi proprio di sì

In un eventuale causa per plagio l'eccezionalità dell'anomalia depone a favore del proprietario
...?

Artemisyu
03-10-2005, 11:45
di sicuro nessuna versione di linux gratuita è come red hat ad esempio .. :)

Ed infatti ce ne sono di abbondantemente migliori :)
Redhat non ha un grande linux sotto il culo, ma ha semplicemente una grande assistenza, ed è per quello che è la numero 1 nei server professionali :)

Per ilr esto redhad, senza voglia di fare flame, come emanazione di linux è decisamente mediocre.
Vecchiotta, poco funzionale, poco aggiornata, basso riconoscimento hardware, poco versatile da impostare, con nemmeno un grande corredo di software.

Infatti fa da server.

ciao ciao!

pinok
03-10-2005, 12:05
Infatti fa da server.
Se il problema fosse solo questo, dicci poco!! :D ;)

Artemisyu
03-10-2005, 12:08
Se il problema fosse solo questo, dicci poco!! :D ;)

Qualsiasi distro linux può fare da server, da damn small linux a suse, infatti i server di hwupgrade non sono minimamente redhat.
Il problema è l'assistenza, e redhat si è organizzata in modo da programmare poco ed assistere tanto :)

ciao ciao!

DanieleC88
03-10-2005, 14:31
eh?
quando mai ho detto qualcosa di simile ! :mad:
È successo, altrimenti non te l'avrei mai detto, te lo assicuro, non è da me accusare ingiustamente. Solo che non ricordo DOVE l'hai detto! :D

dierre
03-10-2005, 14:34
nella lettera aperta agli hobbysti, bill gates dice: chi scriverebbe un software di qualità se a nessuno importa se venite pagati o meno per farlo? :D

revolution os :D

ryu hayabusa
03-10-2005, 14:35
È successo, altrimenti non te l'avrei mai detto, te lo assicuro, non è da me accusare ingiustamente. Solo che non ricordo DOVE l'hai detto! :D


posta la pagina dove ho scritto quella cosa..
sono il primo che usa firefox , open office , amule ecc ..
è impossibile.. :)

DanieleC88
03-10-2005, 14:47
posta la pagina dove ho scritto quella cosa..
sono il primo che usa firefox , open office , amule ecc ..
è impossibile.. :)
Era un post sperso in qualche discussione che non ricordo. E al momento non voglio nemmeno cercare.

ryu hayabusa
03-10-2005, 14:48
Era un post sperso in qualche discussione che non ricordo. E al momento non voglio nemmeno cercare.


allora prendi per buono quello che ho detto adesso , anche perchè io dico sempre quello che penso credimi :)

pinok
03-10-2005, 15:06
Qualsiasi distro linux può fare da server, da damn small linux a suse,
Vero. Anche Windows 98 ;), ma poi dipende da quanto funziona bene, da quanto ci devi lavorare per aggiustarla e da quanta assistenza hai. Se Win98 lo avessi in sorgente, lo potessi patchare, integrare, ecc., magari avresti un discreto server.

Quello che voglio dire: se red-hat ha concentrato l'attenzione sui server, c'è gente disposta a pagare pur di star tranquilla e avere una soluzione a determinati problemi e red-hat è in grado di offrirla (quasi) sempre, dov'è il problema?
Non saranno il massimo, ma mi pare che red-hat non sia neanche l'ultima delle distribuzioni, per dire un Windows che è tutta pubblicità e poca sostanza.

Rispetto ad altre, credo abbiano minimizzato gli interventi per tirare su un server.
Poi magari ce ne sono altre sicuramente migliori, questo è il bello di Linux. Ma concentrarsi sui server ed offrire un prodotto completo e più che decente non è un disonore ;)

IMHO

ryu hayabusa
03-10-2005, 15:09
Vero. Anche Windows 98 ;), ma poi dipende da quanto funziona bene, da quanto ci devi lavorare per aggiustarla e da quanta assistenza hai. Se Win98 lo avessi in sorgente, lo potessi patchare, integrare, ecc., magari avresti un discreto server.

Quello che voglio dire: se red-hat ha concentrato l'attenzione sui server, c'è gente disposta a pagare pur di star tranquilla e avere una soluzione a determinati problemi e red-hat è in grado di offrirla (quasi) sempre, dov'è il problema?
Non saranno il massimo, ma mi pare che red-hat non sia neanche l'ultima delle distribuzioni, per dire un Windows che è tutta pubblicità e poca sostanza.

Rispetto ad altre, credo abbiano minimizzato gli interventi per tirare su un server.
Poi magari ce ne sono altre sicuramente migliori, questo è il bello di Linux. Ma concentrarsi sui server ed offrire un prodotto completo e più che decente non è un disonore ;)

IMHO


esatto
gente che paga per stare tranquillla.. nel senso..
fate tutto voi , ma datemi qualcosa di concreto ! :)

NA01
03-10-2005, 17:39
Vero. Anche Windows 98 ;), ma poi dipende da quanto funziona bene, da quanto ci devi lavorare per aggiustarla e da quanta assistenza hai. Se Win98 lo avessi in sorgente, lo potessi patchare, integrare, ecc., magari avresti un discreto server.

buona fortuna......

dai, rispetto tutte le idee, ma manteniamo un minimo di serietà!!!! :)

quanto alla red hat.... probabilmente modifica i suoi kernel per un uso server, ma il punto di forza rimane l'assistenza.
sono poche le aziende che hanno voglia di affidarsi a terzi per l'assistenza a macchine.

1- perchè un buon sistemista unix costa una paccata
2- perchè è infinitamente più comodo e sicuro che chi ha fatto il prodotto si prenda le sue responsabilità ;)

ciao

z3n0
03-10-2005, 19:39
bel film no?