Messages in this thread | | | Subject | Re: [Cbe-oss-dev] [PATCH] Cell OProfile: Incorrect local array size in activate spu profiling function | From | Michael Ellerman <> | Date | Sat, 25 Oct 2008 15:39:55 +1100 |
| |
On Fri, 2008-10-24 at 11:47 -0700, Carl Love wrote: > The size of the pm_signal_local array should be equal to the > number of SPUs being configured in the call. Currently, the > array is of size 4 (NR_PHYS_CTRS) but being indexed by a for > loop from 0 to 7 (NUM_SPUS_PER_NODE).
While you're at it you should change to using ARRAY_SIZE() in the for loop, and use sizeof in the rtas call - that way you'll only have the size in one place.
I notice pm_rtas_activate_signals() also allocates a pm_signal_local on the stack and iterates over it. I take it something guarantees that count in that routine will not exceed NR_PHYS_CTRS ?
cheers
-- Michael Ellerman OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors, we borrow it from our children. - S.M.A.R.T Person [unhandled content-type:application/pgp-signature] | |