From patchwork Wed Jun 1 14:51:57 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Burakov, Anatoly" X-Patchwork-Id: 13145 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id A58B9591F; Wed, 1 Jun 2016 16:52:04 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 68CE6568B for ; Wed, 1 Jun 2016 16:52:01 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP; 01 Jun 2016 07:51:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,401,1459839600"; d="scan'208";a="819401471" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga003.jf.intel.com with ESMTP; 01 Jun 2016 07:51:58 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id u51Epve3025663; Wed, 1 Jun 2016 15:51:57 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id u51EpvYB017208; Wed, 1 Jun 2016 15:51:57 +0100 Received: (from aburakov@localhost) by sivswdev02.ir.intel.com with id u51Epv4t017204; Wed, 1 Jun 2016 15:51:57 +0100 From: Anatoly Burakov To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Wed, 1 Jun 2016 15:51:57 +0100 Message-Id: <1464792717-17171-1-git-send-email-anatoly.burakov@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH] ivshmem: document a potential segmentation fault in rte_ring X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Commit 4768c475 added a pointer to the memzone in rte_ring. However, all memzones are residing in local mem_config, therefore accessing the memzone pointer inside the guest in an IVSHMEM-shared rte_ring will cause segmentation fault. This issue is unlikely to ever get fixed, as this would require lots of changes for very little benefit, therefore we're documenting this limitation instead. Signed-off-by: Anatoly Burakov --- doc/guides/prog_guide/ivshmem_lib.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/guides/prog_guide/ivshmem_lib.rst b/doc/guides/prog_guide/ivshmem_lib.rst index 9401ccf..b8a32e4 100644 --- a/doc/guides/prog_guide/ivshmem_lib.rst +++ b/doc/guides/prog_guide/ivshmem_lib.rst @@ -79,6 +79,8 @@ The following is a simple guide to using the IVSHMEM Library API: Only data structures fully residing in DPDK hugepage memory work correctly. Supported data structures created by malloc(), mmap() or otherwise using non-DPDK memory cause undefined behavior and even a segmentation fault. + Specifically, because the memzone field in an rte_ring refers to a memzone structure residing in local memory, + accessing the memzone field in a shared rte_ring will cause an immediate segmentation fault. IVSHMEM Environment Configuration ---------------------------------