From b6b3dc4361feb4bb5102bde680d8850ad215e17e Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Tue, 20 Dec 2016 23:16:25 +0000 Subject: [PATCH] decode_netlink: change address argument type from unsigned long to kernel_ureg_t * 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 | 4 +++- netlink.c | 13 +++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/defs.h b/defs.h index 23800415..0a4c616f 100644 --- 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); diff --git a/netlink.c b/netlink.c index 71573d47..ebc35eac 100644 --- 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; -- 2.40.0