Fix Scan only /dev/mem for entry point on x86

This commit is contained in:
Jörg Frings-Fürst 2019-12-19 10:30:10 +01:00
parent 167bd837fa
commit 689a877880
4 changed files with 58 additions and 1 deletions

9
debian/changelog vendored
View File

@ -1,3 +1,12 @@
dmidecode (3.2-3) UNRELEASED; urgency=medium
* Fix Scan only /dev/mem for entry point on x86 (Closes: #946911):
- New debian/patches/0140-Fix_scan_entry_point.patch (Cherry picked from
upstream Commit e12ec26e19e02281d3e7258c3aabb88a5cf5ec1d.
* Declare compliance with Debian Policy 4.4.1.2 (No changes needed).
-- Jörg Frings-Fürst <debian@jff.email> Thu, 19 Dec 2019 09:59:52 +0100
dmidecode (3.2-2) unstable; urgency=medium
* Mark dmidecode Multi-Arch: foreign (Closes: #929455).

2
debian/control vendored
View File

@ -3,7 +3,7 @@ Section: utils
Priority: optional
Maintainer: Jörg Frings-Fürst <debian@jff.email>
Build-Depends: debhelper (>= 12)
Standards-Version: 4.4.0
Standards-Version: 4.4.1.2
Vcs-Git: git://jff.email/opt/git/dmidecode.git
Vcs-Browser: https://jff.email/cgit/dmidecode.git/
Homepage: https://nongnu.org/dmidecode/

View File

@ -0,0 +1,47 @@
Index: trunk/dmidecode.c
===================================================================
--- trunk.orig/dmidecode.c
+++ trunk/dmidecode.c
@@ -2,7 +2,7 @@
* DMI Decode
*
* Copyright (C) 2000-2002 Alan Cox <alan@redhat.com>
- * Copyright (C) 2002-2018 Jean Delvare <jdelvare@suse.de>
+ * Copyright (C) 2002-2019 Jean Delvare <jdelvare@suse.de>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -5534,7 +5534,7 @@ int main(int argc, char * const argv[])
off_t fp;
size_t size;
int efi;
- u8 *buf;
+ u8 *buf = NULL;
/*
* We don't want stdout and stderr to be mixed up if both are
@@ -5638,7 +5638,7 @@ int main(int argc, char * const argv[])
printf("Failed to get SMBIOS data from sysfs.\n");
}
- /* Next try EFI (ia64, Intel-based Mac) */
+ /* Next try EFI (ia64, Intel-based Mac, arm64) */
efi = address_from_efi(&fp);
switch (efi)
{
@@ -5671,6 +5671,7 @@ int main(int argc, char * const argv[])
goto done;
memory_scan:
+#if defined __i386__ || defined __x86_64__
if (!(opt.flags & FLAG_QUIET))
printf("Scanning %s for entry point.\n", opt.devmem);
/* Fallback to memory scan (x86, x86_64) */
@@ -5713,6 +5714,7 @@ memory_scan:
}
}
}
+#endif
done:
if (!found && !(opt.flags & FLAG_QUIET))

View File

@ -8,3 +8,4 @@
#0125-use_read_file_to_read_DMI_table_from_sysfs.patch
#0130-use_DWORD_for_table_max_size.patch
#0135-hide_fixup_msg.patch
0140-Fix_scan_entry_point.patch