SHA256
1
0
forked from pool/qemu

Accepting request 293507 from home:bfrogers:branches:Virtualization

Not sure if there will be a better solution to the make check failures, but for now we'll run with this.

OBS-URL: https://build.opensuse.org/request/show/293507
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=242
This commit is contained in:
Bruce Rogers 2015-03-28 04:47:51 +00:00 committed by Git OBS Bridge
parent 05d70ff4fc
commit 7d77a731ba
4 changed files with 46 additions and 0 deletions

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Mar 28 00:13:05 UTC 2015 - brogers@suse.com
- make check was failing due to a bogus SMBIOS signature being
encountered within SeaBIOS. Avoid having that signature stored
randomly within the SeaBIOS image.
* seabios_avoid_smbios_signature_string.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Mar 26 14:49:43 UTC 2015 - afaerber@suse.de Thu Mar 26 14:49:43 UTC 2015 - afaerber@suse.de

View File

@ -104,6 +104,7 @@ Patch0039: 0039-rcu-tests-fix-compilation-on-32-bit.patch
Patch1000: seabios_128kb.patch Patch1000: seabios_128kb.patch
# PATCH-FIX-UPSTREAM seabios_checkrom_typo.patch afaerber@suse.de -- tidy error message # PATCH-FIX-UPSTREAM seabios_checkrom_typo.patch afaerber@suse.de -- tidy error message
Patch1001: seabios_checkrom_typo.patch Patch1001: seabios_checkrom_typo.patch
Patch1002: seabios_avoid_smbios_signature_string.patch
%endif %endif
# this is to make lint happy # this is to make lint happy
@ -518,6 +519,7 @@ This package provides a service file for starting and stopping KSM.
pushd roms/seabios pushd roms/seabios
%patch1000 -p1 %patch1000 -p1
%patch1001 -p1 %patch1001 -p1
%patch1002 -p1
popd popd
# as a safeguard, delete the firmware files that we intend to build # as a safeguard, delete the firmware files that we intend to build

View File

@ -66,6 +66,7 @@ PATCH_FILES
Patch1000: seabios_128kb.patch Patch1000: seabios_128kb.patch
# PATCH-FIX-UPSTREAM seabios_checkrom_typo.patch afaerber@suse.de -- tidy error message # PATCH-FIX-UPSTREAM seabios_checkrom_typo.patch afaerber@suse.de -- tidy error message
Patch1001: seabios_checkrom_typo.patch Patch1001: seabios_checkrom_typo.patch
Patch1002: seabios_avoid_smbios_signature_string.patch
%endif %endif
# this is to make lint happy # this is to make lint happy
@ -442,6 +443,7 @@ PATCH_EXEC
pushd roms/seabios pushd roms/seabios
%patch1000 -p1 %patch1000 -p1
%patch1001 -p1 %patch1001 -p1
%patch1002 -p1
popd popd
# as a safeguard, delete the firmware files that we intend to build # as a safeguard, delete the firmware files that we intend to build

View File

@ -0,0 +1,34 @@
From 2e978dc652969f6a7089713d8f726dda23a98205 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Fri, 27 Mar 2015 18:03:36 -0600
Subject: [PATCH] smbios: avoid having an arbitrary _SM_ string located in F
segment
The way the SMBIOS table is located is to search the F segment for
the byte sequence _SM_ located at the beginning of a paragragh.
It was found that SeaBIOS has a "_SM_" string contained within
the image which is not part of the SMBIOS table, and it was located
ahead of the actual SMBIOS table, causing obvious problems.
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
src/fw/biostables.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/fw/biostables.c b/src/fw/biostables.c
index 50a891b..568f404 100644
--- a/src/fw/biostables.c
+++ b/src/fw/biostables.c
@@ -271,7 +271,8 @@ copy_smbios(void *pos)
if (SMBiosAddr)
return;
struct smbios_entry_point *p = pos;
- if (memcmp(p->anchor_string, "_SM_", 4))
+ // avoid storing the _SM_ string - it's problematic!
+ if (memcmp(p->anchor_string, "_SM", 3) || p->anchor_string[3] != '_' )
return;
if (checksum(pos, 0x10) != 0)
return;
--
1.9.0