Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Bug in linux!!!! :-O

  1. #1

    Bug in linux!!!! :-O

    Tempo fa girando su google news ho letto una cosa che mi ha lasciato senza parole! VVoVe:

    Guardate il seguente codice:

    #include <sys/time.h>
    #include <signal.h>
    #include <unistd.h>

    static void Handler(int ignore)
    {
    char fpubuf[108];
    __asm__ __volatile__ ("fsave %0\n" : : "m"(fpubuf));
    write(2, "*", 1);
    __asm__ __volatile__ ("frstor %0\n" : : "m"(fpubuf));
    }

    int main(int argc, char *argv[])
    {
    struct itimerval spec;
    signal(SIGALRM, Handler);
    spec.it_interval.tv_sec=0;
    spec.it_interval.tv_usec=100;
    spec.it_value.tv_sec=0;
    spec.it_value.tv_usec=100;
    setitimer(ITIMER_REAL, &spec, NULL);
    while(1)
    write(1, ".", 1);

    return 0;
    }


    Non provate a compilare il programma!!!!!!

    Si tratta di un vero e proprio bug di linux semplici righe che mandano in crash il sistema! Per fortuna tutta la comunità dell'opensource si è mobilitata per trovare quanto prima possibli una soluzione a questo problemaccio!

    Qualcuno sa se per caso il problema è stato risolto???
    Linux everywhere!!!

  2. #2
    Utente di HTML.it L'avatar di Guglie
    Registrato dal
    Dec 2002
    Messaggi
    1,572
    http://linuxreviews.org/news/2004/06/11_kernel_crash/
    è un bug conosciuto già da un po' di tempo e sono state rilasciate subito le patch e la nuova versione dei kernel 2.6.* e 2.4.*

    powered by GNU/Linux Gentoo
    A Elbereth Gilthoniel o menel palan-diriel, le nallon sí di-nguruthos! A tiro nin, Fanuilos!

  3. #3
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Fico

    Chi mi spiega come agisce il codice istruzione per istruzione?
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  4. #4
    Originariamente inviato da /dev/null
    Fico

    Chi mi spiega come agisce il codice istruzione per istruzione?
    sì ecco perchè io gli ho dato anche più di un'occhiata ma non ho mica capito come mai dovrebbe impastarsi

    e soprattutot mi perdo nella handle quando si comincia a parlare di asm..
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  5. #5
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Originariamente inviato da adarkar
    sì ecco perchè io gli ho dato anche più di un'occhiata ma non ho mica capito come mai dovrebbe impastarsi

    e soprattutot mi perdo nella handle quando si comincia a parlare di asm..
    Anch'io mi perdo subito li'
    L'assembler non e' il mio forte...
    Se ti leggi qualche pezzo di codice delle glibc troverai tante funzioni definite usando __asm__, __volatile__ e tante altre cose, ma non ho ancora ben afferrato di cosa si tratta



    Comunque... L'idea che mi sono fatto (probabilmente completamente sbagliata) e' che quel programma gestisce la sigalarm... Che viene usata per i timer...
    Poi dice al kernel di far partire un timer: al termine del timer il programma ricevera' un sigalarm...
    E quindi in qualche modo, fa si che il processore se ne sta tutto il tempo in pausa...

    Pero' credo non sia corretto cio' che ho detto, o comunque che ci siano grosso lacune...
    E mi garberebbe capire come funziona
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  6. #6

    mah e chissà


    nelle glibc per forza ci dev'essere unpo' di asm così come nel kernel perchè senò col C e basta non si potrebbe fare niente
    almeno io l'ho sempre capita così
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  7. #7
    Originariamente inviato da Guglie
    http://linuxreviews.org/news/2004/06/11_kernel_crash/
    è un bug conosciuto già da un po' di tempo e sono state rilasciate subito le patch e la nuova versione dei kernel 2.6.* e 2.4.*

    La potenza dell'open source!!! Migliaia di menti aperte non si possono sbagliare!

    Linux everywhere!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.