Răsfoiți Sursa

ACPICA: Warn if packages with invalid references are evaluated

And return an error to avoid NULL pointer access by the caller
Lin Ming's patch avoids corrupted mem access when
BIOS has invalid references included, the handle is now zero
instead of corrupted.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Thomas Renninger 17 ani în urmă
părinte
comite
b6a1638759
1 a modificat fișierele cu 6 adăugiri și 0 ștergeri
  1. 6 0
      drivers/acpi/utils.c

+ 6 - 0
drivers/acpi/utils.c

@@ -407,6 +407,12 @@ acpi_evaluate_reference(acpi_handle handle,
 			break;
 			break;
 		}
 		}
 
 
+		if (!element->reference.handle) {
+			printk(KERN_WARNING PREFIX "Invalid reference in"
+			       " package %s\n", pathname);
+			status = AE_NULL_ENTRY;
+			break;
+		}
 		/* Get the  acpi_handle. */
 		/* Get the  acpi_handle. */
 
 
 		list->handles[i] = element->reference.handle;
 		list->handles[i] = element->reference.handle;