From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id 36BEE98 for ; Tue, 24 Jul 2018 18:08:08 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id v25-v6so3110762wmc.0 for ; Tue, 24 Jul 2018 09:08:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=gpqzk4nZxchDaER3i4S/MtFZ2uibkW8VJpcmloNH3yM=; b=udk4brqVofkXbkVeQ9VXrlmdA+oT2P3UydP4UT931vscum44+HFGkQ5gI6IzKNTmZ6 Z6iQtsT9vWyRF1j4MO3YXt8fm8RP73V2f9l1x11F6OoROvXezq/lnsA9WaiC38/YZmye hxPZj9DCB8lzWbBeQsopg4k596X/CQ6pBsJJAcPBmGT1Es8zvIVw605tkxc0HfJS9Xwn 7JUhbmP81rJMpnEj74EcfY64W+9WkWwFaY+tOMsA/jllspic04c5L7uq6WGWNkHjbGcF DkfKvFfGf+hgJYgvcaGe6j1AQe8CTxb0MaK0R0Z90x/+uGNITT6PVUz2Ksce9+d4tLj8 QDAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=gpqzk4nZxchDaER3i4S/MtFZ2uibkW8VJpcmloNH3yM=; b=IKeNGVVVjb0tN/B5ohlETdw4K9KOCVAzbARih/SVczUI8A+uZJ/Rle6qRXzKU97+fR DwUpX97dEylR5nIhdsXxt5KoN5d8nNIopYLiRfPwY7eRh69+e0YGaAuv1RPcPyPREVy1 9yjWnePUQfI23voh4/LB2SQ8e00bqVeUjKmzaiSoNaQHj/8VBYiifjv2skqrXPvVTrNF DW1mlYGNmvThxhkoim6/mkHN3obVs+AFoJynxJxHTXokOvCCqR/8TaH1mzE2KjWQi3iR rxQ4njdhUYpdo1F4uikfYkOyOCZP5mM7iHo0drXlyBUmAQWTtVarWKV04fx7o3b2K4T4 Kx8A== X-Gm-Message-State: AOUpUlF5XJ0cSvvqIRWxbFVn9e3j5mdeIcVFpzp7ulI9JVtErBkXg5yX 193JpDIR3fAjboia9XqLRUSFgHNJy4c= X-Google-Smtp-Source: AAOMgpe+RnIrYtxBeA25q6o9mdZk7Osf7qVVVra7mhDJLFEHpclgVjLItU8A4SohePCh8zmSgProcA== X-Received: by 2002:a1c:497:: with SMTP id 145-v6mr2388304wme.157.1532448487751; Tue, 24 Jul 2018 09:08:07 -0700 (PDT) Received: from localhost ([2a00:23c5:be94:4600:7b12:f8a0:fd52:f87d]) by smtp.gmail.com with ESMTPSA id e10-v6sm2641666wmh.19.2018.07.24.09.08.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Jul 2018 09:08:06 -0700 (PDT) From: luca.boccassi@gmail.com To: Rafal Kozik Cc: Michal Krawczyk , dpdk stable Date: Tue, 24 Jul 2018 17:07:19 +0100 Message-Id: <20180724160752.20287-1-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.18.0 Subject: [dpdk-stable] patch 'net/ena: check pointer before memset' has been queued to LTS release 16.11.8 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2018 16:08:08 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/26/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From 8cc1278eaeb0eb07513ebc7e76e4c7d907da44a2 Mon Sep 17 00:00:00 2001 From: Rafal Kozik Date: Thu, 7 Jun 2018 11:43:18 +0200 Subject: [PATCH] net/ena: check pointer before memset [ upstream commit 46916aa17d4b2007df8c0454f99ba0ca8b8cb93b ] Need to check if memory allocation succeed before using it. Using memset on NULL pointer cause segfault. Fixes: 9ba7981ec992 ("ena: add communication layer for DPDK") Signed-off-by: Rafal Kozik Acked-by: Michal Krawczyk --- drivers/net/ena/base/ena_plat_dpdk.h | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index 87c3bf13b..aa242204c 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h +++ b/drivers/net/ena/base/ena_plat_dpdk.h @@ -188,10 +188,15 @@ typedef uint64_t dma_addr_t; snprintf(z_name, sizeof(z_name), \ "ena_alloc_%d", ena_alloc_cnt++); \ mz = rte_memzone_reserve(z_name, size, SOCKET_ID_ANY, 0); \ - memset(mz->addr, 0, size); \ - virt = mz->addr; \ - phys = mz->phys_addr; \ handle = mz; \ + if (mz == NULL) { \ + virt = NULL; \ + phys = 0; \ + } else { \ + memset(mz->addr, 0, size); \ + virt = mz->addr; \ + phys = mz->phys_addr; \ + } \ } while (0) #define ENA_MEM_FREE_COHERENT(dmadev, size, virt, phys, handle) \ ({ ENA_TOUCH(size); ENA_TOUCH(phys); \ @@ -206,8 +211,14 @@ typedef uint64_t dma_addr_t; snprintf(z_name, sizeof(z_name), \ "ena_alloc_%d", ena_alloc_cnt++); \ mz = rte_memzone_reserve(z_name, size, node, 0); \ - virt = mz->addr; \ - phys = mz->phys_addr; \ + if (mz == NULL) { \ + virt = NULL; \ + phys = 0; \ + } else { \ + memset(mz->addr, 0, size); \ + virt = mz->addr; \ + phys = mz->phys_addr; \ + } \ } while (0) #define ENA_MEM_ALLOC_NODE(dmadev, size, virt, node, dev_node) \ -- 2.18.0