diff options
Diffstat (limited to 'fs/sysfs/bin.c')
-rw-r--r-- | fs/sysfs/bin.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c index 07703d3ff4a1..93e0c0281d45 100644 --- a/fs/sysfs/bin.c +++ b/fs/sysfs/bin.c | |||
@@ -234,7 +234,7 @@ static int bin_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
234 | return ret; | 234 | return ret; |
235 | } | 235 | } |
236 | 236 | ||
237 | static int bin_page_mkwrite(struct vm_area_struct *vma, struct page *page) | 237 | static int bin_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) |
238 | { | 238 | { |
239 | struct file *file = vma->vm_file; | 239 | struct file *file = vma->vm_file; |
240 | struct bin_buffer *bb = file->private_data; | 240 | struct bin_buffer *bb = file->private_data; |
@@ -242,15 +242,15 @@ static int bin_page_mkwrite(struct vm_area_struct *vma, struct page *page) | |||
242 | int ret; | 242 | int ret; |
243 | 243 | ||
244 | if (!bb->vm_ops) | 244 | if (!bb->vm_ops) |
245 | return -EINVAL; | 245 | return VM_FAULT_SIGBUS; |
246 | 246 | ||
247 | if (!bb->vm_ops->page_mkwrite) | 247 | if (!bb->vm_ops->page_mkwrite) |
248 | return 0; | 248 | return 0; |
249 | 249 | ||
250 | if (!sysfs_get_active_two(attr_sd)) | 250 | if (!sysfs_get_active_two(attr_sd)) |
251 | return -EINVAL; | 251 | return VM_FAULT_SIGBUS; |
252 | 252 | ||
253 | ret = bb->vm_ops->page_mkwrite(vma, page); | 253 | ret = bb->vm_ops->page_mkwrite(vma, vmf); |
254 | 254 | ||
255 | sysfs_put_active_two(attr_sd); | 255 | sysfs_put_active_two(attr_sd); |
256 | return ret; | 256 | return ret; |