Re: [patch] build error: allnoconfig fails on mincore/swapper_space

From: Hugh Dickins
Date: Tue Feb 13 2007 - 19:19:52 EST


On Tue, 13 Feb 2007, Randy Dunlap wrote:
> From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
>
> Don't check for pte swap entries when CONFIG_SWAP=n.
> And save 'present' in the vec array.
>
> mm/built-in.o: In function `sys_mincore':
> (.text+0xe584): undefined reference to `swapper_space'
>
> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>

What you've done there is fine, Randy, thank you.

But I just got out of bed to take another look, and indeed:
what is it doing in the none_mapped !vma->vm_file case?
passing back an uninitialized vector.

Easy enough to fix, but I'd say Nick's patch has by now exceeded
its embarrassment quota, and should be reverted from Linus' tree
for now: clearly none of us have been paying enough attention,
and other eyes are liable to find further errors lurking in it.

Hugh

> ---
> mm/mincore.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> --- linux-2.6.20-git9.orig/mm/mincore.c
> +++ linux-2.6.20-git9/mm/mincore.c
> @@ -111,6 +111,7 @@ static long do_mincore(unsigned long add
> present = mincore_page(vma->vm_file->f_mapping, pgoff);
>
> } else { /* pte is a swap entry */
> +#ifdef CONFIG_SWAP
> swp_entry_t entry = pte_to_swp_entry(pte);
> if (is_migration_entry(entry)) {
> /* migration entries are always uptodate */
> @@ -119,7 +120,11 @@ static long do_mincore(unsigned long add
> pgoff = entry.val;
> present = mincore_page(&swapper_space, pgoff);
> }
> +#else
> + present = 1;
> +#endif
> }
> + vec[i] = present;
> }
> pte_unmap_unlock(ptep-1, ptl);
-
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/