mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-16 18:08:20 +00:00
tipc: Convert fatal broadcast sanity check to non-fatal check
Modifies the existing broadcast link sanity check that detects an attempt to send a message off-node when there are no available destinations so that it no longer causes a kernel panic; instead, the check now issues a warning and stack trace and then returns without sending the message anywhere. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
This commit is contained in:
parent
21e842579a
commit
5e72690038
@ -552,12 +552,16 @@ static int tipc_bcbearer_send(struct sk_buff *buf,
|
|||||||
if (likely(!msg_non_seq(buf_msg(buf)))) {
|
if (likely(!msg_non_seq(buf_msg(buf)))) {
|
||||||
struct tipc_msg *msg;
|
struct tipc_msg *msg;
|
||||||
|
|
||||||
assert(tipc_bcast_nmap.count != 0);
|
|
||||||
bcbuf_set_acks(buf, tipc_bcast_nmap.count);
|
bcbuf_set_acks(buf, tipc_bcast_nmap.count);
|
||||||
msg = buf_msg(buf);
|
msg = buf_msg(buf);
|
||||||
msg_set_non_seq(msg, 1);
|
msg_set_non_seq(msg, 1);
|
||||||
msg_set_mc_netid(msg, tipc_net_id);
|
msg_set_mc_netid(msg, tipc_net_id);
|
||||||
bcl->stats.sent_info++;
|
bcl->stats.sent_info++;
|
||||||
|
|
||||||
|
if (WARN_ON(!tipc_bcast_nmap.count)) {
|
||||||
|
dump_stack();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Send buffer over bearers until all targets reached */
|
/* Send buffer over bearers until all targets reached */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user