c
cmd_buf = kmalloc(count + 1, GFP_KERNEL);
if (!cmd_buf) {
    return -ENOMEM;
}
if (copy_from_user(cmd_buf, buffer, count)) {
    kfree(cmd_buf);
    return -EFAULT;
}
cmd_buf[count] = '\0'; // null-terminate the string
