From: Jeff Dike This patch rounds up the size of a file used for iomem emulation up to the nearest page. This makes mmap work much better on the last page of the file. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton --- 25-akpm/arch/um/kernel/mem_user.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff -puN arch/um/kernel/mem_user.c~uml-iomem-fix arch/um/kernel/mem_user.c --- 25/arch/um/kernel/mem_user.c~uml-iomem-fix Tue Sep 14 18:29:28 2004 +++ 25-akpm/arch/um/kernel/mem_user.c Tue Sep 14 18:29:28 2004 @@ -143,7 +143,7 @@ static int __init parse_iomem(char *str, struct iomem_region *new; struct uml_stat buf; char *file, *driver; - int fd, err; + int fd, err, size; driver = str; file = strchr(str,','); @@ -171,10 +171,12 @@ static int __init parse_iomem(char *str, goto out_close; } + size = (buf.ust_size + UM_KERN_PAGE_SIZE) & ~(UM_KERN_PAGE_SIZE - 1); + *new = ((struct iomem_region) { .next = iomem_regions, .driver = driver, .fd = fd, - .size = buf.ust_size, + .size = size, .phys = 0, .virt = 0 }); iomem_regions = new; _