iommu/amd: Fix NULL dereference bug in match_hid_uid

[ Upstream commit bb6bccba39 ]

Add a non-NULL check to fix potential NULL pointer dereference
Cleanup code to call function once.

Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
Fixes: 2bf9a0a127 ('iommu/amd: Add iommu support for ACPI HID devices')
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Aaron Ma
2019-03-13 21:53:24 +08:00
committed by Chris
parent 150469dc40
commit da2483be3a

View File

@@ -176,10 +176,14 @@ static struct lock_class_key reserved_rbtree_key;
static inline int match_hid_uid(struct device *dev,
struct acpihid_map_entry *entry)
{
struct acpi_device *adev = ACPI_COMPANION(dev);
const char *hid, *uid;
hid = acpi_device_hid(ACPI_COMPANION(dev));
uid = acpi_device_uid(ACPI_COMPANION(dev));
if (!adev)
return -ENODEV;
hid = acpi_device_hid(adev);
uid = acpi_device_uid(adev);
if (!hid || !(*hid))
return -ENODEV;