diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-17 21:40:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-17 21:40:35 -0400 |
commit | ec0afc9311adcfb10b90e547c23250f63939f990 (patch) | |
tree | 2093d2668898a8a03f30acbfd5568e65b8c086b9 /include/linux/mm.h | |
parent | 804f18536984939622ddca60ab6b25743e0ec68d (diff) | |
parent | 776e58ea3d3735f85678155398241d2513afa67a (diff) |
Merge branch 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm
* 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (55 commits)
KVM: unbreak userspace that does not sets tss address
KVM: MMU: cleanup pte write path
KVM: MMU: introduce a common function to get no-dirty-logged slot
KVM: fix rcu usage in init_rmode_* functions
KVM: fix kvmclock regression due to missing clock update
KVM: emulator: Fix permission checking in io permission bitmap
KVM: emulator: Fix io permission checking for 64bit guest
KVM: SVM: Load %gs earlier if CONFIG_X86_32_LAZY_GS=n
KVM: x86: Remove useless regs_page pointer from kvm_lapic
KVM: improve comment on rcu use in irqfd_deassign
KVM: MMU: remove unused macros
KVM: MMU: cleanup page alloc and free
KVM: MMU: do not record gfn in kvm_mmu_pte_write
KVM: MMU: move mmu pages calculated out of mmu lock
KVM: MMU: set spte accessed bit properly
KVM: MMU: fix kvm_mmu_slot_remove_write_access dropping intermediate W bits
KVM: Start lock documentation
KVM: better readability of efer_reserved_bits
KVM: Clear async page fault hash after switching to real mode
KVM: VMX: Initialize vm86 TSS only once.
...
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r-- | include/linux/mm.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index ff83798e1c27..581703d86fbd 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -972,6 +972,10 @@ static inline int handle_mm_fault(struct mm_struct *mm, | |||
972 | extern int make_pages_present(unsigned long addr, unsigned long end); | 972 | extern int make_pages_present(unsigned long addr, unsigned long end); |
973 | extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write); | 973 | extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write); |
974 | 974 | ||
975 | int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm, | ||
976 | unsigned long start, int len, unsigned int foll_flags, | ||
977 | struct page **pages, struct vm_area_struct **vmas, | ||
978 | int *nonblocking); | ||
975 | int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, | 979 | int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, |
976 | unsigned long start, int nr_pages, int write, int force, | 980 | unsigned long start, int nr_pages, int write, int force, |
977 | struct page **pages, struct vm_area_struct **vmas); | 981 | struct page **pages, struct vm_area_struct **vmas); |
@@ -1535,6 +1539,7 @@ struct page *follow_page(struct vm_area_struct *, unsigned long address, | |||
1535 | #define FOLL_FORCE 0x10 /* get_user_pages read/write w/o permission */ | 1539 | #define FOLL_FORCE 0x10 /* get_user_pages read/write w/o permission */ |
1536 | #define FOLL_MLOCK 0x40 /* mark page as mlocked */ | 1540 | #define FOLL_MLOCK 0x40 /* mark page as mlocked */ |
1537 | #define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */ | 1541 | #define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */ |
1542 | #define FOLL_HWPOISON 0x100 /* check page is hwpoisoned */ | ||
1538 | 1543 | ||
1539 | typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, | 1544 | typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, |
1540 | void *data); | 1545 | void *data); |
@@ -1627,14 +1632,6 @@ extern int sysctl_memory_failure_recovery; | |||
1627 | extern void shake_page(struct page *p, int access); | 1632 | extern void shake_page(struct page *p, int access); |
1628 | extern atomic_long_t mce_bad_pages; | 1633 | extern atomic_long_t mce_bad_pages; |
1629 | extern int soft_offline_page(struct page *page, int flags); | 1634 | extern int soft_offline_page(struct page *page, int flags); |
1630 | #ifdef CONFIG_MEMORY_FAILURE | ||
1631 | int is_hwpoison_address(unsigned long addr); | ||
1632 | #else | ||
1633 | static inline int is_hwpoison_address(unsigned long addr) | ||
1634 | { | ||
1635 | return 0; | ||
1636 | } | ||
1637 | #endif | ||
1638 | 1635 | ||
1639 | extern void dump_page(struct page *page); | 1636 | extern void dump_page(struct page *page); |
1640 | 1637 | ||