Thread (5 messages) 5 messages, 5 authors, 2008-09-12

Re: CONFIG_HAVE_ARCH_TRACEHOOK and you

From: David Miller <davem@davemloft.net>
Date: 2008-09-12 21:57:57
Also in: lkml

From: Russell King <redacted>
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!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help