From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933981AbcI3QOj (ORCPT ); Fri, 30 Sep 2016 12:14:39 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:53968 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933037AbcI3QOc (ORCPT ); Fri, 30 Sep 2016 12:14:32 -0400 From: Arnd Bergmann To: "David S. Miller" Cc: Arnd Bergmann , Roopa Prabhu , Nicolas Dichtel , Nikolay Aleksandrov , Jiri Pirko , Eric Dumazet , Brenden Blanco , Hannes Frederic Sowa , Nogah Frankel , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] net: rtnl: avoid uninitialized data in IFLA_VF_VLAN_LIST handling Date: Fri, 30 Sep 2016 18:13:49 +0200 Message-Id: <20160930161416.18660-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:WdiGT03ogDyaYHHytJdc2LIJ5pypBMmTnQ146ZQ5ki2G3vs+qoL 7aRF250Z90FXs+rJk03jT8T2sbvsHtYDBxva/6y0Oml0F/rXKsPwbjpN5tZ7Ox2wb7ok0qc 9+n6V/2yGTtWZBeO3yrrdrp4JiM/lo3Mxs31s6s3VXtw3zlBCc9RJiW6ECdUWLR9+qJ27kb gw3X+cgAmqvzXqNwPH4dg== X-UI-Out-Filterresults: notjunk:1;V01:K0:PX3T50pQLDA=:bVobQFMEp+15LcQHV1mYSH mPmiFbbFE11LVuYPKxcP/b1NxWQQ/jkiaaDC+7CHxoMRKEQzp1iCsBk5VAjOY2t9KVmOfMyC7 E8h8yPDBg+MpLOFY9GZtq1Sax205Lr0os4gg3zvmakjC3VIJMpMV6Mas5Srl4JuStNDQsH3E4 kc4OMW0aiPrd8HT9/j4ckitsUBhAsEaDVM0t++dDiTtKjgRsYa7thsOzQz37G/5GWlVlZYUGy 8wqjriBfF2+hTXZuPdu6sNaZs19DyLUPENNdQQPqOXKHHklMk495aMiad/aFDCEUa4NvKVpEi NGuN6sldaav5h0rDsDKzVDMngEqu9RlWCEgDo5dOENHjCFuEa7APYo9wKhB4PxbCW3rBkuBzt Wc9fh5JFInyvCRjkia73TugoKXq0sYzLcPFsPFZYzBjn/E1Cyjjo7Pm9CZkEGjCAhQFrBmjMp 6QKFTTRrchbmARUonX62d0b3KQd5gsiQNGEjDzy7QjoaLXIFqDZGN/nz8OZUsja90HWqb9Dlg PmsMOsyALfcNPSZvioKn2HUqtTxYoKZGirrDzrX9abCyKovGgOesQNwTFTrKv/Z9GzqmdCWsQ Kgw+TVdL3fNFWcNMJBQ9cMJujUCbHhaVgufm8IiYKmu3VMUBL8fA5G5JD8IIH+hwO0iVP56AB LYU5+q26cbDvttZcMGTBghyh819oMSfaE23DkcI95kxdO2o5n5xUQLSBGKvB6iZsqy8M= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org With the newly added support for IFLA_VF_VLAN_LIST netlink messages, we get a warning about potential uninitialized variable use in the parsing of the user input when enabling the -Wmaybe-uninitialized warning: net/core/rtnetlink.c: In function 'do_setvfinfo': net/core/rtnetlink.c:1756:9: error: 'ivvl$' may be used uninitialized in this function [-Werror=maybe-uninitialized] I have not been able to prove whether it is possible to arrive in this code with an empty IFLA_VF_VLAN_LIST block, but if we do, then ndo_set_vf_vlan gets called with uninitialized arguments. This adds an explicit check for an empty list, making it obvious to the reader and the compiler that this cannot happen. Fixes: 79aab093a0b5 ("net: Update API for VF vlan protocol 802.1ad support") Signed-off-by: Arnd Bergmann --- net/core/rtnetlink.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 3ac8946bf244..b06d2f46b83e 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -1753,6 +1753,9 @@ static int do_setvfinfo(struct net_device *dev, struct nlattr **tb) len++; } + if (len == 0) + return -EINVAL; + err = ops->ndo_set_vf_vlan(dev, ivvl[0]->vf, ivvl[0]->vlan, ivvl[0]->qos, ivvl[0]->vlan_proto); if (err < 0) -- 2.9.0