[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC 2.6.10 3/22] xfrm: Add offload management routines
- From: "David S. Miller" <davem@xxxxxxxxxxxxx>
- Date: Fri, 21 Jan 2005 14:47:38 -0800
- References: <20041230035000.11@ori.thedillows.org> <20041230035000.12@ori.thedillows.org>
On Thu, 30 Dec 2004 03:48:35 -0500
David Dillow <dave@xxxxxxxxxxxxxx> wrote:
> +static inline struct xfrm_offload *
> +xfrm_offload_alloc(int sizeof_priv, struct net_device *dev)
This whole scheme looks buggy. The intent is to 8-byte align
the object, but look at what the code is actually doing.
Whatever kmalloc() returns to xfrm_offload_alloc() is directly
used as the xfrm_offload pointer, and the members are initialized.
Then xfrm_offload_priv() does the alignments.
It is clear that kmalloc() is always giving you 8-byte aligned
data else the first time xfrm_offload_priv() is used you'd
get a bogus pointer since xfrm_offload_alloc() initialized
the object without first aligning the pointer.
We do something similar when we allocate netdevs, so have a look
at how net/core/dev.c:alloc_netdev() works.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/