Re: [PATCH 2/2 v5][resend] tmpfs: interleave the starting node of/dev/shmem

From: Dan Carpenter
Date: Mon Jul 23 2012 - 06:59:08 EST


On Mon, Jul 09, 2012 at 09:46:39AM -0500, Nathan Zimmer wrote:
> +static unsigned long shmem_interleave(struct vm_area_struct *vma,
> + unsigned long addr)
> +{
> + unsigned long offset;
> +
> + /* Use the vm_files prefered node as the initial offset. */
> + offset = (unsigned long *) vma->vm_private_data;

Should this be?:
offset = (unsigned long)vma->vm_private_data;

offset is an unsigned long, not a pointer. ->vm_private_data is a
void pointer.

It causes a GCC warning:
mm/shmem.c: In function âshmem_interleaveâ:
mm/shmem.c:1341:9: warning: assignment makes integer from pointer without a cast [enabled by default]

> +
> + offset += ((addr - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
> +
> + return offset;
> +}
> #endif

regards,
dan carpenter
--
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/