-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Content-ID: <alpine.LSU.2.20.1612161320500.9802@zvanf-gvevgu.inyvabe> El 2016-12-12 a las 06:42 +0300, Andrei Borzenkov escribió:
12.12.2016 06:26, Carlos E. R. пишет:
Hi,
What should I think of this?
Some BIOSes are known to corrupt low memory under some condition (like resuming from suspend). Kernel contains check that tries to detect this condition and avoid using this area. See memory_corruption_check and memory_corruption_check_size kernel parameters.
So there is little you can do except attempt to find BIOS update or report it to your BIOS/motherboard vendor.
It is a warning, not an error, apparently. In the BIOS, perhaps.
<0.3> 2016-12-11T13:37:26.094997+01:00 Isengard kernel - - - [382640.164069] Corrupted low memory at ffff880000002000 (2000 phys) = 0000f0f6 <0.4> 2016-12-11T13:37:26.095031+01:00 Isengard kernel - - - [382640.164092] ------------[ cut here ]------------ <0.4> 2016-12-11T13:37:26.095034+01:00 Isengard kernel - - - [382640.164111] WARNING: CPU: 1 PID: 7380 at ../arch/x86/kernel/check.c:141 check_for_bios_corruption+0xf9/0x110() <0.3> 2016-12-11T13:37:26.095036+01:00 Isengard kernel - - - [382640.164114] Memory corruption detected in low memory
I found some insteresting links, courtesy of another poster off-list. http://unix.stackexchange.com/questions/111923/memory-corruption-detected-in... https://bbs.archlinux.org/viewtopic.php?id=189483 Mostly posts #1 and #18 from second link. I'll quote some bits: +++............................ (#1 2014-11-06 10:43:08 - KRTac) ... In case someone else comes across that type of error: The problem is a poorly designed BIOS that uses parts of RAM that it shouldn't. The kernel checks for those BIOSes and reports the "Corrupted low memory" message. The kernel then ignores that part of the memory and proceeds with system startup. The system will start and work just fine. If you want to get rid of that annoying message, you can explicitly tell the kernel to ignore the first 64KB of memory (which is the part the BIOS might use) with the memmap boot option. Then the kernel no longer needs to check for memory corruption since it won't use that part of the memory anymore. You do that with the memory_corruption_check option. For details see mich41's post. (#18 2014-11-06 16:29:59 - ewaller (admin)) KRTac wrote:
So the memory corruption error indicates that the BIOS is using that part of the memory? So the memory corruption doesn't happen/doesn't affect what goes on in the kernel?
The point is, the BIOS is not supposed to be using that memory without letting other things know. A popular OS from the US Pacific Northwest does not use that memory, so lazy BIOS developers use that space without bothering to do it the right way. Other operating systems, like Linux, might try to use that space and the invisible hand of the BIOS reaches out and corrupts what is in that space. The linux developers are aware of these quirks and have to work around them, This message means that they caught the brain dead BIOS changing that memory red-handed, As there is nothing they can do about it, they set a flag that tells them to ignore that corruptible memory, and it posts a message to the owner of the machine in the hopes they will write a strongly worded letter to the chuckleheads that market buggy hardware. If Linux were to universally ignore that space, they would ignore perfectly good memory on machines that were properly designed and tested. ............................++- So, for practical purposes I can, for the moment, safely ignore that message, and later, map out the first 64KB. Then, search for a bios update for that machine (if found, disable the map out for testing it). About the "strongly worded letter" they would have to say that in the error message with a link to a template. How would I know what to write? And finally, I could also write a bugzilla, just in case. - -- Cheers Carlos E. R. (from 13.1 x86_64 "Bottle" (Minas Tirith)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iF4EAREIAAYFAlhT36IACgkQja8UbcUWM1zTFAD9GF+AWH4gC/53e+SUB348+vwQ 2YyJ/gx42vPZYT2BxysA/iT6D8tCPc24hjyMFyWfeUIri2M7080o8xbsWtwJNPn2 =BYMJ -----END PGP SIGNATURE-----