[PATCH] fix iounmap for non page aligned addresses

From: Andi Kleen (ak@muc.de)
Date: Tue Jul 09 2002 - 06:55:34 EST


Hi Linus,

This fixes a problem introduced by the pageattr ioremap/unmap patches.
iounmap lost the ability to free non page aligned addresses, which
are e.g. used by the bootflag code. This patch fixes this.

Also fix a potential off by one bug.

-Andi

--- linux-work/arch/i386/mm/ioremap.c.~2~ Tue Jun 18 02:13:09 2002
+++ linux/arch/i386/mm/ioremap.c Fri Jun 21 14:42:23 2002
@@ -213,9 +213,9 @@
 void iounmap(void *addr)
 {
         struct vm_struct *p;
- if (addr < high_memory)
+ if (addr <= high_memory)
                 return;
- p = remove_kernel_area(addr);
+ p = remove_kernel_area(PAGE_MASK & (unsigned long) addr);
         if (!p) {
                 printk("__iounmap: bad address %p\n", addr);
                 return;
-
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 : Mon Jul 15 2002 - 22:00:15 EST