netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] tipc: fix missing spinlock init and nullptr oops
@ 2014-12-03 15:58 erik.hugne
  2014-12-05 12:39 ` Erik Hugne
  2014-12-09 18:42 ` David Miller
  0 siblings, 2 replies; 3+ messages in thread
From: erik.hugne @ 2014-12-03 15:58 UTC (permalink / raw)
  To: netdev, tipc-discussion, jon.maloy, ying.xue, richard.alpe; +Cc: Erik Hugne

From: Erik Hugne <erik.hugne@ericsson.com>

commit 908344cdda80 ("tipc: fix bug in multicast congestion
handling") introduced two bugs with the bclink wakeup
function. This commit fixes the missing spinlock init for the
waiting_sks list. We also eliminate the race condition
between the waiting_sks length check/dequeue operations in
tipc_bclink_wakeup_users by simply removing the redundant
length check.

Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
Acked-by: Tero Aho <Tero.Aho@coriant.com>
---
 net/tipc/bcast.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c
index f0761c7..96ceefe 100644
--- a/net/tipc/bcast.c
+++ b/net/tipc/bcast.c
@@ -233,8 +233,11 @@ static void bclink_retransmit_pkt(u32 after, u32 to)
  */
 void tipc_bclink_wakeup_users(void)
 {
-	while (skb_queue_len(&bclink->link.waiting_sks))
-		tipc_sk_rcv(skb_dequeue(&bclink->link.waiting_sks));
+	struct sk_buff *skb;
+
+	while ((skb = skb_dequeue(&bclink->link.waiting_sks)))
+		tipc_sk_rcv(skb);
+
 }
 
 /**
@@ -950,7 +953,7 @@ int tipc_bclink_init(void)
 	spin_lock_init(&bclink->lock);
 	__skb_queue_head_init(&bcl->outqueue);
 	__skb_queue_head_init(&bcl->deferred_queue);
-	__skb_queue_head_init(&bcl->waiting_sks);
+	skb_queue_head_init(&bcl->waiting_sks);
 	bcl->next_out_no = 1;
 	spin_lock_init(&bclink->node.lock);
 	__skb_queue_head_init(&bclink->node.waiting_sks);
-- 
2.1.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] tipc: fix missing spinlock init and nullptr oops
  2014-12-03 15:58 [PATCH net-next] tipc: fix missing spinlock init and nullptr oops erik.hugne
@ 2014-12-05 12:39 ` Erik Hugne
  2014-12-09 18:42 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: Erik Hugne @ 2014-12-05 12:39 UTC (permalink / raw)
  To: netdev, tipc-discussion, jon.maloy, ying.xue, richard.alpe

On Wed, Dec 03, 2014 at 04:58:40PM +0100, erik.hugne@ericsson.com wrote:
> From: Erik Hugne <erik.hugne@ericsson.com>
> 
> commit 908344cdda80 ("tipc: fix bug in multicast congestion
> handling") introduced two bugs with the bclink wakeup
> function. This commit fixes the missing spinlock init for the
> waiting_sks list. We also eliminate the race condition
> between the waiting_sks length check/dequeue operations in
> tipc_bclink_wakeup_users by simply removing the redundant
> length check.
> 
> Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
> Acked-by: Tero Aho <Tero.Aho@coriant.com>

Richard found another issue during regression testing closely related
to this, I have dropped it from patchwork and he will send in
v2.

//E

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] tipc: fix missing spinlock init and nullptr oops
  2014-12-03 15:58 [PATCH net-next] tipc: fix missing spinlock init and nullptr oops erik.hugne
  2014-12-05 12:39 ` Erik Hugne
@ 2014-12-09 18:42 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2014-12-09 18:42 UTC (permalink / raw)
  To: erik.hugne; +Cc: netdev, tipc-discussion, jon.maloy, ying.xue, richard.alpe

From: <erik.hugne@ericsson.com>
Date: Wed, 3 Dec 2014 16:58:40 +0100

> From: Erik Hugne <erik.hugne@ericsson.com>
> 
> commit 908344cdda80 ("tipc: fix bug in multicast congestion
> handling") introduced two bugs with the bclink wakeup
> function. This commit fixes the missing spinlock init for the
> waiting_sks list. We also eliminate the race condition
> between the waiting_sks length check/dequeue operations in
> tipc_bclink_wakeup_users by simply removing the redundant
> length check.
> 
> Signed-off-by: Erik Hugne <erik.hugne@ericsson.com>
> Acked-by: Tero Aho <Tero.Aho@coriant.com>

Applied.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-12-09 18:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-03 15:58 [PATCH net-next] tipc: fix missing spinlock init and nullptr oops erik.hugne
2014-12-05 12:39 ` Erik Hugne
2014-12-09 18:42 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).