[PATCH] ARM: mm: fix size rounding-down of arm_add_memory()

Geert Uytterhoeven geert at linux-m68k.org
Thu Nov 27 02:36:31 PST 2014


Any chance we can get this fix applied?

On Wed, Aug 20, 2014 at 5:08 PM, Geert Uytterhoeven
<geert at linux-m68k.org> wrote:
> Hi Yamada-san,
>
> On Fri, Aug 1, 2014 at 2:37 PM, Masahiro Yamada
> <yamada.m at jp.panasonic.com> wrote:
>> Any comments for this patch?
>
> Thanks for your patch!
>
> I had a slightly different fix for the same issue, but apparently it got stuck
> on the freshly installed machine that didn't have email set up yet ;-(
>
> Acked-by: Geert Uytterhoeven <geert at linux-m68k.org>
>
> early_init_dt_add_memory_arch() has the same bug, I'll resend my (also stuck)
> fix for that.
>
>> Thanks
>>
>> Best Regards
>> Masahiro Yamada
>>
>>
>>
>> On Fri,  6 Jun 2014 12:32:47 +0900
>> Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
>>
>>> The current rounding of "size" is wrong.
>>>
>>>     size -= start & ~PAGE_MASK;
>>>
>>> should be
>>>
>>>     size -= PAGE_SIZE - (start & ~PAGE_MASK);
>>>
>>> Or more simply
>>>
>>>     size -= aligned_start - start;
>>>
>>> Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
>>> ---
>>>  arch/arm/kernel/setup.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
>>> index 50e198c..84508c0 100644
>>> --- a/arch/arm/kernel/setup.c
>>> +++ b/arch/arm/kernel/setup.c
>>> @@ -641,8 +641,8 @@ int __init arm_add_memory(u64 start, u64 size)
>>>        * Ensure that start/size are aligned to a page boundary.
>>>        * Size is appropriately rounded down, start is rounded up.
>>>        */
>>> -     size -= start & ~PAGE_MASK;
>>>       aligned_start = PAGE_ALIGN(start);
>>> +     size -= aligned_start - start;
>>>
>>>  #ifndef CONFIG_ARCH_PHYS_ADDR_T_64BIT
>>>       if (aligned_start > ULONG_MAX) {
>>> --
>>> 1.9.1

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-arm-kernel mailing list