Skip to content

Commit cc7ea36

Browse files
mctpd: reset pool for invalid set endpoint id response
If endpoint responds with some invalid endpoint id range, assumed bridge pool space needs to reset too, this is needed as it misleads remove_peer() to delete gateway routes too which only be created after bridge pool allocation Signed-off-by: Faizan Ali <[email protected]>
1 parent 36d0a5f commit cc7ea36

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/mctpd.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2083,10 +2083,14 @@ static int endpoint_assign_eid(struct ctx *ctx, sd_bus_error *berr,
20832083
add_peer_route(peer);
20842084

20852085
rc = endpoint_send_set_endpoint_id(peer, &new_eid, &req_pool_size);
2086-
if (rc == -ECONNREFUSED)
2086+
if (rc == -ECONNREFUSED) {
20872087
sd_bus_error_setf(
20882088
berr, SD_BUS_ERROR_FAILED,
20892089
"Endpoint returned failure to Set Endpoint ID");
2090+
peer->pool_size = 0;
2091+
peer->pool_start = 0;
2092+
}
2093+
20902094
if (rc < 0) {
20912095
remove_peer(peer);
20922096
return rc;

0 commit comments

Comments
 (0)