From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40084.outbound.protection.outlook.com [40.107.4.84]) by dpdk.org (Postfix) with ESMTP id 267781CBD5 for ; Sat, 12 May 2018 03:36:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=UZ7j1W66sR9uV9ttX0NcvDDxiESoQ1nEcAfADmXN74c=; b=onaXNPGZzqmhriWNsMKSb5x4KVUPPiepU727ftoKs+gnLn5uFzNImGhCj23seWQNOM/FddTc7N32FJrw6db6Vlx4ZT1WfvtcZi1Nha4zy3THfAULQy/GMfFjy+swhE7szRlWlAVmnV1IF+rRpgvHlkTO1V184KE1I2h4be8qjl8= Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.755.16; Sat, 12 May 2018 01:36:06 +0000 From: Yongseok Koh To: shahafs@mellanox.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Cc: dev@dpdk.org, Yongseok Koh Date: Fri, 11 May 2018 18:35:43 -0700 Message-Id: <20180512013545.22279-2-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180512013545.22279-1-yskoh@mellanox.com> References: <20180512013545.22279-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: CO1PR15CA0053.namprd15.prod.outlook.com (2603:10b6:101:1f::21) To AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(2017052603328)(7153060)(7193020); SRVR:AM5PR0501MB2036; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 3:ytw0EWAwgAYc+jbzePpZiJ0SMGmGhcLKbcR4GY3+I08dUSgz1wNjPZB7xDpXFQfWBRD18InA1R7bPU/eoPC/p/8buhj9c7R51sMPxzDrK9lfYGrEV4MQbu9PwFsiefN2d7hPq7xD5MGweEaAXEpMiEFzx6ZWxXqSChUnoGqEu3v+PTUhAwhRUdb2h+pr7kU917B9rqLaL1u595XJCYvsIZRnkREghGvBCLeZAatqr9oDOmppTzHAxseKBdHKnke0; 25:9PI7iJC+Qv907GIm1tjDmHeYcj5byCfqnbb027W4rFVyRG14FmI8YQD53uBWhaXSIaz5fiA+QGE/JWrhU5YWWgQmkSM5QE2Rp9yoY6cszoxlCydzoZyi/4GeJ7hlq42HQHd6inPSiNTk2gEfO58z2OuVRn7AmfaQS6zbK8aHytBWXOgfYdqtd70u2RWs96ygdjd2RMkEIIYW1RYfzXec0B+NSp829KalJHsgVhwwnRumtIiigy55WOPcCcZq+4C82LTIqFkQ8oLQr+GGzDK19JyxnOXsfLvm7onZkamInjVq5BgH9piVmH2BvJyllVhknp/8KcMmQfKIgopspABqug==; 31:4cauPhjhLTa2SXRR8dFJxoU3n9/ru7L8UoG2r4kstu1bp/J9WH8g4NPuc3pvbE5gw8FDZ44CIItlmQ2JEAwjCtikUGzDXmqht77x4Q3Rj60r5FUKNY6K3jV8xN81/Cue9BGlemKLIcp1sVwpGUZpd9GnAYbtsEjSSlcBixlR6k9Yz/90QZ8QdZn7nwVrsa98p5qCHABDRySequlVDn1mvs0guQvozcdTB4cOfSvGUNM= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2036: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 20:vyXkh/49FXlyRPInTHJFDdmknkNeMV+pmjbjhIZZwohQClEvbqIis84UTGGHOmG4XdBMGHXRLGosKF+3D07R6oKLRlGdXhUTN3czNDO3dwtkxRdbSkJpG7Cjt44TcH3p+LHuKFs3PVO9Ct5joZM5iAQ3Sm0il5ueZZZzv4CO0jR/EE61YOxwGeXu3NZy1FAqvDdsjjzIpLfHj68+z518Z0+6MWa5iSJkFqgYmTSCqbDJ59cgfwKwYt2WGTAa54YmPKw9Wl2O+MqjwfEI6vMoWUj9bweYytZhvBT2dRkSP47VQYR3PxTLt3HOy30eFFyiAgRAbq49P5Oyve1OLsPRnR9pqMNUVuSxgk+iM5xsAmAsY1/uJ4T/6vx5/M69pCXvzIeelul6lrm/XeOKxCZx1saCPQb2EnB5EngIGq8sL7lAdsaGyUXiqiC2ZhL8DNvAQDBSQAFnTze4nd0uY+q22hVtyW/GWrVSRPmNBBecGAffRP2C5Gragg+9QjcYcZiu; 4:7Vcyqp44KGu6iRP/H6QlfR+EhIs0I6Nb1WfFoHnWHhoq9v+5eiHhQvc0jrF1JQoubkREiAQ0vBHUXpXaZxTnm1NzNYmuHzxPwnCQ+x35I0MesPLfcKySMS3t9W+uG8DUSzkhDwJEjP8TNGa+CoG1osjPOCY8mhgHw5L7CGX4E1smNI4aYy4Jm4Xt7J3BW6dLFMVvEbqqdaqUvZQn2hQD4PAupOi9rVBAb9QlBJrHkbbXsmZ1hL56ZEVah35BEhS7dhBv3jt/JuE1uBszy+T4Ew== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:AM5PR0501MB2036; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2036; X-Forefront-PRVS: 067071EFC8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(39860400002)(366004)(39380400002)(346002)(376002)(199004)(189003)(107886003)(4326008)(2616005)(575784001)(86362001)(478600001)(97736004)(446003)(316002)(956004)(386003)(76176011)(26005)(53936002)(486006)(476003)(11346002)(25786009)(21086003)(16526019)(2906002)(6666003)(5660300001)(36756003)(47776003)(305945005)(7696005)(8676002)(81166006)(51416003)(1076002)(50226002)(3846002)(52116002)(48376002)(7736002)(8936002)(106356001)(69596002)(68736007)(50466002)(105586002)(81156014)(55016002)(16586007)(6116002)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2036; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2036; 23:m/lsuj32GojkuURhvtmN3SlAVWldqzP+7NssE/d?= =?us-ascii?Q?aii0sDnF9I08rWmOSqSrxqjEHCu2C7SdJlUpKtGnNP4Ex2MG5F4dRKMnMYVp?= =?us-ascii?Q?aon0iQw1dzryX9GqeJfgq28WeiCOQGl/etSb3iK3aEnMpFdobyRvX8zZWnUV?= =?us-ascii?Q?dJVP5FjN5jjDSPgYZbGxBSatmmd/zOX/ZnnO39+VuEa230BNN9dI8Lbq0MBZ?= =?us-ascii?Q?jYy9X5UmuOxsGfm/G9DXs9CksH3LvgLgbxtDCizWQrbuCHuP7xR7xkdfjpKt?= =?us-ascii?Q?o1pLr4sl5BCsWOmuuVIsJxtVoHbIo7Voy0YblwlJL5pEmkMaS/c+sojYp6bp?= =?us-ascii?Q?nczn41BaNc1+eOHwnrWjg3+neaJYXzzqy8C9jAY4aT7aNyJ4B5NIE+Tyx4Z4?= =?us-ascii?Q?jQBaZT/Ko0IBFXpFryDNqKDNrkpD2ReJCvpBvH1kxCAGszLzVJNmO39vn7mq?= =?us-ascii?Q?RPMHuEHMQUAm2Xj4QNNWhh0ffEpcHhJJFg2mdBHoODpMsKQNZmq5gobhJD3N?= =?us-ascii?Q?4ci/2m+4BW07vcyNIDPBWpxg4HWX6K9cGf4PMzCtCzeqlWOIPs+corjp5nZA?= =?us-ascii?Q?fmA4wyEZzekFoR2ewg52YXJQqpWrfylP0hv+dUah7l09tohM9gt7VxlVN3yL?= =?us-ascii?Q?XSvce8KUAS7ffMOLmozeQCgxujNfHGD+qz8GZQljANf07+7bPphG1wiNKsEu?= =?us-ascii?Q?+R8QXrHZplXPGPuWT/R7greNO1eQYVELHPxiE0sXmK8Rk6hWTUzODVAMOaSK?= =?us-ascii?Q?6rwge07i6A9OBQincM1ExDAVPopTkyo4R8ZxwHHS9MuH9Bla6W/fMcPlom64?= =?us-ascii?Q?tkHdvAmAWgvb0aPUwz0dWVl2K/CylAKKhVdPOGi06RxQRfay7dILHjvfcmVP?= =?us-ascii?Q?andEH60OFgPBruO8yXVj0PiCbmJ7LKSgQ1iia2MC4S2aeL4RyXJ9Rnr/9gpY?= =?us-ascii?Q?H3gnsX3Ls/JkeRXRzNC4Zl84+QHgW+bcDRlpoewpiVfDlWmIaNjW+lVMyc+U?= =?us-ascii?Q?arqLRei8Ko/j3ESGVGx7mHJBGmMRFmyLOrat6FP3zHZPfJbB0F4URGqjKloS?= =?us-ascii?Q?scBcAeaQR2vRCYheXkXqaE8ep+ZZbTQLSl3SYfY9/c8lJsGrEoCUkZdwJPiS?= =?us-ascii?Q?6XWw1AyJ5DUk8SqpnqYyatllFLSswkUmm7PpkXFuCoskzB+snXO8Ob7p7gyJ?= =?us-ascii?Q?Bhjt+qiRk6sgZP83EMmjXOuNc5lMJrfMt+T56tKCeg0dwt2ecTDAe/SRagw?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Antispam-Message-Info: llQ0CZwW1SvmWlICJB9AfhTiwVfkdZu+Y45qWGszYflVuzvEwMMLcOmK97QiEYfxkQqvrcvX6HbY/9E3woLozxBiuXsaZ+WoBUguUDxotaCrqkkPtK4FhYMaD7Yl6Qf4o2MMMrhDD46eWVTgO+8c4ykc6rgIHDJoTnBlTvMePFR5Qb/SH8gDdkFtIY9tNkaL X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 6:SArFjixoZb6uqjqLJ60E+/o1pvu8NkagQap82/CwPjukJzo3vK5cuuhpDMgZW8FhLkAPVQrdCOwkJQj3zdoQntvakYZ+aJlOYnH2mvzcAg9+QhnP5E4bt9XAMLnARCDCxv01RCYLTRkpr7jhHAUSN4lvHeVPyAQzFmF4VdUDkQh5gHuMkZ26ky4CVXN7vBic4myI/RxfaoVGJYQJHzXu2+vD4AC14je4ISK9nOqBQyBkBBr2Of3rkEXpP6g2BpNSn0o4vCq/mt5xyaScsR2ScqKtqJZeUBsEfGsR8+mYEh4u5ZCMh8VRutHhelzAASKdk7mGfR+jT2zLId4Td9AXagLMYgICOCAS2Nwey6FCCjyXK6uScFhZ2KFEgX9F32/23z7KaRuQXCEadomKC2o5hVlAip8yPiJ/72Yw+oNRRKLvnnRnSZok/br2WvnXLdAHVzMP9yO8XIdbOZGlmb7Piw==; 5:fbOykKQ2ZbbPeG/7lEY7nIxZXVSv1jvXQB6O06uFX6dUa9nqdqSWz/L+IDeH9C4dwfmHyrg9haHxh2zuIbCeTG3AChKNV6rqMc2tMBihAlXs5RhHlLwfRm+7kCOQUuqVt94pZ/FVnvEfgC2UqZi5S0bywqlRkVEDpmlKbmh4+Fs=; 24:DbvQNojKrAbJGozWclyX1fGBYhATJRGo0L0L16ID0wz2m5tXQ4epFcH5uw/sT4dVLVHst0gGRtuImkcJs6K03FvcaoYkcac9HjRIMciw/ig= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 7:qdq4VMgVqmhF9fzcoJSW+xVeTo+0qB69OrPiOZjiON2grZrBM/CMt0hgnagYid6qrHOa4Dij3sJWhSNEfGXQO/hmFenDCgVSji5u2PtLGLx5/yhy3Pv2QTlYpfwQkKe/uGWcS+jjlCf8PYU3kqQayC4TUxXEz9f0pEtw8OkakZIeZXMJVLR2w00CBGyQjQP6U2OOKv14qNkP6enfX/dlR4F9RSrV4TpE0ZMu+af5dW/DakapKF6xuGXf65vcqs9v X-MS-Office365-Filtering-Correlation-Id: 16a114b1-f550-4c4d-d022-08d5b7a8bc04 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2018 01:36:06.7582 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 16a114b1-f550-4c4d-d022-08d5b7a8bc04 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2036 Subject: [dpdk-dev] [PATCH 2/4] net/mlx5: fix potential buffer overflow 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, 12 May 2018 01:36:09 -0000 Fixes: f0d61f8f8953 ("net/mlx5: add Multi-Packet Rx support") Signed-off-by: Yongseok Koh --- drivers/net/mlx5/mlx5_rxtx.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index 387463792..c887d550f 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -2180,6 +2180,15 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) * - Out of buffer in the Mempool for Multi-Packet RQ. */ if (len <= rxq->mprq_max_memcpy_len || rxq->mprq_repl == NULL) { + /* + * When memcpy'ing packet due to out-of-buffer, the + * packet must be smaller than the target mbuf. + */ + if (unlikely(rte_pktmbuf_tailroom(pkt) < len)) { + rte_pktmbuf_free_seg(pkt); + ++rxq->stats.idropped; + continue; + } rte_memcpy(rte_pktmbuf_mtod(pkt, void *), addr, len); } else { rte_iova_t buf_iova; @@ -2214,8 +2223,11 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n) * Prevent potential overflow due to MTU change through * kernel interface. */ - len = RTE_MIN(len, (uint16_t)(pkt->buf_len - - pkt->data_off)); + if (unlikely(rte_pktmbuf_tailroom(pkt) < len)) { + rte_pktmbuf_free_seg(pkt); + ++rxq->stats.idropped; + continue; + } } rxq_cq_to_mbuf(rxq, pkt, cqe, rss_hash_res); PKT_LEN(pkt) = len; -- 2.11.0