Your message dated Wed, 15 Aug 2007 10:32:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#437022: fixed in mcelog 0.8~pre-1
has caused the attached Bug report 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 I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
Package: mcelog
Version: 0.7-4
Tags: patch
mcelog reads 64-bit addresses from the MCE, but passes them around with
type ‘unsigned long’, which causes mcelog --dmi to give incorrect
results on 32-bit systems with more than 4 GiB of RAM. The attached
patch changes this type to ‘unsigned long long’.
diff -ur mcelog-0.7.orig/dmi.c mcelog-0.7/dmi.c
--- mcelog-0.7.orig/dmi.c 2006-05-03 02:55:54.000000000 -0400
+++ mcelog-0.7/dmi.c 2007-08-10 02:27:42.000000000 -0400
@@ -263,18 +263,18 @@
Wprintf("%s ", type_details[i]);
}
-void dump_memdev(unsigned handle, unsigned long addr)
+void dump_memdev(unsigned handle, unsigned long long addr)
{
char tmp[20];
struct dmi_memdev *md = (struct dmi_memdev *)handle_to_entry[handle];
if (!md) {
- Wprintf("Cannot resolve memory device %x for %lx\n",
+ Wprintf("Cannot resolve memory device %x for %Lx\n",
handle, addr);
return;
}
if (md->header.length <
offsetof(struct dmi_memdev, manufacturer)) {
- Wprintf("Memory device %x for address %lx too short %hu expected %lu\n",
+ Wprintf("Memory device %x for address %Lx too short %hu expected %lu\n",
handle, addr, md->header.length,
sizeof(struct dmi_memdev));
return;
@@ -316,14 +316,14 @@
Wprintf("WARNING: SMBIOS data is often unreliable. Take with a grain of salt!\n");
}
-int dmi_decodeaddr(unsigned long addr)
+int dmi_decodeaddr(unsigned long long addr)
{
int i, found, matching;
struct dmi_entry *e, *next;
e = entries;
found = 0;
matching = 0;
- Wprintf("Resolving address %lx using SMBIOS\n", addr);
+ Wprintf("Resolving address %Lx using SMBIOS\n", addr);
for (i = 0; i < numentries; i++, e = next) {
if (!check_entry(e, &next))
break;
@@ -357,7 +357,7 @@
Wprintf("No DIMMs found in SMBIOS tables\n");
else if (!matching)
Wprintf(
- "No matching memory address found for %lx in SMBIOS\n",
+ "No matching memory address found for %Lx in SMBIOS\n",
addr);
return matching > 0;
}
@@ -373,7 +373,7 @@
verbose = atoi(av[2]);
if (opendmi() < 0)
exit(1);
- dmi_decodeaddr(strtoul(av[1], NULL, 0));
+ dmi_decodeaddr(strtoull(av[1], NULL, 0));
return 0;
}
#endif
diff -ur mcelog-0.7.orig/dmi.h mcelog-0.7/dmi.h
--- mcelog-0.7.orig/dmi.h 2006-05-03 02:55:54.000000000 -0400
+++ mcelog-0.7/dmi.h 2007-08-10 02:15:52.000000000 -0400
@@ -1,2 +1,2 @@
int opendmi(void);
-int dmi_decodeaddr(unsigned long addr);
+int dmi_decodeaddr(unsigned long long addr);
diff -ur mcelog-0.7.orig/mcelog.c mcelog-0.7/mcelog.c
--- mcelog-0.7.orig/mcelog.c 2007-08-10 02:19:41.000000000 -0400
+++ mcelog-0.7/mcelog.c 2007-08-10 02:11:40.000000000 -0400
@@ -73,7 +73,7 @@
}
}
-void resolveaddr(unsigned long addr)
+void resolveaddr(unsigned long long addr)
{
if (addr && do_dmi)
dmi_decodeaddr(addr);
Only in mcelog-0.7: mcelog.o
Only in mcelog-0.7: p4.o
--- End Message ---
--- Begin Message ---
Source: mcelog
Source-Version: 0.8~pre-1
We believe that the bug you reported is fixed in the latest version of
mcelog, which is due to be installed in the Debian FTP archive:
mcelog_0.8~pre-1.diff.gz
to pool/main/m/mcelog/mcelog_0.8~pre-1.diff.gz
mcelog_0.8~pre-1.dsc
to pool/main/m/mcelog/mcelog_0.8~pre-1.dsc
mcelog_0.8~pre-1_amd64.deb
to pool/main/m/mcelog/mcelog_0.8~pre-1_amd64.deb
mcelog_0.8~pre.orig.tar.gz
to pool/main/m/mcelog/mcelog_0.8~pre.orig.tar.gz
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Julien BLACHE <[EMAIL PROTECTED]> (supplier of updated mcelog package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.7
Date: Wed, 15 Aug 2007 12:17:58 +0200
Source: mcelog
Binary: mcelog
Architecture: source amd64
Version: 0.8~pre-1
Distribution: unstable
Urgency: low
Maintainer: Julien BLACHE <[EMAIL PROTECTED]>
Changed-By: Julien BLACHE <[EMAIL PROTECTED]>
Description:
mcelog - x86-64 Machine Check Exceptions collector and decoder
Closes: 437022
Changes:
mcelog (0.8~pre-1) unstable; urgency=low
.
* New upstream release.
* debian/control, debian/rules:
+ Use dpatch.
* debian/patches/10_debian_test.dpatch:
+ Added (from Debian diff); Add the --debian-test option.
* debian/patches/11_logrotate.dpatch:
+ Added (from Debian diff); Slightly change logrotate options.
* debian/patches/01_64bit_mem_addr.dpatch:
+ Added; Use 64bit variables on 32bit architectures to pass memory
addresses
around, otherwise the --dmi output is incorrect for machines with more
than 4 GB of RAM. Adapted from the patch contributed by Anders Kaseorg
for v0.7 (closes: #437022).
Files:
03fe10bab8c3db1a5e2a6c22cde5fc88 591 admin optional mcelog_0.8~pre-1.dsc
97fba9e248f23f12d562b92e90ed77fc 126876 admin optional
mcelog_0.8~pre.orig.tar.gz
d1e77bf569649ce9652bdc2c9aa0c4b7 8870 admin optional mcelog_0.8~pre-1.diff.gz
bb3d4a58f3f30be6d2dbfe45f4de0982 131688 admin optional
mcelog_0.8~pre-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFGwtPZzWFP1/XWUWkRAv5vAJ4xlPTUunVaQ/gCpQCiHZrZhVCprgCgta17
PddSIXJFmv/Vr95icnI+Zhw=
=+vCZ
-----END PGP SIGNATURE-----
--- End Message ---