diff options
author | Espen Fjellvær Olsen <espen@mrfjo.org> | 2013-01-08 21:30:59 +0100 |
---|---|---|
committer | Espen Fjellvær Olsen <espen@mrfjo.org> | 2013-01-09 18:46:56 +0100 |
commit | 49017aa9e80dbdb44cbfe8f4aa3b5edd9466705c (patch) | |
tree | 8a22b8d121d4ce41c2f4a590eb9fbf186af5f368 /include/linux/mm.h | |
parent | 5528b5d5c43f0c38903db0e672581ec4176ae523 (diff) | |
download | kernel_samsung_smdk4412-49017aa9e80dbdb44cbfe8f4aa3b5edd9466705c.zip kernel_samsung_smdk4412-49017aa9e80dbdb44cbfe8f4aa3b5edd9466705c.tar.gz kernel_samsung_smdk4412-49017aa9e80dbdb44cbfe8f4aa3b5edd9466705c.tar.bz2 |
Update to the exynos-mem security issue from Samsung I9300 Update7
p2: includes the secmem changes as well as Andreis MFC addition as well
Change-Id: I144c2b42586f07b737fba09742315683cbab36ef
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r-- | include/linux/mm.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index 2ce8e03..48f51d8 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -154,6 +154,7 @@ extern pgprot_t protection_map[16]; #define FAULT_FLAG_ALLOW_RETRY 0x08 /* Retry fault if blocking */ #define FAULT_FLAG_RETRY_NOWAIT 0x10 /* Don't drop mmap_sem and wait when retrying */ #define FAULT_FLAG_KILLABLE 0x20 /* The fault task is in SIGKILL killable region */ +#define FAULT_FLAG_NO_CMA 0x80 /* don't use CMA pages */ /* * This interface is used by x86 PAT code to identify a pfn mapping that is @@ -996,6 +997,16 @@ int __get_user_pages(struct task_struct *tsk, struct mm_struct *mm, int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, unsigned long start, int nr_pages, int write, int force, struct page **pages, struct vm_area_struct **vmas); + +#ifdef CONFIG_DMA_CMA +int get_user_pages_nocma(struct task_struct *tsk, struct mm_struct *mm, + unsigned long start, int nr_pages, int write, int force, + struct page **pages, struct vm_area_struct **vmas); +#else +#define get_user_pages_nocma(tsk, mm, start, nr_pages, wr, force, pgs, vmas) \ + get_user_pages(tsk, mm, start, nr_pages, wr, force, pgs, vmas) +#endif + int get_user_pages_fast(unsigned long start, int nr_pages, int write, struct page **pages); struct page *get_dump_page(unsigned long addr); @@ -1560,6 +1571,7 @@ struct page *follow_page(struct vm_area_struct *, unsigned long address, #define FOLL_MLOCK 0x40 /* mark page as mlocked */ #define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */ #define FOLL_HWPOISON 0x100 /* check page is hwpoisoned */ +#define FOLL_NO_CMA 0x200 /* avoid putting pages to CMA regions */ typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, void *data); |