From patchwork Tue Jul 12 07:28:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhu Yanjun X-Patchwork-Id: 647205 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rpYfP5N4Nz9s9d for ; Tue, 12 Jul 2016 17:35:41 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751326AbcGLHfj (ORCPT ); Tue, 12 Jul 2016 03:35:39 -0400 Received: from [221.221.41.8] ([221.221.41.8]:55183 "EHLO mail.zhuyj.com" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1750974AbcGLHfi (ORCPT ); Tue, 12 Jul 2016 03:35:38 -0400 X-Greylist: delayed 434 seconds by postgrey-1.27 at vger.kernel.org; Tue, 12 Jul 2016 03:35:37 EDT Received: from mail.zhuyj.com (unknown [192.168.2.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.zhuyj.com (Postfix) with ESMTPSA id B38B25C3E9B; Tue, 12 Jul 2016 15:28:19 +0800 (CST) From: Zhu Yanjun To: netdev@vger.kernel.org Cc: Zhu Yanjun , Jay Vosburgh Subject: [PATCH 1/1] bonding: restrict the data protected by rcu_read_lock Date: Tue, 12 Jul 2016 15:28:17 +0800 Message-Id: <1468308497-5384-1-git-send-email-zyjzyj2000@gmail.com> X-Mailer: git-send-email 1.7.9.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In this function, origin is a pointer to struct aggregator. No matter what agg is changed to, it has nothing to do with origin. CC: Jay Vosburgh Signed-off-by: Zhu Yanjun --- drivers/net/bonding/bond_3ad.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index edc70ff..20afee3 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -1624,8 +1624,8 @@ static void ad_agg_selection_logic(struct aggregator *agg, struct slave *slave; struct port *port; - rcu_read_lock(); origin = agg; + rcu_read_lock(); active = __get_active_agg(agg); best = (active && agg_device_up(active)) ? active : NULL;