Bug 6949
Summary: | Linux does not differentiate between memory faults and privileged instruction faults | ||
---|---|---|---|
Product: | Platform Specific/Hardware | Reporter: | Evan Teran (eteran) |
Component: | i386 | Assignee: | other_other |
Status: | REJECTED INVALID | ||
Severity: | normal | CC: | akpm, mingo, protasnb, tglx |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.17 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Evan Teran
2006-08-02 12:44:32 UTC
Evan, is the signal disposition still same? Maybe you can raise this question on the LKML, since it requires discussion. Thanks. we always raised SIGSEGV on instructions that are "legal" but where sufficient permission is not present to execute them in the current context. SIGILL is for "invalid opcode" exception where the CPU says that it does not know the opcode at all. so this is not a bug nor an inconsistency in my opinion. Ingo Memory fault and privileged instruction in user space are raising the same exception vector on x86 (idt 13 general protection fault), which makes sense as it protects against using privileged instructions from the wrong context. The general protection fault can have several dozen root causes (See Intel Software Deveopler manual Volume 3A, Chapter 5.15) and decoding it in the trap handler would be a horrible spaghetti code with no obvious benefit. Thanks, tglx Thanks you. Closing the bug. |