hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/gpu/drm/drm_client_modeset.c
....@@ -308,6 +308,9 @@
308308 can_clone = true;
309309 dmt_mode = drm_mode_find_dmt(dev, 1024, 768, 60, false);
310310
311
+ if (!dmt_mode)
312
+ goto fail;
313
+
311314 for (i = 0; i < connector_count; i++) {
312315 if (!enabled[i])
313316 continue;
....@@ -323,11 +326,13 @@
323326 if (!modes[i])
324327 can_clone = false;
325328 }
329
+ kfree(dmt_mode);
326330
327331 if (can_clone) {
328332 DRM_DEBUG_KMS("can clone using 1024x768\n");
329333 return true;
330334 }
335
+fail:
331336 DRM_INFO("kms: can't enable cloning when we probably wanted to.\n");
332337 return false;
333338 }
....@@ -859,6 +864,7 @@
859864 break;
860865 }
861866
867
+ kfree(modeset->mode);
862868 modeset->mode = drm_mode_duplicate(dev, mode);
863869 drm_connector_get(connector);
864870 modeset->connectors[modeset->num_connectors++] = connector;