Pokud chybu odhalím po týdnu provozu, tak si dám kafe, zajdu v klidu na oběd, a pak udělám rollback na minulou verzi standardními prostředky.
Ten restore point má smysl, když to po updatu buď nenaběhne vůbec, nebo to crashne tak rychle, že se nedá nic dělat. Takže klidně ať se den po úspěšném nabootování zase automaticky zruší.
Pro víceméně HW ovladače tohle testování MS vyžaduje, jinak vám jej nepodepíše (WHQL). Musíte ovladač nechat projít řadou testů na různých verzích Windows a s binárkou MS dát i logy z těchto testů. Může to být dost na dlouho, takže ne všichni bývají, řekněme, poctiví.
U čistě SW ovladačů ty testy nemají tolik smysl (jsou hodně orientované na HW), ale i tak -- pokud chcete WHQL podpis, musíte se docela snažit. I bezpečnostní ovladače často komunikaci s HW filtrují.
Kdyby byl problém v tom, co naznačujete (prostě to neotestovali pro nějakou kombinaci verze OS či jazyka), tak ten výpadek nebude takto brutální.
Tak jako pokud se bavime o .sys souboru, jehoz obsahem jsou same nuly... tak to fakt neni problem testovani na vsech kombinacich kernelu, verzi atd :-) To jen "sestavit" bude opruz... a to, ze to projde ven na koncove stanice znaci i chyby co se update/deployment procesu tyce - kdy se zjevne vubec neresi integrita, ackoliv ten soubor strukturu v zasade danou ma, ze...?
Tak ono se to tak mohlo jenom jmenovat, treba to nacital jejich loader a linkoval hodne naivne :D
Jinak windows ma zbytecne prisny BSOD, pokud udelate dereferenci z NULL na linuxu, tak dostanete nejaky panic message a dany syscall nebo kernel thread se nejspis i ukonci spravne (je to robustni), a zbytek systemu prezije.
Na win jakakoliv banalita skonci totalnim koncem. Jsem nedavno kodil neco, co si povidalo s hw z userspace, a BSOD "process has locked pages" byl dost castej. Jako dyt to vi ze to ma zamceny stranky, tak at je kouka odblokovat kdyz to zabije proces. Bych to mohl sirit jako DoS tool, bsod z userspace na prani :D (ale mozna tam maj primo i bsod syscall.. ze bych si usetril dve volani :D
To je otázka, zda je linux tak robusní, nebo naopak benevolentní. Ale pokud se na to podívám z pohledu bezpečnosti systému, tak teoreticky každá banalita, jak jste to pojmenoval, může být v nějakém momentě zneužita. A pokud si musím vybrat, jestli mít systém raději mrtvý nebo napadený, tak za sebe asi volím tu první variantu ;-)
Buhvi zda to MS podepsal na dobre slovo, protoze ISV byl velikej.
Ale co jsem slysel, tak takove genericke/proxy drivery, ktere pak umozni zbytek implementace v userspace se pry uz nepodepisuji - prave z toho duvodu, at ta komponenta pak neni zneuzitelna na jiny ucel nez vyrobce zamyslel.
(prakticky pro vyvojovou fazi mi nezbyvalo nic jineho, nez to takto zprasit taky - je snazsi spustit novou verzi programu, nez cekat na reboot a jeste odebirat a instalovat drivery, a to nemluvim o moznostech ladeni).
Pokud chcete podepsat driver, neposíláte zdrojáky, takže MS nedokáže poznat, že tam máte skrytý loader. Jen se v případě WHQL snaží alespoň zaručit to, že ten ovladač bude nějak rozumně fungovat i v trochu nenormálních situacích. Pokud nejdete přes WHQL, (jen Attestation Signing), splnění nějakých testů netřeba (pokud to nedávno nezměnili).
Samozřejmě, zdlouhavost některých procesů (ať už WHQL či třeba ELAM, který je hodně manuální ze strany MS, jak jsem pochopil z vyprávění) vede k tomu, že se firmy snaží "outsourcovat" funkce z driveru pryč. Protože dostat i malou změnu do produkce může trvat dost dlouho.