lkml.org 
[lkml]   [2008]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
FromChris Lattner <>
SubjectRe: RELEASE BLOCKER: Linux doesn't follow x86/x86-64 ABI wrt direction flag
DateWed, 5 Mar 2008 16:36:41 -0800
>>> Richard Guenther wrote:
>>>> We didn't yet run into this issue and build openSUSE with 4.3
>>>> since more
>>>> than
>>>> three month.
>>>
>>> Well, how often do you take a trap inside an overlapping memmove()?
>>
>> How hard is it to change the kernel signal entry path from "pushf" to
>> "pushf;cld"? Problem solved, no?
>
> The problem is with old kernels, which by definition stay unfixed.

My impression was that the problem occurs in GCC compiled code in the
kernel itself, not in user space:

1. User space has direction flag set.
2. signal occurs
3. kernel code is entered
4. kernel code does string operation <boom>

Fixing this instance of the problem by changing GCC requires (at
least) recompiling the kernel.

Changing the ABI for this seems like a pretty crazy solution to a very
minor and easily fixable kernel bug. Distros have control over what
kernels they ship, they have absolute power to ensure this doesn't
affect their users when running default kernels - without changing the
compiler.

-Chris


\
 
 \ /
  Last update: 2008-03-06 01:45    [from the cache]
©2003-2010