We can write whatever to memory.force_empty:

        echo 999 > memory.force_empty
        echo wow > memory.force_empty

This is odd, so let's make '1' to be the only valid value.

Signed-off-by: Li Zefan <[EMAIL PROTECTED]>
---
 mm/memcontrol.c |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index eb681a6..6145031 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -868,15 +868,18 @@ static ssize_t mem_cgroup_write(struct cgroup *cont, 
struct cftype *cft,
                                mem_cgroup_write_strategy);
 }
 
-static ssize_t mem_force_empty_write(struct cgroup *cont,
-                               struct cftype *cft, struct file *file,
-                               const char __user *userbuf,
-                               size_t nbytes, loff_t *ppos)
+static int mem_force_empty_write(struct cgroup *cont, struct cftype *cft,
+                                u64 val)
 {
-       struct mem_cgroup *mem = mem_cgroup_from_cont(cont);
-       int ret = mem_cgroup_force_empty(mem);
-       if (!ret)
-               ret = nbytes;
+       struct mem_cgroup *mem;
+       int ret;
+
+       if (val != 1)
+               return -EINVAL;
+
+       mem = mem_cgroup_from_cont(cont);
+       ret = mem_cgroup_force_empty(mem);
+
        return ret;
 }
 
@@ -935,7 +938,7 @@ static struct cftype mem_cgroup_files[] = {
        },
        {
                .name = "force_empty",
-               .write = mem_force_empty_write,
+               .write_u64 = mem_force_empty_write,
        },
        {
                .name = "stat",
-- 
1.5.4.rc3
_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to