From mboxrd@z Thu Jan 1 00:00:00 1970 From: Veaceslav Falico Subject: [PATCH v4 net-next 0/3] bonding: fix bond_3ad RCU usage Date: Fri, 10 Jan 2014 11:59:42 +0100 Message-ID: <1389351585-19615-1-git-send-email-vfalico@redhat.com> Cc: dingtianhong@huawei.com, Jay Vosburgh , Andy Gospodarek , Veaceslav Falico To: netdev@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:61862 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752157AbaAJLEB (ORCPT ); Fri, 10 Jan 2014 06:04:01 -0500 Sender: netdev-owner@vger.kernel.org List-ID: While digging through bond_3ad.c I've found that the RCU usage there is just wrong - it's used as a kind of mutex/spinlock instead of RCU. v3->v4: remove useless goto and wrap __get_first_agg() in proper RCU. v2->v3: make bond_3ad_set_carrier() use RCU read lock for the whole function, so that all other functions will be protected by RCU as well. This way we can use _rcu variants everywhere. v1->v2: use generic primitives instead of _rcu ones cause we can hold RTNL lock without RCU one, which is still safe. This patchset is on top of bond_3ad.c cleanup: http://www.spinics.net/lists/netdev/msg265447.html CC: dingtianhong@huawei.com CC: Jay Vosburgh CC: Andy Gospodarek CC: netdev@vger.kernel.org Signed-off-by: Veaceslav Falico