diff
+static bool is_valid_client(struct drm_client_dev *client)
+{
+    return client && client->dev;
+}
+
 void drm_client_register(struct drm_client_dev *client)
 {
+    if (!is_valid_client(client)) {
+        DRM_ERROR("Invalid client or client->dev\n");
+        return;
+    }
     struct drm_device *dev = client->dev;
     int ret;
 
     mutex_lock(&dev->clientlist_mutex);
     // ... rest of the function
 }
