summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2018-02-12 18:48:30 +0000
committerLubomir Rintel <lkundrak@v3.sk>2018-02-12 20:46:47 +0100
commitd7c70dd9ecdbc049dcee15d6dd3e2e19486bc784 (patch)
tree9c310bd40a0607026f403fdf166351b915252166
parent85c0dc4a92f036df7e332e8c4deaaae78575e294 (diff)
downloadNetworkManager-d7c70dd9ecdbc049dcee15d6dd3e2e19486bc784.tar.gz
platform/netns: don't try to overlay ro /sys with a rw one
Linux 4.15 won't allow us. No problem.
-rw-r--r--src/platform/nmp-netns.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/platform/nmp-netns.c b/src/platform/nmp-netns.c
index e31c881d66..f1092fe93b 100644
--- a/src/platform/nmp-netns.c
+++ b/src/platform/nmp-netns.c
@@ -475,6 +475,7 @@ nmp_netns_new (void)
NMPNetns *self;
int errsv;
GError *error = NULL;
+ unsigned long mountflags = 0;
_stack_ensure_init ();
@@ -503,7 +504,10 @@ nmp_netns_new (void)
goto err_out;
}
- if (mount ("sysfs", "/sys", "sysfs", 0, NULL) != 0) {
+ if (access ("/sys", W_OK) == -1)
+ mountflags = MS_RDONLY;
+
+ if (mount ("sysfs", "/sys", "sysfs", mountflags, NULL) != 0) {
errsv = errno;
_LOGE (NULL, "failed mount /sys: %s", g_strerror (errsv));
goto err_out;