mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-21 07:54:23 +07:00
tipc: Prevent crash when broadcast link cannot send to all nodes
Allow TIPC's broadcast link to continue operation when it is unable to send a message to all nodes in the cluster. Previously, the broadcast link attempted to put the broadcast pseudo-bearer into a blocked state; however, this caused a crash because the associated bearer structure is only partially initialized. Further investigation has revealed some conceptual problems with blocking the pseudo-bearer; consequently, this functionality has been disabled for the time being and the undelivered message is eventually resent by the broadcast link's existing message retransmission mechanism (if possible). Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b02b69c8a4
commit
7e3e5d0950
@ -609,11 +609,13 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
|
|||||||
bcbearer->remains = bcbearer->remains_new;
|
bcbearer->remains = bcbearer->remains_new;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unable to reach all targets */
|
/*
|
||||||
|
* Unable to reach all targets (indicate success, since currently
|
||||||
|
* there isn't code in place to properly block & unblock the
|
||||||
|
* pseudo-bearer used by the broadcast link)
|
||||||
|
*/
|
||||||
|
|
||||||
bcbearer->bearer.publ.blocked = 1;
|
return TIPC_OK;
|
||||||
bcl->stats.bearer_congs++;
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user