[patch] mm: fix XIP file writes

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Nick Piggin
Date: Tuesday, December 4, 2007 - 6:00 am

On Tue, Dec 04, 2007 at 12:35:49PM +0100, Nick Piggin wrote:

Here we go. See, brd already found a bug ;)

Can you apply the ext2 XIP patch too? And I'll resend the brd XIP patch.

---

Writing to XIP files at a non-page-aligned offset results in data corruption
because the writes were always sent to the start of the page.

Signed-off-by: Nick Piggin <npiggin@suse.de>
---
Index: linux-2.6/mm/filemap_xip.c
===================================================================
--- linux-2.6.orig/mm/filemap_xip.c
+++ linux-2.6/mm/filemap_xip.c
@@ -314,7 +314,7 @@ __xip_file_write(struct file *filp, cons
 		fault_in_pages_readable(buf, bytes);
 		kaddr = kmap_atomic(page, KM_USER0);
 		copied = bytes -
-			__copy_from_user_inatomic_nocache(kaddr, buf, bytes);
+			__copy_from_user_inatomic_nocache(kaddr + offset, buf, bytes);
 		kunmap_atomic(kaddr, KM_USER0);
 		flush_dcache_page(page);
 
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch] rewrite rd, Nick Piggin, (Mon Dec 3, 9:26 pm)
Re: [patch] rewrite rd, Andrew Morton, (Mon Dec 3, 11:29 pm)
Re: [patch] rewrite rd, Nick Piggin, (Tue Dec 4, 12:01 am)
Re: [patch] rewrite rd, Nick Piggin, (Tue Dec 4, 12:08 am)
Re: [patch] rewrite rd, Rob Landley, (Tue Dec 4, 12:55 am)
Re: [patch] rewrite rd, Nick Piggin, (Tue Dec 4, 2:29 am)
Re: [patch] rewrite rd, Christian Borntraeger, (Tue Dec 4, 2:54 am)
Re: [patch] rewrite rd, Nick Piggin, (Tue Dec 4, 3:10 am)
[patch] rd: support XIP, Nick Piggin, (Tue Dec 4, 4:21 am)
[patch] ext2: xip check fix, Nick Piggin, (Tue Dec 4, 4:23 am)
Re: [patch] rd: support XIP, Andrew Morton, (Tue Dec 4, 4:26 am)
Re: [patch] rd: support XIP, Nick Piggin, (Tue Dec 4, 4:35 am)
Re: [patch] rd: support XIP, Duane Griffin, (Tue Dec 4, 5:06 am)
[patch] mm: fix XIP file writes, Nick Piggin, (Tue Dec 4, 6:00 am)
[patch] rd: support XIP (updated), Nick Piggin, (Tue Dec 4, 6:03 am)
Re: [patch] rewrite rd, Rob Landley, (Tue Dec 4, 12:53 pm)
Re: [patch] ext2: xip check fix, Carsten Otte, (Wed Dec 5, 8:43 am)
Re: [patch] ext2: xip check fix, Nick Piggin, (Wed Dec 5, 4:33 pm)
Re: [patch] ext2: xip check fix, Carsten Otte, (Thu Dec 6, 1:43 am)
Re: [patch] ext2: xip check fix, Nick Piggin, (Thu Dec 6, 1:52 am)
Re: [patch] ext2: xip check fix, Carsten Otte, (Thu Dec 6, 2:59 am)
Re: [patch] ext2: xip check fix, Nick Piggin, (Thu Dec 6, 3:18 am)
Re: [patch] ext2: xip check fix, Carsten Otte, (Thu Dec 6, 3:24 am)
Re: [patch] ext2: xip check fix, Rob Landley, (Thu Dec 6, 11:11 am)
Re: [patch] ext2: xip check fix, Jared Hulbert, (Thu Dec 6, 8:22 pm)
Re: [patch] ext2: xip check fix, Rob Landley, (Thu Dec 6, 9:17 pm)
Re: [patch] ext2: xip check fix, Nick Piggin, (Thu Dec 6, 9:23 pm)
Re: [patch] ext2: xip check fix, Jared Hulbert, (Thu Dec 6, 9:40 pm)
Re: [patch] ext2: xip check fix, Carsten Otte, (Fri Dec 7, 1:59 am)
Re: [patch] ext2: xip check fix, Jared Hulbert, (Fri Dec 7, 2:52 am)
Re: [patch] mm: fix XIP file writes, Christian Borntraeger, (Mon Dec 10, 7:38 am)
Re: [patch] mm: fix XIP file writes, Nick Piggin, (Tue Dec 11, 9:03 pm)
Re: [patch] rewrite rd, Matthew Wilcox, (Mon Jan 14, 9:47 am)
Re: [patch] rewrite rd, Jens Axboe, (Mon Jan 14, 10:21 am)