[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080912131351.GA31545@flint.arm.linux.org.uk>
Date: Fri, 12 Sep 2008 14:13:51 +0100
From: Russell King <rmk+lkml@....linux.org.uk>
To: Roland McGrath <roland@...hat.com>
Cc: linux-arch@...r.kernel.org, utrace-devel@...hat.com,
linux-kernel@...r.kernel.org
Subject: Re: CONFIG_HAVE_ARCH_TRACEHOOK and you
Okay, let's comment on each bit separately.
Regsets
-------
These don't appear to be a problem for ARM, and turn out to be relatively
clean. The only thing I did do was invent some alternative simpler
helper functions rather than using the user_regset_copy* functions (to
avoid taking the address of function arguments, which needlessly forces
them onto the stack.)
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?
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists