Re: [PATCH] mmap + wrapping around to 0

From: linux mailing list (linux@xdr.com)
Date: Thu Nov 08 2001 - 11:56:43 EST


I have a fix for this problem. In the file
include/linux/mm.h
in the inline function do_mmap(), change
        if ((offset + PAGE_ALIGN(len)) < offset)
to
        if ((offset + PAGE_ALIGN(len)-1) < offset)

-Dave

On Wed, 7 Nov 2001, Dave Ashley wrote:

> I'm using linux on an embedded system based on the 2.4.2 kernel. There
> is a flash rom at physical address FFE00000 of 2 megabytes size. I have
> a flash utility that uses mmap() on /dev/mem, but I can't call it with
> offset 0xffe00000, size 0x00200000, I must call it with size
> 0x001ff000 (1 page size less than the real size). I figure this is because
> the end address has wrapped around to 0 and this messes up the system.
>
> This should work, the memory is there. But I can't access that last page.
>
> BTW the cpu is a ppc 8260 (603e core).
>
> -Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 15 2001 - 21:00:18 EST