From 74c81f8c4ed15a900dc305d4ad4686e62a4ea085 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Thu, 16 Sep 2004 22:12:22 -0700 Subject: [PATCH] [PATCH] uml: iomem fix 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 Signed-off-by: Linus Torvalds --- arch/um/kernel/mem_user.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/um/kernel/mem_user.c b/arch/um/kernel/mem_user.c index c52744b01d6ca..ec15ba43d537c 100644 --- a/arch/um/kernel/mem_user.c +++ b/arch/um/kernel/mem_user.c @@ -143,7 +143,7 @@ static int __init parse_iomem(char *str, int *add) 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, int *add) 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; -- 2.53.0