qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 04b9bc: linux-user: call fd_trans_target_to_h


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 04b9bc: linux-user: call fd_trans_target_to_host_data() fo...
Date: Thu, 01 Jun 2017 08:38:40 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 04b9bcf911af2b4563b1f1b2e8a103b796dcc9eb
      
https://github.com/qemu/qemu/commit/04b9bcf911af2b4563b1f1b2e8a103b796dcc9eb
  Author: Laurent Vivier <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: call fd_trans_target_to_host_data() for write()

As for sendmsg() or sendto(), we must call the target to
host data translator if it is defined. This is needed for
eventfd(): the write() syscall allows to add a value to
the internal counter, and so, it must be byte-swapped to
the host order.

Signed-off-by: Laurent Vivier <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 562a20b4ef63bdde6e2e5bac0da02302aeb5299f
      
https://github.com/qemu/qemu/commit/562a20b4ef63bdde6e2e5bac0da02302aeb5299f
  Author: Laurent Vivier <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix eventfd

When a fd is opened using eventfd(), a read provides
a 64bit counter in the host byte order, and a
write increase the internal counter by the provided
64bit value.

Signed-off-by: Laurent Vivier <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 43046b5a074029a9354bb2b772ca1f91320440f5
      
https://github.com/qemu/qemu/commit/43046b5a074029a9354bb2b772ca1f91320440f5
  Author: Laurent Vivier <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix fadvise64_64() on ppc

On ppc, advice is arg2, not arg6:

long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
                u32 len_high, u32 len_low)

Signed-off-by: Laurent Vivier <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: c4e316cfb5e3f4b58d5d6fb6cb6c2279a5c3229a
      
https://github.com/qemu/qemu/commit/c4e316cfb5e3f4b58d5d6fb6cb6c2279a5c3229a
  Author: Laurent Vivier <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix inotify

When a fd is opened using inotify_init(), a read provides
one or more inotify_event structures:

    struct inotify_event {
  int      wd;
  uint32_t mask;
  uint32_t cookie;
  uint32_t len;
  char     name[];
    };

The integer fields must be byte-swapped to the target endianness.

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: b936cb50aacf3cccf5d2363095c6547eb709583a
      
https://github.com/qemu/qemu/commit/b936cb50aacf3cccf5d2363095c6547eb709583a
  Author: Prasad J Pandit <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: allocate heap memory for execve arguments

Arguments passed to execve(2) call from user program could
be large, allocating stack memory for them via alloca(3) call
would lead to bad behaviour. Use 'g_new0' to allocate memory
for such arguments.

Reported-by: Jann Horn <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 58de8b9684cc7b4b1fb3cd47678a04d6924b28de
      
https://github.com/qemu/qemu/commit/58de8b9684cc7b4b1fb3cd47678a04d6924b28de
  Author: Andreas Schwab <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: remove all traces of qemu from /proc/self/cmdline

Instead of post-processing the real contents use the remembered target
argv.  That removes all traces of qemu, including command line options,
and handles QEMU_ARGV0.

Signed-off-by: Andreas Schwab <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 65424cc45696768442c684c1202d21b7f73f1156
      
https://github.com/qemu/qemu/commit/65424cc45696768442c684c1202d21b7f73f1156
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/strace.list

  Log Message:
  -----------
  linux-user: add strace for getuid(), gettid(), getppid(), geteuid()

Improve strace support for syscalls getuid(), gettid(), getppid()
and geteuid(). Since these system calls don't have arguments, "%s()"
is added in the corresponding strace.list entry so that no arguments
are printed.

getuid:
Prior to this commit, typical strace output used to look like this:
4894 getuid(4894,0,0,274886293296,-3689348814741910323,4832615904) = 1000
After this commit, it looks like this:
4894 getuid() = 1000

gettid:
Prior to this commit, typical strace output used to look like this:
8307 gettid(0,0,64,0,4832630528,4832615840) = 8307
After this commit, it looks like this:
8307 gettid() = 8307

getppid:
Prior to this commit, typical strace output used to look like this:
20588 getppid(20588,64,0,4832630528,4832615888,0) = 20625
After this commit, it looks like this:
20588 getppid() = 20625

geteuid:
Prior to this commit, typical strace output used to look like this:
20588 geteuid(64,0,0,4832615888,0,-9151031864016699136) = 1000
After this commit, it looks like this:
20588 geteuid() = 1000

Signed-off-by: Miloš Stojanović <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 5162264e438cf5efcb101bc8030e5f76feb58635
      
https://github.com/qemu/qemu/commit/5162264e438cf5efcb101bc8030e5f76feb58635
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/strace.c
    M linux-user/strace.list

  Log Message:
  -----------
  linux-user: add tkill(), tgkill() and rt_sigqueueinfo() strace

Improve strace support for syscall tkill(), tgkill() and rt_sigqueueinfo()
by implementing print functions that match arguments types of the system
calls and add them to the corresponding starce.list entry.

tkill:
Prior to this commit, typical strace output used to look like this:
4886 tkill(4886,50,0,4832615904,0,-9151031864016699136) = 0
After this commit, it looks like this:
4886 tkill(4886,50) = 0

tgkill:
Prior to this commit, typical strace output used to look like this:
4890 tgkill(4890,4890,50,8,4832630528,4832615904) = 0
After this commit, it looks like this:
4890 tgkill(4890,4890,50) = 0

rt_sigqueueinfo:
Prior to this commit, typical strace output used to look like this:
8307 rt_sigqueueinfo(8307,50,1996483164,0,0,50) = 0
After this commit, it looks like this:
8307 rt_sigqueueinfo(8307,50,0x00000040007ff6b0) = 0

Signed-off-by: Miloš Stojanović <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: a8617d8c2fa888a37ecb7db6635fb44964505277
      
https://github.com/qemu/qemu/commit/a8617d8c2fa888a37ecb7db6635fb44964505277
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix ssetmask() system call

Fix the ssetmask() system call by removing the invocation of sigorset().

The ssetmask() system call should replace the old signal mask
with the new and return the old mask. It shouldn't combine
the old and the new mask with sigorset(). Fetching the old
mask for sigorset() is also no longer needed.

The problem was detected after running LTP test group syscalls
for the MIPS EL 32 R2 architecture where the test ssetmask01 failed
with exit code 1. The test passes now that the ssetmask() system call
is fixed.

Signed-off-by: Miloš Stojanović <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: d8b6d892c66c1b6f505cd5a2576e08deea200e6d
      
https://github.com/qemu/qemu/commit/d8b6d892c66c1b6f505cd5a2576e08deea200e6d
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix mismatch of lock/unlock_user() invocations in rt_sigqueinfo() 
syscall

Change the unlock_user() argument from arg1 to arg3 to match with
lock_user(), since arg3 contains the pointer to the siginfo_t structure.

Signed-off-by: Miloš Stojanović <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: c1a402a7ae9ba9c41b4ac7e7ca3e48e4d60eb35a
      
https://github.com/qemu/qemu/commit/c1a402a7ae9ba9c41b4ac7e7ca3e48e4d60eb35a
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: fix argument type declaration of rt_sigqueinfo() syscall

Change the type of the first argument of rt_sigqueinfo() from int to pid_t
in the syscall declaration to match specifications of the system call.

Proper spacing is added to satisfy checkpatch.pl.

Signed-off-by: Miloš Stojanović <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: cf8b8bfc5049c10f70b3a17f66c7d2698a5dcff5
      
https://github.com/qemu/qemu/commit/cf8b8bfc5049c10f70b3a17f66c7d2698a5dcff5
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: add support for rt_tgsigqueueinfo() system call

Add a new system call: rt_tgsigqueueinfo().

This system call is similar to rt_sigqueueinfo(), but instead of
sending the signal and data to the whole thread group with the ID
equal to the argument tgid, it sends it to a single thread within
that thread group. The ID of the thread is specified by the tid
argument.

The implementation is based on the rt_sigqueueinfo() in linux-user
mode, where the tid is added as the second argument and the
previous second and third argument become arguments three and four,
respectively.

Signed-off-by: Miloš Stojanović <address@hidden>

Conflicts:
        linux-user/syscall.c
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 243e0fe5506d6b830e01d8da727ff7f20fa38502
      
https://github.com/qemu/qemu/commit/243e0fe5506d6b830e01d8da727ff7f20fa38502
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/strace.c
    M linux-user/strace.list

  Log Message:
  -----------
  linux-user: add rt_tgsigqueueinfo() strace

This commit improves strace support for syscall rt_tgsigqueueinfo().

Prior to this commit, typical strace output used to look like this:
7775 rt_tgsigqueueinfo(7775,7775,50,1996483164,0,0) = 0

After this commit, it looks like this:
7775 rt_tgsigqueueinfo(7775,7775,50,0x76ffea5c) = 0

Signed-off-by: Miloš Stojanović <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: f196c3700deb6ea714228209fb2a864bbfa4b67d
      
https://github.com/qemu/qemu/commit/f196c3700deb6ea714228209fb2a864bbfa4b67d
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/strace.c

  Log Message:
  -----------
  linux-user: fix inconsistent spaces in print_siginfo() output

This patch improves the consistentcy of the output from print_siginfo()
by removing spaces around the equal sign of si_pid, si_uid, si_timer1,
si_timer2, si_band, si_fd, si_addr, si_status and si_sigval. This way
they match si_signo and ci_code. Host strace was used as a reference
for this chage.

Prior to this commit, typical strace output used to look like this:

Signed-off-by: Riku Voipio <address@hidden>


  Commit: ba9fcea1cb6d80536f780760d870416fe5b85863
      
https://github.com/qemu/qemu/commit/ba9fcea1cb6d80536f780760d870416fe5b85863
  Author: Miloš Stojanović <address@hidden>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
    M linux-user/strace.c

  Log Message:
  -----------
  linux-user: add strace support for uinfo structure of rt_sigqueueinfo() and 
rt_tgsigqueueinfo()

This commit adds support for printing the content of the target_siginfo_t
structure in a similar way to how it is printed by the host strace. The
pointer to this structure is sent as the last argument of the
rt_sigqueueinfo() and rt_tgsigqueueinfo() system calls.
For this purpose, print_siginfo() is used and the get_target_siginfo()
function is implemented in order to get the information obtained from
the pointer into the form that print_siginfo() expects.

The get_target_siginfo() function is based on
host_to_target_siginfo_noswap() in linux-user mode, but here both
arguments are pointers to target_siginfo_t, so instead of converting
the information to siginfo_t it just extracts and copies it to a
target_siginfo_t structure.

Prior to this commit, typical strace output used to look like this:
8307 rt_sigqueueinfo(8307,50,0x00000040007ff6b0) = 0

After this commit, it looks like this:
8307 rt_sigqueueinfo(8307,50,{si_signo=50, si_code=SI_QUEUE, si_pid=8307,
si_uid=1000, si_sigval=17716762128}) = 0

Signed-off-by: Miloš Stojanović <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: c077a998eb3fcae2d048e3baeb5bc592d30fddde
      
https://github.com/qemu/qemu/commit/c077a998eb3fcae2d048e3baeb5bc592d30fddde
  Author: Peter Maydell <address@hidden>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M linux-user/strace.c
    M linux-user/strace.list
    M linux-user/syscall.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20170531' 
into staging

Misc linux-user updates

# gpg: Signature made Wed 31 May 2017 12:33:17 BST
# gpg:                using RSA key 0xB44890DEDE3C9BC0
# gpg: Good signature from "Riku Voipio <address@hidden>"
# gpg:                 aka "Riku Voipio <address@hidden>"
# Primary key fingerprint: FF82 03C8 C391 98AE 0581  41EF B448 90DE DE3C 9BC0

* remotes/riku/tags/pull-linux-user-20170531:
  linux-user: add strace support for uinfo structure of rt_sigqueueinfo() and 
rt_tgsigqueueinfo()
  linux-user: fix inconsistent spaces in print_siginfo() output
  linux-user: add rt_tgsigqueueinfo() strace
  linux-user: add support for rt_tgsigqueueinfo() system call
  linux-user: fix argument type declaration of rt_sigqueinfo() syscall
  linux-user: fix mismatch of lock/unlock_user() invocations in rt_sigqueinfo() 
syscall
  linux-user: fix ssetmask() system call
  linux-user: add tkill(), tgkill() and rt_sigqueueinfo() strace
  linux-user: add strace for getuid(), gettid(), getppid(), geteuid()
  linux-user: remove all traces of qemu from /proc/self/cmdline
  linux-user: allocate heap memory for execve arguments
  linux-user: fix inotify
  linux-user: fix fadvise64_64() on ppc
  linux-user: fix eventfd
  linux-user: call fd_trans_target_to_host_data() for write()

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/e5cac10a3b8c...c077a998eb3f

reply via email to

[Prev in Thread] Current Thread [Next in Thread]