Re: CONFIG_HAVE_ARCH_TRACEHOOK and you

From: David Miller
Date: Fri Sep 12 2008 - 17:57:58 EST


From: Russell King <rmk+lkml@xxxxxxxxxxxxxxxx>
Date: Fri, 12 Sep 2008 14:13:51 +0100

> However, in looking at other architectures, I notice that sparc does this
> when initializing its regsets:
>
> .n = 38 * sizeof(u32),
> .size = sizeof(u32), .align = sizeof(u32),
>
> and sparc64:
>
> .n = 36 * sizeof(u64),
> .size = sizeof(u64), .align = sizeof(u64),
>
> which, given that fs/binfmt_elf.c does this:
>
> size_t size = regset->n * regset->size;
> void *data = kmalloc(size, GFP_KERNEL);
> if (unlikely(!data))
> return 0;
>
> means sparc ends up allocating 38 * sizeof(u32) * sizeof(u32), and
> sparc64 ends up with 36 * sizeof(u64) * sizeof(u64), which must surely
> be wrong?

Yep, definitely a bug, good catch. I guess, better to allocate
too much by accident rather than too little in this case :-)

I'll fix this up, thanks!

--
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/