|
@@ -230,7 +230,20 @@ int try_to_munlock(struct page *);
|
|
|
/*
|
|
|
* Called by memory-failure.c to kill processes.
|
|
|
*/
|
|
|
-struct anon_vma *page_lock_anon_vma(struct page *page);
|
|
|
+struct anon_vma *__page_lock_anon_vma(struct page *page);
|
|
|
+
|
|
|
+static inline struct anon_vma *page_lock_anon_vma(struct page *page)
|
|
|
+{
|
|
|
+ struct anon_vma *anon_vma;
|
|
|
+
|
|
|
+ __cond_lock(RCU, anon_vma = __page_lock_anon_vma(page));
|
|
|
+
|
|
|
+ /* (void) is needed to make gcc happy */
|
|
|
+ (void) __cond_lock(&anon_vma->root->lock, anon_vma);
|
|
|
+
|
|
|
+ return anon_vma;
|
|
|
+}
|
|
|
+
|
|
|
void page_unlock_anon_vma(struct anon_vma *anon_vma);
|
|
|
int page_mapped_in_vma(struct page *page, struct vm_area_struct *vma);
|
|
|
|