* [email protected] <[email protected]> wrote:
> on i386 there're two macros used for testing the userland execution
> mode: user_mode() and user_mode_vm(), which is not intuitive as on
> many (all?) other architectures there's only user_mode() and
> architecture independent code is written with user_mode() only, and
> even on i386 someone can make the wrong assumption that user_mode()
> works as it does on other archs.
>
> two cases in point:
> drivers/oprofile/cpu_buffer.c:oprofile_add_sample() uses user_mode()
> which can lead to incorrect results if the interrupted task was in v86
> mode with a code segment fooling the user_mode() selector RPL check.
> also, arch/i386/kernel/kprobes.c:kprobe_exceptions_notify() used to
> use user_mode() whereas it really meant user_mode_vm(), this is in
> fact incorrect until 2.6.17.
>
> to avoid such mistakes in the future, the suggested solution is to
> make user_mode() on i386 consistent with the generic expectation and
> make it detect any user mode execution context, that is, it should
> take the role of user_mode_vm() and a new user_mode_novm() is
> introduced for the i386 specific cases where v86 mode can be excluded.
> in short, the patch simply does a
>
> user_mode_vm -> user_mode
> user_mode -> user_mode_novm
>
> substitution as appropriate.
>
> Signed-off-by: PaX Team <[email protected]>
agreed!
Acked-by: Ingo Molnar <[email protected]>
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]