[Letux-kernel] MIPS: bug: gettimeofday syscall broken on CI20 board

Vincenzo Frascino vincenzo.frascino at arm.com
Tue Nov 26 11:52:17 CET 2019

Hi Nikolaus,

sorry for the delay in answering to your email but due to personal reasons I had
to pull off the linux development for few weeks.

On 17/11/2019 13:14, H. Nikolaus Schaller wrote:
> Hi Vincenzo,


> If I look at the definition of vdso_data it *is* significantly differen
> from mips_vdso_data.
> What I would assume is that the struct mips_vdso_data is embossed in user
> space code and therefore using vdso_data instead is breaking API.

vdso_data and mips_vdso_data before are not part of the ABI hence they are not
bind by a contract with the userspace.

This means that they can change at any point and if a userspace software relies
on a specific layout of these data structures is doing something wrong.

> Please advise what I should try or check to narrow down further.

I had a look at [1] line 200 and seems that the error you are seeing is
generated by:
  if (gettimeofday(&tv, NULL) == -1) { ... }

I do not have a CI20 hence I can't do the test myself: could you please write a
small application that invokes gettimeofday() as per above and report the
behavior (I am even interested in the value returned). If we can reproduce the
problem in a smaller environment it is easier to debug and get to the solution.

[1] http://users.isc.org/~each/doxygen/bind9/isc_2unix_2time_8c-source.html

> BR and thanks,
> Nikolaus Schaller

Let me know.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pEpkey.asc
Type: application/pgp-keys
Size: 14071 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20191126/0ff379f4/attachment.bin>

More information about the Letux-kernel mailing list