]> granicus.if.org Git - strace/commitdiff
decode_netlink: change address argument type from unsigned long to kernel_ureg_t
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 20 Dec 2016 23:16:25 +0000 (23:16 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 23 Dec 2016 19:26:57 +0000 (19:26 +0000)
* defs.h (decode_netlink) Change address argument type
from unsigned long to kernel_ureg_t.
* netlink.c (fetch_nlmsghdr, decode_nlmsghdr_with_payload,
decode_netlink): Likewise.

defs.h
netlink.c

diff --git a/defs.h b/defs.h
index 238004154381e48461dd510087e517eead3b2658..0a4c616fc490b1733382630cde9dbfb57fd72813 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -662,7 +662,9 @@ extern void
 tprint_iov_upto(struct tcb *, unsigned long len, kernel_ureg_t addr,
                enum iov_decode, unsigned long data_size);
 
-extern void decode_netlink(struct tcb *, unsigned long, unsigned long);
+extern void
+decode_netlink(struct tcb *, kernel_ureg_t addr, unsigned long len);
+
 extern void tprint_open_modes(unsigned int);
 extern const char *sprint_open_modes(unsigned int);
 
index 71573d474604fb7aac134e57a6413e0ddc4897e8..ebc35eac73d6d1fd93fadfa18b55f590731412ef 100644 (file)
--- a/netlink.c
+++ b/netlink.c
@@ -36,8 +36,8 @@
  * Fetch a struct nlmsghdr from the given address.
  */
 static bool
-fetch_nlmsghdr(struct tcb *tcp, struct nlmsghdr *nlmsghdr,
-              const unsigned long addr, const unsigned long len)
+fetch_nlmsghdr(struct tcb *const tcp, struct nlmsghdr *const nlmsghdr,
+              const kernel_ureg_t addr, const unsigned long len)
 {
        if (len < sizeof(struct nlmsghdr)) {
                printstr(tcp, addr, len);
@@ -67,9 +67,9 @@ print_nlmsghdr(struct tcb *tcp, const struct nlmsghdr *const nlmsghdr)
 }
 
 static void
-decode_nlmsghdr_with_payload(struct tcb *tcp,
+decode_nlmsghdr_with_payload(struct tcb *const tcp,
                             const struct nlmsghdr *const nlmsghdr,
-                            const unsigned long addr,
+                            const kernel_ureg_t addr,
                             const unsigned long len)
 {
        tprints("{");
@@ -89,7 +89,7 @@ decode_nlmsghdr_with_payload(struct tcb *tcp,
 }
 
 void
-decode_netlink(struct tcb *tcp, unsigned long addr, unsigned long len)
+decode_netlink(struct tcb *const tcp, kernel_ureg_t addr, unsigned long len)
 {
        struct nlmsghdr nlmsghdr;
        bool print_array = false;
@@ -102,7 +102,8 @@ decode_netlink(struct tcb *tcp, unsigned long addr, unsigned long len)
                }
 
                unsigned long nlmsg_len = NLMSG_ALIGN(nlmsghdr.nlmsg_len);
-               unsigned long next_addr = 0, next_len = 0;
+               kernel_ureg_t next_addr = 0;
+               unsigned long next_len = 0;
 
                if (nlmsghdr.nlmsg_len >= sizeof(struct nlmsghdr)) {
                        next_len = (len >= nlmsg_len) ? len - nlmsg_len : 0;