( PaXTeam | 2010. 03. 09., k – 13:30 )

> x86-on amikor software hiba miatt szakad meg a futas, mint pl. a general protection fault eseten, azt kivetelnek hivjak - egyebkent meg megszakitasnak

ize, kicsit kevered a szezont a fazonnal. az exception/interrupt/fault/etc szavaknak kornyezetfuggo jelentese van, es te szepen osszekeverted a SEH-fele exception-t a processzor altal generalttal. a ketto alapvetoen fuggetlen egymastol (egyiket lehet generalni a masik nelkul). ha mar mindenaron hasonlatot keresel, akkor a SEH-t a UNIX-fele signal fogalommal lehet tarsitani, es a szamodra fontos kulonbseg a ketto kozott az, hogy a UNIX signal mechanizmus nem hasznal olyan userland-ben tarolt adatstrukturat, amit a SEH igen es amit exploitok eloszeretettel hasznaltak ki (az mas kerdes, hogy egy konkret signal kezelo altal hasznalt adatokat manipulalva esetleg el lehet erni valami hasznosat, de az nem a signal mechanizmus hibaja akkor, es ugyanugy igaz lenne egy SEH-re is vagy barmilyen kodra igazabol). persze a hw/sw exception kezeles kozott lehet kapcsolat, pl. ha egy program egy szamara pillanatnyilag nem lekepzett virtualis cimet akar olvasni/irni, akkor az a procinal kiveri a biztositekot (page fault), amit aztan a kernel vagy lekezel (mert a virtualis cim ervenyes volt, csak nem volt alatta meg fizikai memoria) vagy teljesen ervenytelen virtualis cim eseten valamilyen modon kozol a userlanddel (SIGSEGV UNIX alatt, ACCESS_VIOLATION SEH eseten).