]> granicus.if.org Git - strace/log
strace
7 years agoquota: add packed attribute to struct if_dqblk definition
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:12:01 +0000 (06:12 +0300)]
quota: add packed attribute to struct if_dqblk definition

Since the only difference between 32-bit and 64-bit environments
regarding this structure is its padding, lets just add packed attribute
to its definition instead of going full mpers.

* quota.c (struct if_dqblk): Add ATTRIBUTE_PACKED.

7 years agoquota: Add decoding for Q_XQUOTARM subcommand
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:11:52 +0000 (06:11 +0300)]
quota: Add decoding for Q_XQUOTARM subcommand

* quota.c (decode_cmd_data): Add Q_XQUOTARM handling to subcommand
  switch.

7 years agoquota: add dispatch of SYNC subcommands
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:11:38 +0000 (06:11 +0300)]
quota: add dispatch of SYNC subcommands

Q_XQUOTASYNC is no-op, but it does not require id/addr arguments anyway.

* quota.c (decode_cmd_data): Add Q_SYNC and Q_XQUOTASYNC to subcommand
dispatch switch since id/addr arguments for these subcommands are known
to be ignored.

7 years agoquota: add missing prefixes to struct field names
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:11:28 +0000 (06:11 +0300)]
quota: add missing prefixes to struct field names

* quota.c (decode_cmd_data): Print field names in accordance with
their definition.

7 years agoquota: fix indentation inside subcommand dispatching switch statement
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:11:17 +0000 (06:11 +0300)]
quota: fix indentation inside subcommand dispatching switch statement

7 years agoquota: avoid printing id argument for those commands that ignore it
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:11:09 +0000 (06:11 +0300)]
quota: avoid printing id argument for those commands that ignore it

As id argument is not used for Q_QUOTAOFF, Q_GETFMT, Q_V2_GETINFO,
Q_GETINFO, Q_V2_SEETINFO, Q_SETINFO, Q_SYNC, Q_XQUOTAON, Q_XQUOTAOFF,
Q_XQUOTARM, Q_XGETQSTAT, Q_XGETQSTATV, Q_XQUOTASYNC, Q_V1_GETSTATS, and
Q_V2_GETSTATS subcommands, do not print it for these subcommands.

* quota.c (decode_cmd_data): Add id argument parameter, add printing
of id argument for Q_GETQUOTA, Q_SETQUOTA, Q_GETNEXTQUOTA,
Q_V1_GETQUOTA, Q_V1_SETQUOTA, Q_V2_GETQUOTA, Q_V2_SETQUOTA,
Q_XGETQUOTA, Q_XGETNEXTQUOTA, Q_XSETQLIM, and unknown subcommands.
(SYS_FUNC(quotactl)): Remove printing of id argument, pass it
to decode_cmd_data.

7 years agoquota: use printuid for id parameter printing
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:10:57 +0000 (06:10 +0300)]
quota: use printuid for id parameter printing

* quota.c (SYS_FUNC(quotactl)): Since id call argument is used for
user/group/project ID which all have special semantics for -1,
print it the same way as UIDs are printed.

7 years agoquota: display quota subcommand as a macro
Eugene Syromyatnikov [Wed, 21 Sep 2016 03:10:46 +0000 (06:10 +0300)]
quota: display quota subcommand as a macro

* quota.c (SYS_FUNC(quotactl)): Replace disjunction of two xlat values
(which also lacks shift of the left part) with QCMD macro call.

7 years agotests: use VERBOSE macro in waitid and waitid-v tests
Dmitry V. Levin [Mon, 26 Sep 2016 15:21:22 +0000 (15:21 +0000)]
tests: use VERBOSE macro in waitid and waitid-v tests

* tests/waitid-v.c (VERBOSE_RUSAGE): Remove.
(VERBOSE): Define to 1.
* tests/waitid.c (sprint_rusage): Check VERBOSE instead
of VERBOSE_RUSAGE.

7 years agotests: use VERBOSE macro in wait4 and wait4-v tests
Dmitry V. Levin [Mon, 26 Sep 2016 15:20:26 +0000 (15:20 +0000)]
tests: use VERBOSE macro in wait4 and wait4-v tests

* tests/wait4-v.c (VERBOSE_RUSAGE): Remove.
(VERBOSE): Define to 1.
* tests/wait4.c (sprint_rusage): Check VERBOSE instead
of VERBOSE_RUSAGE.

7 years agotests: use VERBOSE macro in msg_control and msg_control-v tests
Dmitry V. Levin [Mon, 26 Sep 2016 15:19:05 +0000 (15:19 +0000)]
tests: use VERBOSE macro in msg_control and msg_control-v tests

* tests/msg_control-v.c (VERBOSE_MSGHDR): Remove.
(VERBOSE): Define to 1.
* tests/msg_control.c (print_fds, print_ip_opts): Check VERBOSE instead
of VERBOSE_MSGHDR.

7 years agotests: use VERBOSE macro in mmsg_name and mmsg_name-v tests
Dmitry V. Levin [Mon, 26 Sep 2016 15:16:50 +0000 (15:16 +0000)]
tests: use VERBOSE macro in mmsg_name and mmsg_name-v tests

* tests/mmsg_name-v.c (VERBOSE_MMSGHDR): Remove.
(VERBOSE): Define to 1.
* tests/mmsg_name.c (test_mmsg_name): Check VERBOSE instead
of VERBOSE_MMSGHDR.

7 years agotests: use VERBOSE macro in ioctl_rtc and ioctl_rtc-v tests
Dmitry V. Levin [Sun, 25 Sep 2016 00:10:27 +0000 (00:10 +0000)]
tests: use VERBOSE macro in ioctl_rtc and ioctl_rtc-v tests

* tests/ioctl_rtc-v.c (VERBOSE_IOCTL): Remove.
(VERBOSE): Define to 1.
* tests/ioctl_rtc.c (print_rtc_time): Check VERBOSE instead
of VERBOSE_IOCTL.

7 years agotests: use VERBOSE macro in ioctl_evdev and ioctl_evdev-v tests
Dmitry V. Levin [Sat, 24 Sep 2016 23:58:51 +0000 (23:58 +0000)]
tests: use VERBOSE macro in ioctl_evdev and ioctl_evdev-v tests

* tests/ioctl_evdev-v.c (VERBOSE_IOCTL): Remove.
(VERBOSE): Define to 1.
* tests/ioctl_evdev.c: Check VERBOSE instead of VERBOSE_IOCTL.

7 years agotests: use VERBOSE macro in execveat and execveat-v tests
Dmitry V. Levin [Fri, 23 Sep 2016 00:11:54 +0000 (00:11 +0000)]
tests: use VERBOSE macro in execveat and execveat-v tests

* tests/execveat-v.c (VERBOSE_EXECVEAT): Remove.
(VERBOSE): Define to 1.
* tests/execveat.c (main): Check VERBOSE instead of VERBOSE_EXECVEAT.

7 years agotests: use VERBOSE macro in execve and execve-v tests
Dmitry V. Levin [Thu, 22 Sep 2016 23:58:25 +0000 (23:58 +0000)]
tests: use VERBOSE macro in execve and execve-v tests

* tests/execve-v.c (VERBOSE_EXECVE): Remove.
(VERBOSE): Define to 1.
* tests/execve.c (main): Check VERBOSE instead of VERBOSE_EXECVE.

7 years agotests: add VERBOSE macro
Dmitry V. Levin [Wed, 21 Sep 2016 00:35:30 +0000 (00:35 +0000)]
tests: add VERBOSE macro

Introduce VERBOSE macro (defaults to 0) that is expected to be defined
to 1 by code testing "strace -v" output.

* tests/tests.h [!VERBOSE] (VERBOSE): New macro.

7 years agodecode_open: print the mode argument when O_TMPFILE flag is set
Dmitry V. Levin [Tue, 20 Sep 2016 18:41:50 +0000 (18:41 +0000)]
decode_open: print the mode argument when O_TMPFILE flag is set

O_TMPFILE reqires the mode argument (just like O_CREAT), so print it.

* open.c (STRACE_O_TMPFILE): New macro.
(decode_open): Print the mode argument when O_TMPFILE flag is set.
* tests/open.c (main): Check it.
Fixes RH#1377846.

7 years agotests: use sprintrc in tests/ptrace.c
Dmitry V. Levin [Tue, 20 Sep 2016 15:17:37 +0000 (15:17 +0000)]
tests: use sprintrc in tests/ptrace.c

* tests/ptrace.c (errstr): New static variable.
(do_ptrace): Initialize it using sprintrc.
(test_peeksiginfo, main): Use errstr.

7 years agotests: use sprintrc in tests/netlink_protocol.c
Dmitry V. Levin [Tue, 20 Sep 2016 12:02:06 +0000 (12:02 +0000)]
tests: use sprintrc in tests/netlink_protocol.c

* tests/netlink_protocol.c (main): Use sprintrc.

7 years agotests: use sprintrc in tests/fchownat.c
Dmitry V. Levin [Tue, 20 Sep 2016 00:48:57 +0000 (00:48 +0000)]
tests: use sprintrc in tests/fchownat.c

* tests/fchownat.c (main): Use sprintrc.

7 years agotests: use sprintrc in tests/fchmodat.c
Dmitry V. Levin [Tue, 20 Sep 2016 00:19:20 +0000 (00:19 +0000)]
tests: use sprintrc in tests/fchmodat.c

* tests/fchmodat.c (main): Use sprintrc.  Add more fchmodat decoding tests.

7 years agotests: use sprintrc in tests/fchmod.c
Dmitry V. Levin [Tue, 20 Sep 2016 00:19:20 +0000 (00:19 +0000)]
tests: use sprintrc in tests/fchmod.c

* tests/fchmod.c (main): Use sprintrc.  Add more fchmod decoding tests.
* tests/fchmod.test: Update the value specified for strace -a parameter.

7 years agotests: use sprintrc in tests/getgroups.c
Dmitry V. Levin [Mon, 19 Sep 2016 23:08:36 +0000 (23:08 +0000)]
tests: use sprintrc in tests/getgroups.c

* tests/getgroups.c (main): Use sprintrc.

7 years agotests: use sprintrc in tests/setgroups.c
Dmitry V. Levin [Mon, 19 Sep 2016 23:08:36 +0000 (23:08 +0000)]
tests: use sprintrc in tests/setgroups.c

* tests/setgroups.c (main): Use sprintrc.

7 years agotests/utime.c: rewrite without assert
Dmitry V. Levin [Mon, 19 Sep 2016 19:49:59 +0000 (19:49 +0000)]
tests/utime.c: rewrite without assert

* tests/utime.c: Do not include <assert.h>.
(main): Use sprintrc instead of assert.

7 years agotests/xattr.c: rewrite without assert
Dmitry V. Levin [Sun, 18 Sep 2016 00:00:53 +0000 (00:00 +0000)]
tests/xattr.c: rewrite without assert

* tests/xattr.c: Do not include <assert.h>.
(main): Use sprintrc instead of assert.

7 years agotests: use sprintrc in tests/xchownx.c
Dmitry V. Levin [Sat, 17 Sep 2016 23:30:01 +0000 (23:30 +0000)]
tests: use sprintrc in tests/xchownx.c

* tests/xchownx.c (main): Do not include <errno.h>.  Use sprintrc.

7 years agotests/xstatfsx.c: fix potential errno clobbering
Dmitry V. Levin [Fri, 16 Sep 2016 23:14:40 +0000 (23:14 +0000)]
tests/xstatfsx.c: fix potential errno clobbering

* tests/xstatfsx.c (main): Use sprintrc.

7 years agoAdd more fs magic constants
Dmitry V. Levin [Thu, 15 Sep 2016 23:55:17 +0000 (23:55 +0000)]
Add more fs magic constants

Add *_MAGIC constants defined for some relatively widespread
non-mainline filesystems.

* xlat/fsmagic.in: Add AUFS_SUPER_MAGIC, GPFS_SUPER_MAGIC,
VZFS_SUPER_MAGIC, and ZFS_SUPER_MAGIC constants.

7 years agotests: fix whitespace for explicit type casts in futex test
Eugene Syromyatnikov [Thu, 15 Sep 2016 20:04:07 +0000 (23:04 +0300)]
tests: fix whitespace for explicit type casts in futex test

7 years agoAdd more fs magic constants
Dmitry V. Levin [Wed, 14 Sep 2016 23:52:36 +0000 (23:52 +0000)]
Add more fs magic constants

Add *_MAGIC constants defined inside linux fs but not explicitly
exported via linux uapi.

* xlat/fsmagic.in: Add HFS_SUPER_MAGIC, HFSPLUS_SUPER_MAGIC,
EXOFS_SUPER_MAGIC, CEPH_SUPER_MAGIC, UBIFS_SUPER_MAGIC, JFS_SUPER_MAGIC,
BEFS_SUPER_MAGIC, NTFS_SB_MAGIC, XFS_SB_MAGIC, CONFIGFS_MAGIC,
FUSE_CTL_SUPER_MAGIC, FUSE_SUPER_MAGIC, AFS_FS_MAGIC, OCFS2_SUPER_MAGIC,
VXFS_SUPER_MAGIC, LOGFS_MAGIC, SMB2_MAGIC_NUMBER, and CIFS_MAGIC_NUMBER
constants.

7 years agoUpdate fs *_MAGIC constants
Dmitry V. Levin [Wed, 14 Sep 2016 23:41:19 +0000 (23:41 +0000)]
Update fs *_MAGIC constants

Add fs *_MAGIC constants exported by linux uapi.

* xlat/fsmagic.in: Add BFS_MAGIC, GFS2_MAGIC, and ROMFS_MAGIC constants
defined in linux/bfs_fs.h, linux/gfs2_ondisk.h, and linux/romfs_fs.h,
respectively.

7 years agotests: workaround limited semctl implementation in musl
Dmitry V. Levin [Tue, 13 Sep 2016 20:33:04 +0000 (20:33 +0000)]
tests: workaround limited semctl implementation in musl

musl libc forwards semctl command argument for 8 known commands only,
for all the rest it passes 0 instead.

* tests/ipc_sem.c (main): Update semctl expected output.

7 years agotests: add more IPC decoding checks
Eugene Syromyatnikov [Tue, 13 Sep 2016 16:18:42 +0000 (19:18 +0300)]
tests: add more IPC decoding checks

* tests/ipc_msg.c: Additional msgget (parameter format) and msgctl
(parameter format, decoding of struct msqid_ds in IPC_SET/IPC_STAT
commands) checks.
* tests/ipc_sem.c: Additional semget and semctl checks.
* tests/ipc_shm.c: Additional shmget and shmctl checks.
* tests/semop.c: Additional semop checks.  Add checks for semtimedop.
* tests/semop.test: Add explicit -e parameter in order to trace both
semop and semtimedop.
* tests/shmxt.c: Additional shmat and shmdt checks.

7 years ago.mailmap: add addresses of Dr. David Alan Gilbert
Dmitry V. Levin [Mon, 12 Sep 2016 23:38:20 +0000 (23:38 +0000)]
.mailmap: add addresses of Dr. David Alan Gilbert

* .mailmap: Add both addresses of Dr. David Alan Gilbert here to avoid
duplications in CREDITS file.

7 years ago.mailmap: add canonical name for Eugene Syromyatnikov
Eugene Syromyatnikov [Mon, 12 Sep 2016 23:10:53 +0000 (02:10 +0300)]
.mailmap: add canonical name for Eugene Syromyatnikov

This is needed due to apparent deviation in spelling of commit author
name in several commits.

* .mailmap: Add canonical name for Eugene Syromyatnikov.

7 years agoUpdate generic ioctl entries from linux 4.8
Dmitry V. Levin [Mon, 12 Sep 2016 15:19:31 +0000 (15:19 +0000)]
Update generic ioctl entries from linux 4.8

* linux/64/ioctls_inc.h: Update from linux v4.8 using ioctls_gen.sh.
* linux/32/ioctls_inc_align32.h: Likewise.
* linux/32/ioctls_inc_align64.h: Likewise.

7 years agox32: update ioctl entries from linux 4.8
Gleb Fotengauer-Malinovskiy [Mon, 12 Sep 2016 13:30:18 +0000 (16:30 +0300)]
x32: update ioctl entries from linux 4.8

* linux/x32/ioctls_inc0.h: Update from linux v4.8 using ioctls_gen.sh.

7 years agomaint: update for linux 4.8
Gleb Fotengauer-Malinovskiy [Mon, 12 Sep 2016 13:29:38 +0000 (16:29 +0300)]
maint: update for linux 4.8

* maint/ioctls_sym.sh: Add workarounds for linux/atm_zatm.h and
xen/evtchn.h files.

7 years agotests: use sprintrc_grep in tests/ipc_shm.c
Dmitry V. Levin [Mon, 12 Sep 2016 10:30:22 +0000 (10:30 +0000)]
tests: use sprintrc_grep in tests/ipc_shm.c

* tests/ipc_shm.c (main): Use sprintrc_grep.

7 years agotests: use sprintrc_grep in tests/ipc_sem.c
Dmitry V. Levin [Mon, 12 Sep 2016 09:27:58 +0000 (09:27 +0000)]
tests: use sprintrc_grep in tests/ipc_sem.c

* tests/ipc_sem.c (main): Use sprintrc_grep.

7 years agotests: use sprintrc_grep in tests/ipc_msg.c
Dmitry V. Levin [Sun, 11 Sep 2016 00:04:16 +0000 (00:04 +0000)]
tests: use sprintrc_grep in tests/ipc_msg.c

* tests/ipc_msg.c (main): Use sprintrc_grep.

7 years agotests: use sprintrc in tests/chmod.c
Dmitry V. Levin [Sat, 10 Sep 2016 22:58:40 +0000 (22:58 +0000)]
tests: use sprintrc in tests/chmod.c

* tests/chmod.c (main): Use sprintrc.  Add more chmod decoding tests.

7 years agoipc: fix printing of nsops argument of semop and semtimedop syscalls
Dmitry V. Levin [Fri, 9 Sep 2016 19:13:54 +0000 (19:13 +0000)]
ipc: fix printing of nsops argument of semop and semtimedop syscalls

According to POSIX, nsops argument of semop syscall has type size_t,
but the kernel treats nsops argument of semop and semtimedop syscalls
as unsigned int.

* ipc_sem.c (tprint_sembuf_array): Change type of "count" argument
from unsigned long to unsigned int, print it using %u format.

7 years agotests/aio.c: bring indentation in conformance with the rest of the file
Eugene Syromyatnikov [Fri, 9 Sep 2016 07:54:54 +0000 (10:54 +0300)]
tests/aio.c: bring indentation in conformance with the rest of the file

7 years agotests: use predefined constant in aio_context_t checks in aio test
Eugene Syromyatnikov [Fri, 9 Sep 2016 07:54:38 +0000 (10:54 +0300)]
tests: use predefined constant in aio_context_t checks in aio test

Also fix io_cancel and io_destroy checks which did not check correct
printing of context argument properly.

* tests/aio.c (main): Update syscall checks in order to use newly
defined bogus_ctx constant.

7 years agoMark io_setup and io_destroy as memory mapping related syscalls
Dmitry V. Levin [Fri, 9 Sep 2016 02:38:32 +0000 (02:38 +0000)]
Mark io_setup and io_destroy as memory mapping related syscalls

As io_setup syscall allocates some memory using do_mmap_pgoff, and
io_destroy deallocates this memory using vm_munmap, set TRACE_MEMORY
flag for all sysentries of io_setup and io_destroy using the following
oneliner:
sed -ri '/io_setup|io_destroy/ s/0,/TM,/' linux/*/syscallent*.h

* linux/*/syscallent*.h (io_setup, io_destroy): Change sys_flags to TM.

7 years agotravis: add x86 musl
Dmitry V. Levin [Thu, 8 Sep 2016 17:11:51 +0000 (17:11 +0000)]
travis: add x86 musl

* .travis.yml (matric): Add musl-gcc/x86.
* travis-build.sh [TARGET == x86]: Specify --target along with --build
to configure.
* travis-install.sh [CC == musl-gcc && TARGET == x32]: Add -mx32 to $CC.
[CC == musl-gcc && TARGET == x86]: Add -m32 to $CC.  Specify --build
and --target to musl configure invocation.

7 years agotests: use PRI__*64 macros in aio test
Eugene Syromyatnikov [Thu, 8 Sep 2016 18:26:17 +0000 (21:26 +0300)]
tests: use PRI__*64 macros in aio test

It was incorrectly assumed that __*64 types are long long on all
platforms, despite strace having specially crafted macros in order
to handle precisely this architecture discrepancy.
The commit fixes this oversight.

* tests/aio.c (main): Use PRI__*64 macros for correct format conversion
specifiers for __*64-typed values.

7 years agoipc: fix printing of integer arguments
Eugene Syromyatnikov [Wed, 7 Sep 2016 12:41:17 +0000 (15:41 +0300)]
ipc: fix printing of integer arguments

* ipc_msgctl.c (SYS_FUNC(msgctl)): As msqid argument is treated as int
by the kernel, cast it to int and print it using %d format.
* ipc_sem.c (SYS_FUNC(semop), SYS_FUNC(semtimedop)): Likewise,
for semid argument.
(SYS_FUNC(semget)): Likewise, for nsems argument.
(SYS_FUNC(semctl)): Likewise, for semid and semnum arguments.
* ipc_shm.c (SYS_FUNC(shmat)): Likewise, for shmid argument.
* ipc_shmctl.c (SYS_FUNC(shmctl)): Likewise.

7 years agoipc: fix printing key_t arguments of msgget, semget, and shmget syscalls
Dmitry V. Levin [Thu, 8 Sep 2016 12:49:35 +0000 (12:49 +0000)]
ipc: fix printing key_t arguments of msgget, semget, and shmget syscalls

* ipc_msg.c (SYS_FUNC(msgget)): As key_t type in the kernel
is __kernel_key_t (i.e. int), cast key_t argument to int
and print it using %#x format.
* ipc_sem.c (SYS_FUNC(semget)): Likewise.
* ipc_shm.c (SYS_FUNC(shmget)): Likewise.
* tests/ipc_msg.c (main): Test it.
* tests/ipc_sem.c (main): Likewise.
* tests/ipc_shm.c (main): Likewise.

7 years agotests: add more sched_getattr and sched_setattr decoding checks
Eugene Syromyatnikov [Tue, 6 Sep 2016 02:09:10 +0000 (05:09 +0300)]
tests: add more sched_getattr and sched_setattr decoding checks

* tests/sched_xetattr.c (main): Add more sched_getattr and sched_setattr
decoding checks.

7 years agotests: change type of sched_nice field to signed in sched_xetattr test
Eugene Syromyatnikov [Tue, 6 Sep 2016 02:08:47 +0000 (05:08 +0300)]
tests: change type of sched_nice field to signed in sched_xetattr test

Kernel headers declare this field as s32, and strace prints it with %d
specifier.

* tests/sched_xetattr.c (main): Change type of sched_nice field of struct
sched_attr to int32_t, update format specifiers accordingly.

7 years agotests: add sprintrc_grep function to libtests
Eugene Syromyatnikov [Tue, 6 Sep 2016 02:08:24 +0000 (05:08 +0300)]
tests: add sprintrc_grep function to libtests

New sprintrc_grep function is sprintrc function equivalent suitable for
tests where grep-base pattern matching is employed.

* tests/tests.h (sprintrc_grep): New prototype.
* tests/sprintrc.c (enum sprintrc_fmt): New sprintrc format enumeration.
(sprintrc_ex): New function, renamed from sprintrc and updated to
support different formats.
(sprintrc): Change to use sprintrc_ex with SPRINTRC_FMT_RAW.
(sprintrc_grep): New function, calls sprintrc_ex with SPRINTRC_FMT_GREP.

7 years agotests: perform more strict structure allocation in sched_xetattr test
Eugene Syromyatnikov [Tue, 6 Sep 2016 02:08:10 +0000 (05:08 +0300)]
tests: perform more strict structure allocation in sched_xetattr test

Use tail_alloc with precise size of the structure.

* tests/sched_xetattr.c (main): Eliminate usage of anonymous union type.
Rename sched to sched_attr.  Change type of sched_attr to struct
pointer.  Use tail_alloc for sched_attr allocation, update printf
statements accrodingly.

7 years agotests: split long lines in sched_xetattr test
Eugene Syromyatnikov [Tue, 6 Sep 2016 02:07:57 +0000 (05:07 +0300)]
tests: split long lines in sched_xetattr test

* tests/sched_xetattr.c (main): Split long lines.

7 years agotests/aio.c: fix for x32 personality
Dmitry V. Levin [Wed, 7 Sep 2016 13:17:59 +0000 (13:17 +0000)]
tests/aio.c: fix for x32 personality

* tests/aio.c (main): Do not pass 64-bit aio_context_t to io_submit
and io_getevents until strace learns how to print 64-bit pointers on x32
and on x86_64 for x32 personality.

7 years agoaio: print aio_context_t as a pointer type
Dmitry V. Levin [Wed, 7 Sep 2016 11:22:51 +0000 (11:22 +0000)]
aio: print aio_context_t as a pointer type

As aio_context_t is treated by the kernel as a pointer,
print it using printaddr.

* aio.c (SYS_FUNC(io_setup)): Print the pointer to aio_context_t
argument using printnum_ptr.
(SYS_FUNC(io_destroy), SYS_FUNC(io_submit), SYS_FUNC(io_cancel),
SYS_FUNC(io_getevents)): Print aio_context_t argument using printaddr.
* tests/aio.c (sprint_aio_context_t): Remove.
(main): Update expected output.

7 years agotests/aio.c: rewrite without assert
Dmitry V. Levin [Tue, 6 Sep 2016 16:11:51 +0000 (16:11 +0000)]
tests/aio.c: rewrite without assert

* tests/aio.c: Do not include <assert.h>.
(main): Use sprintrc instead of assert.

7 years agotests: add more aio decoding checks
Eugene Syromyatnikov [Tue, 6 Sep 2016 09:03:14 +0000 (12:03 +0300)]
tests: add more aio decoding checks

* tests/aio.c (sprint_aio_context_t): New function.
(main): Use it; add more checks.

7 years agotests: add suffix and cast to 64-bit constants in aio test
Eugene Syromyatnikov [Tue, 6 Sep 2016 09:02:44 +0000 (12:02 +0300)]
tests: add suffix and cast to 64-bit constants in aio test

This helps to avoid warnings like
"integer constant is too large for ‘long’ type"
reported by some versions of gcc on 32-bit platforms.

* tests/aio.c (main): Add ULL suffix to 64-bit constants
and cast them to unsigned long.

7 years agotests: check decoding of perf_event_open syscall
Eugene Syromyatnikov [Mon, 5 Sep 2016 17:39:04 +0000 (20:39 +0300)]
tests: check decoding of perf_event_open syscall

* tests/perf_event_open.c: New file.
* tests/perf_event_open.test: New test.
* tests/.gitignore: Add perf_event_open.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add perf_event_open.test.

7 years agoMakefile.am: use pwd instead of realpath
Eugene Syromyatnikov [Mon, 5 Sep 2016 17:35:20 +0000 (20:35 +0300)]
Makefile.am: use pwd instead of realpath

* Makefile.am (CODE_COVERAGE_GENHTML_OPTIONS): Use standard pwd(1)
instead of less widespread realpath(1) utility from GNU coreutils.

7 years agotests: use sprintrc in tests/xetpriority.c
Dmitry V. Levin [Mon, 5 Sep 2016 14:00:46 +0000 (14:00 +0000)]
tests: use sprintrc in tests/xetpriority.c

* tests/xetpriority.c (main): Use sprintrc.

7 years agotests: use sprintrc in vhangup.test
Dmitry V. Levin [Mon, 5 Sep 2016 13:59:08 +0000 (13:59 +0000)]
tests: use sprintrc in vhangup.test

* tests/vhangup.c (main): Use sprintrc.

7 years agotests: use sprintrc in tests/sockname.c
Dmitry V. Levin [Mon, 5 Sep 2016 13:58:02 +0000 (13:58 +0000)]
tests: use sprintrc in tests/sockname.c

* tests/sockname.c (test_sockname_syscall): Use sprintrc.

7 years agotests: use sprintrc in signalfd4.test
Dmitry V. Levin [Mon, 5 Sep 2016 13:53:52 +0000 (13:53 +0000)]
tests: use sprintrc in signalfd4.test

* tests/signalfd4.c (main): Use sprintrc.

7 years agotests: use sprintrc in setrlimit.test
Dmitry V. Levin [Mon, 5 Sep 2016 13:50:39 +0000 (13:50 +0000)]
tests: use sprintrc in setrlimit.test

* tests/setrlimit.c (main): Use sprintrc.

7 years agotests: use sprintrc in set_mempolicy.test
Dmitry V. Levin [Mon, 5 Sep 2016 13:43:36 +0000 (13:43 +0000)]
tests: use sprintrc in set_mempolicy.test

* tests/set_mempolicy.c (main, print_nodes): Use sprintrc.

7 years agotests: use sprintrc in openat.test
Dmitry V. Levin [Mon, 5 Sep 2016 13:37:33 +0000 (13:37 +0000)]
tests: use sprintrc in openat.test

* tests/openat.c (main): Use sprintrc.

7 years agotests: use sprintrc in open.test
Dmitry V. Levin [Mon, 5 Sep 2016 13:34:06 +0000 (13:34 +0000)]
tests: use sprintrc in open.test

* tests/open.c (main): Use sprintrc.

7 years agotests: use sprintrc in move_pages.test
Dmitry V. Levin [Mon, 5 Sep 2016 13:30:06 +0000 (13:30 +0000)]
tests: use sprintrc in move_pages.test

* tests/move_pages.c (print_stat_pages, print_move_pages): Use sprintrc.

7 years agotests: use sprintrc in mlockall.test
Dmitry V. Levin [Sun, 4 Sep 2016 22:24:03 +0000 (22:24 +0000)]
tests: use sprintrc in mlockall.test

* tests/mlockall.c (main): Use sprintrc.

7 years agotests: use sprintrc in mlock.test
Dmitry V. Levin [Sun, 4 Sep 2016 22:22:37 +0000 (22:22 +0000)]
tests: use sprintrc in mlock.test

* tests/mlock.c (main): Use sprintrc.

7 years agotests: use sprintrc in epoll_create1.test
Dmitry V. Levin [Sun, 4 Sep 2016 22:16:46 +0000 (22:16 +0000)]
tests: use sprintrc in epoll_create1.test

* tests/epoll_create1.c (main): Use sprintrc.

7 years agotests: fix printing of min_nr and nr arguments of io_getevents syscall
Eugene Syromyatnikov [Mon, 5 Sep 2016 01:32:40 +0000 (04:32 +0300)]
tests: fix printing of min_nr and nr arguments of io_getevents syscall

* tests/aio.c (main): Change output format for min_nr and nr arguments
in io_getevents check to %ld, cast these arguments to long.

7 years agotests: use sprintrc for return code output in aio test
Eugene Syromyatnikov [Mon, 5 Sep 2016 01:32:29 +0000 (04:32 +0300)]
tests: use sprintrc for return code output in aio test

* tests/aio.c (main): Use sprintrc for return code output.

7 years agotests: add more tests for ched_rr_get_interval decoding
Eugene Syromyatnikov [Mon, 5 Sep 2016 01:32:02 +0000 (04:32 +0300)]
tests: add more tests for ched_rr_get_interval decoding

* tests/sched_rr_get_interval.c (main): Check decoding of invalid
timespec pointer and successful syscall invocation.

7 years agotests: use sprintrc for return code output in sched_rr_get_interval test
Eugene Syromyatnikov [Mon, 5 Sep 2016 01:31:48 +0000 (04:31 +0300)]
tests: use sprintrc for return code output in sched_rr_get_interval test

* tests/sched_rr_get_interval.c (main): Use sprintrc for return code
output.

7 years agotests: add more tests for sched_getscheduler and sched_xetscheduler
Eugene Syromyatnikov [Mon, 5 Sep 2016 01:31:35 +0000 (04:31 +0300)]
tests: add more tests for sched_getscheduler and sched_xetscheduler

* tests/sched_xetscheduler.c (main): Check for decoding of invalid PID
in sched_getscheduler and sched_setscheduler, invalid address
of sched_param structure, and invalid policy value.

7 years agotests: use sprintrc for return code output in sched_xetscheduler test
Eugene Syromyatnikov [Mon, 5 Sep 2016 01:33:16 +0000 (04:33 +0300)]
tests: use sprintrc for return code output in sched_xetscheduler test

* tests/sched_xetscheduler.c (main): Use sprintrc for return code output.

7 years agoaio: use printfd for fd printing
Eugene Syromyatnikov [Mon, 5 Sep 2016 01:32:16 +0000 (04:32 +0300)]
aio: use printfd for fd printing

struct iocb contains two fields with fd semantics: aio_fildes and
aio_resfd.  It is quite reasonable to use the appropriate function for
printing them (apart from just "%d").

* aio.c (print_common_flags): Add struct tcb pointer to parameter list;
use printfd for printing aio_resfd field.
(print_iocb_header): Add struct tcb pointer to parameter list;
use printfd for printing aio_fildes field.
(print_iocb): Provide tcp argument to print_iocb_header
and print_common_flags.
(SYS_FUNC(io_cancel)): Likewise.

7 years agosh64: wire up new syscalls
Dmitry V. Levin [Sat, 3 Sep 2016 22:05:10 +0000 (22:05 +0000)]
sh64: wire up new syscalls

* linux/sh64/syscallent.h [380..393]: New entries.

7 years agosh: wire up new syscalls
Dmitry V. Levin [Fri, 2 Sep 2016 21:04:49 +0000 (21:04 +0000)]
sh: wire up new syscalls

* linux/sh/syscallent.h [369..382]: New entries.

7 years agoavr32: wire up preadv2 and pwritev2 syscalls
Dmitry V. Levin [Thu, 1 Sep 2016 22:04:08 +0000 (22:04 +0000)]
avr32: wire up preadv2 and pwritev2 syscalls

* linux/avr32/syscallent.h [326]: Add preadv2 entry.
[327]: Add pwritev2 entry.

7 years agotests: check decoding of readahead syscall
Eugene Syromyatnikov [Fri, 2 Sep 2016 15:28:24 +0000 (18:28 +0300)]
tests: check decoding of readahead syscall

* configure.ac (AC_CHECK_FUNCS): Add readahead.
* tests/readahead.c: New file.
* tests/readahead.test: New test.
* tests/.gitignore: Add readahead.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add readahead.test.

7 years agotests: move sprintrc function to libtests
Eugene Syromyatnikov [Fri, 2 Sep 2016 15:28:02 +0000 (18:28 +0300)]
tests: move sprintrc function to libtests

* tests/tests.h (sprintrc): New prototype.
* tests/futex.c (sprintrc): Move to ...
* tests/sprintrc.c: ... new file.
* tests/Makefile.am (libtests_a_SOURCES): Add sprintrc.c.

7 years agotests/futex: add support to sprintrc for return codes other than 0 and -1
Eugene Syromyatnikov [Fri, 2 Sep 2016 15:27:18 +0000 (18:27 +0300)]
tests/futex: add support to sprintrc for return codes other than 0 and -1

* tests/futex.c (sprintrc): Print the actual return code provided,
not just "0".  Check snprintf return code.

7 years agotests/futex: increase sprintrc static buffer size
Eugene Syromyatnikov [Fri, 2 Sep 2016 15:25:56 +0000 (18:25 +0300)]
tests/futex: increase sprintrc static buffer size

* tests/futex.c (sprintrc): Increase buffer size from 256 to 4096.

7 years agotests/futex: rename retstr to sprintrc
Eugene Syromyatnikov [Fri, 2 Sep 2016 15:25:35 +0000 (18:25 +0300)]
tests/futex: rename retstr to sprintrc

* tests/futex.c (retstr): Rename to sprintrc.
(main): Convert all retstr calls to sprintrc.

7 years agoreadahead: fix print format for the "count" argument
Eugene Syromyatnikov [Wed, 31 Aug 2016 23:42:48 +0000 (02:42 +0300)]
readahead: fix print format for the "count" argument

According to documentation and kernel's syscalls.h, its type is size_t,
so "%lu" format should be used instead of "%ld".

* readahead.c (SYS_FUNC(readahead)): Fix conversion specifier
for the "count" argument.

7 years agotests/xstatx.c: use zero_extend_signed_to_ull/sign_extend_unsigned_to_ll
Dmitry V. Levin [Wed, 31 Aug 2016 16:31:53 +0000 (16:31 +0000)]
tests/xstatx.c: use zero_extend_signed_to_ull/sign_extend_unsigned_to_ll

Use zero_extend_signed_to_ull and sign_extend_unsigned_to_ll macros
instead of explicit casts with unpredictable sign extension semantics.

* tests/xstatx.c (print_time, main): Use zero_extend_signed_to_ull
instead of explicit cast.
(print_stat): Use zero_extend_signed_to_ull and
sign_extend_unsigned_to_ll instead of explicit casts.

7 years agotests: add sign_extend_unsigned_to_ll macro
Dmitry V. Levin [Wed, 31 Aug 2016 16:09:24 +0000 (16:09 +0000)]
tests: add sign_extend_unsigned_to_ll macro

* tests/tests.h (sign_extend_unsigned_to_ll): New macro from defs.h.

7 years agoRefactor common sa_handler printing code
Eugene Syromiatnikov [Wed, 17 Aug 2016 01:08:49 +0000 (01:08 +0000)]
Refactor common sa_handler printing code

* xlat/sa_handler_values.in: New file.
* signal.c: Include "xlat/sa_handler_values.h".
(get_sa_handler_str, print_sa_handler): New functions.
(SYS_FUNC(sigsetmask), SYS_FUNC(signal), decode_new_sigaction): Use them.

7 years agoUpdate TCP* constants
Dmitry V. Levin [Wed, 31 Aug 2016 08:49:31 +0000 (08:49 +0000)]
Update TCP* constants

* xlat/socktcpoptions.in: Add TCP_REPAIR_WINDOW introduced by linux
kernel commit v4.8-rc1~140^2~226.

7 years agoUpdate SCTP_* constants
Dmitry V. Levin [Tue, 30 Aug 2016 18:22:41 +0000 (18:22 +0000)]
Update SCTP_* constants

* xlat/socksctpoptions.in: Add SCTP_PR_SUPPORTED, SCTP_DEFAULT_PRINFO,
and SCTP_PR_ASSOC_STATUS introduced by linux kernel commits
v4.8-rc1~140^2~148^2~5, v4.8-rc1~140^2~148^2~4, and
v4.8-rc1~140^2~148^2~3, respectively.

7 years agoUpdate fs *_MAGIC constants
Dmitry V. Levin [Tue, 30 Aug 2016 18:16:53 +0000 (18:16 +0000)]
Update fs *_MAGIC constants

* xlat/fsmagic.in: Add BALLOON_KVM_MAGIC and ZSMALLOC_MAGIC introduced
by linux kernel commits v4.8-rc1~147^2~82 and v4.8-rc1~147^2~74,
respectively.

7 years agoUpdate KEXEC_ARCH_* constants
Dmitry V. Levin [Tue, 30 Aug 2016 18:13:38 +0000 (18:13 +0000)]
Update KEXEC_ARCH_* constants

* xlat/kexec_arch_values.in: Add KEXEC_ARCH_AARCH64 introduced by linux
kernel commit v4.8-rc1~16^2~41.

7 years agoUpdate ETH_P_* constants
Dmitry V. Levin [Tue, 30 Aug 2016 18:11:13 +0000 (18:11 +0000)]
Update ETH_P_* constants

* xlat/ethernet_protocols.in: Add ETH_P_NCSI introduced by linux kernel
commit v4.8-rc1~140^2~65^2~8.