lkml.org 
[lkml]   [2002]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRE: FW: i386 Linux kernel DoS (clarification)
On 13 Nov 02 at 21:36, Alan Cox wrote:

> Try this
>
> (In the Linus Torvalds tradition its not tested)

I'll test it, but before kernel compiles...

> --- arch/i386/kernel/entry.S~ 2002-11-13 21:30:37.000000000 +0000
> +++ arch/i386/kernel/entry.S 2002-11-13 21:29:47.000000000 +0000
> @@ -126,6 +126,7 @@
> ENTRY(lcall7)
> pushfl # We get a different stack layout with call
> # gates, which has to be cleaned up later..
> + andl $~0x4500, (%esp) # Clear NT since we are doing an iret

this will clear 'D' and 'T' in caller after we do
iret (if lcall7 returns, of course). I'm not sure that callers
expect that.

> @@ -390,6 +392,9 @@
> pushl $do_divide_error
> ALIGN
> error_code:
> + pushfl
> + andl $~0x4500, (%esp) # NT must be clear, do a cld for free
> + popfl

I believe that NT should be automagically cleared by int.
Best regards,
Petr Vandrovec
vandrove@vc.cvut.cz

-
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: 2005-03-22 13:31    [W:0.039 / U:0.504 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site