[PATCHv2] arm: mm: Poison freed init memory

Stephen Boyd sboyd at codeaurora.org
Thu Jul 7 13:44:34 EDT 2011


On 07/07/2011 10:36 AM, Russell King - ARM Linux wrote:
> On Thu, Jul 07, 2011 at 09:47:27AM -0700, Stephen Boyd wrote:
>> Poisoning __init marked memory can be useful when tracking down
>> obscure memory corruption bugs. Therefore, poison init memory
>> with 0xe7fddef0 to catch bugs earlier. The poison value is an
>> undefined instruction in ARM mode and branch to an undefined
>> instruction in Thumb mode.
>>
>> Signed-off-by: Stephen Boyd <sboyd at codeaurora.org>
>> ---
>>
>> On 7/6/2011 2:01 PM, Russell King - ARM Linux wrote:
>>> On Wed, Jul 06, 2011 at 01:55:54PM -0700, Stephen Boyd wrote:
>>>> Should it include the initrd too? At least x86 poisons that memory but I
>>>> don't know who would be using that incorrectly.
>>> It could do - I don't see any harm in not doing so.  The only issue
>>> is that people may want to disable this stuff if they're after
>>> squeezing every last ms out of the boot time.
>> I haven't done this. I hope a follow up patch will suffice.
>>
>>>> How about a free_init_area() function which calls free_area() after
>>>> poisoning the memory?
>>> I need to go back and look at the Integrator etc situation with regard
>>> to reorganizing the vmlinux layout - it may be that the omission of
>>> freeing .init memory can now be removed (it was there to stop the
>>> memory being used as the first K of memory wasn't DMA-able.)
>>>
>>> Assuming it has to stay though, we still should arrange for the initrd
>>> memory to be poisoned even if it isn't freed.
>> Is this is patch what you're saying? I would have liked to do a
>> free_init_area() wrapper, but until the Integrator situation can be
>> sorted it doesn't look worthwhile.
> Yes, thanks.  This looks fine for the time being.  Have you been able
> to test it?  If yes, then please put it in the patch system and I'll
> see about giving it a test too.

Yes it's been tested (which is why there is a PAGE_ALIGN on initrd).

6996/1

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.




More information about the linux-arm-kernel mailing list