On Wed, Nov 21, 2007 at 07:39:32PM +0000, Alasdair G Kergon wrote: > On Wed, Nov 21, 2007 at 11:15:52AM -0800, Wood, Brian J wrote: > > /***** Here's the problem spot *****/ > > struct stripe stripe[0]; > > That one must remain the last element in the struct. > Add any new fields above it. Here's how the real size is calculated before it's allocated: static inline struct stripe_c *alloc_context(unsigned int stripes) { size_t len; if (array_too_big(sizeof(struct stripe_c), sizeof(struct stripe), stripes)) return NULL; len = sizeof(struct stripe_c) + (sizeof(struct stripe) * stripes); return kmalloc(len, GFP_KERNEL); } Alasdair -- agk@xxxxxxxxxx -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel