Skip to content

Commit

Permalink
char: hpet: add checks after calling ioremap
Browse files Browse the repository at this point in the history
[ Upstream commit b11701c ]

The function hpet_resources() calls ioremap() two times, but in both
cases it does not check if ioremap() returned a null pointer. Fix this
by adding null pointer checks and returning an appropriate error.

Signed-off-by: Tom Seewald <tseewald@gmail.com>
Link: https://lore.kernel.org/r/20210503115736.2104747-30-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
tom-seewald authored and gregkh committed Jun 3, 2021
1 parent 0f4e71f commit c8972b1
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/char/hpet.c
Expand Up @@ -969,6 +969,8 @@ static acpi_status hpet_resources(struct acpi_resource *res, void *data)
if (ACPI_SUCCESS(status)) {
hdp->hd_phys_address = addr.address.minimum;
hdp->hd_address = ioremap(addr.address.minimum, addr.address.address_length);
if (!hdp->hd_address)
return AE_ERROR;

if (hpet_is_known(hdp)) {
iounmap(hdp->hd_address);
Expand All @@ -982,6 +984,8 @@ static acpi_status hpet_resources(struct acpi_resource *res, void *data)
hdp->hd_phys_address = fixmem32->address;
hdp->hd_address = ioremap(fixmem32->address,
HPET_RANGE_SIZE);
if (!hdp->hd_address)
return AE_ERROR;

if (hpet_is_known(hdp)) {
iounmap(hdp->hd_address);
Expand Down

0 comments on commit c8972b1

Please sign in to comment.