From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Duszynski Subject: [PATCH 1/2] examples/kni: check if pci_dev isn't NULL before using it Date: Mon, 16 Oct 2017 13:45:47 +0200 Message-ID: <1508154348-10988-2-git-send-email-tdu@semihalf.com> References: <1508154348-10988-1-git-send-email-tdu@semihalf.com> Cc: Tomasz Duszynski To: dev@dpdk.org Return-path: Received: from mail-lf0-f53.google.com (mail-lf0-f53.google.com [209.85.215.53]) by dpdk.org (Postfix) with ESMTP id BC9C81B6AD for ; Mon, 16 Oct 2017 13:46:00 +0200 (CEST) Received: by mail-lf0-f53.google.com with SMTP id a132so16627874lfa.7 for ; Mon, 16 Oct 2017 04:46:00 -0700 (PDT) In-Reply-To: <1508154348-10988-1-git-send-email-tdu@semihalf.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Since virtual devices, i.e mrvl net pmd, do not touch pci_dev dereferencing it will cause segmentation fault as by default it's set to NULL in rte_eth_dev_info_get(). Signed-off-by: Tomasz Duszynski --- examples/kni/main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/kni/main.c b/examples/kni/main.c index 6d9e4a6..cb48fb5 100644 --- a/examples/kni/main.c +++ b/examples/kni/main.c @@ -805,8 +805,11 @@ kni_alloc(uint16_t port_id) memset(&dev_info, 0, sizeof(dev_info)); rte_eth_dev_info_get(port_id, &dev_info); - conf.addr = dev_info.pci_dev->addr; - conf.id = dev_info.pci_dev->id; + + if (dev_info.pci_dev) { + conf.addr = dev_info.pci_dev->addr; + conf.id = dev_info.pci_dev->id; + } memset(&ops, 0, sizeof(ops)); ops.port_id = port_id; -- 2.7.4