From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 67D50A0573; Wed, 4 Mar 2020 15:05:58 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F17102C4F; Wed, 4 Mar 2020 15:05:57 +0100 (CET) Received: from mail-pj1-f66.google.com (mail-pj1-f66.google.com [209.85.216.66]) by dpdk.org (Postfix) with ESMTP id BD0A42BB8 for ; Wed, 4 Mar 2020 15:05:56 +0100 (CET) Received: by mail-pj1-f66.google.com with SMTP id o2so978541pjp.2 for ; Wed, 04 Mar 2020 06:05:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=7n5hD5G7TrKhTvKLrt4KVjpARuGy+aW+ohKp65j5sTw=; b=jzezR+oZq3XiN3cCnW5H8U36QqtwgjSDcGMw4N3UwFJDE+nIyOaXchsV1wBQxCmbzD GhrJmzhmsTw3Aq2uzgIzzPUDFrhTDARx3jptdaGQMTJGXdRmr2vEh4FS4UCvspZhIO99 u55ZPPD1cfCt9aJXZBcPTEYwNaVlDSZpZlLpPqGy7dij77oRRSnxVN4AHtzQeSFiLh3Y Y27SLEN1S4EEiJ+teyUncdF4EAqd9eGXa6av4QYwlKlURPh2xlNw/ERRRfBS3KUGuFNO lWajJJC1+Kaq5jQouuDtc1g3Fckrzyt+zxgyNqNHh8pedzrKCQanFF6h3hg+d99DkMKw VfSg== 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=7n5hD5G7TrKhTvKLrt4KVjpARuGy+aW+ohKp65j5sTw=; b=UfBSmosuLnj5iTq9E293pBilCeD592i+xiQmyj8ZDVWjSV6eQY69Nfpf1NPAU01e5D W7jALQClN2331vDClROnQukxVDmdkpNnebux2FYldIrLBHOvO43cFaCV0dpILBaCfdVF bc3JWVjQvgYlsniC1COwdj6LHegeAeqTZwuwKV3K15CB083ae1ihnaUgD7loRg2q05+7 j7rsfURdXBVZ6zzedY0mUa6cuoTfwDzpaojHFcy3BmfJRTk+s15ahoykdtUueVr92LVD kYXxUsCLzt3xMVXnpgBXvwj/mib8B25hP8MO8MNCW1tiLH8fr+/G9NxlrFKjXp5wbjIs NoPA== X-Gm-Message-State: ANhLgQ1yCwu438zC3DrRP1b3f0uDsLoBbUKitGFIGTcFqBE35l5J1Lfy MbwzviGYScBbuaS4h3mfnmk= X-Google-Smtp-Source: ADFU+vsSobrTGF87T4wxuX5XcpozqkqGK+oQHshqhJlPJXiNKIVK2qFZ6ZhkjYdRimu/k3y2kyPVLQ== X-Received: by 2002:a17:902:be03:: with SMTP id r3mr3205803pls.137.1583330755893; Wed, 04 Mar 2020 06:05:55 -0800 (PST) Received: from localhost.localdomain ([124.156.211.233]) by smtp.gmail.com with ESMTPSA id j21sm2872299pji.13.2020.03.04.06.05.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2020 06:05:55 -0800 (PST) From: Tencent TGW team X-Google-Original-From: Tencent TGW team To: Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko Cc: dev@dpdk.org, Tencent TGW team Date: Wed, 4 Mar 2020 22:05:43 +0800 Message-Id: <20200304140543.31612-1-tgw_team@tencent.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH] rte_ethdev: fix unsafe memory access by calling RX callback. 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" When compiling with -O0, the compiler does not optimize two memory accesses into one. Leads to accessing a null pointer when calling the RX callback. The way to access the TX callback is correct. Signed-off-by: Tencent TGW team --- lib/librte_ethdev/rte_ethdev.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index d1a593ad1..35eb580ff 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -4388,10 +4388,8 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id, rx_pkts, nb_pkts); #ifdef RTE_ETHDEV_RXTX_CALLBACKS - if (unlikely(dev->post_rx_burst_cbs[queue_id] != NULL)) { - struct rte_eth_rxtx_callback *cb = - dev->post_rx_burst_cbs[queue_id]; - + struct rte_eth_rxtx_callback *cb = dev->post_rx_burst_cbs[queue_id]; + if (unlikely(cb != NULL)) { do { nb_rx = cb->fn.rx(port_id, queue_id, rx_pkts, nb_rx, nb_pkts, cb->param); -- 2.17.1