* [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval.
@ 2007-06-25 10:58 Tony Breeds
2007-06-25 12:39 ` Benjamin Herrenschmidt
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Tony Breeds @ 2007-06-25 10:58 UTC (permalink / raw)
To: LinuxPPC-dev, Paul Mackerras
Hi Paul,
It'd be nice if this made it into 2.6.22, esp. now that more
distros are shipping glibc's that will use the VDSO.
I think I got the asm right, it works on pSerie, either way feedback
welcome.
From: Tony Breeds <tony@bakeyournoodle.com>
Fix VDSO gettimeofday() when called with NULL struct timeval.
Consider the prototype for gettimeofday():
int gettimofday(struct timeval *tv, struct timezone *tz);
AFAICT it is valid to call with /either/ tv or tz being NULL, the C version
of sys_gettimeofday() supports this, the current version of gettimeofday() in
the VDSO will SEGV if called with a NULL tv.
This patch fixes this.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
arch/powerpc/kernel/vdso32/gettimeofday.S | 13 +++++++------
arch/powerpc/kernel/vdso64/gettimeofday.S | 8 +++++---
2 files changed, 12 insertions(+), 9 deletions(-)
Index: working/arch/powerpc/kernel/vdso32/gettimeofday.S
===================================================================
--- working.orig/arch/powerpc/kernel/vdso32/gettimeofday.S 2007-06-25 19:35:47.000000000 +1000
+++ working/arch/powerpc/kernel/vdso32/gettimeofday.S 2007-06-25 19:40:34.000000000 +1000
@@ -32,8 +32,10 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
mr r11,r4 /* r11 saves tz */
bl __get_datapage@local /* get data page */
mr r9, r3 /* datapage ptr in r9 */
+ cmpli cr0,r10,0 /* check if tv is NULL */
+ beq 1f
bl __do_get_xsec@local /* get xsec from tb & kernel */
- bne- 2f /* out of line -> do syscall */
+ bne- 3f /* out of line -> do syscall */
/* seconds are xsec >> 20 */
rlwinm r5,r4,12,20,31
@@ -50,20 +52,19 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
mulhwu r5,r5,r6
stw r5,TVAL32_TV_USEC(r10)
- cmpli cr0,r11,0 /* check if tz is NULL */
- beq 1f
+1: cmpli cr0,r11,0 /* check if tz is NULL */
+ beq 2f
lwz r4,CFG_TZ_MINUTEWEST(r9)/* fill tz */
lwz r5,CFG_TZ_DSTTIME(r9)
stw r4,TZONE_TZ_MINWEST(r11)
stw r5,TZONE_TZ_DSTTIME(r11)
-1: mtlr r12
+2: mtlr r12
crclr cr0*4+so
li r3,0
blr
-2:
- mtlr r12
+3: mtlr r12
mr r3,r10
mr r4,r11
li r0,__NR_gettimeofday
Index: working/arch/powerpc/kernel/vdso64/gettimeofday.S
===================================================================
--- working.orig/arch/powerpc/kernel/vdso64/gettimeofday.S 2007-06-25 19:35:52.000000000 +1000
+++ working/arch/powerpc/kernel/vdso64/gettimeofday.S 2007-06-25 19:42:45.000000000 +1000
@@ -32,6 +32,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
mr r11,r3 /* r11 holds tv */
mr r10,r4 /* r10 holds tz */
bl V_LOCAL_FUNC(__get_datapage) /* get data page */
+ cmpldi cr0,r11,0 /* check if tv is NULL */
+ beq 1f
bl V_LOCAL_FUNC(__do_get_xsec) /* get xsec from tb & kernel */
lis r7,15 /* r7 = 1000000 = USEC_PER_SEC */
ori r7,r7,16960
@@ -43,14 +45,14 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
* XSEC_PER_SEC
*/
rldicl r0,r0,44,20
- cmpldi cr0,r10,0 /* check if tz is NULL */
+1: cmpldi cr0,r10,0 /* check if tz is NULL */
std r0,TVAL64_TV_USEC(r11) /* store usec in tv */
- beq 1f
+ beq 2f
lwz r4,CFG_TZ_MINUTEWEST(r3)/* fill tz */
lwz r5,CFG_TZ_DSTTIME(r3)
stw r4,TZONE_TZ_MINWEST(r10)
stw r5,TZONE_TZ_DSTTIME(r10)
-1: mtlr r12
+2: mtlr r12
crclr cr0*4+so
li r3,0 /* always success */
blr
Yours Tony
linux.conf.au http://linux.conf.au/ || http://lca2008.linux.org.au/
Jan 28 - Feb 02 2008 The Australian Linux Technical Conference!
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-25 10:58 [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval Tony Breeds
@ 2007-06-25 12:39 ` Benjamin Herrenschmidt
2007-06-25 23:37 ` Tony Breeds
2007-06-25 13:35 ` Segher Boessenkool
2007-06-25 23:50 ` [PATCH v2] " Tony Breeds
2 siblings, 1 reply; 12+ messages in thread
From: Benjamin Herrenschmidt @ 2007-06-25 12:39 UTC (permalink / raw)
To: Tony Breeds; +Cc: LinuxPPC-dev, Paul Mackerras
> Index: working/arch/powerpc/kernel/vdso32/gettimeofday.S
> ===================================================================
> --- working.orig/arch/powerpc/kernel/vdso32/gettimeofday.S 2007-06-25 19:35:47.000000000 +1000
> +++ working/arch/powerpc/kernel/vdso32/gettimeofday.S 2007-06-25 19:40:34.000000000 +1000
> @@ -32,8 +32,10 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
> mr r11,r4 /* r11 saves tz */
> bl __get_datapage@local /* get data page */
> mr r9, r3 /* datapage ptr in r9 */
> + cmpli cr0,r10,0 /* check if tv is NULL */
> + beq 1f
Please use cmplwi here.
> bl __do_get_xsec@local /* get xsec from tb & kernel */
> - bne- 2f /* out of line -> do syscall */
> + bne- 3f /* out of line -> do syscall */
>
> /* seconds are xsec >> 20 */
> rlwinm r5,r4,12,20,31
> @@ -50,20 +52,19 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
> mulhwu r5,r5,r6
> stw r5,TVAL32_TV_USEC(r10)
>
> - cmpli cr0,r11,0 /* check if tz is NULL */
> - beq 1f
> +1: cmpli cr0,r11,0 /* check if tz is NULL */
> + beq 2f
And fix that one while at it :-) It's the same thing, but at least one
is explicit on the size of the comparison. Also, I don't think you need
to renumber the labels, or did I miss something ?
Cheers,
Ben.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-25 10:58 [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval Tony Breeds
2007-06-25 12:39 ` Benjamin Herrenschmidt
@ 2007-06-25 13:35 ` Segher Boessenkool
2007-06-25 23:39 ` Tony Breeds
2007-06-25 23:50 ` [PATCH v2] " Tony Breeds
2 siblings, 1 reply; 12+ messages in thread
From: Segher Boessenkool @ 2007-06-25 13:35 UTC (permalink / raw)
To: Tony Breeds; +Cc: LinuxPPC-dev, Paul Mackerras
> It'd be nice if this made it into 2.6.22, esp. now that more
> distros are shipping glibc's that will use the VDSO.
Yeah. Not really vital though, no sane program would call
gettimeofday() with a NULL timeval (since that doesn't do
anything). Or did you find such a program (other than a
testsuite)?
> +++ working/arch/powerpc/kernel/vdso32/gettimeofday.S 2007-06-25
> 19:40:34.000000000 +1000
> @@ -32,8 +32,10 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
> mr r11,r4 /* r11 saves tz */
> bl __get_datapage@local /* get data page */
> mr r9, r3 /* datapage ptr in r9 */
> + cmpli cr0,r10,0 /* check if tv is NULL */
cmplwi r10,0
cmpli with two or three arguments is not an existing PowerPC
instruction. Also, don't write cr0 if you don't do the same
in the accompanying branch insn, it only confuses things.
> + beq 1f
> bl __do_get_xsec@local /* get xsec from tb & kernel */
> - bne- 2f /* out of line -> do syscall */
> + bne- 3f /* out of line -> do syscall */
No need to renumber the labels. Either pick a higher
number for your new label (nothing says they need to be
in order); or reuse some other number (both your new and
the original 1: can be 1: without any problem, these are
local labels after all); or you can use 0: since that's
a valid local label as well.
Segher
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-25 12:39 ` Benjamin Herrenschmidt
@ 2007-06-25 23:37 ` Tony Breeds
0 siblings, 0 replies; 12+ messages in thread
From: Tony Breeds @ 2007-06-25 23:37 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: LinuxPPC-dev, Paul Mackerras
On Mon, Jun 25, 2007 at 10:39:42PM +1000, Benjamin Herrenschmidt wrote:
> Please use cmplwi here.
Will do.
> And fix that one while at it :-) It's the same thing, but at least one
> is explicit on the size of the comparison. Also, I don't think you need
> to renumber the labels, or did I miss something ?
No I did.
Yours Tony
linux.conf.au http://linux.conf.au/ || http://lca2008.linux.org.au/
Jan 28 - Feb 02 2008 The Australian Linux Technical Conference!
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-25 13:35 ` Segher Boessenkool
@ 2007-06-25 23:39 ` Tony Breeds
0 siblings, 0 replies; 12+ messages in thread
From: Tony Breeds @ 2007-06-25 23:39 UTC (permalink / raw)
To: Segher Boessenkool; +Cc: LinuxPPC-dev, Paul Mackerras
On Mon, Jun 25, 2007 at 03:35:51PM +0200, Segher Boessenkool wrote:
> Yeah. Not really vital though, no sane program would call
> gettimeofday() with a NULL timeval (since that doesn't do
> anything). Or did you find such a program (other than a
> testsuite)?
No real program just me testing things. I wanted to see what the
kernel had in sys_tz ;P
> cmplwi r10,0
Will do. BenH also suggested this change.
> No need to renumber the labels. Either pick a higher
> number for your new label (nothing says they need to be
> in order); or reuse some other number (both your new and
> the original 1: can be 1: without any problem, these are
> local labels after all); or you can use 0: since that's
> a valid local label as well.
Thanks.
Yours Tony
linux.conf.au http://linux.conf.au/ || http://lca2008.linux.org.au/
Jan 28 - Feb 02 2008 The Australian Linux Technical Conference!
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-25 10:58 [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval Tony Breeds
2007-06-25 12:39 ` Benjamin Herrenschmidt
2007-06-25 13:35 ` Segher Boessenkool
@ 2007-06-25 23:50 ` Tony Breeds
2007-06-26 1:55 ` Benjamin Herrenschmidt
2007-06-29 20:39 ` Will Schmidt
2 siblings, 2 replies; 12+ messages in thread
From: Tony Breeds @ 2007-06-25 23:50 UTC (permalink / raw)
To: LinuxPPC-dev, Paul Mackerras
Updated to include feedback from Ben and Segher, also reposition the
compare in the 64bit VDSO to catch all the references to tv.
From: Tony Breeds <tony@bakeyournoodle.com>
Fix VDSO gettimeofday() when called with NULL struct timeval.
Consider the prototype for gettimeofday():
int gettimofday(struct timeval *tv, struct timezone *tz);
AFAICT it is valid to call with /either/ tv or tz being NULL, the C version
of sys_gettimeofday() supports this, the current version of gettimeofday() in
the VDSO will SEGV if called with a NULL tv.
This patch fixes this.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
Also fixes some whitespace damage at the top of vdso64/gettimeofday.S
arch/powerpc/kernel/vdso32/gettimeofday.S | 13 +++++++------
arch/powerpc/kernel/vdso64/gettimeofday.S | 8 +++++---
2 files changed, 12 insertions(+), 9 deletions(-)
Index: working/arch/powerpc/kernel/vdso32/gettimeofday.S
===================================================================
--- working.orig/arch/powerpc/kernel/vdso32/gettimeofday.S
+++ working/arch/powerpc/kernel/vdso32/gettimeofday.S
@@ -32,6 +32,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
mr r11,r4 /* r11 saves tz */
bl __get_datapage@local /* get data page */
mr r9, r3 /* datapage ptr in r9 */
+ cmplwi r10,0 /* check if tv is NULL */
+ beq 3f
bl __do_get_xsec@local /* get xsec from tb & kernel */
bne- 2f /* out of line -> do syscall */
@@ -50,7 +52,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
mulhwu r5,r5,r6
stw r5,TVAL32_TV_USEC(r10)
- cmpli cr0,r11,0 /* check if tz is NULL */
+3: cmplwi r11,0 /* check if tz is NULL */
beq 1f
lwz r4,CFG_TZ_MINUTEWEST(r9)/* fill tz */
lwz r5,CFG_TZ_DSTTIME(r9)
Index: working/arch/powerpc/kernel/vdso64/gettimeofday.S
===================================================================
--- working.orig/arch/powerpc/kernel/vdso64/gettimeofday.S
+++ working/arch/powerpc/kernel/vdso64/gettimeofday.S
@@ -1,5 +1,4 @@
-
- /*
+/*
* Userland implementation of gettimeofday() for 64 bits processes in a
* ppc64 kernel for use in the vDSO
*
@@ -32,6 +31,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
mr r11,r3 /* r11 holds tv */
mr r10,r4 /* r10 holds tz */
bl V_LOCAL_FUNC(__get_datapage) /* get data page */
+ cmpldi r10,0 /* check if tv is NULL */
+ beq 2f
bl V_LOCAL_FUNC(__do_get_xsec) /* get xsec from tb & kernel */
lis r7,15 /* r7 = 1000000 = USEC_PER_SEC */
ori r7,r7,16960
@@ -43,8 +44,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
* XSEC_PER_SEC
*/
rldicl r0,r0,44,20
- cmpldi cr0,r10,0 /* check if tz is NULL */
std r0,TVAL64_TV_USEC(r11) /* store usec in tv */
+2: cmpldi r10,0 /* check if tz is NULL */
beq 1f
lwz r4,CFG_TZ_MINUTEWEST(r3)/* fill tz */
lwz r5,CFG_TZ_DSTTIME(r3)
Yours Tony
linux.conf.au http://linux.conf.au/ || http://lca2008.linux.org.au/
Jan 28 - Feb 02 2008 The Australian Linux Technical Conference!
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-25 23:50 ` [PATCH v2] " Tony Breeds
@ 2007-06-26 1:55 ` Benjamin Herrenschmidt
2007-06-26 7:55 ` Segher Boessenkool
2007-06-29 20:39 ` Will Schmidt
1 sibling, 1 reply; 12+ messages in thread
From: Benjamin Herrenschmidt @ 2007-06-26 1:55 UTC (permalink / raw)
To: Tony Breeds; +Cc: LinuxPPC-dev, Paul Mackerras
On Tue, 2007-06-26 at 09:50 +1000, Tony Breeds wrote:
> Updated to include feedback from Ben and Segher, also reposition the
> compare in the 64bit VDSO to catch all the references to tv.
>
> From: Tony Breeds <tony@bakeyournoodle.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-26 1:55 ` Benjamin Herrenschmidt
@ 2007-06-26 7:55 ` Segher Boessenkool
0 siblings, 0 replies; 12+ messages in thread
From: Segher Boessenkool @ 2007-06-26 7:55 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: LinuxPPC-dev, Paul Mackerras
>> Updated to include feedback from Ben and Segher, also reposition the
>> compare in the 64bit VDSO to catch all the references to tv.
>>
>> From: Tony Breeds <tony@bakeyournoodle.com>
>
> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Yep fine, thanks Tony.
Segher
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-25 23:50 ` [PATCH v2] " Tony Breeds
2007-06-26 1:55 ` Benjamin Herrenschmidt
@ 2007-06-29 20:39 ` Will Schmidt
2007-06-29 20:49 ` [PATCH v2.1 ] " Will Schmidt
1 sibling, 1 reply; 12+ messages in thread
From: Will Schmidt @ 2007-06-29 20:39 UTC (permalink / raw)
To: Tony Breeds, will_schmidt; +Cc: LinuxPPC-dev, Paul Mackerras
On Tue, 2007-06-26 at 09:50 +1000, Tony Breeds wrote:
> Updated to include feedback from Ben and Segher, also reposition the
> compare in the 64bit VDSO to catch all the references to tv.
> --- working.orig/arch/powerpc/kernel/vdso64/gettimeofday.S
> +++ working/arch/powerpc/kernel/vdso64/gettimeofday.S
<snippage>
> @@ -32,6 +31,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
> mr r11,r3 /* r11 holds tv */
> mr r10,r4 /* r10 holds tz */
> bl V_LOCAL_FUNC(__get_datapage) /* get data page */
> + cmpldi r10,0 /* check if tv is NULL */
Whoops! r10 holds tz value, not tv. This should be r11.
As is, a (64-bit) userspace app calling gettimeofday(&tv,NULL); will
"silently fail", and the application is left using whatever old data
happens to be in the tv structure.
This affected my G5 (gentoo), most noticable when apps like 'ping' and
nfs-mounts quit working properly. :-)
patch follows momentarily...
> + beq 2f
> bl V_LOCAL_FUNC(__do_get_xsec) /* get xsec from tb & kernel */
> lis r7,15 /* r7 = 1000000 = USEC_PER_SEC */
> ori r7,r7,16960
> @@ -43,8 +44,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
> * XSEC_PER_SEC
> */
> rldicl r0,r0,44,20
> - cmpldi cr0,r10,0 /* check if tz is NULL */
> std r0,TVAL64_TV_USEC(r11) /* store usec in tv */
> +2: cmpldi r10,0 /* check if tz is NULL */
> beq 1f
> lwz r4,CFG_TZ_MINUTEWEST(r3)/* fill tz */
> lwz r5,CFG_TZ_DSTTIME(r3)
>
> Yours Tony
>
> linux.conf.au http://linux.conf.au/ || http://lca2008.linux.org.au/
> Jan 28 - Feb 02 2008 The Australian Linux Technical Conference!
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2.1 ] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-29 20:39 ` Will Schmidt
@ 2007-06-29 20:49 ` Will Schmidt
2007-06-29 22:45 ` Segher Boessenkool
2007-07-02 23:20 ` Tony Breeds
0 siblings, 2 replies; 12+ messages in thread
From: Will Schmidt @ 2007-06-29 20:49 UTC (permalink / raw)
To: willschm; +Cc: LinuxPPC-dev, Paul Mackerras
The vdso64 portion of patch 74609f4536f2b8fd6a48381bbbe3cd37da20a527 for
fixing problems with NULL gettimeofday input mistakenly checks for a
null tz field twice, when it should be checking for null tz once, and
null tv once; by way of a r10/r11 typo.
Any application calling gettimeofday(&tv,NULL) will "fail".
This corrects that typo, and makes my G5 happy.
tested on G5.
Signed-off-by: Will Schmidt <will_schmidt@vnet.ibm.com>
cc: Tony Breeds <tony@bakeyournoodle.com>
cc: Ben Herrenschmidt <benh@kernel.crashing.org>
---
diff --git a/arch/powerpc/kernel/vdso64/gettimeofday.S b/arch/powerpc/kernel/vdso64/gettimeofday.S
index 2d7a510..c6401f9 100644
--- a/arch/powerpc/kernel/vdso64/gettimeofday.S
+++ b/arch/powerpc/kernel/vdso64/gettimeofday.S
@@ -31,7 +31,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
mr r11,r3 /* r11 holds tv */
mr r10,r4 /* r10 holds tz */
bl V_LOCAL_FUNC(__get_datapage) /* get data page */
- cmpldi r10,0 /* check if tv is NULL */
+ cmpldi r11,0 /* check if tv is NULL */
beq 2f
bl V_LOCAL_FUNC(__do_get_xsec) /* get xsec from tb & kernel */
lis r7,15 /* r7 = 1000000 = USEC_PER_SEC */
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2.1 ] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-29 20:49 ` [PATCH v2.1 ] " Will Schmidt
@ 2007-06-29 22:45 ` Segher Boessenkool
2007-07-02 23:20 ` Tony Breeds
1 sibling, 0 replies; 12+ messages in thread
From: Segher Boessenkool @ 2007-06-29 22:45 UTC (permalink / raw)
To: will_schmidt; +Cc: willschm, LinuxPPC-dev, Paul Mackerras
> The vdso64 portion of patch 74609f4536f2b8fd6a48381bbbe3cd37da20a527
> for
> fixing problems with NULL gettimeofday input mistakenly checks for a
> null tz field twice, when it should be checking for null tz once, and
> null tv once; by way of a r10/r11 typo.
>
> Any application calling gettimeofday(&tv,NULL) will "fail".
>
> This corrects that typo, and makes my G5 happy.
>
> tested on G5.
>
>
> Signed-off-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Obviously correct, how could we all have missed this :-(
Thanks Will.
Segher
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2.1 ] Fix VDSO gettimeofday() when called with NULL struct timeval.
2007-06-29 20:49 ` [PATCH v2.1 ] " Will Schmidt
2007-06-29 22:45 ` Segher Boessenkool
@ 2007-07-02 23:20 ` Tony Breeds
1 sibling, 0 replies; 12+ messages in thread
From: Tony Breeds @ 2007-07-02 23:20 UTC (permalink / raw)
To: Will Schmidt; +Cc: LinuxPPC-dev
On Fri, Jun 29, 2007 at 03:49:50PM -0500, Will Schmidt wrote:
>
> The vdso64 portion of patch 74609f4536f2b8fd6a48381bbbe3cd37da20a527 for
> fixing problems with NULL gettimeofday input mistakenly checks for a
> null tz field twice, when it should be checking for null tz once, and
> null tv once; by way of a r10/r11 typo.
>
> Any application calling gettimeofday(&tv,NULL) will "fail".
>
> This corrects that typo, and makes my G5 happy.
Ooops thanks Will!
The /really/ sad thing is I got it right in the first version of the
patch :(
Yours Tony
linux.conf.au http://linux.conf.au/ || http://lca2008.linux.org.au/
Jan 28 - Feb 02 2008 The Australian Linux Technical Conference!
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2007-07-02 23:20 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-25 10:58 [PATCH] Fix VDSO gettimeofday() when called with NULL struct timeval Tony Breeds
2007-06-25 12:39 ` Benjamin Herrenschmidt
2007-06-25 23:37 ` Tony Breeds
2007-06-25 13:35 ` Segher Boessenkool
2007-06-25 23:39 ` Tony Breeds
2007-06-25 23:50 ` [PATCH v2] " Tony Breeds
2007-06-26 1:55 ` Benjamin Herrenschmidt
2007-06-26 7:55 ` Segher Boessenkool
2007-06-29 20:39 ` Will Schmidt
2007-06-29 20:49 ` [PATCH v2.1 ] " Will Schmidt
2007-06-29 22:45 ` Segher Boessenkool
2007-07-02 23:20 ` Tony Breeds
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).