From: Frank v Waveren <fvw@var.cx>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@osdl.org>, Ingo Molnar <mingo@elte.hu>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] prevent timespec/timeval to ktime_t overflow
Date: Wed, 30 Aug 2006 23:44:41 +0200 [thread overview]
Message-ID: <20060830214441.GA21353@var.cx> (raw)
In-Reply-To: <1156927468.29250.113.camel@localhost.localdomain>
[-- Attachment #1: Type: text/plain, Size: 1441 bytes --]
On Wed, Aug 30, 2006 at 10:44:28AM +0200, Thomas Gleixner wrote:
> Frank v. Waveren pointed out that on 64bit machines the timespec to
> ktime_t conversion might overflow. This is also true for timeval to
> ktime_t conversions. This breaks a "sleep inf" on 64bit machines.
...
> Check the seconds argument to the conversion and limit it to the maximum
> time which can be represented by ktime_t.
It's a solution, and it more or less fixes things without any changes
to userspace, which is nice. I still prefer my patch in
<20060827083438.GA6931@var.cx> though, possibly with modifications so
it doesn't affect all timespec users but only nanosleep (we'd have to
check if the other timespec users aren't converting to ktime_t).
With this patch, we sleep shorter than specified, and don't signal
this in any way. Returning EINVAL for anything except negative tv_sec
or invalid tv_nsec breaks the spec too, but I prefer errors to
silently sleeping too short.
I'll grant this is more of an aesthetic point than something that'll
cause real-world problems (300 years is a long time for any sleep),
but if things break I like them to do so as loudly as possible, as a
general rule.
--
Frank v Waveren Key fingerprint: BDD7 D61E
fvw@var.cx 5D39 CF05 4BFC F57A
Public key: hkp://wwwkeys.pgp.net/468D62C8 FA00 7D51 468D 62C8
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2006-08-30 21:44 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-30 8:44 [PATCH] prevent timespec/timeval to ktime_t overflow Thomas Gleixner
2006-08-30 21:44 ` Frank v Waveren [this message]
2006-08-30 22:05 ` Thomas Gleixner
2006-08-30 22:08 ` Frank v Waveren
2006-08-30 22:22 ` Thomas Gleixner
2006-08-30 22:26 ` Frank v Waveren
2006-09-01 3:46 ` Andrew Morton
2006-09-01 8:56 ` Thomas Gleixner
2006-09-01 9:04 ` Andrew Morton
2006-09-01 9:30 ` Thomas Gleixner
2006-09-02 3:13 ` Andrew Morton
2006-09-02 3:32 ` Andrew Morton
2006-09-02 8:08 ` Andi Kleen
2006-09-02 18:41 ` Thomas Gleixner
2006-09-02 19:28 ` Thomas Gleixner
2006-09-02 19:43 ` Andrew Morton
2006-09-02 19:32 ` Andrew Morton
2006-09-02 11:04 ` Frank v Waveren
2006-09-02 18:44 ` Thomas Gleixner
2006-09-03 3:13 ` Frank v Waveren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060830214441.GA21353@var.cx \
--to=fvw@var.cx \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.