From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757491AbaFSHbU (ORCPT ); Thu, 19 Jun 2014 03:31:20 -0400 Received: from mail-la0-f51.google.com ([209.85.215.51]:36612 "EHLO mail-la0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755097AbaFSHbT (ORCPT ); Thu, 19 Jun 2014 03:31:19 -0400 MIME-Version: 1.0 In-Reply-To: <1403154257-14591-1-git-send-email-lauraa@codeaurora.org> References: <1403154257-14591-1-git-send-email-lauraa@codeaurora.org> Date: Thu, 19 Jun 2014 09:31:17 +0200 X-Google-Sender-Auth: Ipv7drs43eHFsbzOhc5sRmMBdXw Message-ID: Subject: Re: [PATCH] of: Check for phys_addr_t overflows in early_init_dt_add_memory_arch From: Geert Uytterhoeven To: Laura Abbott Cc: Grant Likely , Rob Herring , devicetree-discuss , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Simon Horman Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Laura, On Thu, Jun 19, 2014 at 7:04 AM, Laura Abbott wrote: > The common early_init_dt_add_memory_arch takes the base and size > of a memory region as u64 types. The function never checks if > the base and size can actually fit in a phys_addr_t which may > be smaller than 64-bits. This may result in incorrect memory > being passed to memblock_add if the memory falls outside the > range of phys_addr_t. Add range checks for the base and size if > phys_addr_t is smaller than u64. > > Reported-by: Geert Uytterhoeven > Signed-off-by: Laura Abbott Tested-by: Geert Uytterhoeven > --- > Geert, can you drop my other patch and give this a test to see if it fixes > your bootup problem? Thanks, works fine! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: geert@linux-m68k.org (Geert Uytterhoeven) Date: Thu, 19 Jun 2014 09:31:17 +0200 Subject: [PATCH] of: Check for phys_addr_t overflows in early_init_dt_add_memory_arch In-Reply-To: <1403154257-14591-1-git-send-email-lauraa@codeaurora.org> References: <1403154257-14591-1-git-send-email-lauraa@codeaurora.org> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Laura, On Thu, Jun 19, 2014 at 7:04 AM, Laura Abbott wrote: > The common early_init_dt_add_memory_arch takes the base and size > of a memory region as u64 types. The function never checks if > the base and size can actually fit in a phys_addr_t which may > be smaller than 64-bits. This may result in incorrect memory > being passed to memblock_add if the memory falls outside the > range of phys_addr_t. Add range checks for the base and size if > phys_addr_t is smaller than u64. > > Reported-by: Geert Uytterhoeven > Signed-off-by: Laura Abbott Tested-by: Geert Uytterhoeven > --- > Geert, can you drop my other patch and give this a test to see if it fixes > your bootup problem? Thanks, works fine! 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