network/route: drop unnecessary ownership transfer
Let's free Route objects on the caller side.
This commit is contained in:
@@ -353,8 +353,7 @@ static int dhcp4_route_handler(sd_netlink *rtnl, sd_netlink_message *m, Request
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int dhcp4_request_route(Route *in, Link *link) {
|
||||
_cleanup_(route_freep) Route *route = in;
|
||||
static int dhcp4_request_route(Route *route, Link *link) {
|
||||
struct in_addr server;
|
||||
Route *existing;
|
||||
int r;
|
||||
@@ -432,7 +431,7 @@ static int dhcp4_request_prefix_route(Link *link) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return dhcp4_request_route(TAKE_PTR(route), link);
|
||||
return dhcp4_request_route(route, link);
|
||||
}
|
||||
|
||||
static int dhcp4_request_route_to_gateway(Link *link, const struct in_addr *gw) {
|
||||
@@ -457,15 +456,14 @@ static int dhcp4_request_route_to_gateway(Link *link, const struct in_addr *gw)
|
||||
route->prefsrc.in = address;
|
||||
route->scope = RT_SCOPE_LINK;
|
||||
|
||||
return dhcp4_request_route(TAKE_PTR(route), link);
|
||||
return dhcp4_request_route(route, link);
|
||||
}
|
||||
|
||||
static int dhcp4_request_route_auto(
|
||||
Route *in,
|
||||
Route *route,
|
||||
Link *link,
|
||||
const struct in_addr *gw) {
|
||||
|
||||
_cleanup_(route_freep) Route *route = in;
|
||||
struct in_addr address;
|
||||
int r;
|
||||
|
||||
@@ -534,7 +532,7 @@ static int dhcp4_request_route_auto(
|
||||
route->prefsrc.in = address;
|
||||
}
|
||||
|
||||
return dhcp4_request_route(TAKE_PTR(route), link);
|
||||
return dhcp4_request_route(route, link);
|
||||
}
|
||||
|
||||
static int dhcp4_request_classless_static_or_static_routes(Link *link) {
|
||||
@@ -574,7 +572,7 @@ static int dhcp4_request_classless_static_or_static_routes(Link *link) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = dhcp4_request_route_auto(TAKE_PTR(route), link, &gw);
|
||||
r = dhcp4_request_route_auto(route, link, &gw);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
@@ -626,7 +624,7 @@ static int dhcp4_request_default_gateway(Link *link) {
|
||||
route->nexthop.gw.in = router;
|
||||
route->prefsrc.in = address;
|
||||
|
||||
return dhcp4_request_route(TAKE_PTR(route), link);
|
||||
return dhcp4_request_route(route, link);
|
||||
}
|
||||
|
||||
static int dhcp4_request_semi_static_routes(Link *link) {
|
||||
@@ -668,7 +666,7 @@ static int dhcp4_request_semi_static_routes(Link *link) {
|
||||
|
||||
route->nexthop.gw.in = gw;
|
||||
|
||||
r = dhcp4_request_route(TAKE_PTR(route), link);
|
||||
r = dhcp4_request_route(route, link);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
@@ -711,7 +709,7 @@ static int dhcp4_request_routes_to_servers(
|
||||
route->dst.in = *dst;
|
||||
route->dst_prefixlen = 32;
|
||||
|
||||
r = dhcp4_request_route_auto(TAKE_PTR(route), link, &gw);
|
||||
r = dhcp4_request_route_auto(route, link, &gw);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -172,8 +172,7 @@ static void ndisc_set_route_priority(Link *link, Route *route) {
|
||||
}
|
||||
}
|
||||
|
||||
static int ndisc_request_route(Route *in, Link *link, sd_ndisc_router *rt) {
|
||||
_cleanup_(route_freep) Route *route = in;
|
||||
static int ndisc_request_route(Route *route, Link *link, sd_ndisc_router *rt) {
|
||||
struct in6_addr router;
|
||||
uint8_t hop_limit = 0;
|
||||
uint32_t mtu = 0;
|
||||
@@ -328,7 +327,7 @@ static int ndisc_router_process_default(Link *link, sd_ndisc_router *rt) {
|
||||
route->nexthop.gw.in6 = gateway;
|
||||
route->lifetime_usec = lifetime_usec;
|
||||
|
||||
r = ndisc_request_route(TAKE_PTR(route), link, rt);
|
||||
r = ndisc_request_route(route, link, rt);
|
||||
if (r < 0)
|
||||
return log_link_warning_errno(link, r, "Could not request default route: %m");
|
||||
}
|
||||
@@ -352,7 +351,7 @@ static int ndisc_router_process_default(Link *link, sd_ndisc_router *rt) {
|
||||
route->pref = preference;
|
||||
route->lifetime_usec = lifetime_usec;
|
||||
|
||||
r = ndisc_request_route(TAKE_PTR(route), link, rt);
|
||||
r = ndisc_request_route(route, link, rt);
|
||||
if (r < 0)
|
||||
return log_link_warning_errno(link, r, "Could not request gateway: %m");
|
||||
}
|
||||
@@ -502,7 +501,7 @@ static int ndisc_router_process_onlink_prefix(Link *link, sd_ndisc_router *rt) {
|
||||
route->pref = preference;
|
||||
route->lifetime_usec = lifetime_usec;
|
||||
|
||||
r = ndisc_request_route(TAKE_PTR(route), link, rt);
|
||||
r = ndisc_request_route(route, link, rt);
|
||||
if (r < 0)
|
||||
return log_link_warning_errno(link, r, "Could not request prefix route: %m");
|
||||
|
||||
@@ -635,7 +634,7 @@ static int ndisc_router_process_route(Link *link, sd_ndisc_router *rt) {
|
||||
route->dst_prefixlen = prefixlen;
|
||||
route->lifetime_usec = lifetime_usec;
|
||||
|
||||
r = ndisc_request_route(TAKE_PTR(route), link, rt);
|
||||
r = ndisc_request_route(route, link, rt);
|
||||
if (r < 0)
|
||||
return log_link_warning_errno(link, r, "Could not request additional route: %m");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user