[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#254215: marked as done (memtest86: Memtest86 incorrectly generates BadRAM-patch location information)



Your message dated Fri, 02 Sep 2022 17:32:23 +0000
with message-id <[🔎] E1oUAWl-00AN1t-PH@fasolo.debian.org>
and subject line Bug#1016189: Removed package(s) from unstable
has caused the Debian Bug report #254215,
regarding memtest86: Memtest86 incorrectly generates BadRAM-patch location information
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
254215: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=254215
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: memtest86
Version: 3.1a-2
Severity: important
Tags: patch

Hello --

The code which generates the badram= statements in memtest86 is broken; 
when two addresses are combined, the mask is incorrectly computed.  The 
correct algorithm is:

A bit should be set in the new mask if it is set in both component masks 
and the corresponding bit in the component are equal.  

Which is to say: 

newmask = mask1 & mask2 & ((adr1 & adr2) | (~adr1 & ~adr2));

I cannot say for certain that the current code misses bad memory 
regions, but it is incorrect nonetheless.  

A patch against the file patn.c fixing this bug is attached.

In addition, the patch changes the address computation for combined 
addresses from using | to using &.  This is not strictly necessary, but 
removes the need for &ing the new address with the new mask (which
statement is left in in case someone wants to fix the bug differently).

This bug is marked important because, although the package still does 
what it's supposed to, a large part of the package (including a feature 
advertised in the package description) is broken. 

This bug exists in Memtest86+ as well, and I'm filing it accordingly 
(it's the same bug with the same patch to fix, so if there's some way of 
combining the reports, feel free).

Thanks,
Algis R.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.6-japhy-1
Locale: LANG=C, LC_CTYPE=C

-- no debconf information
--- patn.c.0	2004-06-12 05:17:15.000000000 -0500
+++ patn.c	2004-06-12 05:51:13.000000000 -0500
@@ -29,9 +29,8 @@
  */
 void combine (ulong adr1, ulong mask1, ulong adr2, ulong mask2,
 		ulong *adr, ulong *mask) {
-	*mask = (adr1 & ~mask1 & adr2 & ~mask2) |
-			(adr1 & mask1 & adr2 & mask2);
-	*adr  = adr1 | adr2;
+	*adr  = adr1 & adr2;
+	*mask = mask1 & mask2 & (*adr | (~adr1 & ~adr2));
 	*adr &= *mask;	// Normalise, no fundamental need for this
 }
 

--- End Message ---
--- Begin Message ---
Version: 4.3.7-4+rm

Dear submitter,

as the package memtest86 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/1016189

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Thorsten Alteholz (the ftpmaster behind the curtain)

--- End Message ---

Reply to: