]> granicus.if.org Git - strace/log
strace
9 years agotests: fix match_diff usage
Dmitry V. Levin [Wed, 26 Aug 2015 22:29:41 +0000 (22:29 +0000)]
tests: fix match_diff usage

The first argument of match_diff should be the file with expected
output, the second argument - the file with actual output.

* tests/aio.test: Swap match_diff arguments.
* tests/restart_syscall.test: Likewise.
* tests/seccomp.test: Likewise.
* tests/umovestr2.test: Likewise.

9 years agobuild: fix -I options
Dmitry V. Levin [Wed, 26 Aug 2015 22:50:58 +0000 (22:50 +0000)]
build: fix -I options

* configure.ac (AM_INIT_AUTOMAKE): Add nostdinc.
* Makefile.am (AM_CPPFLAGS): Append -I$(builddir) and -I$(srcdir).
* tests/Makefile.am (AM_CPPFLAGS): Likewise.

9 years agoaio: rewrite from libaio.h to linux/aio_abi.h
Dmitry V. Levin [Wed, 26 Aug 2015 17:48:40 +0000 (17:48 +0000)]
aio: rewrite from libaio.h to linux/aio_abi.h

* configure.ac (AC_CHECK_HEADERS): Remove libaio.h.
* aio.c: Assume that <linux/aio_abi.h> is available,
include it instead of <libaio.h>.
[!IOCB_RESFD]: Remove.
(enum iocb_sub): Remove SUB_POLL.
(tprint_lio_opcode): Update.
(print_common_flags): Use IOCB_FLAG_RESFD instead of IOCB_RESFD,
rename fields of struct iocb.
(iocb_is_valid, print_iocb_header, print_iocb): New functions.
(sys_io_submit): Use print_iocb.
(print_io_event): Fix struct io_event decoding.
(sys_io_cancel): Use print_iocb_header.
* strace.spec (BuildRequires): Remove libaio-devel.
* tests/aio.c (main): Test IOCB_CMD_PREADV, io_cancel,
and struct io_event decoding.
* tests/aio.test (syscalls): Add io_cancel.

9 years agoFix multiple personalities support in parser of io_submit syscall
Dmitry V. Levin [Wed, 26 Aug 2015 12:49:07 +0000 (12:49 +0000)]
Fix multiple personalities support in parser of io_submit syscall

Introduce a new helper function to fetch tracee's long integers
and use it to fix multiple personalities support in io_submit parser.

* defs.h (umove_long_or_printaddr): New prototype.
* util.c (umove_long_or_printaddr): New function.
* aio.c (sys_io_submit): Use it to fetch tracee's pointers.
* tests/aio.c: New file.
* tests/aio.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add aio.
(TESTS): Add aio.test.
* tests/.gitignore: Add aio.

9 years agotests: fix build on systems that lack O_CLOEXEC definition
Dmitry V. Levin [Wed, 26 Aug 2015 21:02:04 +0000 (21:02 +0000)]
tests: fix build on systems that lack O_CLOEXEC definition

* tests/epoll_create1.c (main): Check that O_CLOEXEC is defined.
* tests/eventfd.c (main): Likewise.
* tests/signalfd.c (main): Likewise.

9 years agotests: fix build on systems that lack AT_FDCWD definition
Dmitry V. Levin [Wed, 26 Aug 2015 20:20:38 +0000 (20:20 +0000)]
tests: fix build on systems that lack AT_FDCWD definition

* tests/readlinkat.c: Stop including <fcntl.h>.
(main): Replace AT_FDCWD with -100.

9 years agoFix printing of io_getevents first argument
Dmitry V. Levin [Wed, 26 Aug 2015 16:15:46 +0000 (16:15 +0000)]
Fix printing of io_getevents first argument

* aio.c (sys_io_getevents): Print first argument using "%lu" format.

9 years agodecode extend getsockopt/setsockopt options
Mike Frysinger [Wed, 19 Aug 2015 17:29:27 +0000 (13:29 -0400)]
decode extend getsockopt/setsockopt options

Currently the code assumes the set of valid options between getsockopt
and setsockopt are exactly the same and thus maintains one list.  The
kernel unfortunately does not do this -- it allows for different opts
between the get and set functions.  See the {g,s}et_opt{min,max} fields
in the various netfilter subcores.

To support this, extend the printxval function to take multiple sets of
xlats as varargs.  Then we add the new get/set lists, and pass them down
in the net code when decoding things.

A simple example is iptables; before:
getsockopt(4, SOL_IP, 0x40 /* IP_??? */, ...) = 0
getsockopt(4, SOL_IP, 0x41 /* IP_??? */, ...) = 0
after:
getsockopt(4, SOL_IP, IPT_SO_GET_INFO, ...) = 0
getsockopt(4, SOL_IP, IPT_SO_GET_ENTRIES, ...) = 0

If these were setsockopt calls, then 0x40 & 0x41 would be
IPT_SO_SET_REPLACE & IPT_SO_SET_ADD_COUNTERS.

* configure.ac: Check for netfilter headers.
* defs.h (printxvals): New prototype.
(printxval): Change to a define.
* net.c: Include netfilter headers and new sockopts headers.
(print_sockopt_fd_level_name): Add a is_getsockopt argument.  Change SOL_IP
and SOL_IPV6 decoding to use printxvals, and use is_getsockopt to pass more
xlats down.
(getsockopt): Call print_sockopt_fd_level_name with is_getsockopt as true.
(setsockopt): Call print_sockopt_fd_level_name with is_getsockopt as false.
* util.c (printxval): Rename to ...
(printxvals): ... this.  Rewrite to be varargs based.
* xlat/getsockipoptions.in: New xlat list.
* xlat/getsockipv6options.in, xlat/setsockipoptions.in,
xlat/setsockipv6options.in: Likewise.

9 years agoFix build on systems that lack VIDIOC_CREATE_BUFS definition
Dmitry V. Levin [Wed, 26 Aug 2015 11:55:05 +0000 (11:55 +0000)]
Fix build on systems that lack VIDIOC_CREATE_BUFS definition

* v4l2.c (v4l2_ioctl): Check that v4l2_ioctl is defined.

9 years agoFix build on systems that lack EM_ARM/EM_OPENRISC definitions
Dmitry V. Levin [Tue, 25 Aug 2015 21:56:02 +0000 (21:56 +0000)]
Fix build on systems that lack EM_ARM/EM_OPENRISC definitions

* xlat/audit_arch.in: Guard AUDIT_ARCH_ARM and AUDIT_ARCH_ARMEB
with EM_ARM check.  Guard AUDIT_ARCH_OPENRISC with EM_OPENRISC check.

9 years agoFix build on systems that lack UBI_IOCVOLCRBLK/UBI_IOCVOLRMBLK definitions
Dmitry V. Levin [Tue, 25 Aug 2015 21:48:36 +0000 (21:48 +0000)]
Fix build on systems that lack UBI_IOCVOLCRBLK/UBI_IOCVOLRMBLK definitions

* mtd.c (ubi_ioctl): Check that UBI_IOCVOLCRBLK and UBI_IOCVOLRMBLK
are defined.

9 years agoFix build on systems that lack O_CLOEXEC definition
Dmitry V. Levin [Mon, 24 Aug 2015 09:38:03 +0000 (09:38 +0000)]
Fix build on systems that lack O_CLOEXEC definition

* xlat/efd_flags.in: Check that O_CLOEXEC is defined.
* xlat/epollflags.in: Likewise.
* xlat/sfd_flags.in: Likewise.
* xlat/timerfdflags.in: Fix O_CLOEXEC check.

9 years agoprintsiginfo.c: fix integer conversions
Elvira Khabirova [Fri, 21 Aug 2015 17:46:35 +0000 (20:46 +0300)]
printsiginfo.c: fix integer conversions

* printsiginfo.c (printsigsource): Print si_pid and si_uid as unsigned
integers.
(printsigval): Print si_int as signed int.

9 years agoFix decoding of times syscall return value
Dmitry V. Levin [Thu, 20 Aug 2015 21:20:14 +0000 (21:20 +0000)]
Fix decoding of times syscall return value

Always print return value of successful times syscall
as unsigned long integer.

* times.c (sys_times): Return RVAL_UDECIMAL unless syserror.

9 years agomq.c: remove repeated code
Elvira Khabirova [Thu, 20 Aug 2015 18:14:29 +0000 (21:14 +0300)]
mq.c: remove repeated code

* mq.c (sys_mq_open): Use printmqattr instead of implementing it again.
[HAVE_MQUEUE_H]: Remove.

9 years agoipc_msg.c: fix multiple personalities support in msgrcv ipc subcall
Elvira Khabirova [Wed, 19 Aug 2015 03:06:29 +0000 (06:06 +0300)]
ipc_msg.c: fix multiple personalities support in msgrcv ipc subcall

When msgrcv syscall is an ipc subcall, msgp (pointer to struct msgbuf)
and msgtyp (message type) syscall arguments are passed via proxy
structure which definition significantly depends on tracee's
wordsize.

* ipc_msg.c (fetch_msgrcv_args): New function.
(sys_msgrcv): Use it.

9 years agoipc.c: split into separate files
Elvira Khabirova [Wed, 19 Aug 2015 02:06:26 +0000 (05:06 +0300)]
ipc.c: split into separate files

In preparation for upcoming mpers-related changes,
split ipc.c into independent groups of parsers.

* ipc_defs.h: New file.
* ipc_msg.c: Likewise.
* ipc_msgctl.c: Likewise.
* ipc_sem.c: Likewise.
* ipc_shm.c: Likewise.
* ipc_shmctl.c: Likewise.
* mq.c: Likewise.
* print_mq_attr.c: Likewise.
* print_msgbuf.c: Likewise.
* ipc.c: Remove.
(sys_mq_open, sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify,
sys_mq_getsetattr): Move to mq.c.
(sys_msgget, tprint_msgsnd, sys_msgsnd, tprint_msgrcv, sys_msgrcv): Move
to ipc_msg.c.
(sys_msgctl): Move to ipc_msgctl.c.
(tprint_sembuf, tprint_sembuf_array, sys_semop, sys_semtimedop,
sys_semget, syssemctl): Move to ipc_sem.c.
(sys_shmget, sys_shmat, sys_shmdt): Move to ipc_shm.c.
(sys_shmctl): Move to ipc_shmctl.c.
(printmqattr): Move to print_mq_attr.c.
(tprint_msgbuf): Move to print_msgbuf.c.
(IPC_64, PRINTCTL): Move to ipc_defs.h.
* defs.h (struct xlat resource_flags): New prototype.
* Makefile.am (strace_SOURCES): Remove ipc.c.  Add ipc_defs.h, mq.c,
ipc_msg.c, ipc_msgctl.c, ipc_sem.c, ipc_shm.c, ipc_shmctl.c,
print_mq_attr.c, and print_msgbuf.c.

9 years ago.gitignore: add sen.h and sys_func.h
Elvira Khabirova [Thu, 20 Aug 2015 17:32:22 +0000 (20:32 +0300)]
.gitignore: add sen.h and sys_func.h

9 years agotests: add sendfile.test and sendfile64.test
Dmitry V. Levin [Wed, 19 Aug 2015 01:25:39 +0000 (01:25 +0000)]
tests: add sendfile.test and sendfile64.test

* tests/sendfile.c: New file.
* tests/sendfile64.c: New file.
* tests/sendfile.test: New test.
* tests/sendfile64.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add sendfile and sendfile64.
(TESTS): Add sendfile.test and sendfile64.test.
* tests/.gitignore: Add sendfile and sendfile64.

9 years agosendfile: decode file offset both on entering and exiting syscall
Dmitry V. Levin [Tue, 18 Aug 2015 22:17:52 +0000 (22:17 +0000)]
sendfile: decode file offset both on entering and exiting syscall

When sendfile is called with a valid pointer to a file offset variable,
kernel updates this variable on successfull exit from syscall.

* sendfile.c (sys_sendfile, sys_sendfile64): Print tcp->u_arg[2]
on exiting syscall as well as on entering.

9 years agoio.c: move sendfile parsers to a separate file
Dmitry V. Levin [Tue, 18 Aug 2015 22:09:30 +0000 (22:09 +0000)]
io.c: move sendfile parsers to a separate file

* sendfile.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* io.c (sys_sendfile, sys_sendfile64): Move to sendfile.c

9 years agoMake printnum_* functions return boolean status
Dmitry V. Levin [Tue, 18 Aug 2015 21:57:27 +0000 (21:57 +0000)]
Make printnum_* functions return boolean status

With this change, printnum_* functions return true iff they
successfully fetched necessary data from tracee's memory.

* defs.h (printnum_short, printnum_int, printnum_int64,
printnum_long_int, printpair_int, printpair_int64): Return bool.
* util.c (DEF_PRINTNUM, DEF_PRINTPAIR, printnum_long_int): Likewise.

9 years agomips: print _MIPS_SIM in configure.ac for debug purposes
Dmitry V. Levin [Tue, 18 Aug 2015 22:53:22 +0000 (22:53 +0000)]
mips: print _MIPS_SIM in configure.ac for debug purposes

* configure.ac [MIPS]: Print _MIPS_SIM.

9 years agoxtensa: fix several syscall entries
Dmitry V. Levin [Wed, 19 Aug 2015 13:34:00 +0000 (13:34 +0000)]
xtensa: fix several syscall entries

* linux/xtensa/syscallent.h: Fix nargs in splice, tee, vmsplice,
pselect6, ppoll, epoll_pwait, and set_robust_list syscall entries.

9 years agoia64: fix syscall numbers for set_robust_list, get_robust_list, and splice syscalls
Dmitry V. Levin [Wed, 19 Aug 2015 13:31:42 +0000 (13:31 +0000)]
ia64: fix syscall numbers for set_robust_list, get_robust_list, and splice syscalls

* linux/ia64/syscallent.h: Place syscall entries for set_robust_list,
get_robust_list, and splice in correct order.

9 years agotests: add a test for get_robust_list and set_robust_list decoding
Dmitry V. Levin [Tue, 18 Aug 2015 19:21:36 +0000 (19:21 +0000)]
tests: add a test for get_robust_list and set_robust_list decoding

* tests/xet_robust_list.c: New file.
* tests/xet_robust_list.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add xet_robust_list.
(TESTS): Add xet_robust_list.test.
* tests/.gitignore: Add xet_robust_list.

9 years agoSimplify printing of get_robust_list first argument
Dmitry V. Levin [Tue, 18 Aug 2015 18:33:44 +0000 (18:33 +0000)]
Simplify printing of get_robust_list first argument

* get_robust_list.c (sys_get_robust_list): Print first argument
using "%d" format.

9 years agoFix io_setup first argument printing
Elvira Khabirova [Tue, 18 Aug 2015 15:02:20 +0000 (18:02 +0300)]
Fix io_setup first argument printing

* aio.c (sys_io_setup): Print first argument using "%u" format.

9 years agoFix printing tracee's long integers
Dmitry V. Levin [Tue, 18 Aug 2015 14:58:27 +0000 (14:58 +0000)]
Fix printing tracee's long integers

Replace ambiguous printnum_long that used to fetch native long integers
from tracee's memory with printnum_ptr, printnum_slong, and printnum_ulong
that fetch tracee's pointer, signed long, and unsigned long integers.

* defs.h (printnum_long, printpair_long): Remove prototypes.
(printnum_int64, printpair_int64): Remove macros, declare functions
unconditionally.
[SUPPORTED_PERSONALITIES > 1 && SIZEOF_LONG > 4] (printnum_long_int):
New prototype.
(printnum_ptr, printnum_slong, printnum_ulong): New macros.
* aio.c (sys_io_setup): Use printnum_ulong.
* block.c (block_ioctl): Use printnum_slong and printnum_ulong.
* get_robust_list.c (sys_get_robust_list): Use printnum_ptr
and printnum_ulong.
* io.c (print_off_t): Remove.
(sys_sendfile): Use printnum_ulong.
* ipc.c (sys_semctl): Use printnum_ptr.
* prctl.c (sys_prctl): Likewise.
* process.c (sys_ptrace): Likewise.
* rtc.c (rtc_ioctl): Use printnum_ulong.
* util.c (printnum_long, printpair_long): Remove.
(printnum_int64, printpair_int64): Define unconditionally.
[SUPPORTED_PERSONALITIES > 1 && SIZEOF_LONG > 4] (printnum_long_int):
New function.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Elvira Khabirova <lineprinter0@gmail.com>
9 years agoFix time syscall decoding for some personalities
Dmitry V. Levin [Tue, 18 Aug 2015 13:25:36 +0000 (13:25 +0000)]
Fix time syscall decoding for some personalities

* time.c (current_time_t_is_int32): Define.
(sys_time): Use it, printnum_int, and printnum_int64 instead
of printnum_long.
* tests/time.c: New file.
* tests/time.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add time.
(TESTS): Add time.test.
* tests/.gitignore: Add time.

9 years agosignal: SIGSYS: decode si_syscall & si_arch fields
Mike Frysinger [Tue, 18 Aug 2015 07:24:59 +0000 (03:24 -0400)]
signal: SIGSYS: decode si_syscall & si_arch fields

When receiving SIGSYS, the si_syscall & si_arch fields are set to known
values, so make sure we decode their values into the symbol settings.
This makes stracing seccomp failures much easier.

* defs.h (syscall_name): New prototype.
* printsiginfo.c: Include linux/audit.h and xlat/audit_arch.h.
(print_si_info): Decode si_syscall & si_arch for SIGSYS.
* syscall.c (undefined_scno_name): Delete.
(syscall_name): New function.
(trace_syscall_entering): Change undefined_scno_name to syscall_name.
(trace_syscall_exiting): Likewise.
* xlat/audit_arch.in: New file.

9 years agoipc.c: remove unnecesarry #ifdef IPC_64
Elvira Khabirova [Mon, 17 Aug 2015 19:48:43 +0000 (22:48 +0300)]
ipc.c: remove unnecesarry #ifdef IPC_64

* ipc.c (PRINTCTL): Remove #ifdef IPC_64 check as IPC_64 is always
defined at this point.

9 years agoresource.c: move times parser to a separate file
Elvira Khabirova [Mon, 3 Aug 2015 04:09:34 +0000 (07:09 +0300)]
resource.c: move times parser to a separate file

* times.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* resource.c (sys_times): Move to times.c.

9 years agosysctl.c: remove KERN_JAVA_* defines handling
Elvira Khabirova [Mon, 3 Aug 2015 05:33:44 +0000 (08:33 +0300)]
sysctl.c: remove KERN_JAVA_* defines handling

This has been obsoleted by binfmt_misc since Linux 2.1.43.

* sysctl.c (sys_sysctl): Remove KERN_JAVA_INTERPRETER
and KERN_JAVA_APPLETVIEWER.

9 years agosysinfo.c: remove obsolete code
Elvira Khabirova [Mon, 3 Aug 2015 02:37:52 +0000 (05:37 +0300)]
sysinfo.c: remove obsolete code

struct sysinfo members totalhigh, freehigh and mem_unit are present
since Linux 2.3.48.

* configure.ac (AC_CHECK_MEMBERS): Remove struct sysinfo checks.
* sysinfo.c (sys_sysinfo): Remove HAVE_STRUCT_SYSINFO_* checks.

9 years agotests: add readlink.test and readlinkat.test
Gleb Fotengauer-Malinovskiy [Fri, 14 Aug 2015 15:49:27 +0000 (17:49 +0200)]
tests: add readlink.test and readlinkat.test

* tests/readlink.c: New file.
* tests/readlink.awk: Likewise.
* tests/readlinkat.c: Likewise.
* tests/readlinkat.awk: Likewise.
* tests/readlink.test: New test.
* tests/readlinkat.test: Likewise.
* tests/Makefile.am (check_PROGRAMS): Add readlink and readlinkat.
(TESTS): Add readlink.test and readlinkat.test.
(EXTRA_DIST): Add readlink.awk and readlinkat.awk.
* tests/.gitignore: Add readlink and readlinkat.

9 years agoPrint nanoseconds along with seconds in stat family syscalls
Dmitry V. Levin [Sat, 8 Aug 2015 12:12:13 +0000 (12:12 +0000)]
Print nanoseconds along with seconds in stat family syscalls

* configure.ac (AC_CHECK_MEMBERS): Add stat.st_atim.tv_nsec,
stat.st_ctim.tv_nsec, stat.st_mtim.tv_nsec, stat.st_atime_nsec,
stat.st_atime_csec, and stat.st_mtime_nsec.
* file.c: Explicitly define HAVE_STRUCT_STAT_ST_ATIME_NSEC,
HAVE_STRUCT_STAT_ST_CTIME_NSEC and HAVE_STRUCT_STAT_ST_MTIME_NSEC
for locally defined types.
* printstat.h (DO_PRINTSTAT): Print st_atime_nsec, st_ctime_nsec,
and st_mtime_nsec members.
* tests/stat.c [_FILE_OFFSET_BITS == 64]: Use st_atime_nsec,
st_ctime_nsec, and st_mtime_nsec via st_atim.tv_nsec, st_ctim.tv_nsec,
and st_mtim.tv_nsec.
(main): Print st_atime_nsec, st_ctime_nsec, and st_mtime_nsec members.

This fixes Fedora bug #1251176.

9 years agosignalfd4: fix flags decoding
Dmitry V. Levin [Mon, 3 Aug 2015 09:47:25 +0000 (09:47 +0000)]
signalfd4: fix flags decoding

* configure.ac (AC_CHECK_FUNCS): Add eventfd.
(AC_CHECK_HEADERS): Add sys/signalfd.h.
* signalfd.c: Include <fcntl.h>.
[HAVE_SYS_SIGNALFD_H] Include <sys/signalfd.h>.
Include "xlat/sfd_flags.h".
(do_signalfd): Use sfd_flags for flags decoding.
* xlat/sfd_flags.in: New file.
* tests/signalfd.c: Likewise.
* tests/signalfd.expected: Likewise.
* tests/signalfd.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add signalfd.
(TESTS): Add signalfd.test.
(EXTRA_DIST): Add signalfd.expected.
* tests/.gitignore: Add signalfd.

9 years agosignalfd, signalfd4: mark return code with RVAL_FD flag
Dmitry V. Levin [Mon, 3 Aug 2015 09:14:28 +0000 (09:14 +0000)]
signalfd, signalfd4: mark return code with RVAL_FD flag

* signalfd.c (do_signalfd): Set RVAL_FD flag in the return code.

9 years agosignal.c: move signalfd parsers to a separate file
Dmitry V. Levin [Mon, 3 Aug 2015 09:12:26 +0000 (09:12 +0000)]
signal.c: move signalfd parsers to a separate file

* signalfd.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* signal.c (do_signalfd, sys_signalfd, sys_signalfd4): Move to signalfd.c

9 years agoperf_event_open: mark return code with RVAL_FD flag
Dmitry V. Levin [Mon, 3 Aug 2015 09:06:59 +0000 (09:06 +0000)]
perf_event_open: mark return code with RVAL_FD flag

* perf.c (sys_perf_event_open): Set RVAL_FD flag in the return code.

9 years agopipe, pipe2, socketpair: print returned descriptors using printfd
Dmitry V. Levin [Sun, 2 Aug 2015 01:54:48 +0000 (01:54 +0000)]
pipe, pipe2, socketpair: print returned descriptors using printfd

* net.c (printpair_fd, decode_pair_fd): New functions.
(do_pipe, sys_socketpair): Use them.

9 years agosocket: mark return code with RVAL_FD flag
Dmitry V. Levin [Sun, 2 Aug 2015 01:41:26 +0000 (01:41 +0000)]
socket: mark return code with RVAL_FD flag

* net.c (sys_socket): Set RVAL_FD flag in the return code.
* tests/net-yy-accept.awk: Update socket and bind regexps.
* tests/unix-yy-accept.awk: Likewise.
* tests/net-yy-connect.awk: Update socket and connect regexps.
* tests/unix-yy-connect.awk: Likewise.

9 years agotimerfd, timerfd_create: mark return code with RVAL_FD flag
Dmitry V. Levin [Sun, 2 Aug 2015 01:37:19 +0000 (01:37 +0000)]
timerfd, timerfd_create: mark return code with RVAL_FD flag

* time.c (sys_timerfd, sys_timerfd_create): Set RVAL_FD flag
in the return code.

9 years agoinotify_init1: mark return code with RVAL_FD flag
Dmitry V. Levin [Sun, 2 Aug 2015 01:34:57 +0000 (01:34 +0000)]
inotify_init1: mark return code with RVAL_FD flag

* inotify.c (sys_inotify_init1): Set RVAL_FD flag in the return code.

9 years agofanotify_init: mark return code with RVAL_FD flag
Dmitry V. Levin [Sun, 2 Aug 2015 01:31:40 +0000 (01:31 +0000)]
fanotify_init: mark return code with RVAL_FD flag

* fanotify.c (sys_fanotify_init): Set RVAL_FD flag in the return code.

9 years agoFix epoll_create syscall decoding
Dmitry V. Levin [Sat, 1 Aug 2015 23:11:43 +0000 (23:11 +0000)]
Fix epoll_create syscall decoding

* epoll.c (sys_epoll_create): New function.
* linux/dummy.h (sys_epoll_create): Remove.

9 years agoepoll_create1: mark return code with RVAL_FD flag
Dmitry V. Levin [Sat, 1 Aug 2015 23:08:39 +0000 (23:08 +0000)]
epoll_create1: mark return code with RVAL_FD flag

* epoll.c (sys_epoll_create1): Set RVAL_FD flag in the return code.

9 years agoepoll_create1: fix pathtrace support
Dmitry V. Levin [Sat, 1 Aug 2015 23:07:19 +0000 (23:07 +0000)]
epoll_create1: fix pathtrace support

* pathtrace.c (pathtrace_match): Add SEN_epoll_create1.

9 years agoepoll_create1: fix flags decoding
Dmitry V. Levin [Sat, 1 Aug 2015 23:04:32 +0000 (23:04 +0000)]
epoll_create1: fix flags decoding

* xlat/epollflags.in: Remove EPOLL_NONBLOCK, provide fallback definition
for EPOLL_CLOEXEC.
* tests/epoll_create1.c: New file.
* tests/epoll_create1.expected: Likewise.
* tests/epoll_create1.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add epoll_create1.
(TESTS): Add epoll_create1.test.
(EXTRA_DIST): Add epoll_create1.expected.
* tests/.gitignore: Add epoll_create1.

9 years agodesc.c: move epoll parsers to a separate file
Dmitry V. Levin [Sat, 1 Aug 2015 22:58:17 +0000 (22:58 +0000)]
desc.c: move epoll parsers to a separate file

* epoll.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* desc.c (sys_epoll_create1, print_epoll_event, sys_epoll_ctl,
print_epoll_event_array, epoll_wait_common, epoll_wait, epoll_pwait):
Move to epoll.c.

9 years agoeventfd2: fix flags decoding
Dmitry V. Levin [Sat, 1 Aug 2015 21:08:13 +0000 (21:08 +0000)]
eventfd2: fix flags decoding

* configure.ac (AC_CHECK_HEADERS): Add sys/eventfd.h.
* eventfd.c: Include <fcntl.h>.
[HAVE_SYS_EVENTFD_H] Include <sys/eventfd.h>.
Include "xlat/efd_flags.h".
(do_eventfd): Use efd_flags for flags decoding.
* xlat/efd_flags.in: New file.
* tests/eventfd.c: New file.
* tests/eventfd.expected: Likewise.
* tests/eventfd.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add eventfd.
(TESTS): Add eventfd.test.
(EXTRA_DIST): Add eventfd.expected.
* tests/.gitignore: Add eventfd.

9 years agoeventfd: print first argument as unsigned int
Dmitry V. Levin [Sat, 1 Aug 2015 20:43:51 +0000 (20:43 +0000)]
eventfd: print first argument as unsigned int

* eventfd.c (do_eventfd): Explicitly cast initial value to unsigned int.

9 years agoMark eventfd return code with RVAL_FD flag
Dmitry V. Levin [Sat, 1 Aug 2015 20:39:48 +0000 (20:39 +0000)]
Mark eventfd return code with RVAL_FD flag

* eventfd.c (do_eventfd): Set RVAL_FD flag in the return code.

9 years agodesc.c: move eventfd parsers to a separate file
Dmitry V. Levin [Sat, 1 Aug 2015 20:36:53 +0000 (20:36 +0000)]
desc.c: move eventfd parsers to a separate file

* eventfd.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* desc.c (do_eventfd, sys_eventfd, sys_eventfd2): Move to eventfd.c.

9 years agoUpdate PERF_FLAG_* constants
Dmitry V. Levin [Sat, 1 Aug 2015 20:31:42 +0000 (20:31 +0000)]
Update PERF_FLAG_* constants

* xlat/perf_event_open_flags.in: Add PERF_FLAG_FD_CLOEXEC,
provide fallback definitions.

9 years agodesc.c: move perf_event_open parser to a separate file
Dmitry V. Levin [Sat, 1 Aug 2015 20:28:21 +0000 (20:28 +0000)]
desc.c: move perf_event_open parser to a separate file

* perf.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* desc.c (sys_perf_event_open): Move to perf.c.

9 years agotime.c: remove obsolete code from adjtimex parser
Elvira Khabirova [Thu, 30 Jul 2015 20:44:12 +0000 (23:44 +0300)]
time.c: remove obsolete code from adjtimex parser

Linux versions 1.3.28 and below are not supported.

* time.c (tprint_timex) [LINUX_VERSION_CODE < 66332]: Remove.

9 years agoipc.c: move fallback definitions of msg, sem, and shm constants to xlat/
Elvira Khabirova [Fri, 31 Jul 2015 15:44:42 +0000 (18:44 +0300)]
ipc.c: move fallback definitions of msg, sem, and shm constants to xlat/

* ipc.c: Move MSG_STAT and MSG_INFO definitions to xlat/msgctl_flags.in.
Move SHM_STAT and SHM_INFO definitions to xlat/shmctl_flags.in.
Move SEM_STAT and SEM_INFO definitions to xlat/semctl_flags.in.

9 years agotests/ppoll: replace SIGABRT with SIGHUP
Dmitry V. Levin [Sat, 1 Aug 2015 08:55:32 +0000 (08:55 +0000)]
tests/ppoll: replace SIGABRT with SIGHUP

Use SIGHUP instead of SIGABRT, the number of the former
is more portable across architectures.

* tests/ppoll.c (test2): Replace SIGABRT with SIGHUP.
* tests/ppoll.expected: Update regexp.
* tests/ppoll-v.expected: Likewise.

9 years agodecode_poll_exiting: reserve more space in output buffer
Dmitry V. Levin [Sat, 1 Aug 2015 08:34:57 +0000 (08:34 +0000)]
decode_poll_exiting: reserve more space in output buffer

* poll.c (decode_poll_exiting): Reserve more space in output buffer.

9 years agoCleanup poll/ppoll decoders
Dmitry V. Levin [Thu, 30 Jul 2015 19:46:11 +0000 (19:46 +0000)]
Cleanup poll/ppoll decoders

* poll.c (decode_poll): Split into print_pollfd, decode_poll_entering,
and decode_poll_exiting.
(sys_poll, sys_ppoll): Update callers.
* tests/ppoll.c: New file.
* tests/ppoll.expected: Likewise.
* tests/ppoll-v.expected: Likewise.
* tests/ppoll.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add ppoll.
(TESTS): Add ppoll.test.
(EXTRA_DIST): Add ppoll.expected and ppoll-v.expected.
* tests/.gitignore: Add ppoll.

9 years agopoll: print timeout argument as int
Dmitry V. Levin [Thu, 30 Jul 2015 16:54:31 +0000 (16:54 +0000)]
poll: print timeout argument as int

* poll.c (sys_poll): Explicitly cast timeout argument to int.

9 years agostream.c: move poll and ppoll parsers to a separate file
Dmitry V. Levin [Thu, 30 Jul 2015 16:49:42 +0000 (16:49 +0000)]
stream.c: move poll and ppoll parsers to a separate file

* poll.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* stream.c (decode_poll, sys_poll, sys_ppoll): Move to poll.c.

9 years agoAssume that <poll.h> is available
Dmitry V. Levin [Thu, 30 Jul 2015 16:23:58 +0000 (16:23 +0000)]
Assume that <poll.h> is available

* configure.ac (AC_CHECK_HEADERS): Remove poll.h and sys/poll.h.
* pathtrace.c: Include <poll.h> unconditionally.
* stream.c: Likewise.
[HAVE_SYS_POLL_H]: Compile unconditionally.
[!HAVE_SYS_POLL_H]: Remove.

9 years agotests: add oldselect.test
Dmitry V. Levin [Thu, 30 Jul 2015 08:24:32 +0000 (08:24 +0000)]
tests: add oldselect.test

* tests/oldselect.c: New file.
* tests/oldselect.expected: Likewise.
* tests/oldselect.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add oldselect.
(TESTS): Add oldselect.test.
(EXTRA_DIST): Add oldselect.expected.
* tests/.gitignore: Add oldselect.

9 years agoFix oldselect decoding on 64-bit architectures
Elvira Khabirova [Wed, 29 Jul 2015 18:38:54 +0000 (21:38 +0300)]
Fix oldselect decoding on 64-bit architectures

As struct sel_arg_struct is an array of 32-bit values,
fetch it using an intermediate array on 64-bit architectures.

* desc.c (sys_oldselect): Rename args to long_args.
[SIZEOF_LONG == 4] Alias oldselect_args to long_args.
[SIZEOF_LONG != 4] Introduce oldselect_args to fetch oldselect args.
* linux/sh64/syscallent.h (oldselect): Remove.

9 years agonet.c: use printaddr
Dmitry V. Levin [Thu, 30 Jul 2015 13:53:42 +0000 (13:53 +0000)]
net.c: use printaddr

* net.c (printsock, sys_recvfrom): Use printaddr.

9 years agonet.c: recvfrom fixes
Denys Vlasenko [Thu, 30 Jul 2015 11:29:20 +0000 (13:29 +0200)]
net.c: recvfrom fixes

This change fixes these three problems (before/after is shown):

On interrupted syscall, flags are not decoded:

    -recvfrom(3, 0x7fff0a41e306, 10, 2, 0, 0) = ? ERESTARTSYS
    +recvfrom(3, 0x7fff0a41e306, 10, MSG_PEEK, 0, 0) = ? ERESTARTSYS

If peer address is unavalable (example: anon sockets from socketpair()),
kernel returns socklen of 0, but we ignore that and show bogus sockaddr data:

    -recvfrom(3, "123456789\0", 10, MSG_PEEK, {sa_family=0x7777 /* AF_??? */, sa_data="wwwwwwwwwwwwww"}, [0]) = 10
    +recvfrom(3, "123456789\0", 10, MSG_PEEK, 0x7ffde6edf760, [0]) = 10

SYS_FUNC(recvfrom) passes address of fromlen, not fromlen, to printsock():

    -               printsock(tcp, tcp->u_arg[4], tcp->u_arg[5]);
    +               printsock(tcp, tcp->u_arg[4], fromlen);

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
9 years agoprctl: decode Android-specific PR_SET_VMA
Elliott Hughes [Wed, 29 Jul 2015 22:49:38 +0000 (22:49 +0000)]
prctl: decode Android-specific PR_SET_VMA

Android kernels have a prctl to name VMAs.

* prctl.c (sys_prctl) [__ANDROID__]: Decode PR_SET_VMA.

9 years agomips: fix stub files
Dmitry V. Levin [Wed, 29 Jul 2015 21:32:35 +0000 (21:32 +0000)]
mips: fix stub files

This complements commit 140ecf876686d49085c6eb3a2306e2ea6ea641bc.

* linux/mips/genstub.sh: Output SEN(printargs) instead of printargs.

Reported-by: Elliott Hughes <enh@google.com>
9 years agotests/bpf: fix build with incompatibly old linux/bpf.h and/or gcc
Dmitry V. Levin [Wed, 29 Jul 2015 16:27:16 +0000 (16:27 +0000)]
tests/bpf: fix build with incompatibly old linux/bpf.h and/or gcc

* configure.ac: Check how union bpf_attr.log_buf initialization works.
* tests/bpf.c: Check for HAVE_UNION_BPF_ATTR_LOG_BUF.

9 years agoImplement sched_getattr and sched_setattr syscalls decoding
Dmitry V. Levin [Wed, 29 Jul 2015 07:59:56 +0000 (07:59 +0000)]
Implement sched_getattr and sched_setattr syscalls decoding

* xlat/sched_flags.in: New file.
* sched.c: Include "xlat/sched_flags.h".
(print_sched_attr, sys_sched_setattr, sys_sched_getattr): New functions.
* linux/dummy.h (sys_sched_getattr, sys_sched_setattr): Remove.
* tests/sched_xetattr.c: New file.
* tests/sched_xetattr.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add sched_xetattr.
(TESTS): Add sched_xetattr.test.
* tests/.gitignore: Add sched_xetattr.

9 years agoImplement memfd_create syscall decoding
Dmitry V. Levin [Tue, 28 Jul 2015 23:03:41 +0000 (23:03 +0000)]
Implement memfd_create syscall decoding

* memfd_create.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* linux/dummy.h (sys_memfd_create): Remove.
* pathtrace.c (pathtrace_match): Add SEN_memfd_create.
* xlat/memfd_create_flags.in: New file.
* tests/memfd_create.c: New file.
* tests/memfd_create.expected: Likewise.
* tests/memfd_create.test: New test.
* tests/Makefile.am: (check_PROGRAMS): Add memfd_create.
(TESTS): Add memfd_create.test.
(EXTRA_DIST): Add memfd_create.expected.
* tests/.gitignore: Add memfd_create.

9 years agoFix builds where HAVE_MQUEUE_H isn't defined
Elliott Hughes [Tue, 28 Jul 2015 22:39:12 +0000 (22:39 +0000)]
Fix builds where HAVE_MQUEUE_H isn't defined

Android doesn't have <mqueue.h>.

* ipc.c (sys_mq_open) [!HAVE_MQUEUE_H]: Fix printaddr invocation.

9 years agotests/restart_syscall: skip if nanosleep looks uninterrupted
Dmitry V. Levin [Mon, 27 Jul 2015 12:34:58 +0000 (12:34 +0000)]
tests/restart_syscall: skip if nanosleep looks uninterrupted

* tests/restart_syscall.test: Skip if restart_syscall is not detected
and nanosleep syscall looks uninterrupted.

9 years agoImplement execveat syscall decoding
Dmitry V. Levin [Sun, 26 Jul 2015 11:06:53 +0000 (11:06 +0000)]
Implement execveat syscall decoding

* execve.c (decode_execve): New function.
(sys_execve): Use it.
(sys_execveat): New function.
* linux/dummy.h (sys_execveat): Remove.
* tests/execveat.c: New file.
* tests/execveat.expected: Likewise.
* tests/execveat-v.expected: Likewise.
* tests/execveat.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add execveat.
(TESTS): Add execveat.test.
(EXTRA_DIST): Add execveat.expected and execveat-v.expected.
* tests/.gitignore: Add execveat.

9 years agoexecve: fix support of personalities with different word size
Dmitry V. Levin [Mon, 27 Jul 2015 10:02:33 +0000 (10:02 +0000)]
execve: fix support of personalities with different word size

* execve.c (printargc): Do not assume that host and target pointers have
the same size.
* tests/execve.c: New file.
* tests/execve.expected: Likewise.
* tests/execve-v.expected: Likewise.
* tests/execve.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add execve.
(TESTS): Add execve.test.
(EXTRA_DIST): Add execve.expected and execve-v.expected.
* tests/.gitignore: Add execve.

9 years agoImplement bpf syscall decoding
Dmitry V. Levin [Sat, 25 Jul 2015 23:55:51 +0000 (23:55 +0000)]
Implement bpf syscall decoding

* bpf.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* configure.ac (AC_CHECK_HEADERS): Add linux/bpf.h.
* linux/dummy.h (sys_bpf): Remove.
* pathtrace.c (pathtrace_match): Add SEN_bpf.
* xlat/bpf_commands.in: New file.
* xlat/bpf_map_types.in: New file.
* xlat/bpf_map_update_elem_flags.in: New file.
* xlat/bpf_prog_types.in: New file.
* tests/bpf.c: New file.
* tests/bpf.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add bpf.
(TESTS): Add bpf.test.
* tests/.gitignore: Add bpf.

9 years agoprctl: fix decoding of unrecognized commands
Dmitry V. Levin [Sat, 25 Jul 2015 09:43:01 +0000 (09:43 +0000)]
prctl: fix decoding of unrecognized commands

The use of printargs introduced by commit v4.10-179-g210a6b6 is wrong:
when the first argument is already printed, printargs cannot be called.

* prctl.c (print_prctl_args): New function.
(sys_prctl): Use it.

9 years agoMacroize -m32/-mx32 configure checks
Dmitry V. Levin [Thu, 23 Jul 2015 11:19:47 +0000 (11:19 +0000)]
Macroize -m32/-mx32 configure checks

Prepare for additional configure checks that would be needed
for new multiple personalities support.

* m4/mpers.m4: New file.
* configure.ac: Use it.

9 years agotests/uid: import uid overflow check from tests/uid16
Dmitry V. Levin [Wed, 22 Jul 2015 19:31:54 +0000 (19:31 +0000)]
tests/uid: import uid overflow check from tests/uid16

* tests/uid.c (main): Skip if the uid returned by getuid matches
/proc/sys/kernel/overflowuid.

9 years agosh64: fix inotify_{add,rm}_watch syscall entries
Dmitry V. Levin [Tue, 21 Jul 2015 16:34:25 +0000 (16:34 +0000)]
sh64: fix inotify_{add,rm}_watch syscall entries

* linux/sh64/syscallent.h (inotify_add_watch, inotify_rm_watch):
Set sys_func.

9 years agomicroblaze: fix several syscall entries
Dmitry V. Levin [Tue, 21 Jul 2015 16:33:00 +0000 (16:33 +0000)]
microblaze: fix several syscall entries

* linux/microblaze/syscallent.h (signalfd4, eventfd2, epoll_create1,
dup3, pipe2, inotify_init1, recvmmsg): Set sys_func.

9 years agohppa: fix several syscall entries
Dmitry V. Levin [Tue, 21 Jul 2015 16:30:19 +0000 (16:30 +0000)]
hppa: fix several syscall entries

* linux/hppa/syscallent.h (remap_file_pages, mq_open, mq_unlink,
mq_timedsend, mq_timedreceive, mq_notify, mq_getsetattr,
clock_nanosleep, signalfd, timerfd): Set sys_func.

9 years agoia64: fix getpagesize syscall entry
Dmitry V. Levin [Tue, 21 Jul 2015 16:29:26 +0000 (16:29 +0000)]
ia64: fix getpagesize syscall entry

* linux/ia64/syscallent.h (getpagesize): Fux nargs.

9 years agoavr32: fix fstatat64 syscall entry
Dmitry V. Levin [Tue, 21 Jul 2015 16:28:48 +0000 (16:28 +0000)]
avr32: fix fstatat64 syscall entry

* linux/avr32/syscallent.h (fstatat64): Set sys_func.

9 years agoalpha: fix 2 dummy osf syscall entries
Dmitry V. Levin [Tue, 21 Jul 2015 16:26:51 +0000 (16:26 +0000)]
alpha: fix 2 dummy osf syscall entries

* linux/alpha/syscallent.h (osf_set_program_attributes): Fix nargs.
(osf_sigstack): Fix nargs and sys_name.

9 years agoalpha, arm, ia64, mips, sh64: fix semop syscall entries
Dmitry V. Levin [Tue, 21 Jul 2015 16:04:23 +0000 (16:04 +0000)]
alpha, arm, ia64, mips, sh64: fix semop syscall entries

* linux/alpha/syscallent.h (semop): Fix nargs, set sys_func.
* linux/ia64/syscallent.h (semop): Set sys_func.
* linux/mips/syscallent-n32.h (semop): Likewise.
* linux/mips/syscallent-n64.h (semop): Likewise.
* linux/arm/syscallent.h (semop): Fix nargs.
* linux/sh64/syscallent.h (semop): Likewise.

9 years agom68k: fix getpagesize decoding
Dmitry V. Levin [Tue, 21 Jul 2015 15:55:09 +0000 (15:55 +0000)]
m68k: fix getpagesize decoding

* linux/m68k/syscallent.h (getpagesize): Set sys_func.
* mem.c [M68K] (sys_getpagesize): Define.

9 years agotests/ip_mreq: skip if basic setsockopt operations fail
Dmitry V. Levin [Tue, 21 Jul 2015 10:36:03 +0000 (10:36 +0000)]
tests/ip_mreq: skip if basic setsockopt operations fail

* tests/ip_mreq.c (main): Return 77 if basic
IP_ADD_MEMBERSHIP/IP_DROP_MEMBERSHIP options cannot be set.

9 years agotests: use -lpthread instead of -pthread
Dmitry V. Levin [Tue, 21 Jul 2015 10:17:33 +0000 (10:17 +0000)]
tests: use -lpthread instead of -pthread

On some obscure systems, -lpthread is more likely to work than -pthread.

* tests/Makefile.am (filter_unavailable_LDFLAGS): Rename to
filter_unavailable_LDADD and change to -lpthread.

9 years agomips o32: fix utimensat syscall entry
Dmitry V. Levin [Tue, 21 Jul 2015 10:08:42 +0000 (10:08 +0000)]
mips o32: fix utimensat syscall entry

* linux/mips/syscallent-o32.h (utimensat): set sys_flags and sys_func.

9 years agolinux/mips/syscallent-compat.h: use designated initializers
Dmitry V. Levin [Tue, 21 Jul 2015 09:55:42 +0000 (09:55 +0000)]
linux/mips/syscallent-compat.h: use designated initializers

Change linux/mips/syscallent-compat.h to use designated initializers
like normal syscallent.h files.

* linux/mips/syscallent-compat.h: Use designated initializers.

9 years agolinux/mips/syscallent-compat.h: fix initalization of empty entries
Dmitry V. Levin [Tue, 21 Jul 2015 09:45:00 +0000 (09:45 +0000)]
linux/mips/syscallent-compat.h: fix initalization of empty entries

This complements commit 140ecf876686d49085c6eb3a2306e2ea6ea641bc.

* linux/mips/syscallent-compat.h: Fix initalization of empty entries.

9 years agoRemove unused parsers of getmsg and putmsg
Dmitry V. Levin [Mon, 20 Jul 2015 21:37:24 +0000 (21:37 +0000)]
Remove unused parsers of getmsg and putmsg

* stream.c [SPARC || SPARC64] (sys_putmsg, sys_getmsg): Remove.
Stop including "xlat/msgflags.h".
* xlat/msgflags.in: Remove.

9 years agosigreturn: make use of RVAL_DECODED
Dmitry V. Levin [Mon, 20 Jul 2015 21:33:09 +0000 (21:33 +0000)]
sigreturn: make use of RVAL_DECODED

* sigreturn.c (arch_sigreturn): New function.
(sys_sigreturn): Use it.  Return RVAL_DECODED.
* linux/alpha/arch_sigreturn.c: Update.
* linux/crisv10/arch_sigreturn.c: Likewise.
* linux/m68k/arch_sigreturn.c: Likewise.
* linux/microblaze/arch_sigreturn.c: Likewise.
* linux/x86_64/arch_sigreturn.c: Likewise.

9 years agoor1k_atomic.c: make use of RVAL_DECODED
Dmitry V. Levin [Mon, 20 Jul 2015 21:18:14 +0000 (21:18 +0000)]
or1k_atomic.c: make use of RVAL_DECODED

* or1k_atomic.c (sys_or1k_atomic): Update for RVAL_DECODED.

9 years agoUpdate openat parser for the RVAL_DECODED change
Dmitry V. Levin [Fri, 17 Jul 2015 22:03:29 +0000 (22:03 +0000)]
Update openat parser for the RVAL_DECODED change

* open.c (sys_openat): Update for RVAL_DECODED.

9 years agobjm.c: make use of RVAL_DECODED
Dmitry V. Levin [Mon, 20 Jul 2015 19:35:42 +0000 (19:35 +0000)]
bjm.c: make use of RVAL_DECODED

* bjm.c (sys_create_module, sys_delete_module, sys_init_module,
sys_finit_module): Update for RVAL_DECODED.