diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2018-02-12 18:48:30 +0000 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2018-02-12 20:46:47 +0100 |
commit | d7c70dd9ecdbc049dcee15d6dd3e2e19486bc784 (patch) | |
tree | 9c310bd40a0607026f403fdf166351b915252166 | |
parent | 85c0dc4a92f036df7e332e8c4deaaae78575e294 (diff) | |
download | NetworkManager-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.c | 6 |
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; |