diff
+ char temp_buf[9];  // 8 bytes + null terminator
+ if (copy_from_user(temp_buf, buf, min(count, sizeof(temp_buf) - 1)))
+     return -EFAULT;
+ temp_buf[min(count, sizeof(temp_buf) - 1)] = '\0';
+ cmd_buf = kstrdup(temp_buf, GFP_KERNEL);
+ if (!cmd_buf)
+     return -ENOMEM;
- cmd_buf = memdup_user(buf, count);
