]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
fix print_0xhex on 32 bit
authorStephen Hemminger <stephen@networkplumber.org>
Mon, 10 Dec 2018 22:20:32 +0000 (14:20 -0800)
committerStephen Hemminger <stephen@networkplumber.org>
Mon, 10 Dec 2018 22:20:32 +0000 (14:20 -0800)
The argument to print_0xhex is converted to unsigned long long
so the format string give for normal printout has to be some
variant of %llx. Otherwise, bogus values will be printed on
32 bit platforms.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
20 files changed:
bridge/link.c
ip/ipaddress.c
ip/iplink_bridge.c
ip/iplink_bridge_slave.c
ip/iplink_geneve.c
ip/iplink_vxlan.c
ip/ipntable.c
ip/iproute.c
ip/iproute_lwtunnel.c
ip/iprule.c
ip/iptuntap.c
ip/link_gre.c
ip/link_gre6.c
ip/link_ip6tnl.c
ip/link_iptnl.c
ip/link_vti.c
ip/link_vti6.c
tc/m_ife.c
tc/q_htb.c
tc/q_taprio.c

index 3290c16f0951680ab056f323c285e55fd3340577..32317e53b0361a96c8d817b74d0fe45ed6cb150f 100644 (file)
@@ -90,7 +90,7 @@ static void print_hwmode(__u16 mode)
 {
        if (mode >= ARRAY_SIZE(hw_mode))
                print_0xhex(PRINT_ANY, "hwmode",
-                           "hwmode %#hx ", mode);
+                           "hwmode %#llx ", mode);
        else
                print_string(PRINT_ANY, "hwmode",
                             "hwmode %s ", hw_mode[mode]);
index 21985a5ee6f3bb28d4a1528f7f29c2deee9fe703..016662e910e971d170b073bd829d319a701949f2 100644 (file)
@@ -129,7 +129,7 @@ static void print_operstate(FILE *f, __u8 state)
                if (is_json_context())
                        print_uint(PRINT_JSON, "operstate_index", NULL, state);
                else
-                       print_0xhex(PRINT_FP, NULL, "state %#x", state);
+                       print_0xhex(PRINT_FP, NULL, "state %#llx", state);
        } else if (brief) {
                print_color_string(PRINT_ANY,
                                   oper_state_color(state),
index 0ba6be3f47da0843403547cca18b9f7e99e01853..fbf8a79bfbbb6ec7009db1d9cb26e6059091acb3 100644 (file)
@@ -524,7 +524,7 @@ static void bridge_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
        if (tb[IFLA_BR_GROUP_FWD_MASK])
                print_0xhex(PRINT_ANY,
                            "group_fwd_mask",
-                           "group_fwd_mask %#x ",
+                           "group_fwd_mask %#llx ",
                            rta_getattr_u16(tb[IFLA_BR_GROUP_FWD_MASK]));
 
        if (tb[IFLA_BR_GROUP_ADDR]) {
index 8b4f93f265be9f2519c85236aabe29184724868d..85e6b424315fd3fc7dbc6e568335c27a93c3ee7b 100644 (file)
@@ -168,11 +168,11 @@ static void bridge_slave_print_opt(struct link_util *lu, FILE *f,
                             rta_getattr_u8(tb[IFLA_BRPORT_UNICAST_FLOOD]));
 
        if (tb[IFLA_BRPORT_ID])
-               print_0xhex(PRINT_ANY, "id", "port_id 0x%x ",
+               print_0xhex(PRINT_ANY, "id", "port_id %#llx ",
                            rta_getattr_u16(tb[IFLA_BRPORT_ID]));
 
        if (tb[IFLA_BRPORT_NO])
-               print_0xhex(PRINT_ANY, "no", "port_no 0x%x ",
+               print_0xhex(PRINT_ANY, "no", "port_no %#llx ",
                           rta_getattr_u16(tb[IFLA_BRPORT_NO]));
 
        if (tb[IFLA_BRPORT_DESIGNATED_PORT])
@@ -267,7 +267,7 @@ static void bridge_slave_print_opt(struct link_util *lu, FILE *f,
 
                fwd_mask = rta_getattr_u16(tb[IFLA_BRPORT_GROUP_FWD_MASK]);
                print_0xhex(PRINT_ANY, "group_fwd_mask",
-                           "group_fwd_mask 0x%x ", fwd_mask);
+                           "group_fwd_mask %#llx ", fwd_mask);
                _bitmask2str(fwd_mask, convbuf, sizeof(convbuf), fwd_mask_tbl);
                print_string(PRINT_ANY, "group_fwd_mask_str",
                             "group_fwd_mask_str %s ", convbuf);
index c417842b2a5b58f63b1147fd02283c03d451829a..f1a12f454ab728e5a8862518c3d0987b2f18ec3e 100644 (file)
@@ -282,7 +282,7 @@ static void geneve_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
                tos = rta_getattr_u8(tb[IFLA_GENEVE_TOS]);
        if (tos) {
                if (is_json_context() || tos != 1)
-                       print_0xhex(PRINT_ANY, "tos", "tos 0x%x ", tos);
+                       print_0xhex(PRINT_ANY, "tos", "tos %#llx ", tos);
                else
                        print_string(PRINT_FP, NULL, "tos %s ", "inherit");
        }
@@ -292,8 +292,7 @@ static void geneve_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 
                if (label)
                        print_0xhex(PRINT_ANY,
-                                   "label",
-                                   "flowlabel %#x ",
+                                   "label", "flowlabel %#llx ",
                                    ntohl(label));
        }
 
index 7fc0e2b4eb06082cc3fe9ff689c9c5b5f0527b67..62e769430c5d377d9307d1882493dd5ddf7feb41 100644 (file)
@@ -522,7 +522,7 @@ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
                tos = rta_getattr_u8(tb[IFLA_VXLAN_TOS]);
        if (tos) {
                if (is_json_context() || tos != 1)
-                       print_0xhex(PRINT_ANY, "tos", "tos 0x%x ", tos);
+                       print_0xhex(PRINT_ANY, "tos", "tos %#llx ", tos);
                else
                        print_string(PRINT_FP, NULL, "tos %s ", "inherit");
        }
@@ -542,10 +542,8 @@ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
                __u32 label = rta_getattr_u32(tb[IFLA_VXLAN_LABEL]);
 
                if (label)
-                       print_0xhex(PRINT_ANY,
-                                   "label",
-                                   "flowlabel %#x ",
-                                   ntohl(label));
+                       print_0xhex(PRINT_ANY, "label",
+                                   "flowlabel %#llx ", ntohl(label));
        }
 
        if (tb[IFLA_VXLAN_AGEING]) {
index 5b61dd5cb001da598d171fd77fb35278631ff3ad..50fc949f1fcc43fa63df03094b604fbbf0f47bfd 100644 (file)
@@ -360,7 +360,7 @@ static void print_ndtconfig(const struct ndt_config *ndtc)
        print_uint(PRINT_ANY, "hash_rnd",
                   "        hash_rnd %u ", ndtc->ndtc_hash_rnd);
        print_0xhex(PRINT_ANY, "hash_mask",
-                   "hash_mask %08x ", ndtc->ndtc_hash_mask);
+                   "hash_mask %08llx ", ndtc->ndtc_hash_mask);
 
        print_uint(PRINT_ANY, "hash_chain_gc",
                   "hash_chain_gc %u ", ndtc->ndtc_hash_chain_gc);
index b039f35b0ccdfcef5007fb2210ee09995a023851..fa6a84b59a5c7d2ecaef60a7b7566a5fde530be4 100644 (file)
@@ -346,7 +346,7 @@ static void print_rtax_features(FILE *fp, unsigned int features)
 
        if (features)
                print_0xhex(PRINT_ANY,
-                           "features", "0x%x ", of);
+                           "features", "%#llx ", of);
 }
 
 static void print_rt_flags(FILE *fp, unsigned int flags)
@@ -483,10 +483,10 @@ static void print_rta_cacheinfo(FILE *fp, const struct rta_cacheinfo *ci)
        }
        if (ci->rta_id)
                print_0xhex(PRINT_ANY, "ipid",
-                           "ipid 0x%04x ", ci->rta_id);
+                           "ipid 0x%04llx ", ci->rta_id);
        if (ci->rta_ts || ci->rta_tsage) {
                print_0xhex(PRINT_ANY, "ts",
-                           "ts 0x%x", ci->rta_ts);
+                           "ts 0x%llx", ci->rta_ts);
                print_uint(PRINT_ANY, "tsage",
                           "tsage %usec ", ci->rta_tsage);
        }
@@ -885,7 +885,7 @@ int print_route(struct nlmsghdr *n, void *arg)
                                print_uint(PRINT_JSON, "mark", NULL, mark);
                        else if (mark >= 16)
                                print_0xhex(PRINT_FP, NULL,
-                                           "mark 0x%x ", mark);
+                                           "mark 0x%llx ", mark);
                        else
                                print_uint(PRINT_FP, NULL,
                                           "mark %u ", mark);
index 85ab13cb31746b4ecf25c86e0d4ceb956dc57b2b..aee18ac558b5da34701d6519cd26f1f0bee2474d 100644 (file)
@@ -115,7 +115,7 @@ static void print_srh(FILE *fp, struct ipv6_sr_hdr *srh)
 
                tlv = (struct sr6_tlv_hmac *)((char *)srh + offset);
                print_0xhex(PRINT_ANY, "hmac",
-                           "hmac 0x%X ", ntohl(tlv->hmackeyid));
+                           "hmac %llX ", ntohl(tlv->hmackeyid));
        }
 }
 
index a85a43904e6e2bdc987417cafbf2a6767414ab89..0f8fc6d99136ef647c323c5e34f95f27dc1b2e1f 100644 (file)
@@ -263,10 +263,10 @@ int print_rule(struct nlmsghdr *n, void *arg)
 
                if (tb[FRA_FWMASK] &&
                    (mask = rta_getattr_u32(tb[FRA_FWMASK])) != 0xFFFFFFFF) {
-                       print_0xhex(PRINT_ANY, "fwmark", "fwmark 0x%x", mark);
-                       print_0xhex(PRINT_ANY, "fwmask", "/0x%x ", mask);
+                       print_0xhex(PRINT_ANY, "fwmark", "fwmark %#llx", mark);
+                       print_0xhex(PRINT_ANY, "fwmask", "/%#llx ", mask);
                } else {
-                       print_0xhex(PRINT_ANY, "fwmark", "fwmark 0x%x ", mark);
+                       print_0xhex(PRINT_ANY, "fwmark", "fwmark %#llx ", mark);
                }
        }
 
index 528055a0bf46440ca3c3d7514ce715c37b18f70d..03238c3f6518bb6133c7824deb012db2960d503a 100644 (file)
@@ -254,7 +254,7 @@ static void print_flags(long flags)
        flags &= ~(IFF_TUN | IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE |
                   IFF_VNET_HDR | IFF_PERSIST | IFF_NOFILTER);
        if (flags)
-               print_0xhex(PRINT_ANY, NULL, "%#x", flags);
+               print_0xhex(PRINT_ANY, NULL, "%#llx", flags);
 
        close_json_array(PRINT_JSON, NULL);
 }
index 1ee7ee13ab6cdcc90132efff8c353e22266faaac..d754fa9a3425fa89e992b53e571b12c243147a18 100644 (file)
@@ -463,7 +463,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
                tos = rta_getattr_u8(tb[IFLA_GRE_TOS]);
        if (tos) {
                if (is_json_context() || tos != 1)
-                       print_0xhex(PRINT_ANY, "tos", "tos 0x%x ", tos);
+                       print_0xhex(PRINT_ANY, "tos", "tos %#llx ", tos);
                else
                        print_string(PRINT_FP, NULL, "tos %s ", "inherit");
        }
@@ -508,7 +508,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 
                if (fwmark) {
                        print_0xhex(PRINT_ANY,
-                                   "fwmark", "fwmark 0x%x ", fwmark);
+                                   "fwmark", "fwmark %#llx ", fwmark);
                }
        }
 
@@ -541,7 +541,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
                __u16 erspan_hwid = rta_getattr_u16(tb[IFLA_GRE_ERSPAN_HWID]);
 
                print_0xhex(PRINT_ANY,
-                           "erspan_hwid", "erspan_hwid 0x%x ", erspan_hwid);
+                           "erspan_hwid", "erspan_hwid %#llx ", erspan_hwid);
        }
 
        tnl_print_encap(tb,
index 20f930596027972d23d4798cebb167e9c54d7d32..6c4671e5a820693b5e22ad8722f41511a1c8eddd 100644 (file)
@@ -576,7 +576,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 
                if (fwmark) {
                        print_0xhex(PRINT_ANY,
-                                   "fwmark", "fwmark 0x%x ", fwmark);
+                                   "fwmark", "fwmark %#llx ", fwmark);
                }
        }
 
@@ -609,7 +609,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
                __u16 erspan_hwid = rta_getattr_u16(tb[IFLA_GRE_ERSPAN_HWID]);
 
                print_0xhex(PRINT_ANY,
-                           "erspan_hwid", "erspan_hwid 0x%x ", erspan_hwid);
+                           "erspan_hwid", "erspan_hwid %#llx ", erspan_hwid);
        }
 
        tnl_print_encap(tb,
index cfe2c5aa372422f9e1ff40cc6cd4b577e207fadc..711988a150a5ad4c469c2260a8defb0bbc03da8b 100644 (file)
@@ -457,7 +457,7 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb
 
                if (fwmark) {
                        print_0xhex(PRINT_ANY,
-                                   "fwmark", "fwmark 0x%x ", fwmark);
+                                   "fwmark", "fwmark %#llx ", fwmark);
                }
        }
 
index 7ec1594d071679440df26218b78a968418497ae0..d4a56de40061523cd4436509c33a1be8e4d99fa7 100644 (file)
@@ -418,7 +418,7 @@ static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[
                tos = rta_getattr_u8(tb[IFLA_IPTUN_TOS]);
        if (tos) {
                if (is_json_context() || tos != 1)
-                       print_0xhex(PRINT_ANY, "tos", "tos 0x%x ", tos);
+                       print_0xhex(PRINT_ANY, "tos", "tos %#llx ", tos);
                else
                        print_string(PRINT_FP, NULL, "tos %s ", "inherit");
        }
@@ -476,7 +476,7 @@ static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[
 
                if (fwmark) {
                        print_0xhex(PRINT_ANY,
-                                   "fwmark", "fwmark 0x%x ", fwmark);
+                                   "fwmark", "fwmark %#llx ", fwmark);
                }
        }
 
index 3fff4417de11b1158ec5768cccef77afaf929f85..b974c62b27545b51b1e7f38eb3fd0ce642af2f0a 100644 (file)
@@ -208,7 +208,7 @@ static void vti_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 
                if (fwmark) {
                        print_0xhex(PRINT_ANY,
-                                   "fwmark", "fwmark 0x%x ", fwmark);
+                                   "fwmark", "fwmark %#llx ", fwmark);
                }
        }
 }
index f5a267a81d9de8c6fe5ebfca3a57da3e19090068..f13c08583103a5f0a67e0fec5c31a600ac13dfd8 100644 (file)
@@ -210,7 +210,7 @@ static void vti6_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 
                if (fwmark) {
                        print_0xhex(PRINT_ANY,
-                                   "fwmark", "fwmark 0x%x ", fwmark);
+                                   "fwmark", "fwmark %#llx ", fwmark);
                }
        }
 }
index 20e9c73d9a0edb7ee20365dd199a5942f294a293..2bf9f2047b46df7e6ce15351011b488fffb384ab 100644 (file)
@@ -247,7 +247,7 @@ static int print_ife(struct action_util *au, FILE *f, struct rtattr *arg)
        if (tb[TCA_IFE_TYPE]) {
                ife_type = rta_getattr_u16(tb[TCA_IFE_TYPE]);
                has_optional = 1;
-               print_0xhex(PRINT_ANY, "type", "type 0x%X ", ife_type);
+               print_0xhex(PRINT_ANY, "type", "type %#llX ", ife_type);
        }
 
        if (has_optional)
index 5fb11d28c5c3a37cb0de5f29c54bb876b441db32..520522266e0098837f456b6e2310e803f26aa5eb 100644 (file)
@@ -332,7 +332,7 @@ static int htb_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
                if (RTA_PAYLOAD(tb[TCA_HTB_INIT])  < sizeof(*gopt)) return -1;
 
                print_int(PRINT_ANY, "r2q", "r2q %d", gopt->rate2quantum);
-               print_0xhex(PRINT_ANY, "default", " default %x", gopt->defcls);
+               print_0xhex(PRINT_ANY, "default", " default %#llx", gopt->defcls);
                print_uint(PRINT_ANY, "direct_packets_stat",
                           " direct_packets_stat %u", gopt->direct_pkts);
                if (show_details) {
index 562dacb874f0fce5650b54f1cac59722201f926a..8f6b263a4141f341094bde76ddfeeb0cf86759aa 100644 (file)
@@ -328,7 +328,7 @@ static int print_sched_list(FILE *f, struct rtattr *list)
                open_json_object(NULL);
                print_uint(PRINT_ANY, "index", "\tindex %u", index);
                print_string(PRINT_ANY, "cmd", " cmd %s", entry_cmd_to_str(command));
-               print_0xhex(PRINT_ANY, "gatemask", " gatemask %#x", gatemask);
+               print_0xhex(PRINT_ANY, "gatemask", " gatemask %#llx", gatemask);
                print_uint(PRINT_ANY, "interval", " interval %u", interval);
                close_json_object();