Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp184961imm; Wed, 30 May 2018 21:11:22 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKOrDs1xzbqvOyyBC/OTisPRXCvzY3+D4EyxRpWUr7rIvCrStXp99d40hBry5LrdZif/LHa X-Received: by 2002:a17:902:7082:: with SMTP id z2-v6mr5314692plk.373.1527739882884; Wed, 30 May 2018 21:11:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527739882; cv=none; d=google.com; s=arc-20160816; b=qE5KJOFOfRIJGkkE+psYgl21smA7Oa749Ndr/DoGa8gxvr8lmnTYwzPb19R2Y/k4XW cR0O2UX9k2Xl2Sxs5OTZwlj0mi1+0XyMHoAVMZuP4j/zyZnEprVhY5EJ1p1WVCdXDfeP 045dcAn0jQSjuUFTyFrywq4E8IB8yNZ8GogAw1R08u3+HvIu5y7lxksVMDFP42BYZNvh VpQjNcIm6LRJaVvehSiVBK4OI2MI6uKLl4COpFl2V6GN6fOrTvGi9r8CLKaaiTEa570P 4/Nz/HNpsE0e4YyXPYq/GrFLzcVdWzDE2i2mNdKg3iSMEewFRWqhspwI6id7Dy003jRI KCYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature:arc-authentication-results; bh=uMK59nIQahPbdrv+S3eUAuOwDvTvDMtySJ7e8UsAtaA=; b=Ae2XlCOaNwOIX3EpLbaMUdl9yH4XBXt9Fsfy7K20sLPnPnSDsSONilK9Ok+Ju6VTkd QUPG2DXv10nPHEtWsN1V32z5p19PZugD/MIYv/nXU/bBgrE7xlKgWQWKtleYb8/Wt+bH kP4TSpM+zJhhHo1RXogXbijbY3iTS94Hgr/FL1G+G6RMq3xQul9WMLYj+fsb8iKG9TLK Z//vLbCIwNoZSS0bGPbXgtAaLRuK9psPxRH6/8sHfxRo3PwMWbweOCc+RiP1fvpej8fO Kkhhq9I8xueBSciV9kOO0CMjwxsUITLFeiJ5BCgl5D6Q9b95BX/Y3lkzNCSORwF1pejh IUbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mendozajonas.com header.s=fm3 header.b=pOs5VxV6; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=fo4bY4tI; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d14-v6si9560993pln.206.2018.05.30.21.11.08; Wed, 30 May 2018 21:11:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mendozajonas.com header.s=fm3 header.b=pOs5VxV6; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=fo4bY4tI; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751981AbeEaEKi (ORCPT + 99 others); Thu, 31 May 2018 00:10:38 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:47719 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750949AbeEaEKe (ORCPT ); Thu, 31 May 2018 00:10:34 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id C659C21DFF; Thu, 31 May 2018 00:10:31 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Thu, 31 May 2018 00:10:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= mendozajonas.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=uMK59nIQahPbdrv+S 3eUAuOwDvTvDMtySJ7e8UsAtaA=; b=pOs5VxV69AeS0BltRbS8Z5O72oaiGDsx8 8SHjNRpAlfG0jRJX4d86OeChULaIX2YfoykGqHqFKPP9aexMB4t0SuMHX61o1d5r Lw/VILgfIRPvtskWU5j1YFwTJ358YwdtuG53HQMCUyqGPzEgK2hTYLSqzkDR7+xV twVc3xIj6KcW6BHZxbXidKn/iFe28sq5EVeQPYO5nlAjZGemkVHH7HsbAdf9dmoo k50LHILcXGqOjQyVdTeXsREF856C9q08uuMOcZ2BeHVRocWBZlhP42LB7aA/fNbP 9Z1dGJHuC2ukJqdweoU7jZQ+9zNgDoEjg/lVw2IOvhMsF1TR3ujXg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=uMK59nIQahPbdrv+S 3eUAuOwDvTvDMtySJ7e8UsAtaA=; b=fo4bY4tIGeUyznCmyRhwULSb6ubjVAEe3 JLgpnMBbuEa4zzCrVsB785tZC5VRWzmNnZ8BFEWldi1sfEM727fOYi+3uJE3v3zu lptcoiDxGuc4Eu8C+IU085F8jVTFcvCASzB6utRB99iLrc9DOyLNCQ1KBST8Ucqn a8OtA+Z8RoionOfxWbMNnmj//Z2s8r3dKp3GAZDRydOLF0K4B1U6eXa2qdDkyV99 VOz6qrApnLnHSmm8PxILZ8N1/A2L6ZlrZ2MURNHv5xhlvOZdVmgAAFGDtx94YXnt WoPZZj4p/BRDr99kDhdy7jnn+Wbk4rAphvdyBC8yJe6JyiPc5jSmQ== X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Sender: Received: from v4.ozlabs.ibm.com (unknown [122.99.82.10]) by mail.messagingengine.com (Postfix) with ESMTPA id 7811F1025D; Thu, 31 May 2018 00:10:29 -0400 (EDT) From: Samuel Mendoza-Jonas To: netdev@vger.kernel.org Cc: Samuel Mendoza-Jonas , "David S . Miller" , linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org Subject: [PATCH net] net/ncsi: Fix array size in dumpit handler Date: Thu, 31 May 2018 14:10:04 +1000 Message-Id: <20180531041004.20172-1-sam@mendozajonas.com> X-Mailer: git-send-email 2.17.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org With CONFIG_CC_STACKPROTECTOR enabled the kernel panics as below when parsing a NCSI_CMD_PKG_INFO command: [ 150.149711] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: 805cff08 [ 150.149711] [ 150.159919] CPU: 0 PID: 1301 Comm: ncsi-netlink Not tainted 4.13.16-468cbec6d2c91239332cb91b1f0a73aafcb6f0c6 #1 [ 150.170004] Hardware name: Generic DT based system [ 150.174852] [<80109930>] (unwind_backtrace) from [<80106bc4>] (show_stack+0x20/0x24) [ 150.182641] [<80106bc4>] (show_stack) from [<805d36e4>] (dump_stack+0x20/0x28) [ 150.189888] [<805d36e4>] (dump_stack) from [<801163ac>] (panic+0xdc/0x278) [ 150.196780] [<801163ac>] (panic) from [<801162cc>] (__stack_chk_fail+0x20/0x24) [ 150.204111] [<801162cc>] (__stack_chk_fail) from [<805cff08>] (ncsi_pkg_info_all_nl+0x244/0x258) [ 150.212912] [<805cff08>] (ncsi_pkg_info_all_nl) from [<804f939c>] (genl_lock_dumpit+0x3c/0x54) [ 150.221535] [<804f939c>] (genl_lock_dumpit) from [<804f873c>] (netlink_dump+0xf8/0x284) [ 150.229550] [<804f873c>] (netlink_dump) from [<804f8d44>] (__netlink_dump_start+0x124/0x17c) [ 150.237992] [<804f8d44>] (__netlink_dump_start) from [<804f9880>] (genl_rcv_msg+0x1c8/0x3d4) [ 150.246440] [<804f9880>] (genl_rcv_msg) from [<804f9174>] (netlink_rcv_skb+0xd8/0x134) [ 150.254361] [<804f9174>] (netlink_rcv_skb) from [<804f96a4>] (genl_rcv+0x30/0x44) [ 150.261850] [<804f96a4>] (genl_rcv) from [<804f7790>] (netlink_unicast+0x198/0x234) [ 150.269511] [<804f7790>] (netlink_unicast) from [<804f7ffc>] (netlink_sendmsg+0x368/0x3b0) [ 150.277783] [<804f7ffc>] (netlink_sendmsg) from [<804abea4>] (sock_sendmsg+0x24/0x34) [ 150.285625] [<804abea4>] (sock_sendmsg) from [<804ac1dc>] (___sys_sendmsg+0x244/0x260) [ 150.293556] [<804ac1dc>] (___sys_sendmsg) from [<804ad98c>] (__sys_sendmsg+0x5c/0x9c) [ 150.301400] [<804ad98c>] (__sys_sendmsg) from [<804ad9e4>] (SyS_sendmsg+0x18/0x1c) [ 150.308984] [<804ad9e4>] (SyS_sendmsg) from [<80102640>] (ret_fast_syscall+0x0/0x3c) [ 150.316743] ---[ end Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: 805cff08 This turns out to be because the attrs array in ncsi_pkg_info_all_nl() is initialised to a length of NCSI_ATTR_MAX which is the maximum attribute number, not the number of attributes. Fixes: 955dc68cb9b2 ("net/ncsi: Add generic netlink family") Signed-off-by: Samuel Mendoza-Jonas --- net/ncsi/ncsi-netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ncsi/ncsi-netlink.c b/net/ncsi/ncsi-netlink.c index 8d7e849d4825..41cede4041d3 100644 --- a/net/ncsi/ncsi-netlink.c +++ b/net/ncsi/ncsi-netlink.c @@ -215,7 +215,7 @@ static int ncsi_pkg_info_nl(struct sk_buff *msg, struct genl_info *info) static int ncsi_pkg_info_all_nl(struct sk_buff *skb, struct netlink_callback *cb) { - struct nlattr *attrs[NCSI_ATTR_MAX]; + struct nlattr *attrs[NCSI_ATTR_MAX + 1]; struct ncsi_package *np, *package; struct ncsi_dev_priv *ndp; unsigned int package_id; -- 2.17.0