dmidecode: update to 3.3

Message ID 669d216a-0e2c-b14f-9990-e31425447171@ipfire.org
State Accepted
Commit 740549d85a32cd778896ce57d3d4172a25d63f41
Headers
Series dmidecode: update to 3.3 |

Commit Message

Peter Müller June 2, 2021, 6 p.m. UTC
  Notable changes as per https://git.savannah.gnu.org/cgit/dmidecode.git/plain/NEWS:

Version 3.3 (Wed Oct 14 2020)
  - [BUILD] Allow overriding build settings from the environment.
  - [COMPATIBILITY] Document how the UUID fields are interpreted.
  - [PORTABILITY] Don't use memcpy on /dev/mem on arm64.
  - [PORTABILITY] Only scan /dev/mem for entry point on x86.
  - Support for SMBIOS 3.3.0. This includes new processor names, new port
    connector types, and new memory device form factors, types and
    technologies.
  - Add bios-revision, firmware-revision and system-sku-number to -s option.
  - Use the most appropriate unit for cache size.
  - Decode system slot base bus width and peers.
  - Important bug fixes:
    Fix Redfish Hostname print length
    Fix formatting of TPM table output
    Fix System Slot Information for PCIe SSD
    Don't choke on invalid processor voltage
  - Use the most appropriate unit for cache size.

Version 3.2 (Wed Sep 14 2018)
  - [COMPATIBILITY] The UUID is now displayed using lowercase letters, per
    RFC 4122 (#53569). You must ensure that any code parsing it is
    case-insensitive.
  - Support for SMBIOS 3.2.0. This includes new processor names, new socket
    and port connector types, new system slot state and property, and support
    for non-volatile memory (NVDIMM).
  - Support for Redfish management controllers.
  - A new command line option to query a specific structure by its handle.
  - A new command line option to query the system family string.
  - Support for 3 ThinkPad-specific structures (patch #9642).
  - Support for HPE's new company name.
  - Support UEFI on FreeBSD.
  - Important bug fixes:
    Fix firmware version of TPM device
    Fix the HPE UEFI feature flag check
  - (biosdecode) A new command line option to fully decode PIR information
    (support request #109339).

This patch also features two new patches recommended by upstream, whose
online version can be retrieved at
https://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=1117390ccd9cea139638db6f460bb6de70e28f94
https://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=11e134e54d15e67a64c39a623f492a28df922517.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
---
 config/rootfiles/common/i586/dmidecode        |  1 +
 config/rootfiles/common/x86_64/dmidecode      |  1 +
 lfs/dmidecode                                 | 13 +++----
 ...ort_for_structure_type_43_tpm_device.patch | 30 ----------------
 ...midecode-3.3-fix_crash_with_u_option.patch | 34 +++++++++++++++++++
 ..._the_condition_error_in_ascii_filter.patch | 30 ++++++++++++++++
 6 files changed, 73 insertions(+), 36 deletions(-)
 delete mode 100644 src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
 create mode 100644 src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
 create mode 100644 src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
  

Comments

Adolf Belka June 3, 2021, 12:30 p.m. UTC | #1
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>

On 02/06/2021 20:00, Peter Müller wrote:
> Notable changes as per https://git.savannah.gnu.org/cgit/dmidecode.git/plain/NEWS:
>
> Version 3.3 (Wed Oct 14 2020)
>    - [BUILD] Allow overriding build settings from the environment.
>    - [COMPATIBILITY] Document how the UUID fields are interpreted.
>    - [PORTABILITY] Don't use memcpy on /dev/mem on arm64.
>    - [PORTABILITY] Only scan /dev/mem for entry point on x86.
>    - Support for SMBIOS 3.3.0. This includes new processor names, new port
>      connector types, and new memory device form factors, types and
>      technologies.
>    - Add bios-revision, firmware-revision and system-sku-number to -s option.
>    - Use the most appropriate unit for cache size.
>    - Decode system slot base bus width and peers.
>    - Important bug fixes:
>      Fix Redfish Hostname print length
>      Fix formatting of TPM table output
>      Fix System Slot Information for PCIe SSD
>      Don't choke on invalid processor voltage
>    - Use the most appropriate unit for cache size.
>
> Version 3.2 (Wed Sep 14 2018)
>    - [COMPATIBILITY] The UUID is now displayed using lowercase letters, per
>      RFC 4122 (#53569). You must ensure that any code parsing it is
>      case-insensitive.
>    - Support for SMBIOS 3.2.0. This includes new processor names, new socket
>      and port connector types, new system slot state and property, and support
>      for non-volatile memory (NVDIMM).
>    - Support for Redfish management controllers.
>    - A new command line option to query a specific structure by its handle.
>    - A new command line option to query the system family string.
>    - Support for 3 ThinkPad-specific structures (patch #9642).
>    - Support for HPE's new company name.
>    - Support UEFI on FreeBSD.
>    - Important bug fixes:
>      Fix firmware version of TPM device
>      Fix the HPE UEFI feature flag check
>    - (biosdecode) A new command line option to fully decode PIR information
>      (support request #109339).
>
> This patch also features two new patches recommended by upstream, whose
> online version can be retrieved at
> https://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=1117390ccd9cea139638db6f460bb6de70e28f94
> https://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=11e134e54d15e67a64c39a623f492a28df922517.
>
> Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
> ---
>   config/rootfiles/common/i586/dmidecode        |  1 +
>   config/rootfiles/common/x86_64/dmidecode      |  1 +
>   lfs/dmidecode                                 | 13 +++----
>   ...ort_for_structure_type_43_tpm_device.patch | 30 ----------------
>   ...midecode-3.3-fix_crash_with_u_option.patch | 34 +++++++++++++++++++
>   ..._the_condition_error_in_ascii_filter.patch | 30 ++++++++++++++++
>   6 files changed, 73 insertions(+), 36 deletions(-)
>   delete mode 100644 src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
>   create mode 100644 src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
>   create mode 100644 src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
>
> diff --git a/config/rootfiles/common/i586/dmidecode b/config/rootfiles/common/i586/dmidecode
> index 888395856..5b2ba45ed 100644
> --- a/config/rootfiles/common/i586/dmidecode
> +++ b/config/rootfiles/common/i586/dmidecode
> @@ -5,6 +5,7 @@ usr/sbin/vpddecode
>   #usr/share/doc/dmidecode
>   #usr/share/doc/dmidecode/AUTHORS
>   #usr/share/doc/dmidecode/CHANGELOG
> +#usr/share/doc/dmidecode/NEWS
>   #usr/share/doc/dmidecode/README
>   #usr/share/man/man8/biosdecode.8
>   #usr/share/man/man8/dmidecode.8
> diff --git a/config/rootfiles/common/x86_64/dmidecode b/config/rootfiles/common/x86_64/dmidecode
> index 888395856..5b2ba45ed 100644
> --- a/config/rootfiles/common/x86_64/dmidecode
> +++ b/config/rootfiles/common/x86_64/dmidecode
> @@ -5,6 +5,7 @@ usr/sbin/vpddecode
>   #usr/share/doc/dmidecode
>   #usr/share/doc/dmidecode/AUTHORS
>   #usr/share/doc/dmidecode/CHANGELOG
> +#usr/share/doc/dmidecode/NEWS
>   #usr/share/doc/dmidecode/README
>   #usr/share/man/man8/biosdecode.8
>   #usr/share/man/man8/dmidecode.8
> diff --git a/lfs/dmidecode b/lfs/dmidecode
> index 03a702c07..c90f0726a 100644
> --- a/lfs/dmidecode
> +++ b/lfs/dmidecode
> @@ -1,7 +1,7 @@
>   ###############################################################################
>   #                                                                             #
>   # IPFire.org - A linux based firewall                                         #
> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
> +# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
>   #                                                                             #
>   # 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        #
> @@ -24,10 +24,10 @@
>   
>   include Config
>   
> -VER        = 3.1
> +VER        = 3.3
>   
>   THISAPP    = dmidecode-$(VER)
> -DL_FILE    = $(THISAPP).tar.gz
> +DL_FILE    = $(THISAPP).tar.xz
>   DL_FROM    = $(URL_IPFIRE)
>   DIR_APP    = $(DIR_SRC)/$(THISAPP)
>   TARGET     = $(DIR_INFO)/$(THISAPP)
> @@ -41,7 +41,7 @@ objects = $(DL_FILE)
>   
>   $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>   
> -$(DL_FILE)_MD5 = 7798f68a02b82358c44af913da3b6b42
> +$(DL_FILE)_MD5 = afca949fd71a23dd39c4a3c9cd946dc0
>   
>   install : $(TARGET)
>   check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> @@ -69,9 +69,10 @@ $(subst %,%_MD5,$(objects)) :
>   
>   $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>   	@$(PREBUILD)
> -	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
>   	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0005-nothing-should-go-into-usr-local.patch
> -	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
> +	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
> +	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
>   	cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
>   	cd $(DIR_APP) && make install
>   	@rm -rf $(DIR_APP)
> diff --git a/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch b/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
> deleted file mode 100644
> index 07f4f7ed7..000000000
> --- a/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -From 174387405e98cd94c627832ae23abcb9be7e5623 Mon Sep 17 00:00:00 2001
> -From: Jean Delvare <jdelvare@suse.de>
> -Date: Wed, 31 Jan 2018 18:52:47 +0100
> -Subject: dmidecode: Fix firmware version of TPM device
> -
> -Both the operator (detected by clang, reported by Xorg) and the mask
> -for the minor firmware version field of TPM devices were wrong.
> -
> -Signed-off-by: Jean Delvare <jdelvare@suse.de>
> -Fixes: 48a8132058a0 ("dmidecode: Add support for structure type 43 (TPM Device)")
> ----
> - dmidecode.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/dmidecode.c b/dmidecode.c
> -index 87faaa9..a593170 100644
> ---- a/dmidecode.c
> -+++ b/dmidecode.c
> -@@ -4511,7 +4511,7 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
> - 				case 0x02:
> - 					printf("\tFirmware Revision: %u.%u\n",
> - 						DWORD(data + 0x0A) >> 16,
> --						DWORD(data + 0x0A) && 0xFF);
> -+						DWORD(data + 0x0A) & 0xFFFF);
> - 					/*
> - 					 * We skip the next 4 bytes, as their
> - 					 * format is not standardized and their
> ---
> -cgit v1.0-41-gc330
> -
> diff --git a/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch b/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
> new file mode 100644
> index 000000000..497768add
> --- /dev/null
> +++ b/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
> @@ -0,0 +1,34 @@
> +From 11e134e54d15e67a64c39a623f492a28df922517 Mon Sep 17 00:00:00 2001
> +From: Jean Delvare <jdelvare@suse.de>
> +Date: Tue, 19 Jan 2021 16:26:01 +0100
> +Subject: dmidecode: Fix crash with -u option
> +
> +A segmentation fault was reported with option -u. Turns out to be a
> +stupid thinko where the buffer offset was reset at the wrong loop
> +depth.
> +
> +Reported-by: Jerry Hoemann <jerry.hoemann@hpe.com>
> +Fixes: da06888d08b9 ("dmidecode: Use the print helpers in dump mode too")
> +Signed-off-by: Jean Delvare <jdelvare@suse.de>
> +---
> + dmidecode.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/dmidecode.c b/dmidecode.c
> +index 572cb1a..69ea0e8 100644
> +--- a/dmidecode.c
> ++++ b/dmidecode.c
> +@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_header *h)
> + 			{
> + 				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",
> +--
> +cgit v1.2.1
> +
> diff --git a/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch b/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
> new file mode 100644
> index 000000000..e5f99b477
> --- /dev/null
> +++ b/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
> @@ -0,0 +1,30 @@
> +From 1117390ccd9cea139638db6f460bb6de70e28f94 Mon Sep 17 00:00:00 2001
> +From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
> +Date: Tue, 5 Jan 2021 10:36:29 +0100
> +Subject: dmidecode: Fix the condition error in ascii_filter
> +
> +The normal printable ASCII range is 32 to 127 (not included),
> +so fix the error in this if condition.
> +
> +Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
> +Signed-off-by: Jean Delvare <jdelvare@suse.de>
> +---
> + dmidecode.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/dmidecode.c b/dmidecode.c
> +index 27d5494..864a193 100644
> +--- a/dmidecode.c
> ++++ b/dmidecode.c
> +@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_t len)
> + 	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] = '.';
> + }
> +
> +--
> +cgit v1.2.1
> +
  

Patch

diff --git a/config/rootfiles/common/i586/dmidecode b/config/rootfiles/common/i586/dmidecode
index 888395856..5b2ba45ed 100644
--- a/config/rootfiles/common/i586/dmidecode
+++ b/config/rootfiles/common/i586/dmidecode
@@ -5,6 +5,7 @@  usr/sbin/vpddecode
 #usr/share/doc/dmidecode
 #usr/share/doc/dmidecode/AUTHORS
 #usr/share/doc/dmidecode/CHANGELOG
+#usr/share/doc/dmidecode/NEWS
 #usr/share/doc/dmidecode/README
 #usr/share/man/man8/biosdecode.8
 #usr/share/man/man8/dmidecode.8
diff --git a/config/rootfiles/common/x86_64/dmidecode b/config/rootfiles/common/x86_64/dmidecode
index 888395856..5b2ba45ed 100644
--- a/config/rootfiles/common/x86_64/dmidecode
+++ b/config/rootfiles/common/x86_64/dmidecode
@@ -5,6 +5,7 @@  usr/sbin/vpddecode
 #usr/share/doc/dmidecode
 #usr/share/doc/dmidecode/AUTHORS
 #usr/share/doc/dmidecode/CHANGELOG
+#usr/share/doc/dmidecode/NEWS
 #usr/share/doc/dmidecode/README
 #usr/share/man/man8/biosdecode.8
 #usr/share/man/man8/dmidecode.8
diff --git a/lfs/dmidecode b/lfs/dmidecode
index 03a702c07..c90f0726a 100644
--- a/lfs/dmidecode
+++ b/lfs/dmidecode
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2021  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -24,10 +24,10 @@ 
 
 include Config
 
-VER        = 3.1
+VER        = 3.3
 
 THISAPP    = dmidecode-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -41,7 +41,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7798f68a02b82358c44af913da3b6b42
+$(DL_FILE)_MD5 = afca949fd71a23dd39c4a3c9cd946dc0
 
 install : $(TARGET)
 check : $(patsubst %,$(DIR_CHK)/%,$(objects))
@@ -69,9 +69,10 @@  $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/0005-nothing-should-go-into-usr-local.patch
-	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
 	cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)
diff --git a/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch b/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
deleted file mode 100644
index 07f4f7ed7..000000000
--- a/src/patches/dmidecode/add_support_for_structure_type_43_tpm_device.patch
+++ /dev/null
@@ -1,30 +0,0 @@ 
-From 174387405e98cd94c627832ae23abcb9be7e5623 Mon Sep 17 00:00:00 2001
-From: Jean Delvare <jdelvare@suse.de>
-Date: Wed, 31 Jan 2018 18:52:47 +0100
-Subject: dmidecode: Fix firmware version of TPM device
-
-Both the operator (detected by clang, reported by Xorg) and the mask
-for the minor firmware version field of TPM devices were wrong.
-
-Signed-off-by: Jean Delvare <jdelvare@suse.de>
-Fixes: 48a8132058a0 ("dmidecode: Add support for structure type 43 (TPM Device)")
----
- dmidecode.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dmidecode.c b/dmidecode.c
-index 87faaa9..a593170 100644
---- a/dmidecode.c
-+++ b/dmidecode.c
-@@ -4511,7 +4511,7 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
- 				case 0x02:
- 					printf("\tFirmware Revision: %u.%u\n",
- 						DWORD(data + 0x0A) >> 16,
--						DWORD(data + 0x0A) && 0xFF);
-+						DWORD(data + 0x0A) & 0xFFFF);
- 					/*
- 					 * We skip the next 4 bytes, as their
- 					 * format is not standardized and their
--- 
-cgit v1.0-41-gc330
-
diff --git a/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch b/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
new file mode 100644
index 000000000..497768add
--- /dev/null
+++ b/src/patches/dmidecode/dmidecode-3.3-fix_crash_with_u_option.patch
@@ -0,0 +1,34 @@ 
+From 11e134e54d15e67a64c39a623f492a28df922517 Mon Sep 17 00:00:00 2001
+From: Jean Delvare <jdelvare@suse.de>
+Date: Tue, 19 Jan 2021 16:26:01 +0100
+Subject: dmidecode: Fix crash with -u option
+
+A segmentation fault was reported with option -u. Turns out to be a
+stupid thinko where the buffer offset was reset at the wrong loop
+depth.
+
+Reported-by: Jerry Hoemann <jerry.hoemann@hpe.com>
+Fixes: da06888d08b9 ("dmidecode: Use the print helpers in dump mode too")
+Signed-off-by: Jean Delvare <jdelvare@suse.de>
+---
+ dmidecode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dmidecode.c b/dmidecode.c
+index 572cb1a..69ea0e8 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_header *h)
+ 			{
+ 				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",
+-- 
+cgit v1.2.1
+
diff --git a/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch b/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
new file mode 100644
index 000000000..e5f99b477
--- /dev/null
+++ b/src/patches/dmidecode/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
@@ -0,0 +1,30 @@ 
+From 1117390ccd9cea139638db6f460bb6de70e28f94 Mon Sep 17 00:00:00 2001
+From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
+Date: Tue, 5 Jan 2021 10:36:29 +0100
+Subject: dmidecode: Fix the condition error in ascii_filter
+
+The normal printable ASCII range is 32 to 127 (not included),
+so fix the error in this if condition.
+
+Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
+Signed-off-by: Jean Delvare <jdelvare@suse.de>
+---
+ dmidecode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dmidecode.c b/dmidecode.c
+index 27d5494..864a193 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_t len)
+ 	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] = '.';
+ }
+ 
+-- 
+cgit v1.2.1
+