Autopadding was sometimes overwriting the struct list_head at the end
authorMichael Brown <mcb30@etherboot.org>
Tue, 9 Jan 2007 21:01:55 +0000 (21:01 +0000)
committerMichael Brown <mcb30@etherboot.org>
Tue, 9 Jan 2007 21:01:55 +0000 (21:01 +0000)
commite822bc2a90016f206b051cce1287a655e66b6b9b
tree254fdf56c0a92e4fff9de6a7f6c0dc77fdf5bdf9
parent18e5353bed3bd66c8d07b2dbb23d989239da9937
Autopadding was sometimes overwriting the struct list_head at the end
of the packet buffer.  Although pkbuffs are guaranteed to be at least
PKB_ZLEN bytes long, there's no guarantee that the data starts at the
start of the packet buffer.

Since we have to align data for rtl8139 anyway, and since the start of
the packet buffer is guaranteed to be aligned to PKB_ALIGN, we may as
well just shuffle the packet down so that it starts at the start of
the packet buffer.  This simultaneously aligns the packet and ensures
that there is enough room for the zero-padding.
src/drivers/net/rtl8139.c