
< kern_buf = memdup_user(buf, nbytes);
---
+ kern_buf = kmalloc(nbytes, GFP_KERNEL);
+ if (!kern_buf)
+     return -ENOMEM;
+ if (copy_from_user(kern_buf, buf, nbytes)) {
+     kfree(kern_buf);
+     return -EFAULT;
+ }
