• [^] # Re: et si .... Troll farceur de Microsoft

    Posté par . En réponse à la dépêche Microsoft esquisse une réponse à la commission européenne. Évalué à 1.

    Petit exemple pour illustrer la chose:

    Note: Se rappeler qu'un driver tourne en mode kernel et peut ecrire ou il veut, comme sous Linux.

    Cas 1: IRQ_NOT_LESS_OR_EQUAL
    Le driver alloue de la memoire paginee, il raise son IRQ a un niveau au dessus de celui du memory manager, et il essaie d'acceder a cette memoire, si par malheur la page s'est retrouvee dans le swap plutot qu'en memoire vive, il faut la charger en RAM, mais pas de bol, le niveau d'IRQ est au-dessus de celui du memory manager, qui ne peut donc pas tourner, tu peux pas acceder a cette page --> ecran bleu avec le message IRQ_NOT_LESS_OR_EQUAL

    Celui c'est le cas typique qu'on rencontre souvent, c'est aleatoire car ca depend du bon vouloir du memory manager qui decide quand il veut que la memoire paginee allouee par le driver finit en swap ou en memoire vive.

    cas 2: BAD_POOL_CALLER et autres
    le driver essaie de liberer 2 fois le meme emplacement, essaie de liberer la RAM a un IRQ level trop haut,...

    cas 3:ATTEMPTED_WRITE_TO_READONLY_MEMORY
    le titre est clair je pense

    cas 4: HARDWARE_INTERRUPT_STORM
    un driver oublie d'envoyer un release request apres une IRQ hard, etc...

    ...

    Les problemes de drivers sont nombreux et differents. Le driver peut tout simplement se mettre a ecrire n'importe ou dans le kernel et tu te retrouves avec des erreurs qui n'ont rien a voir car le kernel bugcheck ailleurs apres s'etre rendu compte que quelque chose ne jouait pas dans ses donnees, etc...

    Et dans ces cas la, Windows n'y est pour rien du tout, et contrairement a ce que tu peux croire, le probleme sous Linux est du meme type, je n'aurais aucun probleme a t'ecrire un driver qui fait planter aleatoirement ton Linux, simplement en ecrivant une fois de temps en temps n'importe ou dans le memory space du kernel.