| From foo@baz Mon May 16 11:20:33 PDT 2016 |
| From: "xypron.glpk@gmx.de" <xypron.glpk@gmx.de> |
| Date: Mon, 9 May 2016 00:46:18 +0200 |
| Subject: net: thunderx: avoid exposing kernel stack |
| |
| From: "xypron.glpk@gmx.de" <xypron.glpk@gmx.de> |
| |
| [ Upstream commit 161de2caf68c549c266e571ffba8e2163886fb10 ] |
| |
| Reserved fields should be set to zero to avoid exposing |
| bits from the kernel stack. |
| |
| Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c |
| +++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c |
| @@ -519,6 +519,7 @@ static void nicvf_rcv_queue_config(struc |
| 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); |
| @@ -551,6 +552,7 @@ void nicvf_cmp_queue_config(struct nicvf |
| 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; |
| @@ -599,6 +601,7 @@ static void nicvf_snd_queue_config(struc |
| 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; |
| @@ -635,6 +638,7 @@ static void nicvf_rbdr_config(struct nic |
| |
| /* 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; |