eal: fix runtime directory permissions
authorAdrien Mazarguil <adrien.mazarguil@6wind.com>
Fri, 18 May 2018 13:55:35 +0000 (15:55 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 20 May 2018 23:08:26 +0000 (01:08 +0200)
Executable bit must be set on directories for normal users to enter them.

This patch addresses the inability to start DPDK applications as non-root
due to errors such as:

 EAL: failed to bind /tmp/dpdk/rte/mp_socket: Permission denied

Fixes: 56236363b481 ("eal: add directory for runtime data")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
lib/librte_eal/bsdapp/eal/eal.c
lib/librte_eal/linuxapp/eal/eal.c

index 7f8475e..dc27954 100644 (file)
@@ -123,14 +123,14 @@ eal_create_runtime_dir(void)
        /* create the path if it doesn't exist. no "mkdir -p" here, so do it
         * step by step.
         */
-       ret = mkdir(tmp, 0600);
+       ret = mkdir(tmp, 0700);
        if (ret < 0 && errno != EEXIST) {
                RTE_LOG(ERR, EAL, "Error creating '%s': %s\n",
                        tmp, strerror(errno));
                return -1;
        }
 
-       ret = mkdir(runtime_dir, 0600);
+       ret = mkdir(runtime_dir, 0700);
        if (ret < 0 && errno != EEXIST) {
                RTE_LOG(ERR, EAL, "Error creating '%s': %s\n",
                        runtime_dir, strerror(errno));
index 150d5dd..8655b86 100644 (file)
@@ -131,14 +131,14 @@ eal_create_runtime_dir(void)
        /* create the path if it doesn't exist. no "mkdir -p" here, so do it
         * step by step.
         */
-       ret = mkdir(tmp, 0600);
+       ret = mkdir(tmp, 0700);
        if (ret < 0 && errno != EEXIST) {
                RTE_LOG(ERR, EAL, "Error creating '%s': %s\n",
                        tmp, strerror(errno));
                return -1;
        }
 
-       ret = mkdir(runtime_dir, 0600);
+       ret = mkdir(runtime_dir, 0700);
        if (ret < 0 && errno != EEXIST) {
                RTE_LOG(ERR, EAL, "Error creating '%s': %s\n",
                        runtime_dir, strerror(errno));