From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-0016ce01.pphosted.com (mx0b-0016ce01.pphosted.com [67.231.156.153]) by dpdk.org (Postfix) with ESMTP id D258769C6; Sat, 18 Mar 2017 07:57:14 +0100 (CET) Received: from pps.filterd (m0085408.ppops.net [127.0.0.1]) by mx0b-0016ce01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v2I6uYtL018354; Fri, 17 Mar 2017 23:57:12 -0700 Received: from avcashub1.qlogic.com ([198.186.0.116]) by mx0b-0016ce01.pphosted.com with ESMTP id 29902nr00w-2 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 17 Mar 2017 23:57:12 -0700 Received: from avluser05.qlc.com (10.1.113.115) by qlc.com (10.1.4.191) with Microsoft SMTP Server id 14.3.235.1; Fri, 17 Mar 2017 23:54:56 -0700 Received: (from rmody@localhost) by avluser05.qlc.com (8.14.4/8.14.4/Submit) id v2I6suro013409; Fri, 17 Mar 2017 23:54:56 -0700 X-Authentication-Warning: avluser05.qlc.com: rmody set sender to rasesh.mody@cavium.com using -f From: Rasesh Mody To: , CC: Rasesh Mody , , Date: Fri, 17 Mar 2017 23:53:28 -0700 Message-ID: <1489820014-13279-4-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <2152c44b-3013-b709-16c0-cdef9c20fce2@intel.com> References: <2152c44b-3013-b709-16c0-cdef9c20fce2@intel.com> MIME-Version: 1.0 Content-Type: text/plain disclaimer: bypass X-Proofpoint-Virus-Version: vendor=nai engine=5800 definitions=8470 signatures=668448 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1703180072 Subject: [dpdk-dev] [PATCH v2 13/21] net/qede/base: fix out-of-bound memory access X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Mar 2017 06:57:15 -0000 Fix out-of-bound memory access on Management FW interaction for resource allocation Fixes: 252b88b58f70 ("net/qede/base: add selftest and query sensor info") Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore_mcp.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/qede/base/ecore_mcp.c b/drivers/net/qede/base/ecore_mcp.c index e0d247b..cb3e0bd 100644 --- a/drivers/net/qede/base/ecore_mcp.c +++ b/drivers/net/qede/base/ecore_mcp.c @@ -2426,15 +2426,15 @@ enum _ecore_status_t ecore_mcp_get_resc_info(struct ecore_hwfn *p_hwfn, u32 *p_mcp_resp, u32 *p_mcp_param) { struct ecore_mcp_mb_params mb_params; - union drv_union_data *p_union_data; + union drv_union_data union_data; enum _ecore_status_t rc; OSAL_MEM_ZERO(&mb_params, sizeof(mb_params)); mb_params.cmd = DRV_MSG_GET_RESOURCE_ALLOC_MSG; mb_params.param = ECORE_RESC_ALLOC_VERSION; - p_union_data = (union drv_union_data *)p_resc_info; - mb_params.p_data_src = p_union_data; - mb_params.p_data_dst = p_union_data; + OSAL_MEMCPY(&union_data.resource, p_resc_info, sizeof(*p_resc_info)); + mb_params.p_data_src = &union_data; + mb_params.p_data_dst = &union_data; rc = ecore_mcp_cmd_and_union(p_hwfn, p_ptt, &mb_params); if (rc != ECORE_SUCCESS) return rc; @@ -2442,6 +2442,8 @@ enum _ecore_status_t ecore_mcp_get_resc_info(struct ecore_hwfn *p_hwfn, *p_mcp_resp = mb_params.mcp_resp; *p_mcp_param = mb_params.mcp_param; + OSAL_MEMCPY(p_resc_info, &union_data.resource, sizeof(*p_resc_info)); + DP_VERBOSE(p_hwfn, ECORE_MSG_SP, "MFW resource_info: version 0x%x, res_id 0x%x, size 0x%x," " offset 0x%x, vf_size 0x%x, vf_offset 0x%x, flags 0x%x\n", -- 1.7.10.3