Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fde937d8 authored by Will Schmidt's avatar Will Schmidt Committed by Linus Torvalds
Browse files

Fix VDSO gettimeofday() when called with NULL struct timeval.



The vdso64 portion of patch 74609f45 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: default avatarWill Schmidt <will_schmidt@vnet.ibm.com>
Cc: Tony Breeds <tony@bakeyournoodle.com>
Forwarded-by: default avatarBen Herrenschmidt <benh@kernel.crashing.org>

[ Ben says: "I checked the 32 bits part of the change is correct.  You
  can probably blame me for originally writing the 2 versions with
  inversed usage of r10 and r11, thus confusing Tony :-)"

  Ben duly blamed.   - Linus ]

Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0471448f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 */