• Paul Gortmaker's avatar
    sparc32: make copy_to/from_user_page() usable from modular code · a56b072f
    Paul Gortmaker authored
    While copy_to/from_user_page() users are uncommon, there is one in
    drivers/staging/lustre/lustre/libcfs/linux/linux-curproc.c which leads
    to the following:
    
    ERROR: "sparc32_cachetlb_ops" [drivers/staging/lustre/lustre/libcfs/libcfs.ko] undefined!
    
    during routine allmodconfig build coverage.  The reason this happens
    is as follows:
    
    In arch/sparc/include/asm/cacheflush_32.h we have:
    
     #define flush_cache_page(vma,addr,pfn) \
            sparc32_cachetlb_ops->cache_page(vma, addr)
    
     #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
            do {                                                    \
                    flush_cache_page(vma, vaddr, page_to_pfn(page));\
                    memcpy(dst, src, len);                          \
            } while (0)
     #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
            do {                                                    \
                    flush_cache_page(vma, vaddr, page_to_pfn(page));\
                    memcpy(dst, src, len);                          \
            } while (0)
    
    However, sparc32_cachetlb_ops isn't exported and hence the error.
    Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a56b072f
srmmu.c 49.2 KB