kgdb: could not write to the last of valid memory with kgdb
authorAtsuo Igarashi <atsuo_igarashi@tripeaks.co.jp>
Fri, 26 Sep 2008 15:36:41 +0000 (10:36 -0500)
committerJason Wessel <jason.wessel@windriver.com>
Fri, 26 Sep 2008 15:36:41 +0000 (10:36 -0500)
On the ARM architecture, kgdb will crash the kernel if the last byte
of valid memory is written due to a flush_icache_range flushing
beyond the memory boundary.

Signed-off-by: Atsuo Igarashi <atsuo_igarashi@tripeaks.co.jp>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
kernel/kgdb.c

index eaa21fc9ad1d54250142a6c806115267865d3be6..949806ab67de6461995cf8fc4543732f7ab64adf 100644 (file)
@@ -488,7 +488,7 @@ static int write_mem_msg(int binary)
                if (err)
                        return err;
                if (CACHE_FLUSH_IS_SAFE)
-                       flush_icache_range(addr, addr + length + 1);
+                       flush_icache_range(addr, addr + length);
                return 0;
        }