X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Flibfs.c;h=5523bde963879d6060c9a9d19396e8a8615b40a2;hb=14b8869ff4f00f105ea76678997b4d49d27baae3;hp=6e68b700958d331e7e0c2446d54b7d9d06b8f3c2;hpb=81f8320f624a785d77443ace83391d0fdee695f6;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; }