Re: [PATCH] mm/ksm: return NULL when doesn't get mergeable page

From: Petr Holasek
Date: Thu Sep 19 2013 - 04:33:48 EST


On Mon, 16 Sep 2013, Jianguo Wu wrote:
> In get_mergeable_page() local variable page is not initialized,
> it may hold a garbage value, when find_mergeable_vma() return NULL,
> get_mergeable_page() may return a garbage value to the caller.
>
> So initialize page as NULL.
>
> Signed-off-by: Jianguo Wu <wujianguo@xxxxxxxxxx>
> ---
> mm/ksm.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/mm/ksm.c b/mm/ksm.c
> index b6afe0c..87efbae 100644
> --- a/mm/ksm.c
> +++ b/mm/ksm.c
> @@ -460,7 +460,7 @@ static struct page *get_mergeable_page(struct rmap_item *rmap_item)
> struct mm_struct *mm = rmap_item->mm;
> unsigned long addr = rmap_item->address;
> struct vm_area_struct *vma;
> - struct page *page;
> + struct page *page = NULL;
>
> down_read(&mm->mmap_sem);
> vma = find_mergeable_vma(mm, addr);
> --
> 1.7.1
>

When find_mergeable_vma returned NULL, NULL is assigned to page in "out"
statement.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/