
< 	if (*ppos != 0 || count > 8)
< 	cmd_buf = memdup_user(buf, count);
---
> 	if (*ppos != 0 || count == 0 || count > 8)
> 		return -EINVAL;
> 	cmd_buf = kmalloc(count, GFP_KERNEL);
> 	if (!cmd_buf)
> 		return -ENOMEM;
> 	if (copy_from_user(cmd_buf, buf, count)) {
> 		kfree(cmd_buf);
> 		return -EFAULT;
> 	}
