summaryrefslogtreecommitdiffstats
path: root/initd/early.c
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2015-10-22 23:15:58 +0200
committerJohn Crispin <blogic@openwrt.org>2015-10-26 00:11:04 +0100
commitd5fddd91b966424bb63e943e789704d52382cc18 (patch)
tree931b814ec39fbb29d1a7577843f516eb9035f438 /initd/early.c
parentef490722885a5c708c70dff656d094c7043ae081 (diff)
downloadunitd-d5fddd91b966424bb63e943e789704d52382cc18.tar
unitd-d5fddd91b966424bb63e943e789704d52382cc18.zip
explicitely ignore return value of symlink(3) call
glibc sets __attribute_warn_unused_result__ on symlink(3) if FORTIFY_SOURCE is set. This breaks procd which deliberately ignores the result of the symlink(3) call early during init as there wouldn't be anything better to do in that case other than ignoring the error and trying to survive. Introduce libc-compat.h to work-around libc anomalities. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'initd/early.c')
-rw-r--r--initd/early.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/initd/early.c b/initd/early.c
index f410256..e87774f 100644
--- a/initd/early.c
+++ b/initd/early.c
@@ -22,6 +22,7 @@
#include <stdlib.h>
#include "init.h"
+#include "../libc-compat.h"
static void
early_dev(void)
@@ -66,7 +67,7 @@ early_mounts(void)
mount("sysfs", "/sys", "sysfs", MS_NOATIME | MS_NODEV | MS_NOEXEC | MS_NOSUID, 0);
mount("cgroup", "/sys/fs/cgroup", "cgroup", MS_NODEV | MS_NOEXEC | MS_NOSUID, 0);
mount("tmpfs", "/dev", "tmpfs", MS_NOATIME | MS_NOSUID, "mode=0755,size=512K");
- symlink("/tmp/shm", "/dev/shm");
+ ignore(symlink("/tmp/shm", "/dev/shm"));
mkdir("/dev/pts", 0755);
mount("devpts", "/dev/pts", "devpts", MS_NOATIME | MS_NOEXEC | MS_NOSUID, "mode=600");
early_dev();