ipv6: Remove all uses of LL_ALLOCATED_SPACE
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 18 Nov 2011 02:20:04 +0000 (02:20 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 20 Feb 2015 00:49:23 +0000 (00:49 +0000)
commit19ad5b89ffb3977fa4b95f56cc8d8256655ae09a
treeec45082c68a3b5e42b81abafcdaf5a66012beb7f
parentb3410f43d29c524bc4bdbfe36928ab4190099e64
ipv6: Remove all uses of LL_ALLOCATED_SPACE

commit a7ae1992248e5cf9dc5bd35695ab846d27efe15f upstream.

ipv6: Remove all uses of LL_ALLOCATED_SPACE

The macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the
alignment to the sum of needed_headroom and needed_tailroom.  As
the amount that is then reserved for head room is needed_headroom
with alignment, this means that the tail room left may be too small.

This patch replaces all uses of LL_ALLOCATED_SPACE in net/ipv6
with the macro LL_RESERVED_SPACE and direct reference to
needed_tailroom.

This also fixes the problem with needed_headroom changing between
allocating the skb and reserving the head room.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/ipv6/ip6_output.c
net/ipv6/mcast.c
net/ipv6/ndisc.c
net/ipv6/raw.c