[NET]: Fix and allocate less memory for ->priv'less netdevices
authorAlexey Dobriyan <adobriyan@sw.ru>
Fri, 18 Apr 2008 22:43:32 +0000 (15:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Apr 2008 22:43:32 +0000 (15:43 -0700)
commitd1643d24c61b725bef399cc1cf2944b4c9c23177
treead629b19f6331058001ef46fe6a45dd53122b7d8
parent3c051235a7f115c34e675c9cf55820bd3435f860
[NET]: Fix and allocate less memory for ->priv'less netdevices

This patch effectively reverts commit d0498d9ae1a5cebac363e38907266d5cd2eedf89
aka "[NET]: Do not allocate unneeded memory for dev->priv alignment."
It was found to be buggy because of final unconditional += NETDEV_ALIGN_CONST
removal.

For example, for sizeof(struct net_device) being 2048 bytes, "alloc_size"
was also 2048 bytes, but allocator with debugging options turned on started
giving out !32-byte aligned memory resulting in redzones overwrites.

Patch does small optimization in ->priv'less case: bumping size to next
32-byte boundary was always done to ensure ->priv will also be aligned.
But, no ->priv, no need to do that.

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c