>> +            pfn = page_to_pfn(page);
>> +            if (pfn >= end_pfn)
>> +                    return false;
>> +            if (pfn >= start_pfn)
>> +                    goto found;

On Thu, Sep 06 2012, Lai Jiangshan wrote:
> this test is wrong.
>
> use this:
>
> if ((pfn <= start_pfn) && (start_pfn < pfn + (1UL << page_order(page))))
>       goto found;
>
> if (pfn > start_pfn)
>       return false;

        if (pfn > start_pfn)
                return false;
        if (pfn + (1UL << page_order(page)) > start_pfn)
                goto found;

>> +    }
>> +    return false;
>> +
>> +    list_for_each_entry_continue(page, &isolated_pages, lru) {
>> +            if (page_to_pfn(page) != next_pfn)
>> +                    return false;

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +----<email/xmpp: m...@google.com>--------------ooO--(_)--Ooo--

Attachment: pgpIVXD5T4ym5.pgp
Description: PGP signature

Reply via email to