Skip to content

Commit

Permalink
tipc: Remove deferred queue head caching during broadcast message rec…
Browse files Browse the repository at this point in the history
…eption

Modifies TIPC's incoming broadcast packet handler so that it no longer
pre-reads information about the deferred packet queue, since the cached
value is unreliable once the associated node lock has been released.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
  • Loading branch information
Allan Stephens authored and Paul Gortmaker committed Sep 1, 2011
1 parent 5d3c488 commit 693d03a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/tipc/bcast.c
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,6 @@ void tipc_bclink_recv_pkt(struct sk_buff *buf)
/* Handle in-sequence broadcast message */

receive:
deferred = node->bclink.deferred_head;
next_in = mod(node->bclink.last_in + 1);
seqno = msg_seqno(msg);

Expand Down Expand Up @@ -500,6 +499,7 @@ void tipc_bclink_recv_pkt(struct sk_buff *buf)
}
buf = NULL;
tipc_node_lock(node);
deferred = node->bclink.deferred_head;
if (deferred && (buf_seqno(deferred) == mod(next_in + 1))) {
buf = deferred;
msg = buf_msg(buf);
Expand Down

0 comments on commit 693d03a

Please sign in to comment.