lkml.org 
[lkml]   [2007]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: compat_sys_times() bogus until jiffies >= 0.
From
From: Michael Kerrisk <mtk.manpages@googlemail.com>
Date: Thu, 20 Dec 2007 12:36:52 +0100

> Some testing just now shows me that lseek() on /dev/mem suffers similar
> problems when seeking to bytes 0xfffff001 through to 0xffffffff.

Only on x86 platforms. Sparc, IA64, MIPS, powerpc, etc. all get this
case right.

Yes it's another unfortunate side effect of how error status is
indicated for x86 system calls.

I would suggest, that we put something in place to fix this
in the long term:

1) Start setting the condition codes properly to indicate
error in the system call return path on x86 like other
platforms do now. Make sure that it tips off on
force_successful_syscall_return(), as needed.

2) Come up with a transition plan for glibc et al. to take
advantage of this.

It actually sounds like the kind of problem that could be
solved well using the VDSO page. :-)



\
 
 \ /
  Last update: 2007-12-20 12:53    [W:0.076 / U:0.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site