Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

On i386 the descriptor cannot be both writable and executable at same time. But in order to support sane semantics for C, typical Unix OS (which for purposes of this discussion includes 32bit Windows) loads CS, DS and SS with different descriptor selectors that nevertheless alias to same range of linear addresses and thus essentially disable most of the MMU's protection logic and rely only on paging. And traditional 32bit i386 page table entries only have two flags: accessible at all (called "present") and writable.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: