From patchwork Sun May 8 22:46:18 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 619703 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 3r30yM05Q4z9t45 for ; Mon, 9 May 2016 08:47:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750914AbcEHWrE (ORCPT ); Sun, 8 May 2016 18:47:04 -0400 Received: from mout.gmx.net ([212.227.17.22]:54787 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750854AbcEHWrB (ORCPT ); Sun, 8 May 2016 18:47:01 -0400 Received: from LT001.lan ([88.152.144.64]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0LbA4j-1bNMkY49JB-00kfZY; Mon, 09 May 2016 00:46:24 +0200 From: Heinrich Schuchardt To: Sunil Goutham , Robert Richter Cc: linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Heinrich Schuchardt Subject: [PATCH 1/1] net: thunderx: avoid exposing kernel stack Date: Mon, 9 May 2016 00:46:18 +0200 Message-Id: <1462747578-6147-1-git-send-email-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.1.4 X-Provags-ID: V03:K0:Rf4cLkyuyHeEkcospCVJT6smnB53lVqqZGJWFHktuf11+SL6UDN UZDFetEUWt+yiEIiSVZ+g6ZefRH0jmkmvNpw3Ts6Y0ro8TyiGsxRAFGuP7pVBeUMJePWF+O G7UG7co2mM3jDlBe2mOl2GWzBtBmQ9Ota/3zkxVHXWrw2sG3yv3/ZZ7Aod4SVKCFOwWEed2 ng79q1TCvJLv2DjbCxS6w== X-UI-Out-Filterresults: notjunk:1; V01:K0:5IFclhsrN1M=:N/W0bDJBrSODgxlh9ffF1x oJENUV8aesPNZrker1A/WNQlaQ5cWPKrVW+Y6FNc8Ag5TXosdbF45Rqu0SMW1AjGYG5brVDXK U5NSUcwENDBVPD80yVX3ZmpIAHFYFxDxVSWzYcIjfkxFQXEb4YZ7l7rIiTkcwmP0YcVyuj8qN JZYtCdZtKRSqrLhi/FF5LUdPblTgHwHnepZgD+CJwIs50j6h4xUv9Yls5i4GhYm2yax83wED6 u5fPmS6FN41Z/SxMPzKP4gt46vo+ykSx61bQjcPSEfcbQ3w0i/bJpfMBd0KQz6+Z4mYTuGsJT a89WFuHJ1fOVjY38bD8y99qarz20ot+d3hkpxjeAkQ23yuaNWIwLtHQ95DFKfneyfuY0Ey+cO SEGAKfVR+4cjhzSjlYgcdkLml91ryELyUQ03Er8o4kBCDv+EXIBtPNip5FcMwa97uXJmbXn2r ao2KuCspcoY+aP4GhMm3oUdZCboXU9g0I2IrNvjPeuaVwH8QwaVsW3rAHrWqHHjX4vVJWFjKC uk837SxlsgMBD4KdNmGK9ejbUdnzHdJXs+yYJlE9d9hOwXQv7swC9Xb5SW+yADePz3WRkJtBH iYNElyvlDZVAK2mMCqgg5KzVeLpxAMC7Gz3RvnUYexud/dNMZVgSrR9SbFtUN2if5LWaaTAAV foJjDr57+eBacQ68OFHLALz2JLc8mJb2sjJkyjWCDmER1lfx1oz4HKj1f17VzUrOQ5yxBOAaj DAJh74tGo9au/i2cvprbQMdilGQSMY3u/11n3gSfzAWrlMZYI/8k+STl2Vo= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Reserved fields should be set to zero to avoid exposing bits from the kernel stack. Signed-off-by: Heinrich Schuchardt --- drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c index 8acd7c0..0ff8e60 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c @@ -533,6 +533,7 @@ static void nicvf_rcv_queue_config(struct nicvf *nic, struct queue_set *qs, nicvf_config_vlan_stripping(nic, nic->netdev->features); /* Enable Receive queue */ + memset(&rq_cfg, 0, sizeof(struct rq_cfg)); rq_cfg.ena = 1; rq_cfg.tcp_ena = 0; nicvf_queue_reg_write(nic, NIC_QSET_RQ_0_7_CFG, qidx, *(u64 *)&rq_cfg); @@ -565,6 +566,7 @@ void nicvf_cmp_queue_config(struct nicvf *nic, struct queue_set *qs, qidx, (u64)(cq->dmem.phys_base)); /* Enable Completion queue */ + memset(&cq_cfg, 0, sizeof(struct cq_cfg)); cq_cfg.ena = 1; cq_cfg.reset = 0; cq_cfg.caching = 0; @@ -613,6 +615,7 @@ static void nicvf_snd_queue_config(struct nicvf *nic, struct queue_set *qs, qidx, (u64)(sq->dmem.phys_base)); /* Enable send queue & set queue size */ + memset(&sq_cfg, 0, sizeof(struct sq_cfg)); sq_cfg.ena = 1; sq_cfg.reset = 0; sq_cfg.ldwb = 0; @@ -649,6 +652,7 @@ static void nicvf_rbdr_config(struct nicvf *nic, struct queue_set *qs, /* Enable RBDR & set queue size */ /* Buffer size should be in multiples of 128 bytes */ + memset(&rbdr_cfg, 0, sizeof(struct rbdr_cfg)); rbdr_cfg.ena = 1; rbdr_cfg.reset = 0; rbdr_cfg.ldwb = 0;