[12/16] export __get_user_pages_fast() function
From: Greg KH <gregkh@suse.de>
Date: 2011-12-16 20:54:49
Also in:
lkml
2.6.32-longterm review patch. If anyone has any objections, please let me know. ------------------ From: Xiao Guangrong <redacted> commit 45888a0c6edc305495b6bd72a30e66bc40b324c6 upstream. Backport for stable kernel v2.6.32.y to v2.6.36.y. Needed for next patch: oprofile, x86: Fix nmi-unsafe callgraph support This function is used by KVM to pin process's page in the atomic context. Define the 'weak' function to avoid other architecture not support it Acked-by: Nick Piggin <redacted> Signed-off-by: Xiao Guangrong <redacted> Signed-off-by: Marcelo Tosatti <redacted> Signed-off-by: Robert Richter <redacted> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- mm/util.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
--- a/mm/util.c
+++ b/mm/util.c@@ -233,6 +233,19 @@ void arch_pick_mmap_layout(struct mm_str } #endif +/* + * Like get_user_pages_fast() except its IRQ-safe in that it won't fall + * back to the regular GUP. + * If the architecture not support this fucntion, simply return with no + * page pinned + */ +int __attribute__((weak)) __get_user_pages_fast(unsigned long start, + int nr_pages, int write, struct page **pages) +{ + return 0; +} +EXPORT_SYMBOL_GPL(__get_user_pages_fast); + /** * get_user_pages_fast() - pin user pages in memory * @start: starting user address