X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fhighmem.h;h=2a7e6c65c882f6b17b1d4037ed1c8a25637d7455;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=7153aef34d5c21dfd21fe9723b698bc0528e631d;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 7153aef34..2a7e6c65c 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -9,8 +9,6 @@ #ifdef CONFIG_HIGHMEM -extern struct page *highmem_start_page; - #include /* declarations for linux/mm/highmem.c */ @@ -44,6 +42,19 @@ static inline void clear_user_highpage(struct page *page, unsigned long vaddr) smp_wmb(); } +#ifndef __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE +static inline struct page * +alloc_zeroed_user_highpage(struct vm_area_struct *vma, unsigned long vaddr) +{ + struct page *page = alloc_page_vma(GFP_HIGHUSER, vma, vaddr); + + if (page) + clear_user_highpage(page, vaddr); + + return page; +} +#endif + static inline void clear_highpage(struct page *page) { void *kaddr = kmap_atomic(page, KM_USER0);