← Back to team overview

kernel-packages team mailing list archive

[Bug 1590069] Re: vDSO syscalls don't work on yakkety/master-next (and unstable/master)

 

Tycho - I cannot reproduce this on bare metal running linux 4.6.0-7.8
from ppa:canonical-kernel-team/ppa using Xenial user space. Lemme try
Yakkety user space.

** Also affects: linux (Ubuntu Yakkety)
   Importance: Undecided
       Status: Incomplete

** Changed in: linux (Ubuntu Yakkety)
       Status: Incomplete => Triaged

** Changed in: linux (Ubuntu Yakkety)
     Assignee: (unassigned) => Tim Gardner (timg-tpi)

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1590069

Title:
  vDSO syscalls don't work on yakkety/master-next (and unstable/master)

Status in linux package in Ubuntu:
  Triaged
Status in linux source package in Yakkety:
  Triaged

Bug description:
  Hi guys,

  I'm having a problem where vDSO syscalls don't work on yakkety-next:

  dev:~ uname -a
  Linux dev 4.6.0-8-generic #9 SMP Mon Jun 6 14:21:30 MDT 2016 x86_64 x86_64 x86_64 GNU/Linux
  dev:~ cat tester.c 
  #include <unistd.h>
  #include <stdio.h>
  #include <sys/time.h>

  int main()
  {
  	struct timeval tv;
  	struct timezone tz;

  	while (1) {
  		sleep(1);
  		if (gettimeofday(&tv, &tz) < 0) {
  			perror("gettimeofday");
  		}
  	}

  	return 0;
  }
  dev:~ make tester
  make: 'tester' is up to date.
  dev:~ strace tester
  strace: Can't stat 'tester': No such file or directory
  dev:~ 1 strace ./tester
  execve("./tester", ["./tester"], [/* 35 vars */]) = 0
  brk(NULL)                               = 0x19e4000
  access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
  mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbca234b000
  access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
  open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
  fstat(3, {st_mode=S_IFREG|0644, st_size=44113, ...}) = 0
  mmap(NULL, 44113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fbca2340000
  close(3)                                = 0
  access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
  open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
  read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
  fstat(3, {st_mode=S_IFREG|0755, st_size=1864888, ...}) = 0
  mmap(NULL, 3967488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbca1d5f000
  mprotect(0x7fbca1f1f000, 2093056, PROT_NONE) = 0
  mmap(0x7fbca211e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bf000) = 0x7fbca211e000
  mmap(0x7fbca2124000, 14848, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fbca2124000
  close(3)                                = 0
  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbca233f000
  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbca233e000
  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbca233d000
  arch_prctl(ARCH_SET_FS, 0x7fbca233e700) = 0
  mprotect(0x7fbca211e000, 16384, PROT_READ) = 0
  mprotect(0x600000, 4096, PROT_READ)     = 0
  mprotect(0x7fbca234d000, 4096, PROT_READ) = 0
  munmap(0x7fbca2340000, 44113)           = 0
  nanosleep({1, 0}, 0x7fffc8ec71f0)       = 0
  gettimeofday({1465317034, 813437}, {tz_minuteswest=0, tz_dsttime=0}) = 0
  nanosleep({1, 0}, 0x7fffc8ec71f0)       = 0
  gettimeofday({1465317035, 813718}, {tz_minuteswest=0, tz_dsttime=0}) = 0
  nanosleep({1, 0}, 0x7fffc8ec71f0)       = 0
  gettimeofday({1465317036, 814008}, {tz_minuteswest=0, tz_dsttime=0}) = 0
  nanosleep({1, 0}, ^Cstrace: Process 15793 detached
   <detached ...>

  whereas on a normal machine, they do:

  ~ uname -a
  Linux hopstrocity 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  ~ cat tester.c 
  #include <unistd.h>
  #include <stdio.h>
  #include <sys/time.h>

  int main()
  {
  	struct timeval tv;
  	struct timezone tz;

  	while (1) {
  		sleep(1);
  		if (gettimeofday(&tv, &tz) < 0) {
  			perror("gettimeofday");
  		}
  	}

  	return 0;
  }

  ~ make tester
  make: 'tester' is up to date.
  ~ strace ./tester
  execve("./tester", ["./tester"], [/* 60 vars */]) = 0
  brk(NULL)                               = 0x12c7000
  access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
  mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb544a9b000
  access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
  open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
  fstat(3, {st_mode=S_IFREG|0644, st_size=143083, ...}) = 0
  mmap(NULL, 143083, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb544a78000
  close(3)                                = 0
  access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
  open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
  read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
  fstat(3, {st_mode=S_IFREG|0755, st_size=1864888, ...}) = 0
  mmap(NULL, 3967488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb5444af000
  mprotect(0x7fb54466f000, 2093056, PROT_NONE) = 0
  mmap(0x7fb54486e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bf000) = 0x7fb54486e000
  mmap(0x7fb544874000, 14848, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb544874000
  close(3)                                = 0
  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb544a77000
  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb544a76000
  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb544a75000
  arch_prctl(ARCH_SET_FS, 0x7fb544a76700) = 0
  mprotect(0x7fb54486e000, 16384, PROT_READ) = 0
  mprotect(0x600000, 4096, PROT_READ)     = 0
  mprotect(0x7fb544a9d000, 4096, PROT_READ) = 0
  munmap(0x7fb544a78000, 143083)          = 0
  nanosleep({1, 0}, 0x7fffb8b22f40)       = 0
  nanosleep({1, 0}, 0x7fffb8b22f40)       = 0
  nanosleep({1, 0}, 0x7fffb8b22f40)       = 0
  nanosleep({1, 0}, ^Cstrace: Process 16752 detached
   <detached ...>

  I suspect this is due to 3d26b8d8361a9cfa098fe8548f1836573925cc7d, but
  I'm not sure.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1590069/+subscriptions


Follow ups

References