diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2006-04-20 04:39:12 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2006-04-20 04:39:12 +0000 |
commit | b1fa5050b9df85f9b036da9ddff191ac47748929 (patch) | |
tree | f262b94d3ebc13eab09cc2a13ab784a85e797f0c /sbin | |
parent | 2c2b86fa0b50b60eb407054dafe48f578323d588 (diff) |
this is the proper fix for krws bug. i feel kinda bad taking the commit
from him since he did most of the hard work on it.
when marco added the sensor for logical disks he added some extra bits
to the softc, but inside an #if NBIO > 0 block. NBIO is set by "bio.h"
which was included in ami.c, but not in ami_pci.c which is what is
actually responsible for getting the softc allocated. because of this
the softc in the rest of the system was smaller than what ami.c needed,
so technically it was using unallocated memory. in krws case that
unallocated space was filled with garbage, hence his panic.
the moral of this story is do NOT put #if inside structs that are passed
between different source files. its too easy to have this kind of screwup
happen.
Diffstat (limited to 'sbin')
0 files changed, 0 insertions, 0 deletions