[PATCH 0/5] Add strace support for printing arguments of selected syscalls

Filip Bozuta posted 5 patches 3 years, 11 months ago
Test docker-mingw@fedora passed
Test checkpatch failed
Test asan passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200602115331.1659-1-filip.bozuta@syrmia.com
Maintainers: Riku Voipio <riku.voipio@iki.fi>, Laurent Vivier <laurent@vivier.eu>
There is a newer version of this series
linux-user/strace.c    | 174 +++++++++++++++++++++++++++++++++++++++++
linux-user/strace.list |  28 +++----
2 files changed, 188 insertions(+), 14 deletions(-)
[PATCH 0/5] Add strace support for printing arguments of selected syscalls
Posted by Filip Bozuta 3 years, 11 months ago
From: Filip Bozuta <Filip.Bozuta@syrmia.com>

This series covers strace support for printing arguments of following syscalls:

    *acct()         *lgetxattr()        *lseek()
    *fsync()        *fgetxattr()        *chown()
    *fdatasync()    *listxattr()        *lchown()
    *listen()       *llistxattr()       *fallocate()
    *getxattr()     *flistxattr()

The implementation details for strace support is described in this series patch
commit messages.

Testing method:

    Mini test programs were written that run these syscalls for different arguments.
    Those programs were compiled (sometimes using cross-compilers) for the following
    architectures:

        * Intel 64-bit (little endian) (gcc)
        * Power pc 32-bit (big endian) (powerpc-linux-gnu-gcc)
        * Power pc 64-bit (big endian) (powerpc64-linux-gnu-gcc)
        * Mips 32-bit (little endian) (mipsel-linux-gnu-gcc)
        * Mips 64-bit (little endian) (mips64el-linux-gnuabi64-gcc)

    The corresponding native programs were executed with strace, without using
    QEMU, on Intel Core i7-4790K (x86_64) host.

    All applicable compiled programs were in turn executed with "-strace"
    through QEMU and the strace printing results obtained were the same 
    ones gotten for native execution.

Filip Bozuta (5):
  linux-user: Add strace support for a group of syscalls
  linux-user: Add strace support for printing argument of syscalls used
    for extend attributes
  linux-user: Add strace support for printing arguments of lseek()
  linux-user: Add strace support for printing arguments of
    chown()/lchown()
  linux-user: Add strace support for printing arguments of fallocate()

 linux-user/strace.c    | 174 +++++++++++++++++++++++++++++++++++++++++
 linux-user/strace.list |  28 +++----
 2 files changed, 188 insertions(+), 14 deletions(-)

-- 
2.17.1


Re: [PATCH 0/5] Add strace support for printing arguments of selected syscalls
Posted by no-reply@patchew.org 3 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20200602115331.1659-1-filip.bozuta@syrmia.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 20200602115331.1659-1-filip.bozuta@syrmia.com
Subject: [PATCH 0/5] Add strace support for printing arguments of selected syscalls
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20200529221450.26673-1-alxndr@bu.edu -> patchew/20200529221450.26673-1-alxndr@bu.edu
Switched to a new branch 'test'
b550765 linux-user: Add strace support for printing arguments of fallocate()
5330146 linux-user: Add strace support for printing arguments of chown()/lchown()
989e4e7 linux-user: Add strace support for printing arguments of lseek()
b783ad4 linux-user: Add strace support for printing argument of syscalls used for extend attributes
3e8a5b0 linux-user: Add strace support for a group of syscalls

=== OUTPUT BEGIN ===
1/5 Checking commit 3e8a5b0eb48a (linux-user: Add strace support for a group of syscalls)
2/5 Checking commit b783ad4bf62e (linux-user: Add strace support for printing argument of syscalls used for extend attributes)
3/5 Checking commit 989e4e773fae (linux-user: Add strace support for printing arguments of lseek())
WARNING: Block comments use a leading /* on a separate line
#64: FILE: linux-user/strace.c:1797:
+        qemu_log(" /* SEEK_??? */");

total: 0 errors, 1 warnings, 46 lines checked

Patch 3/5 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/5 Checking commit 53301467fe82 (linux-user: Add strace support for printing arguments of chown()/lchown())
5/5 Checking commit b55076575a2a (linux-user: Add strace support for printing arguments of fallocate())
ERROR: storage class should be at the beginning of the declaration
#65: FILE: linux-user/strace.c:1116:
+UNUSED static struct flags falloc_flags[] = {

total: 1 errors, 0 warnings, 82 lines checked

Patch 5/5 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200602115331.1659-1-filip.bozuta@syrmia.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [PATCH 0/5] Add strace support for printing arguments of selected syscalls
Posted by Alex Bennée 3 years, 11 months ago
Filip Bozuta <filip.bozuta@syrmia.com> writes:

> From: Filip Bozuta <Filip.Bozuta@syrmia.com>
>
> This series covers strace support for printing arguments of following syscalls:
>
>     *acct()         *lgetxattr()        *lseek()
>     *fsync()        *fgetxattr()        *chown()
>     *fdatasync()    *listxattr()        *lchown()
>     *listen()       *llistxattr()       *fallocate()
>     *getxattr()     *flistxattr()
>
> The implementation details for strace support is described in this series patch
> commit messages.
>
> Testing method:
>
>     Mini test programs were written that run these syscalls for different arguments.
>     Those programs were compiled (sometimes using cross-compilers) for the following
>     architectures:

How big is this mini-test? Is it worth adding to tests/tcg?

>
>         * Intel 64-bit (little endian) (gcc)
>         * Power pc 32-bit (big endian) (powerpc-linux-gnu-gcc)
>         * Power pc 64-bit (big endian) (powerpc64-linux-gnu-gcc)
>         * Mips 32-bit (little endian) (mipsel-linux-gnu-gcc)
>         * Mips 64-bit (little endian) (mips64el-linux-gnuabi64-gcc)
>
>     The corresponding native programs were executed with strace, without using
>     QEMU, on Intel Core i7-4790K (x86_64) host.
>
>     All applicable compiled programs were in turn executed with "-strace"
>     through QEMU and the strace printing results obtained were the same 
>     ones gotten for native execution.

If we have reference traces from real HW we can compare them using
diff-out or conditional-diff-out make rules. See the run-float_%:
float_% rules in tests/tcg/multiarch/Makefile.target.

>
> Filip Bozuta (5):
>   linux-user: Add strace support for a group of syscalls
>   linux-user: Add strace support for printing argument of syscalls used
>     for extend attributes
>   linux-user: Add strace support for printing arguments of lseek()
>   linux-user: Add strace support for printing arguments of
>     chown()/lchown()
>   linux-user: Add strace support for printing arguments of fallocate()
>
>  linux-user/strace.c    | 174 +++++++++++++++++++++++++++++++++++++++++
>  linux-user/strace.list |  28 +++----
>  2 files changed, 188 insertions(+), 14 deletions(-)


-- 
Alex Bennée