[CRIU] [PATCH v2 6/8] workaround "mc_forwarding" is not writable
Pavel Tikhomirov
ptikhomirov at parallels.com
Thu Sep 25 01:00:41 PDT 2014
Signed-off-by: Pavel Tikhomirov <ptikhomirov at parallels.com>
---
net.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/net.c b/net.c
index cab7920..8b923d0 100644
--- a/net.c
+++ b/net.c
@@ -97,6 +97,22 @@ static int ipv4_conf_op(char *dir, int *conf, int op)
req[0].type = CTL_32;
req[1].name = NULL;
+ if (strcmp("mc_forwarding", devconfs[i]) == 0 && op == CTL_WRITE) {
+ int tmp;
+
+ req[0].arg = &tmp;
+ ret = sysctl_op(req, CTL_READ);
+ if (ret < 0) {
+ pr_err("Failed to read %s/%s\n", dir, devconfs[i]);
+ return -1;
+ }
+
+ if (tmp != conf[i]) {
+ pr_err("Can not set %s\n", path);
+ return -1;
+ }
+ continue;
+ }
ret = sysctl_op(req, op);
if (ret < 0) {
pr_err("Failed to read %s/%s\n", dir, devconfs[i]);
--
1.9.3
More information about the CRIU
mailing list