diff options
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/memory.c b/mm/memory.c index e2bb51b6242e..b1dff75640b7 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -2196,6 +2196,10 @@ static vm_fault_t do_page_mkwrite(struct vm_fault *vmf) | |||
2196 | 2196 | ||
2197 | vmf->flags = FAULT_FLAG_WRITE|FAULT_FLAG_MKWRITE; | 2197 | vmf->flags = FAULT_FLAG_WRITE|FAULT_FLAG_MKWRITE; |
2198 | 2198 | ||
2199 | if (vmf->vma->vm_file && | ||
2200 | IS_SWAPFILE(vmf->vma->vm_file->f_mapping->host)) | ||
2201 | return VM_FAULT_SIGBUS; | ||
2202 | |||
2199 | ret = vmf->vma->vm_ops->page_mkwrite(vmf); | 2203 | ret = vmf->vma->vm_ops->page_mkwrite(vmf); |
2200 | /* Restore original flags so that caller is not surprised */ | 2204 | /* Restore original flags so that caller is not surprised */ |
2201 | vmf->flags = old_flags; | 2205 | vmf->flags = old_flags; |