On Mon, Sep 06, 2021 at 11:35:41AM +0800, Zenghui Yu wrote: > As per the comment on top of acpi_evaluate_dsm(): > > | * Evaluate device's _DSM method with specified GUID, revision id and > | * function number. Caller needs to free the returned object. > > We should free the returned object of acpi_evaluate_dsm() to avoid memory > leakage. Otherwise the kmemleak splat will be triggered at boot time (if we > compile kernel with CONFIG_DEBUG_TEST_DRIVER_REMOVE=y). > > Fixes: 8e55f99c510f ("drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops") > Cc: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> > Signed-off-by: Zenghui Yu <yuzenghui@xxxxxxxxxx> Applied to drm-intel-next. Thanks, and sorry for the lag. > --- > drivers/gpu/drm/i915/display/intel_acpi.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c > index 7cfe91fc05f2..68abeaf2d7d4 100644 > --- a/drivers/gpu/drm/i915/display/intel_acpi.c > +++ b/drivers/gpu/drm/i915/display/intel_acpi.c > @@ -186,13 +186,16 @@ void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915) > { > struct pci_dev *pdev = to_pci_dev(i915->drm.dev); > acpi_handle dhandle; > + union acpi_object *obj; > > dhandle = ACPI_HANDLE(&pdev->dev); > if (!dhandle) > return; > > - acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID, > - INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED, NULL); > + obj = acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID, > + INTEL_DSM_FN_GET_BIOS_DATA_FUNCS_SUPPORTED, NULL); > + if (obj) > + ACPI_FREE(obj); > } > > /* > -- > 2.19.1 -- Ville Syrjälä Intel