[PATCH v5 0/4] apei/ghes: don't OOPS with bad ARM error CPER records

Mauro Carvalho Chehab posted 4 patches 1 month ago
There is a newer version of this series
drivers/acpi/apei/ghes.c        | 38 ++++++++++++++++++++++++++++-----
drivers/firmware/efi/cper-arm.c | 12 +++++++----
drivers/firmware/efi/cper.c     |  8 ++++++-
drivers/ras/ras.c               |  6 +++++-
include/acpi/ghes.h             |  1 +
include/linux/cper.h            |  3 ++-
6 files changed, 56 insertions(+), 12 deletions(-)
[PATCH v5 0/4] apei/ghes: don't OOPS with bad ARM error CPER records
Posted by Mauro Carvalho Chehab 1 month ago
Rafael,

Current parsing logic at apei/ghes for ARM Processor Error
assumes that the record sizes are correct. Yet, a bad BIOS
might produce malformed GHES reports.

Worse than that, it may end exposing data from other memory
addresses, as the logic may end dumping large portions of
the memory.

Avoid that by checking the buffer sizes where needed.

---

v5:
 - Changed the name of a var as requested by Jonathan

v4:
 - addressed Jonathan comments;
 - added two extra patches to prevent other OOM issues.

v3:
  - addressed Shuai feedback;
  - moved all ghes code to one patch;
  - fixed a typo and a bad indent;
  - cleanup the size check logic at ghes.c.


Mauro Carvalho Chehab (4):
  apei/ghes: ARM processor Error: don't go past allocated memory
  efi/cper: don't go past the ARM processor CPER record buffer
  apei/ghes: ensure that won't go past CPER allocated record
  efi/cper: don't dump the entire memory region

 drivers/acpi/apei/ghes.c        | 38 ++++++++++++++++++++++++++++-----
 drivers/firmware/efi/cper-arm.c | 12 +++++++----
 drivers/firmware/efi/cper.c     |  8 ++++++-
 drivers/ras/ras.c               |  6 +++++-
 include/acpi/ghes.h             |  1 +
 include/linux/cper.h            |  3 ++-
 6 files changed, 56 insertions(+), 12 deletions(-)

-- 
2.52.0