c
if (count > PAGE_SIZE) {
    return -EINVAL;
}
cmd_buf = memdup_user(buffer, count + 1);
if (!cmd_buf) {
    return -ENOMEM;
}
if (strlen(cmd_buf) != count) {
    kfree(cmd_buf);
    return -EFAULT;
}
