mbox series

[v3,00/12] linux-user: Add more syscalls, enhance tracing & logging enhancements

Message ID 20220918194555.83535-1-deller@gmx.de (mailing list archive)
Headers show
Series linux-user: Add more syscalls, enhance tracing & logging enhancements | expand

Message

Helge Deller Sept. 18, 2022, 7:45 p.m. UTC
Here is a bunch of patches for linux-user.

Most of them add missing syscalls and enhance the tracing/logging.
Some of the patches are target-hppa specific.
I've tested those on productive hppa debian buildd servers (running qemu-user).

Thanks!
Helge

Changes to v2:
- Fix build of close_range() and pidfd_*() patches on older Linux
  distributions (noticed by Stefan Hajnoczi)

Changes to v1:
- Dropped the faccessat2() syscall patch in favour of Richard's patch
- Various changes to the "missing signals in strace output" patch based on
  Richard's feedback, e.g. static arrays, fixed usage of _NSIG, fix build when
  TARGET_SIGIOT does not exist
- Use FUTEX_CMD_MASK in "Show timespec on strace for futex" patch
  unconditionally and turn into a switch statement - as suggested by Richard

Helge Deller (12):
  linux-user: Add missing signals in strace output
  linux-user: Add missing clock_gettime64() syscall strace
  linux-user: Add pidfd_open(), pidfd_send_signal() and pidfd_getfd()
    syscalls
  linux-user: Log failing executable in EXCP_DUMP()
  linux-user/hppa: Use EXCP_DUMP() to show enhanced debug info
  linux-user/hppa: Dump IIR on register dump
  linux-user: Fix strace of chmod() if mode == 0
  linux-user/hppa: Set TASK_UNMAPPED_BASE to 0xfa000000 for hppa arch
  linux-user: Add strace for clock_nanosleep()
  linux-user: Show timespec on strace for futex()
  linux-user: Add close_range() syscall
  linux-user: Add parameters of getrandom() syscall for strace

 linux-user/cpu_loop-common.h |   2 +
 linux-user/hppa/cpu_loop.c   |   6 +-
 linux-user/mmap.c            |   4 +
 linux-user/signal-common.h   |  46 ++++++++++++
 linux-user/signal.c          |  37 +--------
 linux-user/strace.c          | 142 ++++++++++++++++++++++++++++++-----
 linux-user/strace.list       |  21 +++++-
 linux-user/syscall.c         |  50 ++++++++++++
 target/hppa/helper.c         |   6 +-
 9 files changed, 255 insertions(+), 59 deletions(-)

--
2.37.3

Comments

Laurent Vivier Sept. 27, 2022, 7:32 a.m. UTC | #1
Le 18/09/2022 à 21:45, Helge Deller a écrit :
> Here is a bunch of patches for linux-user.
> 
> Most of them add missing syscalls and enhance the tracing/logging.
> Some of the patches are target-hppa specific.
> I've tested those on productive hppa debian buildd servers (running qemu-user).
> 
> Thanks!
> Helge
> 
> Changes to v2:
> - Fix build of close_range() and pidfd_*() patches on older Linux
>    distributions (noticed by Stefan Hajnoczi)
> 
> Changes to v1:
> - Dropped the faccessat2() syscall patch in favour of Richard's patch
> - Various changes to the "missing signals in strace output" patch based on
>    Richard's feedback, e.g. static arrays, fixed usage of _NSIG, fix build when
>    TARGET_SIGIOT does not exist
> - Use FUTEX_CMD_MASK in "Show timespec on strace for futex" patch
>    unconditionally and turn into a switch statement - as suggested by Richard
> 
> Helge Deller (12):
>    linux-user: Add missing signals in strace output
>    linux-user: Add missing clock_gettime64() syscall strace
>    linux-user: Add pidfd_open(), pidfd_send_signal() and pidfd_getfd()
>      syscalls
>    linux-user: Log failing executable in EXCP_DUMP()
>    linux-user/hppa: Use EXCP_DUMP() to show enhanced debug info
>    linux-user/hppa: Dump IIR on register dump
>    linux-user: Fix strace of chmod() if mode == 0
>    linux-user/hppa: Set TASK_UNMAPPED_BASE to 0xfa000000 for hppa arch
>    linux-user: Add strace for clock_nanosleep()
>    linux-user: Show timespec on strace for futex()
>    linux-user: Add close_range() syscall
>    linux-user: Add parameters of getrandom() syscall for strace
> 
>   linux-user/cpu_loop-common.h |   2 +
>   linux-user/hppa/cpu_loop.c   |   6 +-
>   linux-user/mmap.c            |   4 +
>   linux-user/signal-common.h   |  46 ++++++++++++
>   linux-user/signal.c          |  37 +--------
>   linux-user/strace.c          | 142 ++++++++++++++++++++++++++++++-----
>   linux-user/strace.list       |  21 +++++-
>   linux-user/syscall.c         |  50 ++++++++++++
>   target/hppa/helper.c         |   6 +-
>   9 files changed, 255 insertions(+), 59 deletions(-)
> 
> --
> 2.37.3
> 

Series applied to my linux-user-for-7.2 branch,
except PATCH 11 and 12 that have comments.

Thanks,
Laurent
>
Helge Deller Sept. 27, 2022, 8:56 a.m. UTC | #2
On 9/27/22 09:32, Laurent Vivier wrote:
> Le 18/09/2022 à 21:45, Helge Deller a écrit :
>> Here is a bunch of patches for linux-user.
>>
>> Most of them add missing syscalls and enhance the tracing/logging.
>> Some of the patches are target-hppa specific.
>> I've tested those on productive hppa debian buildd servers (running qemu-user).
>>
>> Thanks!
>> Helge
>>
>> Changes to v2:
>> - Fix build of close_range() and pidfd_*() patches on older Linux
>>    distributions (noticed by Stefan Hajnoczi)
>>
>> Changes to v1:
>> - Dropped the faccessat2() syscall patch in favour of Richard's patch
>> - Various changes to the "missing signals in strace output" patch based on
>>    Richard's feedback, e.g. static arrays, fixed usage of _NSIG, fix build when
>>    TARGET_SIGIOT does not exist
>> - Use FUTEX_CMD_MASK in "Show timespec on strace for futex" patch
>>    unconditionally and turn into a switch statement - as suggested by Richard
>>
>> Helge Deller (12):
>>    linux-user: Add missing signals in strace output
>>    linux-user: Add missing clock_gettime64() syscall strace
>>    linux-user: Add pidfd_open(), pidfd_send_signal() and pidfd_getfd()
>>      syscalls
>>    linux-user: Log failing executable in EXCP_DUMP()
>>    linux-user/hppa: Use EXCP_DUMP() to show enhanced debug info
>>    linux-user/hppa: Dump IIR on register dump
>>    linux-user: Fix strace of chmod() if mode == 0
>>    linux-user/hppa: Set TASK_UNMAPPED_BASE to 0xfa000000 for hppa arch
>>    linux-user: Add strace for clock_nanosleep()
>>    linux-user: Show timespec on strace for futex()
>>    linux-user: Add close_range() syscall
>>    linux-user: Add parameters of getrandom() syscall for strace
>>
>>   linux-user/cpu_loop-common.h |   2 +
>>   linux-user/hppa/cpu_loop.c   |   6 +-
>>   linux-user/mmap.c            |   4 +
>>   linux-user/signal-common.h   |  46 ++++++++++++
>>   linux-user/signal.c          |  37 +--------
>>   linux-user/strace.c          | 142 ++++++++++++++++++++++++++++++-----
>>   linux-user/strace.list       |  21 +++++-
>>   linux-user/syscall.c         |  50 ++++++++++++
>>   target/hppa/helper.c         |   6 +-
>>   9 files changed, 255 insertions(+), 59 deletions(-)
>>
>
> Series applied to my linux-user-for-7.2 branch,
> except PATCH 11 and 12 that have comments.

Thank you !!
I'll send updated versions for patches 11 and 12 asap.
Btw, where can I find your linux-user-for-7.2 branch?
It would help me to diff the new patches against this branch...

Helge
Laurent Vivier Sept. 27, 2022, 9:12 a.m. UTC | #3
Le 27/09/2022 à 10:56, Helge Deller a écrit :
> On 9/27/22 09:32, Laurent Vivier wrote:
>> Le 18/09/2022 à 21:45, Helge Deller a écrit :
>>> Here is a bunch of patches for linux-user.
>>>
>>> Most of them add missing syscalls and enhance the tracing/logging.
>>> Some of the patches are target-hppa specific.
>>> I've tested those on productive hppa debian buildd servers (running qemu-user).
>>>
>>> Thanks!
>>> Helge
>>>
>>> Changes to v2:
>>> - Fix build of close_range() and pidfd_*() patches on older Linux
>>>    distributions (noticed by Stefan Hajnoczi)
>>>
>>> Changes to v1:
>>> - Dropped the faccessat2() syscall patch in favour of Richard's patch
>>> - Various changes to the "missing signals in strace output" patch based on
>>>    Richard's feedback, e.g. static arrays, fixed usage of _NSIG, fix build when
>>>    TARGET_SIGIOT does not exist
>>> - Use FUTEX_CMD_MASK in "Show timespec on strace for futex" patch
>>>    unconditionally and turn into a switch statement - as suggested by Richard
>>>
>>> Helge Deller (12):
>>>    linux-user: Add missing signals in strace output
>>>    linux-user: Add missing clock_gettime64() syscall strace
>>>    linux-user: Add pidfd_open(), pidfd_send_signal() and pidfd_getfd()
>>>      syscalls
>>>    linux-user: Log failing executable in EXCP_DUMP()
>>>    linux-user/hppa: Use EXCP_DUMP() to show enhanced debug info
>>>    linux-user/hppa: Dump IIR on register dump
>>>    linux-user: Fix strace of chmod() if mode == 0
>>>    linux-user/hppa: Set TASK_UNMAPPED_BASE to 0xfa000000 for hppa arch
>>>    linux-user: Add strace for clock_nanosleep()
>>>    linux-user: Show timespec on strace for futex()
>>>    linux-user: Add close_range() syscall
>>>    linux-user: Add parameters of getrandom() syscall for strace
>>>
>>>   linux-user/cpu_loop-common.h |   2 +
>>>   linux-user/hppa/cpu_loop.c   |   6 +-
>>>   linux-user/mmap.c            |   4 +
>>>   linux-user/signal-common.h   |  46 ++++++++++++
>>>   linux-user/signal.c          |  37 +--------
>>>   linux-user/strace.c          | 142 ++++++++++++++++++++++++++++++-----
>>>   linux-user/strace.list       |  21 +++++-
>>>   linux-user/syscall.c         |  50 ++++++++++++
>>>   target/hppa/helper.c         |   6 +-
>>>   9 files changed, 255 insertions(+), 59 deletions(-)
>>>
>>
>> Series applied to my linux-user-for-7.2 branch,
>> except PATCH 11 and 12 that have comments.
> 
> Thank you !!
> I'll send updated versions for patches 11 and 12 asap.
> Btw, where can I find your linux-user-for-7.2 branch?
> It would help me to diff the new patches against this branch...
> 

https://gitlab.com/laurent_vivier/qemu/-/commits/linux-user-for-7.2/

But I can update and remove some patches if they appear to be broken when I test them.

Thanks,
Laurent