lkml.org 
[lkml]   [2006]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] i386: clean up user_mode() use

* pageexec@freemail.hu <pageexec@freemail.hu> 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 <pageexec@freemail.hu>

agreed!

Acked-by: Ingo Molnar <mingo@elte.hu>

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-07-02 15:44    [W:1.802 / U:0.596 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site