[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <18226.27701.782268.375231@cargo.ozlabs.ibm.com>
Date: Thu, 8 Nov 2007 12:53:57 +1100
From: Paul Mackerras <paulus@...ba.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: lkml@...idb.org, linux-kernel@...r.kernel.org, drepper@...hat.com,
mtk-manpages@....net
Subject: Re: compat_sys_times() bogus until jiffies >= 0.
Andrew Morton writes:
> Given all this stuff, the return value from sys_times() doesn't seem a
> particularly useful or reliable kernel interface.
I think the best thing would be to ignore any error from copy_to_user
and always return the number of clock ticks. We should call
force_successful_syscall_return, and glibc on x86 should be taught not
to interpret negative values as an error.
POSIX doesn't require us to return an EFAULT error if the buf argument
is bogus. If userspace does supply a bogus buf pointer, then either
it will dereference it itself and get a segfault, or it won't
dereference it, in which case it obviously didn't care about the
values we tried to put there.
If we try to return an error under some circumstances, then there is
at least one 32-bit value for the number of ticks that will cause
confusion. We can either change that value (or values) to some other
value, which seems pretty bogus, or we can just decide not to return
any errors. The latter seems to me to have no significant downside
and to be the simplest solution to the problem.
Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists