ASoC: cs-amp-lib: Fix NULL pointer crash if efi.get_variable is NULL
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Mon, 5 Aug 2024 11:42:22 +0000 (12:42 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 5 Aug 2024 12:54:09 +0000 (13:54 +0100)
Call efi_rt_services_supported() to check that efi.get_variable exists
before calling it.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: 1cad8725f2b9 ("ASoC: cs-amp-lib: Add helpers for factory calibration data")
Link: https://patch.msgid.link/20240805114222.15722-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs-amp-lib.c

index 287ac01..605964a 100644 (file)
@@ -108,7 +108,7 @@ static efi_status_t cs_amp_get_efi_variable(efi_char16_t *name,
 
        KUNIT_STATIC_STUB_REDIRECT(cs_amp_get_efi_variable, name, guid, size, buf);
 
-       if (IS_ENABLED(CONFIG_EFI))
+       if (efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE))
                return efi.get_variable(name, guid, &attr, size, buf);
 
        return EFI_NOT_FOUND;