]> granicus.if.org Git - strace/commitdiff
Do not use widen_to_ulong in kexec.c and process_vm.c
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 20 Dec 2016 02:04:09 +0000 (02:04 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 20 Dec 2016 05:10:21 +0000 (05:10 +0000)
Automatic argument truncation makes use of this function redundant.

* kexec.c (SYS_FUNC(kexec_load)): Do not invoke widen_to_ulong.
* process_vm.c (SYS_FUNC(process_vm_readv),
SYS_FUNC(process_vm_writev)): Likewise.

kexec.c
process_vm.c

diff --git a/kexec.c b/kexec.c
index d7054993122e1374ac3f1ef3df78555b96ff6e25..0d3ae560cc747c5ed24b9f98db1c5e1cad3c4834 100644 (file)
--- a/kexec.c
+++ b/kexec.c
@@ -81,16 +81,16 @@ print_kexec_segments(struct tcb *tcp, const unsigned long addr,
 SYS_FUNC(kexec_load)
 {
        /* entry, nr_segments */
-       printaddr(widen_to_ulong(tcp->u_arg[0]));
-       tprintf(", %lu, ", widen_to_ulong(tcp->u_arg[1]));
+       printaddr(tcp->u_arg[0]);
+       tprintf(", %lu, ", tcp->u_arg[1]);
 
        /* segments */
-       print_kexec_segments(tcp, widen_to_ulong(tcp->u_arg[2]),
-                            widen_to_ulong(tcp->u_arg[1]));
+       print_kexec_segments(tcp, tcp->u_arg[2],
+                            tcp->u_arg[1]);
        tprints(", ");
 
        /* flags */
-       unsigned long n = widen_to_ulong(tcp->u_arg[3]);
+       unsigned long n = tcp->u_arg[3];
        printxval_long(kexec_arch_values, n & KEXEC_ARCH_MASK, "KEXEC_ARCH_???");
        n &= ~(unsigned long) KEXEC_ARCH_MASK;
        if (n) {
index b0bade72f7f9966c6f8fe22d19a445d5e41de8a9..bc9f3aee8480378e949bb8fc98860d5ef900078a 100644 (file)
@@ -34,9 +34,9 @@ SYS_FUNC(process_vm_readv)
                /* arg 1: pid */
                tprintf("%d, ", (int) tcp->u_arg[0]);
        } else {
-               unsigned long local_iovcnt = widen_to_ulong(tcp->u_arg[2]);
-               unsigned long remote_iovcnt = widen_to_ulong(tcp->u_arg[4]);
-               unsigned long flags = widen_to_ulong(tcp->u_arg[5]);
+               unsigned long local_iovcnt = tcp->u_arg[2];
+               unsigned long remote_iovcnt = tcp->u_arg[4];
+               unsigned long flags = tcp->u_arg[5];
 
                /* arg 2: local iov */
                tprint_iov_upto(tcp, local_iovcnt, tcp->u_arg[1],
@@ -56,9 +56,9 @@ SYS_FUNC(process_vm_readv)
 
 SYS_FUNC(process_vm_writev)
 {
-       unsigned long local_iovcnt = widen_to_ulong(tcp->u_arg[2]);
-       unsigned long remote_iovcnt = widen_to_ulong(tcp->u_arg[4]);
-       unsigned long flags = widen_to_ulong(tcp->u_arg[5]);
+       unsigned long local_iovcnt = tcp->u_arg[2];
+       unsigned long remote_iovcnt = tcp->u_arg[4];
+       unsigned long flags = tcp->u_arg[5];
 
        /* arg 1: pid */
        tprintf("%d, ", (int) tcp->u_arg[0]);