mirror of
https://git.jff.email/cgit/dmidecode.git
synced 2026-08-07 13:08:55 +00:00
Merge tag 'debian/3.7-1' into develop
New upstream release
This commit is contained in:
commit
27a0bec2c1
1
debian/.gitignore
vendored
Normal file
1
debian/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
files
|
||||
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,4 +1,4 @@
|
||||
dmidecode (3.7-1) UNRELEASED; urgency=medium
|
||||
dmidecode (3.7-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
- Refresh patches.
|
||||
@ -12,8 +12,10 @@ dmidecode (3.7-1) UNRELEASED; urgency=medium
|
||||
* debian/control:
|
||||
- Remove redundant Priority field.
|
||||
- Remove redundant Rules-Requires-Root field.
|
||||
* New debian/patches/0605-man.patch (Closes: #1088088)
|
||||
* Remove old patches.
|
||||
|
||||
-- Jörg Frings-Fürst <debian@jff.email> Tue, 10 Mar 2026 09:31:58 +0100
|
||||
-- Jörg Frings-Fürst <debian@jff.email> Tue, 10 Mar 2026 11:52:04 +0100
|
||||
|
||||
dmidecode (3.6-2) unstable; urgency=medium
|
||||
|
||||
|
||||
25
debian/patches/0005-build.patch
vendored
25
debian/patches/0005-build.patch
vendored
@ -1,25 +0,0 @@
|
||||
Author: Daniel Baumann <daniel.baumann@progress-technologies.net>
|
||||
Description: Avoid overwriting build environment rather than to just extend it.
|
||||
|
||||
Index: trunk/Makefile
|
||||
===================================================================
|
||||
--- trunk.orig/Makefile
|
||||
+++ trunk/Makefile
|
||||
@@ -13,7 +13,7 @@
|
||||
#
|
||||
|
||||
CC = gcc
|
||||
-CFLAGS = -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
|
||||
+CFLAGS += -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
|
||||
-Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef
|
||||
|
||||
# Let lseek and mmap support 64-bit wide offsets
|
||||
@@ -27,7 +27,7 @@ CFLAGS += -O2
|
||||
#CFLAGS += -g
|
||||
|
||||
# Pass linker flags here
|
||||
-LDFLAGS =
|
||||
+#LDFLAGS =
|
||||
|
||||
DESTDIR =
|
||||
prefix = /usr/local
|
||||
18
debian/patches/0100-ansi-c.patch
vendored
18
debian/patches/0100-ansi-c.patch
vendored
@ -1,18 +0,0 @@
|
||||
Author: Petter Reinholdtsen <pere@hungry.com>
|
||||
Description:
|
||||
Make sure the code compiles when using -ansi. Renames non-ANSI C 'inline' to
|
||||
'__inline'.
|
||||
|
||||
Index: trunk/types.h
|
||||
===================================================================
|
||||
--- trunk.orig/types.h
|
||||
+++ trunk/types.h
|
||||
@@ -31,7 +31,7 @@ typedef struct {
|
||||
#endif
|
||||
|
||||
#if defined(ALIGNMENT_WORKAROUND) || defined(BIGENDIAN)
|
||||
-static inline u64 U64(u32 low, u32 high)
|
||||
+static __inline u64 U64(u32 low, u32 high)
|
||||
{
|
||||
u64 self;
|
||||
|
||||
50
debian/patches/0105-dmidecode-avoid-sigbus.patch
vendored
50
debian/patches/0105-dmidecode-avoid-sigbus.patch
vendored
@ -1,50 +0,0 @@
|
||||
Description: Avoid SIGBUS on mmap failure
|
||||
mmap will fail with SIGBUS if trying to map a non-existent portion of
|
||||
a file. While this should never happen with /dev/mem, it can happen if
|
||||
passing a regular file with option -d. While people should no longer
|
||||
do that, failure gracefully seems better than crashing. So check for
|
||||
the file size before calling mmap.
|
||||
Author: Jean Delvare <jdelvare@suse.de>
|
||||
Origin: https://savannah.nongnu.org/bugs/download.php?file_id=35008
|
||||
Bug: https://savannah.nongnu.org/bugs/index.php?46066
|
||||
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796963
|
||||
Last-Update: 2015-10-01
|
||||
----
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
--- dmidecode.orig/util.c 2015-09-29 11:27:02.136566009 +0200
|
||||
+++ dmidecode/util.c 2015-09-29 11:37:24.746191083 +0200
|
||||
@@ -152,6 +152,7 @@ void *mem_chunk(off_t base, size_t len,
|
||||
void *p;
|
||||
int fd;
|
||||
#ifdef USE_MMAP
|
||||
+ struct stat statbuf;
|
||||
off_t mmoffset;
|
||||
void *mmp;
|
||||
#endif
|
||||
@@ -169,6 +170,26 @@ void *mem_chunk(off_t base, size_t len,
|
||||
}
|
||||
|
||||
#ifdef USE_MMAP
|
||||
+ if (fstat(fd, &statbuf) == -1)
|
||||
+ {
|
||||
+ fprintf(stderr, "%s: ", devmem);
|
||||
+ perror("stat");
|
||||
+ free(p);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * mmap() will fail with SIGBUS if trying to map beyond the end of
|
||||
+ * the file.
|
||||
+ */
|
||||
+ if (S_ISREG(statbuf.st_mode) && base + (off_t)len > statbuf.st_size)
|
||||
+ {
|
||||
+ fprintf(stderr, "mmap: Can't map beyond end of file %s\n",
|
||||
+ devmem);
|
||||
+ free(p);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
#ifdef _SC_PAGESIZE
|
||||
mmoffset = base % sysconf(_SC_PAGESIZE);
|
||||
#else
|
||||
32
debian/patches/0110-nosysfs.patch
vendored
32
debian/patches/0110-nosysfs.patch
vendored
@ -1,32 +0,0 @@
|
||||
From 33b5aafc6ee6b5de9f2526fb1cf4b14d1e16e4f0 Mon Sep 17 00:00:00 2001
|
||||
From: Roy Franz <roy.franz@linaro.org>
|
||||
Date: Thu, 01 Oct 2015 06:41:43 +0000
|
||||
Subject: Add "--no-sysfs" option description to -h output
|
||||
|
||||
A description of --no-sysfs was not added to the output of "-h" when
|
||||
the feature was added, so add it now.
|
||||
---
|
||||
Index: trunk/CHANGELOG
|
||||
===================================================================
|
||||
--- trunk.orig/CHANGELOG
|
||||
+++ trunk/CHANGELOG
|
||||
@@ -1,3 +1,7 @@
|
||||
+2015-10-01 Roy Franz <roy.franz@linaro.org>
|
||||
+
|
||||
+ * dmiopt.c: Add "--no-sysfs" option description to -h output.
|
||||
+
|
||||
2015-09-03 Jean Delvare <jdelvare@suse.de>
|
||||
|
||||
* version.h: Set version to 3.0.
|
||||
Index: trunk/dmiopt.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmiopt.c
|
||||
+++ trunk/dmiopt.c
|
||||
@@ -314,6 +314,7 @@ void print_help(void)
|
||||
" -u, --dump Do not decode the entries\n"
|
||||
" --dump-bin FILE Dump the DMI data to a binary file\n"
|
||||
" --from-dump FILE Read the DMI data from a binary file\n"
|
||||
+ " --no-sysfs Do not attempt to read DMI data from sysfs files\n"
|
||||
" -V, --version Display the version and exit\n";
|
||||
|
||||
printf("%s", help);
|
||||
@ -1,55 +0,0 @@
|
||||
From bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9 Mon Sep 17 00:00:00 2001
|
||||
From: Xie XiuQi <xiexiuqi@huawei.com>
|
||||
Date: Wed, 21 Oct 2015 13:12:50 +0000
|
||||
Subject: Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
|
||||
|
||||
address_from_efi may return a SMBIOS or SMBIOS3 format entry
|
||||
point, so add this condition.
|
||||
---
|
||||
Index: trunk/AUTHORS
|
||||
===================================================================
|
||||
--- trunk.orig/AUTHORS
|
||||
+++ trunk/AUTHORS
|
||||
@@ -19,6 +19,7 @@ Jarod Wilson <jarod@redhat.com>
|
||||
Anton Arapov <anton@redhat.com>
|
||||
Roy Franz <roy.franz@linaro.org>
|
||||
Tyler Bell <tyler.bell@hp.com>
|
||||
+Xie XiuQi <xiexiuqi@huawei.com>
|
||||
|
||||
MANY THANKS TO (IN CHRONOLOGICAL ORDER)
|
||||
Werner Heuser
|
||||
Index: trunk/CHANGELOG
|
||||
===================================================================
|
||||
--- trunk.orig/CHANGELOG
|
||||
+++ trunk/CHANGELOG
|
||||
@@ -1,3 +1,7 @@
|
||||
+2015-10-21 Xie XiuQi <xiexiuqi@huawei.com>
|
||||
+
|
||||
+ * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems.
|
||||
+
|
||||
2015-10-01 Roy Franz <roy.franz@linaro.org>
|
||||
|
||||
* dmiopt.c: Add "--no-sysfs" option description to -h output.
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -4864,8 +4864,16 @@ int main(int argc, char * const argv[])
|
||||
goto exit_free;
|
||||
}
|
||||
|
||||
- if (smbios_decode(buf, opt.devmem, 0))
|
||||
- found++;
|
||||
+ if (memcmp(buf, "_SM3_", 5) == 0)
|
||||
+ {
|
||||
+ if (smbios3_decode(buf, opt.devmem, 0))
|
||||
+ found++;
|
||||
+ }
|
||||
+ else if (memcmp(buf, "_SM_", 4) == 0)
|
||||
+ {
|
||||
+ if (smbios_decode(buf, opt.devmem, 0))
|
||||
+ found++;
|
||||
+ }
|
||||
goto done;
|
||||
|
||||
memory_scan:
|
||||
103
debian/patches/0120-return_actual_data_size.patch
vendored
103
debian/patches/0120-return_actual_data_size.patch
vendored
@ -1,103 +0,0 @@
|
||||
From de9a74e1c60210bee229fcf55b1678a99d1b44dd Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Mon, 02 Nov 2015 08:45:26 +0000
|
||||
Subject: Let read_file return the actual data size
|
||||
|
||||
Let read_file return the actual data size to the caller. This gives
|
||||
the caller the possibility to check that the data size is as expected
|
||||
and large enough for the purpose, and report to the user if not.
|
||||
---
|
||||
Index: trunk/CHANGELOG
|
||||
===================================================================
|
||||
--- trunk.orig/CHANGELOG
|
||||
+++ trunk/CHANGELOG
|
||||
@@ -1,3 +1,8 @@
|
||||
+2015-11-02 Jean Delvare <jdelvare@suse.de>
|
||||
+
|
||||
+ * dmidecode.c, util.c, util.h: Let read_file return the actual data
|
||||
+ size.
|
||||
+
|
||||
2015-10-21 Xie XiuQi <xiexiuqi@huawei.com>
|
||||
|
||||
* dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems.
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -4748,6 +4748,7 @@ int main(int argc, char * const argv[])
|
||||
int ret = 0; /* Returned value */
|
||||
int found = 0;
|
||||
off_t fp;
|
||||
+ size_t size;
|
||||
int efi;
|
||||
u8 *buf;
|
||||
|
||||
@@ -4817,8 +4818,9 @@ int main(int argc, char * const argv[])
|
||||
* contain one of several types of entry points, so read enough for
|
||||
* the largest one, then determine what type it contains.
|
||||
*/
|
||||
+ size = 0x20;
|
||||
if (!(opt.flags & FLAG_NO_SYSFS)
|
||||
- && (buf = read_file(0x20, SYS_ENTRY_FILE)) != NULL)
|
||||
+ && (buf = read_file(&size, SYS_ENTRY_FILE)) != NULL)
|
||||
{
|
||||
if (!(opt.flags & FLAG_QUIET))
|
||||
printf("Getting SMBIOS data from sysfs.\n");
|
||||
Index: trunk/util.c
|
||||
===================================================================
|
||||
--- trunk.orig/util.c
|
||||
+++ trunk/util.c
|
||||
@@ -94,10 +94,11 @@ int checksum(const u8 *buf, size_t len)
|
||||
* needs to be freed by the caller.
|
||||
* This provides a similar usage model to mem_chunk()
|
||||
*
|
||||
- * Returns pointer to buffer of max_len bytes, or NULL on error
|
||||
+ * Returns pointer to buffer of max_len bytes, or NULL on error, and
|
||||
+ * sets max_len to the length actually read.
|
||||
*
|
||||
*/
|
||||
-void *read_file(size_t max_len, const char *filename)
|
||||
+void *read_file(size_t *max_len, const char *filename)
|
||||
{
|
||||
int fd;
|
||||
size_t r2 = 0;
|
||||
@@ -115,7 +116,7 @@ void *read_file(size_t max_len, const ch
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
- if ((p = malloc(max_len)) == NULL)
|
||||
+ if ((p = malloc(*max_len)) == NULL)
|
||||
{
|
||||
perror("malloc");
|
||||
return NULL;
|
||||
@@ -123,7 +124,7 @@ void *read_file(size_t max_len, const ch
|
||||
|
||||
do
|
||||
{
|
||||
- r = read(fd, p + r2, max_len - r2);
|
||||
+ r = read(fd, p + r2, *max_len - r2);
|
||||
if (r == -1)
|
||||
{
|
||||
if (errno != EINTR)
|
||||
@@ -140,6 +141,8 @@ void *read_file(size_t max_len, const ch
|
||||
while (r != 0);
|
||||
|
||||
close(fd);
|
||||
+ *max_len = r2;
|
||||
+
|
||||
return p;
|
||||
}
|
||||
|
||||
Index: trunk/util.h
|
||||
===================================================================
|
||||
--- trunk.orig/util.h
|
||||
+++ trunk/util.h
|
||||
@@ -25,7 +25,7 @@
|
||||
#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
|
||||
|
||||
int checksum(const u8 *buf, size_t len);
|
||||
-void *read_file(size_t len, const char *filename);
|
||||
+void *read_file(size_t *len, const char *filename);
|
||||
void *mem_chunk(off_t base, size_t len, const char *devmem);
|
||||
int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add);
|
||||
u64 u64_range(u64 start, u64 end);
|
||||
@ -1,78 +0,0 @@
|
||||
From 364055211b1956539c6a6268e111e244e1292c8c Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Mon, 02 Nov 2015 08:45:31 +0000
|
||||
Subject: dmidecode: Use read_file() to read the DMI table from sysfs
|
||||
|
||||
We shouldn't use mem_chunk() to read the DMI table from sysfs. This
|
||||
will fail for SMBIOS v3 implementations which specify a maximum length
|
||||
for the table rather than its exact length. The kernel will trim the
|
||||
table to the actual length, so the DMI file will be shorter than the
|
||||
length announced in entry point.
|
||||
|
||||
read_file() fits the bill in this case, as it deals with end of file
|
||||
nicely.
|
||||
|
||||
This also helps with corrupted DMI tables, as the kernel will not
|
||||
export the part of the table that it wasn't able to parse, effectively
|
||||
trimming it.
|
||||
|
||||
This fixes bug #46176:
|
||||
https://savannah.nongnu.org/bugs/?46176
|
||||
Unexpected end of file error
|
||||
---
|
||||
Index: trunk/CHANGELOG
|
||||
===================================================================
|
||||
--- trunk.orig/CHANGELOG
|
||||
+++ trunk/CHANGELOG
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
* dmidecode.c, util.c, util.h: Let read_file return the actual data
|
||||
size.
|
||||
+ * dmidecode.c: Use read_file to read the DMI table from sysfs.
|
||||
+ This fixes Savannah bug #46176:
|
||||
+ https://savannah.nongnu.org/bugs/?46176
|
||||
|
||||
2015-10-21 Xie XiuQi <xiexiuqi@huawei.com>
|
||||
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -4521,16 +4521,29 @@ static void dmi_table(off_t base, u32 le
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
- /*
|
||||
- * When we are reading the DMI table from sysfs, we want to print
|
||||
- * the address of the table (done above), but the offset of the
|
||||
- * data in the file is 0. When reading from /dev/mem, the offset
|
||||
- * in the file is the address.
|
||||
- */
|
||||
if (flags & FLAG_NO_FILE_OFFSET)
|
||||
- base = 0;
|
||||
+ {
|
||||
+ /*
|
||||
+ * When reading from sysfs, the file may be shorter than
|
||||
+ * announced. For SMBIOS v3 this is expcted, as we only know
|
||||
+ * the maximum table size, not the actual table size. For older
|
||||
+ * implementations (and for SMBIOS v3 too), this would be the
|
||||
+ * result of the kernel truncating the table on parse error.
|
||||
+ */
|
||||
+ size_t size = len;
|
||||
+ buf = read_file(&size, devmem);
|
||||
+ if (!(opt.flags & FLAG_QUIET) && num && size != (size_t)len)
|
||||
+ {
|
||||
+ printf("Wrong DMI structures length: %u bytes "
|
||||
+ "announced, only %lu bytes available.\n",
|
||||
+ len, (unsigned long)size);
|
||||
+ }
|
||||
+ len = size;
|
||||
+ }
|
||||
+ else
|
||||
+ buf = mem_chunk(base, len, devmem);
|
||||
|
||||
- if ((buf = mem_chunk(base, len, devmem)) == NULL)
|
||||
+ if (buf == NULL)
|
||||
{
|
||||
fprintf(stderr, "Table is unreachable, sorry."
|
||||
#ifndef USE_MMAP
|
||||
@ -1,27 +0,0 @@
|
||||
From ab02b117511230e46bbef7febbd854b9c832c13c Mon Sep 17 00:00:00 2001
|
||||
From: Xie XiuQi <xiexiuqi@huawei.com>
|
||||
Date: Mon, 01 Feb 2016 08:30:31 +0000
|
||||
Subject: Use DWORD for Structure table maximum size in SMBIOS3
|
||||
|
||||
0Ch DWORD "Structure table maximum size"
|
||||
|
||||
Maximum size of SMBIOS Structure Table, pointed to by
|
||||
the Structure Table Address, in bytes. The actual size is
|
||||
guaranteed to be less or equal to the maximum size.
|
||||
|
||||
Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
|
||||
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||
---
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -4612,7 +4612,7 @@ static int smbios3_decode(u8 *buf, const
|
||||
}
|
||||
|
||||
dmi_table(((off_t)offset.h << 32) | offset.l,
|
||||
- WORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT);
|
||||
+ DWORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT);
|
||||
|
||||
if (opt.flags & FLAG_DUMP_BIN)
|
||||
{
|
||||
46
debian/patches/0135-hide_fixup_msg.patch
vendored
46
debian/patches/0135-hide_fixup_msg.patch
vendored
@ -1,46 +0,0 @@
|
||||
From cff11afa886a0147d734b650755d232b5e7f2099 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Delvare <jdelvare@suse.de>
|
||||
Date: Tue, 03 May 2016 13:32:21 +0000
|
||||
Subject: dmidecode: Hide irrelevant fixup message
|
||||
|
||||
Only display the message about type 34 length fixup if the entry in
|
||||
question is going to be displayed. Otherwise it's only confusing.
|
||||
|
||||
This fixes bug #109024:
|
||||
http://savannah.nongnu.org/support/?109024
|
||||
|
||||
Fixes: 3f70b3515d91 ("dmidecode: Fix up invalid DMI type 34 structure length")
|
||||
---
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -2946,7 +2946,7 @@ static void dmi_64bit_memory_error_addre
|
||||
* first 5 characters of the device name to be trimmed. It's easy to
|
||||
* check and fix, so do it, but warn.
|
||||
*/
|
||||
-static void dmi_fixup_type_34(struct dmi_header *h)
|
||||
+static void dmi_fixup_type_34(struct dmi_header *h, int display)
|
||||
{
|
||||
u8 *p = h->data;
|
||||
|
||||
@@ -2954,7 +2954,9 @@ static void dmi_fixup_type_34(struct dmi
|
||||
if (h->length == 0x10
|
||||
&& is_printable(p + 0x0B, 0x10 - 0x0B))
|
||||
{
|
||||
- printf("Invalid entry length (%u). Fixed up to %u.\n", 0x10, 0x0B);
|
||||
+ if (!(opt.flags & FLAG_QUIET) && display)
|
||||
+ printf("Invalid entry length (%u). Fixed up to %u.\n",
|
||||
+ 0x10, 0x0B);
|
||||
h->length = 0x0B;
|
||||
}
|
||||
}
|
||||
@@ -4443,7 +4445,7 @@ static void dmi_table_decode(u8 *buf, u3
|
||||
|
||||
/* Fixup a common mistake */
|
||||
if (h.type == 34)
|
||||
- dmi_fixup_type_34(&h);
|
||||
+ dmi_fixup_type_34(&h, display);
|
||||
|
||||
/* look for the next handle */
|
||||
next = data + h.length;
|
||||
54
debian/patches/0140-Fix_scan_entry_point.patch
vendored
54
debian/patches/0140-Fix_scan_entry_point.patch
vendored
@ -1,54 +0,0 @@
|
||||
Description: Cherry picked fix Only scan /dev/mem for entry point on x86
|
||||
Author: <name and email of author, optional>
|
||||
Origin: upstream, http://git.savannah.nongnu.org/cgit/dmidecode.git/commit/?id=e12ec26e19e02281d3e7258c3aabb88a5cf5ec1d
|
||||
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946911
|
||||
Last-Update: 2019-12-19
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
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))
|
||||
@ -1,18 +0,0 @@
|
||||
Description: Fix the condition error in ascii_filter
|
||||
Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=1117390ccd9cea139638db6f460bb6de70e28f94
|
||||
Last-Update: 2021-05-07
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
- if (bp[i] < 32 || bp[i] == 127)
|
||||
+ if (bp[i] < 32 || bp[i] >= 127)
|
||||
bp[i] = '.';
|
||||
}
|
||||
|
||||
21
debian/patches/0150-Fix_crash.patch
vendored
21
debian/patches/0150-Fix_crash.patch
vendored
@ -1,21 +0,0 @@
|
||||
Description: Fix crash with -u option
|
||||
Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=11e134e54d15e67a64c39a623f492a28df922517
|
||||
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987033
|
||||
Last-Update: 2021-05-07
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_he
|
||||
{
|
||||
int j, l = strlen(s) + 1;
|
||||
|
||||
- off = 0;
|
||||
for (row = 0; row < ((l - 1) >> 4) + 1; row++)
|
||||
{
|
||||
+ off = 0;
|
||||
for (j = 0; j < 16 && j < l - (row << 4); j++)
|
||||
off += sprintf(raw_data + off,
|
||||
j ? " %02X" : "%02X",
|
||||
43
debian/patches/0155-use_read_file.patch
vendored
43
debian/patches/0155-use_read_file.patch
vendored
@ -1,43 +0,0 @@
|
||||
Description: Use read_file() instead of mem_chunk()
|
||||
Origin: upstream, https://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=c76ddda0ba0aa99a55945e3290095c2ec493c892
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2023-07-15
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
Index: trunk/dmidecode.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmidecode.c
|
||||
+++ trunk/dmidecode.c
|
||||
@@ -6025,15 +6025,23 @@ int main(int argc, char * const argv[])
|
||||
pr_comment("dmidecode %s", VERSION);
|
||||
|
||||
/* Read from dump if so instructed */
|
||||
+ size = 0x20;
|
||||
if (opt.flags & FLAG_FROM_DUMP)
|
||||
{
|
||||
if (!(opt.flags & FLAG_QUIET))
|
||||
pr_info("Reading SMBIOS/DMI data from file %s.",
|
||||
opt.dumpfile);
|
||||
- if ((buf = mem_chunk(0, 0x20, opt.dumpfile)) == NULL)
|
||||
+ if ((buf = read_file(0, &size, opt.dumpfile)) == NULL)
|
||||
{
|
||||
ret = 1;
|
||||
goto exit_free;
|
||||
+ }
|
||||
+
|
||||
+ /* Truncated entry point can't be processed */
|
||||
+ if (size < 0x20)
|
||||
+ {
|
||||
+ ret = 1;
|
||||
+ goto done;
|
||||
}
|
||||
|
||||
if (memcmp(buf, "_SM3_", 5) == 0)
|
||||
@@ -6059,7 +6067,6 @@ int main(int argc, char * const argv[])
|
||||
* contain one of several types of entry points, so read enough for
|
||||
* the largest one, then determine what type it contains.
|
||||
*/
|
||||
- size = 0x20;
|
||||
if (!(opt.flags & FLAG_NO_SYSFS)
|
||||
&& (buf = read_file(0, &size, SYS_ENTRY_FILE)) != NULL)
|
||||
{
|
||||
@ -1,32 +0,0 @@
|
||||
Description: HPE OEM Record 237 Firmware change
|
||||
Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=80de376231e903d2cbea95e51ffea31860502159
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2023-07-15
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
Index: trunk/dmioem.c
|
||||
===================================================================
|
||||
--- trunk.orig/dmioem.c
|
||||
+++ trunk/dmioem.c
|
||||
@@ -1094,7 +1094,8 @@ static int dmi_decode_hp(const struct dm
|
||||
* 0x06 | Manufacture|STRING | DIMM Manufacturer
|
||||
* 0x07 | Part Number|STRING | DIMM Manufacturer's Part Number
|
||||
* 0x08 | Serial Num |STRING | DIMM Vendor Serial Number
|
||||
- * 0x09 | Spare Part |STRING | DIMM Spare Part Number
|
||||
+ * 0x09 | Man Date | BYTE | DIMM Manufacture Date (YEAR) in BCD
|
||||
+ * 0x0A | Man Date | BYTE | DIMM Manufacture Date (WEEK) in BCD
|
||||
*/
|
||||
if (gen < G9) return 0;
|
||||
pr_handle_name("%s DIMM Vendor Information", company);
|
||||
@@ -1105,8 +1106,9 @@ static int dmi_decode_hp(const struct dm
|
||||
pr_attr("DIMM Manufacturer Part Number", "%s", dmi_string(h, data[0x07]));
|
||||
if (h->length < 0x09) break;
|
||||
pr_attr("DIMM Vendor Serial Number", "%s", dmi_string(h, data[0x08]));
|
||||
- if (h->length < 0x0A) break;
|
||||
- pr_attr("DIMM Spare Part Number", "%s", dmi_string(h, data[0x09]));
|
||||
+ if (h->length < 0x0B) break;
|
||||
+ if (WORD(data + 0x09))
|
||||
+ pr_attr("DIMM Manufacture Date", "20%02x-W%02x", data[0x09], data[0x0A]);
|
||||
break;
|
||||
|
||||
case 238:
|
||||
16
debian/patches/0600-Fix-groff-error.patch
vendored
16
debian/patches/0600-Fix-groff-error.patch
vendored
@ -1,16 +0,0 @@
|
||||
Description: dmidecode.8 Fix groff error
|
||||
Author: Soren Stoutner <soren@debian.org>
|
||||
Forwarded: https://savannah.nongnu.org/patch/index.php?10463
|
||||
Last-Update: 2024-07-07
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
Index: trunk/man/dmidecode.8
|
||||
===================================================================
|
||||
--- trunk.orig/man/dmidecode.8
|
||||
+++ trunk/man/dmidecode.8
|
||||
@@ -1,3 +1,5 @@
|
||||
+'\" t
|
||||
+.\" ** The above line should force tbl to be a preprocessor **
|
||||
.TH DMIDECODE 8 "February 2023" "dmidecode"
|
||||
.\"
|
||||
.SH NAME
|
||||
319
debian/patches/0605-man.patch
vendored
Normal file
319
debian/patches/0605-man.patch
vendored
Normal file
@ -0,0 +1,319 @@
|
||||
Description: Some remarks and editorial changes
|
||||
Author: Bjarni Ingi Gislason <bjarniig@simnet.is>
|
||||
Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088
|
||||
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088
|
||||
Forwarded: no: due to constant network errors
|
||||
Last-Update: 2026-03-10
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
Index: trunk/man/dmidecode.8
|
||||
===================================================================
|
||||
--- trunk.orig/man/dmidecode.8
|
||||
+++ trunk/man/dmidecode.8
|
||||
@@ -45,39 +45,52 @@ Base Board Information
|
||||
|
||||
Each record has:
|
||||
.IP \(bu "\w'\(bu'u+1n"
|
||||
-A handle. This is a unique identifier, which allows records to
|
||||
-reference each other. For example, processor records usually reference
|
||||
-cache memory records using their handles.
|
||||
+A handle.
|
||||
+This is a unique identifier,
|
||||
+which allows records to reference each other.
|
||||
+For example,
|
||||
+processor records usually reference cache memory records
|
||||
+using their handles.
|
||||
.IP \(bu
|
||||
-A type. The \s-1SMBIOS\s0 specification defines different types of elements
|
||||
-a computer can be made of. In this example, the type is 2, which
|
||||
-means that the record contains "Base Board Information".
|
||||
+A type.
|
||||
+The \s-1SMBIOS\s0 specification defines different types of elements
|
||||
+a computer can be made of.
|
||||
+In this example,
|
||||
+the type is 2,
|
||||
+which means that the record contains "Base Board Information".
|
||||
.IP \(bu
|
||||
-A size. Each record has a 4-byte header (2 for the handle, 1 for the type,
|
||||
-1 for the size), the rest is used by the record data. This value doesn't
|
||||
-take text strings into account (these are placed at the end of the record),
|
||||
-so the actual length of the record may be (and is often) greater than the
|
||||
-displayed value.
|
||||
+A size.
|
||||
+Each record has a 4-byte header
|
||||
+(2 for the handle, 1 for the type, 1 for the size),
|
||||
+the rest is used by the record data.
|
||||
+This value doesn't take text strings into account
|
||||
+(these are placed at the end of the record),
|
||||
+so the actual length of the record may be
|
||||
+(and is often)
|
||||
+greater than the displayed value.
|
||||
.IP \(bu
|
||||
-Decoded values. The information presented of course depends on the type
|
||||
-of record. Here, we learn about the board's manufacturer, model, version
|
||||
-and serial number.
|
||||
+Decoded values.
|
||||
+The information presented of course depends on the type of record.
|
||||
+Here, we learn about the board's manufacturer,
|
||||
+model, version and serial number.
|
||||
.\"
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
-.BR "-d" ", " "--dev-mem \fIFILE\fP"
|
||||
+.BR "\-d" ", " "\-\-dev-mem \fIFILE\fP"
|
||||
Read memory from device \fIFILE\fP (default: \fI/dev/mem\fP)
|
||||
.TP
|
||||
-.BR "-q" ", " "--quiet"
|
||||
-Be less verbose. Unknown, inactive and \s-1OEM\s0-specific entries are not
|
||||
-displayed. Meta-data and handle references are hidden.
|
||||
-.TP
|
||||
-.BR " " " " "--no-quirks"
|
||||
-Decode everything exactly as it is in the table, without trying to fix up
|
||||
-common mistakes or hide irrelevant fields.
|
||||
+.BR "\-q" ", " "\-\-quiet"
|
||||
+Be less verbose.
|
||||
+Unknown, inactive and \s-1OEM\s0-specific entries are not displayed.
|
||||
+Meta-data and handle references are hidden.
|
||||
+.TP
|
||||
+.BR " " " " "\-\-no-quirks"
|
||||
+Decode everything exactly as it is in the table,
|
||||
+without trying to fix up common mistakes
|
||||
+or hide irrelevant fields.
|
||||
This mode is primarily aimed at firmware developers.
|
||||
.TP
|
||||
-.BR "-s" ", " "--string \fIKEYWORD\fP"
|
||||
+.BR "\-s" ", " "\-\-string \fIKEYWORD\fP"
|
||||
Only display the value of the \s-1DMI\s0 string identified by \fIKEYWORD\fP.
|
||||
It must be a keyword from the following list:
|
||||
.nh
|
||||
@@ -113,33 +126,35 @@ firmware (regardless of it technically i
|
||||
while "firmware" designates the embedded controller firmware, if applicable.
|
||||
Each keyword corresponds to a given \s-1DMI\s0 type and a given offset
|
||||
within this entry type.
|
||||
-Not all strings may be meaningful or even defined on all systems. Some
|
||||
-keywords may return more than one result on some systems (e.g.
|
||||
+Not all strings may be meaningful or even defined on all systems.
|
||||
+Some keywords may return more than one result on some systems
|
||||
+(e.g.,
|
||||
.nh
|
||||
.B processor\-version
|
||||
.hy
|
||||
on a multi-processor system).
|
||||
-If \fIKEYWORD\fP is not provided or not valid, a list of all valid
|
||||
-keywords is printed and
|
||||
+If \fIKEYWORD\fP is not provided or not valid,
|
||||
+a list of all valid keywords is printed and
|
||||
.B dmidecode
|
||||
exits with an error.
|
||||
This option cannot be used more than once.
|
||||
|
||||
-Note: on Linux, most of these strings can alternatively be read directly
|
||||
-from
|
||||
+Note: on Linux,
|
||||
+most of these strings can alternatively be read directly from
|
||||
.BR sysfs ,
|
||||
typically from files under
|
||||
.IR /sys/devices/virtual/dmi/id .
|
||||
Most of these files are even readable by regular users.
|
||||
.TP
|
||||
-.BR " " " " "--list-strings"
|
||||
-List available string keywords, which can then be passed to the \fB--string\fP
|
||||
-option.
|
||||
-.TP
|
||||
-.BR "-t" ", " "--type \fITYPE\fP"
|
||||
-Only display the entries of type \fITYPE\fP. It can be either a
|
||||
-\s-1DMI\s0 type number, or a comma-separated list of type numbers, or a
|
||||
-keyword from the following list:
|
||||
+.BR " " " " "\-\-list-strings"
|
||||
+List available string keywords,
|
||||
+which can then be passed to the \fB\-\-string\fP option.
|
||||
+.TP
|
||||
+.BR "\-t" ", " "\-\-type \fITYPE\fP"
|
||||
+Only display the entries of type \fITYPE\fP.
|
||||
+It can be either a \s-1DMI\s0 type number,
|
||||
+or a comma-separated list of type numbers,
|
||||
+or a keyword from the following list:
|
||||
.nh
|
||||
.BR bios ,
|
||||
.BR system ,
|
||||
@@ -169,49 +184,54 @@ option.
|
||||
Only display the entry whose handle matches \fIHANDLE\fP.
|
||||
\fIHANDLE\fP is a 16-bit integer.
|
||||
.TP
|
||||
-.BR "-u" ", " "--dump"
|
||||
-Do not decode the entries, dump their contents as hexadecimal instead.
|
||||
-Note that this is still a text output, no binary data will be thrown upon
|
||||
-you. The strings attached to each entry are displayed as both
|
||||
-hexadecimal and \s-1ASCII\s0. This option is mainly useful for debugging.
|
||||
-.TP
|
||||
-.BR " " " " "--dump-bin \fIFILE\fP"
|
||||
-Do not decode the entries, instead dump the DMI data to a file in binary
|
||||
-form. The generated file is suitable to pass to \fB--from-dump\fP
|
||||
-later.
|
||||
+.BR "\-u" ", " "\-\-dump"
|
||||
+Do not decode the entries,
|
||||
+dump their contents as hexadecimal instead.
|
||||
+Note that this is still a text output,
|
||||
+no binary data will be thrown upon you.
|
||||
+The strings attached to each entry
|
||||
+are displayed as both hexadecimal and \s-1ASCII\s0.
|
||||
+This option is mainly useful for debugging.
|
||||
+.TP
|
||||
+.BR " " " " "\-\-dump-bin \fIFILE\fP"
|
||||
+Do not decode the entries,
|
||||
+instead dump the DMI data to a file in binary form.
|
||||
+The generated file is suitable to pass to \fB\-\-from-dump\fP later.
|
||||
\fIFILE\fP must not exist.
|
||||
.TP
|
||||
-.BR " " " " "--from-dump \fIFILE\fP"
|
||||
+.BR " " " " "\-\-from-dump \fIFILE\fP"
|
||||
Read the DMI data from a binary file previously generated using
|
||||
-\fB--dump-bin\fP.
|
||||
+\fB\-\-dump-bin\fP.
|
||||
.TP
|
||||
-.BR " " " " "--no-sysfs"
|
||||
-Do not attempt to read DMI data from sysfs files. This is mainly useful for
|
||||
-debugging.
|
||||
-.TP
|
||||
-.BR " " " " "--oem-string \fIN\fP"
|
||||
-Only display the value of the \s-1OEM\s0 string number \fIN\fP. The first
|
||||
-\s-1OEM\s0 string has number \fB1\fP. With special value \fBcount\fP, return the
|
||||
-number of OEM strings instead.
|
||||
+.BR " " " " "\-\-no-sysfs"
|
||||
+Do not attempt to read DMI data from sysfs files.
|
||||
+This is mainly useful for debugging.
|
||||
+.TP
|
||||
+.BR " " " " "\-\-oem-string \fIN\fP"
|
||||
+Only display the value of the \s-1OEM\s0 string number \fIN\fP.
|
||||
+The first \s-1OEM\s0 string has number \fB1\fP.
|
||||
+With special value \fBcount\fP,
|
||||
+return the number of OEM strings instead.
|
||||
.TP
|
||||
-.BR "-h" ", " "--help"
|
||||
+.BR "\-h" ", " "\-\-help"
|
||||
Display usage information and exit
|
||||
.TP
|
||||
-.BR "-V" ", " "--version"
|
||||
+.BR "\-V" ", " "\-\-version"
|
||||
Display the version and exit
|
||||
.P
|
||||
Options
|
||||
-.BR --string ,
|
||||
-.BR --type,
|
||||
-.BR --dump-bin " and " --oem-string
|
||||
+.BR \-\-string ,
|
||||
+.BR \-\-type,
|
||||
+.BR \-\-dump-bin " and " \-\-oem-string
|
||||
determine the output format and are mutually exclusive.
|
||||
.P
|
||||
Please note in case of
|
||||
.B dmidecode
|
||||
-is run on a system with firmware that boasts new SMBIOS specification, which
|
||||
-is not supported by the tool yet, it will print out relevant message in
|
||||
-addition to requested data on the very top of the output. Thus informs the
|
||||
-output data is not reliable.
|
||||
+is run on a system with BIOS that boasts new SMBIOS specification,
|
||||
+which is not supported by the tool yet,
|
||||
+it will print out relevant message
|
||||
+in addition to requested data on the very top of the output.
|
||||
+Thus informs the output data is not reliable.
|
||||
.\"
|
||||
.SH "DMI TYPES"
|
||||
The \s-1SMBIOS\s0 specification defines the following \s-1DMI\s0 types:
|
||||
@@ -265,13 +285,15 @@ Type Information
|
||||
42 Management Controller Host Interface
|
||||
.TE
|
||||
|
||||
-Additionally, type 126 is used for disabled entries and type 127 is an
|
||||
-end-of-table marker. Types 128 to 255 are for \s-1OEM\s0-specific data.
|
||||
+Additionally, type 126 is used for disabled entries
|
||||
+and type 127 is an end-of-table marker.
|
||||
+Types 128 to 255 are for \s-1OEM\s0-specific data.
|
||||
.B dmidecode
|
||||
-will display these entries by default, but it can only decode them
|
||||
+will display these entries by default,
|
||||
+but it can only decode them
|
||||
when the vendors have contributed documentation or code for them.
|
||||
|
||||
-Keywords can be used instead of type numbers with \fB--type\fP.
|
||||
+Keywords can be used instead of type numbers with \fB\-\-type\fP.
|
||||
Each keyword is equivalent to a list of type numbers:
|
||||
|
||||
.TS
|
||||
@@ -290,18 +312,20 @@ connector 8
|
||||
slot 9
|
||||
.TE
|
||||
|
||||
-Keywords are matched case-insensitively. The following command lines are equivalent:
|
||||
+Keywords are matched case-insensitively.
|
||||
+The following command lines are equivalent:
|
||||
.IP \(bu "\w'\(bu'u+1n"
|
||||
-dmidecode --type 0 --type 13
|
||||
+dmidecode \-\-type 0 \-\-type 13
|
||||
.IP \(bu
|
||||
-dmidecode --type 0,13
|
||||
+dmidecode \-\-type 0,13
|
||||
.IP \(bu
|
||||
-dmidecode --type bios
|
||||
+dmidecode \-\-type bios
|
||||
.IP \(bu
|
||||
-dmidecode --type BIOS
|
||||
+dmidecode \-\-type BIOS
|
||||
.\"
|
||||
.SH BINARY DUMP FILE FORMAT
|
||||
-The binary dump files generated by \fB--dump-bin\fP and read using \fB--from-dump\fP
|
||||
+The binary dump files generated by \fB\-\-dump-bin\fP
|
||||
+and read using \fB\-\-from-dump\fP
|
||||
are formatted as follows:
|
||||
.IP \(bu "\w'\(bu'u+1n"
|
||||
The SMBIOS or DMI entry point is located at offset 0x00.
|
||||
@@ -310,18 +334,27 @@ It is crafted to hard-code the table add
|
||||
The DMI table is located at offset 0x20.
|
||||
.\"
|
||||
.SH UUID FORMAT
|
||||
-There is some ambiguity about how to interpret the UUID fields prior to SMBIOS
|
||||
-specification version 2.6. There was no mention of byte swapping, and RFC 4122
|
||||
-says that no byte swapping should be applied by default. However, SMBIOS
|
||||
-specification version 2.6 (and later) explicitly states that the first 3 fields
|
||||
-of the UUID should be read as little-endian numbers (byte-swapped).
|
||||
-Furthermore, it implies that the same was already true for older versions of
|
||||
-the specification, even though it was not mentioned. In practice, many hardware
|
||||
-vendors were not byte-swapping the UUID. So, in order to preserve
|
||||
-compatibility, it was decided to interpret the UUID fields according to RFC
|
||||
-4122 (no byte swapping) when the SMBIOS version is older than 2.6, and to
|
||||
-interpret the first 3 fields as little-endian (byte-swapped) when the SMBIOS
|
||||
-version is 2.6 or later. The Linux kernel follows the same logic.
|
||||
+There is some ambiguity about how to interpret the UUID fields prior to
|
||||
+SMBIOS specification version 2.6.
|
||||
+There was no mention of byte swapping,
|
||||
+and RFC 4122 says that no byte swapping should be applied by default.
|
||||
+However, SMBIOS specification version 2.6 (and later)
|
||||
+explicitly states
|
||||
+that the first 3 fields of the UUID should be read as little-endian numbers
|
||||
+(byte-swapped).
|
||||
+Furthermore,
|
||||
+it implies that the same was already true for older versions of the
|
||||
+specification,
|
||||
+even though it was not mentioned.
|
||||
+In practice, many hardware vendors were not byte-swapping the UUID.
|
||||
+So, in order to preserve compatibility,
|
||||
+it was decided to interpret the UUID fields according to RFC 4122
|
||||
+(no byte swapping)
|
||||
+when the SMBIOS version is older than 2.6,
|
||||
+and to interpret the first 3 fields as little-endian
|
||||
+(byte-swapped)
|
||||
+when the SMBIOS version is 2.6 or later.
|
||||
+The Linux kernel follows the same logic.
|
||||
.\"
|
||||
.SH FILES
|
||||
.I /dev/mem
|
||||
@@ -333,7 +366,8 @@ version is 2.6 or later. The Linux kerne
|
||||
(Linux only)
|
||||
.\"
|
||||
.SH BUGS
|
||||
-More often than not, information contained in the \s-1DMI\s0 tables is inaccurate,
|
||||
+More often than not,
|
||||
+information contained in the \s-1DMI\s0 tables is inaccurate,
|
||||
incomplete or simply wrong.
|
||||
.\"
|
||||
.SH AUTHORS
|
||||
16
debian/patches/series
vendored
16
debian/patches/series
vendored
@ -1,16 +1,2 @@
|
||||
#0145-Fix_condition_error_in_ascii_filter.patch
|
||||
#0150-Fix_crash.patch
|
||||
#0100-ansi-c.patch
|
||||
0605-man.patch
|
||||
0001-hurd.patch
|
||||
#0005-build.patch
|
||||
#0105-dmidecode-avoid-sigbus.patch
|
||||
#0110-nosysfs.patch
|
||||
#0115-no_smbios_DMI_entry_point.patch
|
||||
#0120-return_actual_data_size.patch
|
||||
#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
|
||||
#0155-use_read_file.patch
|
||||
#0160-HPE_OEM_Firmware_change.patch
|
||||
#0600-Fix-groff-error.patch
|
||||
|
||||
Loading…
Reference in New Issue
Block a user