6a39ecc84a
- Add 0001-gpt-auto-generator-exit-immediately-if-in-container.patch: don't start gpt auto-generator in container (git). - Add 0001-manager-when-verifying-whether-clients-may-change-en.patch: fix reload check in selinux case (git). - Add 0001-logind-fix-bus-introspection-data-for-TakeControl.patch: fix introspection for TakeControl (git). - Add 0001-mount-check-for-NULL-before-reading-pm-what.patch: fix crash when parsing some incorrect unit (git). - Add 0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch: Fix udev rules parsing (git). - Add 0001-systemd-serialize-deserialize-forbid_restart-value.patch: Fix incorrect deserialization for forbid_restart (git). - Add 0001-core-unify-the-way-we-denote-serialization-attribute.patch: Ensure forbid_restart is named like other attributes (git). - Add 0001-journald-fix-minor-memory-leak.patch: fix memleak in journald (git). - Add 0001-do-not-accept-garbage-from-acpi-firmware-performance.patch: Improve ACPI firmware performance parsing (git). - Add 0001-journald-remove-rotated-file-from-hashmap-when-rotat.patch: Fix journal rotation (git). - Add 0001-login-fix-invalid-free-in-sd_session_get_vt.patch: Fix memory corruption in sd_session_get_vt (git). OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=454
34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
From 6c7980093c4e39d07bf06484f96f489e236c7c29 Mon Sep 17 00:00:00 2001
|
|
From: Kay Sievers <kay@vrfy.org>
|
|
Date: Thu, 10 Oct 2013 01:38:11 +0200
|
|
Subject: [PATCH] do not accept "garbage" from acpi firmware performance data
|
|
(FPDT)
|
|
|
|
00000000 46 42 50 54 38 00 00 00 02 00 30 02 00 00 00 00 |FBPT8.....0.....|
|
|
00000010 23 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |#E..............|
|
|
00000020 f5 6a 51 00 00 00 00 00 00 00 00 00 00 00 00 00 |.jQ.............|
|
|
00000030 00 00 00 00 00 00 00 00 70 74 61 6c 58 00 00 00 |........ptalX...|
|
|
---
|
|
src/shared/acpi-fpdt.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c
|
|
index af58c7c..75648b4 100644
|
|
--- a/src/shared/acpi-fpdt.c
|
|
+++ b/src/shared/acpi-fpdt.c
|
|
@@ -146,6 +146,11 @@ int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) {
|
|
if (brec.type != ACPI_FPDT_BOOT_REC)
|
|
return -EINVAL;
|
|
|
|
+ if (brec.startup_start == 0 || brec.exit_services_exit < brec.startup_start)
|
|
+ return -EINVAL;
|
|
+ if (brec.exit_services_exit > NSEC_PER_HOUR)
|
|
+ return -EINVAL;
|
|
+
|
|
if (loader_start)
|
|
*loader_start = brec.startup_start / 1000;
|
|
if (loader_exit)
|
|
--
|
|
1.8.4
|
|
|