Messages in this thread | | | Date | Tue, 22 Nov 2011 15:59:01 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 2/2] cleanup: convert the int cnt to unsigned long in mm/memblock.c |
| |
On Wed, 09 Nov 2011 13:18:53 +0800 Wang Sheng-Hui <shhuiw@gmail.com> wrote:
> @@ -111,7 +112,7 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_ > static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size, > phys_addr_t align, phys_addr_t start, phys_addr_t end) > { > - long i; > + unsigned long i; > > BUG_ON(0 == size);
This change to memblock_find_base() can cause this loop:
for (i = memblock.memory.cnt - 1; i >= 0; i--) {
to become infinite under some circumstances.
I stopped reading at that point. Changes like this require much care.
| |