From patchwork Tue Dec 1 13:48:51 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 550894 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 91FD714029C for ; Wed, 2 Dec 2015 00:51:09 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b=PloHGI1R; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756218AbbLANt2 (ORCPT ); Tue, 1 Dec 2015 08:49:28 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:37705 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755852AbbLANtZ (ORCPT ); Tue, 1 Dec 2015 08:49:25 -0500 Received: by wmww144 with SMTP id w144so14074801wmw.0 for ; Tue, 01 Dec 2015 05:49:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZgAWUXqa8e1Jsg7fGj/6nBk/vTa1x2TbsHT5fvfrdOU=; b=PloHGI1RDKwm8z6F4Bo/fwgv4Re0YoyCCSKyWe/4ilD9098Gf3425qG/rj6Mj9JWZG dy69o3tvwBUL7DjOxRzU4sMjafdZNGRnds+iJm0tH8V4jMkrJyws/Y/geFNKJCIJMVfB iu76cWYGR76zsEHLCcVInezVB2v+vSY1o3kGLijtVxb9UVGMKgSIbh++BLxigOXF+3GC /eUbiWwAKEb2idIEEp2ZWHi+Jztf5ID1cVh70wVmu4yK8AiK8IYzXEsy9PuJZ3sQTkhN Kfd1P/6KYoA1g9GQ5cOAz5NcVsEyvlODEWaqpkHBPu+AWxE4j4UYtZ33Sh5iGOPp/WvQ TX4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZgAWUXqa8e1Jsg7fGj/6nBk/vTa1x2TbsHT5fvfrdOU=; b=Fp6UtZpMoEYoUvHwx3Ftw5x/2tiq7eQX0qsy77OGJQ1stDcRT5bi81zB2YGY49dwjK ddY+3GDcJMOJRPfI2sR2/H/+Q9ncE/I90OoBmEFSakT4DWC/xFD4SeRQ+zTuNZBvzwZc vyoaLpvM7RdQbLeJyagDazLmShgZoUQredaoRQw4Fu3pQjrZV8MeUnyaGUhYWSKVLMzT 0k+gKSVJzedtwqp58YUJxYSZxcp/BWXFqPfNex88QyKnUlw/Kv15cuTjHNK0odxwK1h6 zaxFD5DDILQNwmVUy7jfoUQiIIS5NO8yZrtTq3EhGi2zqlAudm0ctEEnq+YADFMQ4mL1 ypGQ== X-Gm-Message-State: ALoCoQl8QP/MKe70I+EZcQFoOKlEUb4lgb5gmVZHtAyq4bb4eay4zyynszC6CkTRax7qOtxxl8y6 X-Received: by 10.194.111.199 with SMTP id ik7mr81272279wjb.167.1448977763640; Tue, 01 Dec 2015 05:49:23 -0800 (PST) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id m16sm26430272wmb.13.2015.12.01.05.49.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Dec 2015 05:49:23 -0800 (PST) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, idosch@mellanox.com, eladr@mellanox.com, yotamg@mellanox.com, ogerlitz@mellanox.com Subject: [patch net-next 13/26] team: rtnl_lock for options set Date: Tue, 1 Dec 2015 14:48:51 +0100 Message-Id: <1448977744-17930-14-git-send-email-jiri@resnulli.us> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1448977744-17930-1-git-send-email-jiri@resnulli.us> References: <1448977744-17930-1-git-send-email-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko During options set, there will be needed to hold rtnl_mutex in order to safely call netdev notifiers. Signed-off-by: Jiri Pirko --- drivers/net/team/team.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index dd1504b..9814133 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -2422,9 +2422,13 @@ static int team_nl_cmd_options_set(struct sk_buff *skb, struct genl_info *info) struct nlattr *nl_option; LIST_HEAD(opt_inst_list); + rtnl_lock(); + team = team_nl_team_get(info); - if (!team) - return -EINVAL; + if (!team) { + err = -EINVAL; + goto rtnl_unlock; + } err = -EINVAL; if (!info->attrs[TEAM_ATTR_LIST_OPTION]) { @@ -2551,7 +2555,8 @@ static int team_nl_cmd_options_set(struct sk_buff *skb, struct genl_info *info) team_put: team_nl_team_put(team); - +rtnl_unlock: + rtnl_unlock(); return err; }