From: Yu Watanabe Date: Mon, 24 May 2021 13:47:01 +0000 (+0900) Subject: sd-netlink: do not enable dump flag by default for RTM_GETADDR message X-Git-Tag: v249-rc1~157^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f318f6438835c6321a1c4ea2a5299942bdc956fb;p=thirdparty%2Fsystemd.git sd-netlink: do not enable dump flag by default for RTM_GETADDR message --- diff --git a/src/libsystemd/sd-netlink/rtnl-message.c b/src/libsystemd/sd-netlink/rtnl-message.c index e9710124206..681c32aed14 100644 --- a/src/libsystemd/sd-netlink/rtnl-message.c +++ b/src/libsystemd/sd-netlink/rtnl-message.c @@ -664,9 +664,6 @@ int sd_rtnl_message_new_addr(sd_netlink *rtnl, sd_netlink_message **ret, if (r < 0) return r; - if (nlmsg_type == RTM_GETADDR) - (*ret)->hdr->nlmsg_flags |= NLM_F_DUMP; - ifa = NLMSG_DATA((*ret)->hdr); ifa->ifa_index = index; diff --git a/src/libsystemd/sd-netlink/test-netlink.c b/src/libsystemd/sd-netlink/test-netlink.c index 41787c5a3ec..cbae36472c9 100644 --- a/src/libsystemd/sd-netlink/test-netlink.c +++ b/src/libsystemd/sd-netlink/test-netlink.c @@ -114,7 +114,7 @@ static void test_address_get(sd_netlink *rtnl, int ifindex) { assert_se(sd_rtnl_message_new_addr(rtnl, &m, RTM_GETADDR, ifindex, AF_INET) >= 0); assert_se(m); - + assert_se(sd_netlink_message_request_dump(m, true) >= 0); assert_se(sd_netlink_call(rtnl, m, -1, &r) == 1); assert_se(sd_netlink_message_read_in_addr(r, IFA_LOCAL, &in_data) == 0); @@ -479,7 +479,7 @@ static void test_get_addresses(sd_netlink *rtnl) { sd_netlink_message *m; assert_se(sd_rtnl_message_new_addr(rtnl, &req, RTM_GETADDR, 0, AF_UNSPEC) >= 0); - + assert_se(sd_netlink_message_request_dump(req, true) >= 0); assert_se(sd_netlink_call(rtnl, req, 0, &reply) >= 0); for (m = reply; m; m = sd_netlink_message_next(m)) { diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 28a525da25e..22f1049b7de 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -759,6 +759,10 @@ static int link_enumerate_ipv6_tentative_addresses(Link *link) { if (r < 0) return r; + r = sd_netlink_message_request_dump(req, true); + if (r < 0) + return r; + r = sd_netlink_call(link->manager->rtnl, req, 0, &reply); if (r < 0) return r; diff --git a/src/shared/local-addresses.c b/src/shared/local-addresses.c index 66e452adade..f037c5281f4 100644 --- a/src/shared/local-addresses.c +++ b/src/shared/local-addresses.c @@ -83,6 +83,10 @@ int local_addresses( if (r < 0) return r; + r = sd_netlink_message_request_dump(req, true); + if (r < 0) + return r; + r = sd_netlink_call(rtnl, req, 0, &reply); if (r < 0) return r;