[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#484048: Acknowledgement (gettimeofday() crashes if given a timezone on amd64)



reassign 484048 linux-2.6
tag 484048 + unreproducible
thanks

On Mon, Jun 02, 2008 at 08:34:36AM -0500, Corey Minyard wrote:
> After looking at this a little more, it appears to be a kernel problem 
> in the vdso code.  We have in the kernel:
> 
> int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz)
> {
>    long ret;
>    if (likely(gtod->sysctl_enabled && gtod->clock.vread)) {
>        BUILD_BUG_ON(offsetof(struct timeval, tv_usec) !=
>                 offsetof(struct timespec, tv_nsec) ||
>                 sizeof(*tv) != sizeof(struct timespec));
>        do_realtime((struct timespec *)tv);
>        tv->tv_usec /= 1000;
>        if (unlikely(tz != NULL)) {
>            /* This relies on gcc inlining the memcpy. We'll notice
>               if it ever fails to do so. */
>            memcpy(tz, &gtod->sys_tz, sizeof(struct timezone));
>        }
>        return 0;
>    }
>    asm("syscall" : "=a" (ret) :
>        "0" (__NR_gettimeofday), "D" (tv), "S" (tz) : "memory");
>    return ret;
> }
> 
> It appears that the memcpy is not being inlined.
> 

I am unable to reproduce the problem on my machines. As it seems you
identified that as a kernel problem, I am reassigning the bug to the
kernel package. Please provide some more details about your
machine/kernel.


-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net



Reply to: