--- work/vmblock-only/linux/control.orig.c  2014-05-08 09:29:01.000000000 +0300                                                                                                                                                                
+++ work/vmblock-only/linux/control.c 2014-05-08 09:41:02.000000000 +0300
@@ -279,11 +279,17 @@
    int i;
    int retval;
 
-   name = getname(buf);
+   name = __getname();
    if (IS_ERR(name)) {
       return PTR_ERR(name);
    }
 
+   i = strncpy_from_user(name, buf, PATH_MAX);
+   if (i < 0 || i == PATH_MAX) {
+      __putname(name);
+      return -EINVAL;
+   }
+
    for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
       name[i] = '\0';
    }
