From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <reshma.pattan@intel.com>
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by dpdk.org (Postfix) with ESMTP id A42E12C60
 for <dev@dpdk.org>; Mon, 10 Oct 2016 16:35:52 +0200 (CEST)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP; 10 Oct 2016 07:35:51 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.31,324,1473145200"; d="scan'208";a="18106745"
Received: from sivswdev02.ir.intel.com (HELO localhost.localdomain)
 ([10.237.217.46])
 by orsmga005.jf.intel.com with ESMTP; 10 Oct 2016 07:35:50 -0700
From: Reshma Pattan <reshma.pattan@intel.com>
To: dev@dpdk.org
Cc: Reshma Pattan <reshma.pattan@intel.com>
Date: Mon, 10 Oct 2016 15:35:48 +0100
Message-Id: <1476110148-31624-1-git-send-email-reshma.pattan@intel.com>
X-Mailer: git-send-email 1.7.0.7
Subject: [dpdk-dev] [PATCH] pdump: fix dir permissions value in mkdir call
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Oct 2016 14:35:53 -0000

From: Reshma Pattan <reshma.pattan@intel.com>

Inside the function pdump_get_socket_path(), pdump socket
directories are created using mkdir() call with permissions 700,
which was assigning wrong permissions to the directories
i.e. "d-w-r-xr-T" instead of drwx---. The reason is mkdir() call
doesn't consider 700 as an octal value until unless 0 is explicitly
added before the value. Because of this, socket creation failure is
observed when DPDK application was ran in non root user mode.
DPDK application running in root user mode never reported the issue.

So 0 is prefixed to the value to create directories with
the correct permissions.

Fixes: e4ffa2d3 ("pdump: fix error handlings")
Fixes: bdd8dcc6 ("pdump: fix default socket path")

Reported-by: Jianfeng Tan <jianfeng.tan@intel.com>
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
---
 lib/librte_pdump/rte_pdump.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c
index 9b921ce..ea5ccd9 100644
--- a/lib/librte_pdump/rte_pdump.c
+++ b/lib/librte_pdump/rte_pdump.c
@@ -471,12 +471,12 @@ pdump_get_socket_path(char *buffer, int bufsz, enum rte_pdump_socktype type)
 			snprintf(dpdk_dir, sizeof(dpdk_dir), "%s%s",
 					SOCKET_PATH_VAR_RUN, DPDK_DIR);
 
-		mkdir(dpdk_dir, 700);
+		mkdir(dpdk_dir, 0700);
 		snprintf(dir, sizeof(dir), "%s%s",
 					dpdk_dir, SOCKET_DIR);
 	}
 
-	ret =  mkdir(dir, 700);
+	ret =  mkdir(dir, 0700);
 	/* if user passed socket path is invalid, return immediately */
 	if (ret < 0 && errno != EEXIST) {
 		RTE_LOG(ERR, PDUMP,
-- 
2.7.4