diff options
Diffstat (limited to 'mm/gup.c')
| -rw-r--r-- | mm/gup.c | 4 |
1 files changed, 2 insertions, 2 deletions
| @@ -296,7 +296,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma, | |||
| 296 | return -ENOMEM; | 296 | return -ENOMEM; |
| 297 | if (ret & (VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE)) | 297 | if (ret & (VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE)) |
| 298 | return *flags & FOLL_HWPOISON ? -EHWPOISON : -EFAULT; | 298 | return *flags & FOLL_HWPOISON ? -EHWPOISON : -EFAULT; |
| 299 | if (ret & VM_FAULT_SIGBUS) | 299 | if (ret & (VM_FAULT_SIGBUS | VM_FAULT_SIGSEGV)) |
| 300 | return -EFAULT; | 300 | return -EFAULT; |
| 301 | BUG(); | 301 | BUG(); |
| 302 | } | 302 | } |
| @@ -571,7 +571,7 @@ int fixup_user_fault(struct task_struct *tsk, struct mm_struct *mm, | |||
| 571 | return -ENOMEM; | 571 | return -ENOMEM; |
| 572 | if (ret & (VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE)) | 572 | if (ret & (VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE)) |
| 573 | return -EHWPOISON; | 573 | return -EHWPOISON; |
| 574 | if (ret & VM_FAULT_SIGBUS) | 574 | if (ret & (VM_FAULT_SIGBUS | VM_FAULT_SIGSEGV)) |
| 575 | return -EFAULT; | 575 | return -EFAULT; |
| 576 | BUG(); | 576 | BUG(); |
| 577 | } | 577 | } |
