diff options
| author | scw <scw@NetBSD.org> | 2003-04-17 16:15:36 +0000 |
|---|---|---|
| committer | scw <scw@NetBSD.org> | 2003-04-17 16:15:36 +0000 |
| commit | d97029d2df55b44b2f5b0161010d66941190431a (patch) | |
| tree | 437e8b0ca61b2a578fe5d39bcdd7a4888a9a98a8 /sys/dev/usb/usbdevs_data.h | |
| parent | 414c86b6d17e8d08751c68690efc076bc0281461 (diff) | |
Fix a problem first reported by Simon Burge when paddr_t is 64-bits on an
ILP32 platform.
What happens is that the compiler inserts padding in struct mbuf between the
MH_pkthdr and MH_dat members, due to the paddr_t in struct _m_ext.
Unfortunately, the old MLEN/MHLEN macroes fail to take into account this
padding and, thus, wind up making sizeof(struct mbuf) > MSIZE. This causes
mbuf corruption, which eventually leads to all sorts of bogosity on ILP32
platforms with a 64-bit paddr_t.
Thanks to simonb@ and fvdl@ for helping to track down this bug.
Diffstat (limited to 'sys/dev/usb/usbdevs_data.h')
0 files changed, 0 insertions, 0 deletions
