X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Flibfs.c;h=5523bde963879d6060c9a9d19396e8a8615b40a2;hb=ce634ab28e7dbcc13ebe6e7bc5bc7de4f8def4c8;hp=6e68b700958d331e7e0c2446d54b7d9d06b8f3c2;hpb=2596110a3994593f6aa3e2bb76345ad4791b1a14;p=linux-2.6 diff --git a/fs/libfs.c b/fs/libfs.c index 6e68b70095..5523bde963 100644 --- a/fs/libfs.c +++ b/fs/libfs.c @@ -341,13 +341,10 @@ int simple_prepare_write(struct file *file, struct page *page, unsigned from, unsigned to) { if (!PageUptodate(page)) { - if (to - from != PAGE_CACHE_SIZE) { - void *kaddr = kmap_atomic(page, KM_USER0); - memset(kaddr, 0, from); - memset(kaddr + to, 0, PAGE_CACHE_SIZE - to); - flush_dcache_page(page); - kunmap_atomic(kaddr, KM_USER0); - } + if (to - from != PAGE_CACHE_SIZE) + zero_user_segments(page, + 0, from, + to, PAGE_CACHE_SIZE); } return 0; }