mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 05:27:07 +02:00
platform/x86: dell-smbios-wmi: Add missing kfree in error-exit from run_smbios_call
[ Upstream commit0487d4fc42] As pointed out be Kees Cook if we return -EIO because the obj->type != ACPI_TYPE_BUFFER, then we must kfree the output buffer before the return. Fixes:1a258e6704("platform/x86: dell-smbios-wmi: Add new WMI dispatcher driver") Reported-by: Kees Cook <keescook@chromium.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20210826140822.71198-1-hdegoede@redhat.com Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
add8e8c340
commit
903ca538f5
|
|
@ -69,6 +69,7 @@ static int run_smbios_call(struct wmi_device *wdev)
|
||||||
if (obj->type == ACPI_TYPE_INTEGER)
|
if (obj->type == ACPI_TYPE_INTEGER)
|
||||||
dev_dbg(&wdev->dev, "SMBIOS call failed: %llu\n",
|
dev_dbg(&wdev->dev, "SMBIOS call failed: %llu\n",
|
||||||
obj->integer.value);
|
obj->integer.value);
|
||||||
|
kfree(output.pointer);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
memcpy(&priv->buf->std, obj->buffer.pointer, obj->buffer.length);
|
memcpy(&priv->buf->std, obj->buffer.pointer, obj->buffer.length);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user