X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=mm%2Fksm.c;h=168b980ac9195860b1a3b54522e0532d76be5285;hp=310544a379ae9c7b886b3b50815e5f3d5a991ba8;hb=3cc0730eef779b6d7e27d6dfa5bd81f76a2baa0c;hpb=2380078cdb7e6d520e33dcf834e0be979d542e48 diff --git a/mm/ksm.c b/mm/ksm.c index 310544a379ae..168b980ac919 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -238,7 +238,8 @@ static inline struct rmap_item *alloc_rmap_item(void) { struct rmap_item *rmap_item; - rmap_item = kmem_cache_zalloc(rmap_item_cache, GFP_KERNEL); + rmap_item = kmem_cache_zalloc(rmap_item_cache, GFP_KERNEL | + __GFP_NORETRY | __GFP_NOWARN); if (rmap_item) ksm_rmap_items++; return rmap_item; @@ -342,7 +343,7 @@ static int break_ksm(struct vm_area_struct *vma, unsigned long addr) else ret = VM_FAULT_WRITE; put_page(page); - } while (!(ret & (VM_FAULT_WRITE | VM_FAULT_SIGBUS | VM_FAULT_OOM))); + } while (!(ret & (VM_FAULT_WRITE | VM_FAULT_SIGBUS | VM_FAULT_SIGSEGV | VM_FAULT_OOM))); /* * We must loop because handle_mm_fault() may back out if there's * any difficulty e.g. if pte accessed bit gets updated concurrently.