"Chad Smith noticed that, for some obscure reason, accessing the
/dev/mem file using mmap() instead of read() would work. "
MMAP
Note that mmap() is now used by default wherever possible, since this seems
to solve a number of problems. This default behavior can be changed in
config.h. Just to make sure this is clear, mmap() is not used for performance
reasons but to increase the number of systems on which dmidecode can be
successfully run. See the IA-64 subsection above for details.