diff options
Diffstat (limited to 'ipc/shm.c')
-rw-r--r-- | ipc/shm.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -224,13 +224,12 @@ static void shm_close(struct vm_area_struct *vma) | |||
224 | mutex_unlock(&shm_ids(ns).mutex); | 224 | mutex_unlock(&shm_ids(ns).mutex); |
225 | } | 225 | } |
226 | 226 | ||
227 | static struct page *shm_nopage(struct vm_area_struct *vma, | 227 | static int shm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) |
228 | unsigned long address, int *type) | ||
229 | { | 228 | { |
230 | struct file *file = vma->vm_file; | 229 | struct file *file = vma->vm_file; |
231 | struct shm_file_data *sfd = shm_file_data(file); | 230 | struct shm_file_data *sfd = shm_file_data(file); |
232 | 231 | ||
233 | return sfd->vm_ops->nopage(vma, address, type); | 232 | return sfd->vm_ops->fault(vma, vmf); |
234 | } | 233 | } |
235 | 234 | ||
236 | #ifdef CONFIG_NUMA | 235 | #ifdef CONFIG_NUMA |
@@ -269,6 +268,7 @@ static int shm_mmap(struct file * file, struct vm_area_struct * vma) | |||
269 | if (ret != 0) | 268 | if (ret != 0) |
270 | return ret; | 269 | return ret; |
271 | sfd->vm_ops = vma->vm_ops; | 270 | sfd->vm_ops = vma->vm_ops; |
271 | BUG_ON(!sfd->vm_ops->fault); | ||
272 | vma->vm_ops = &shm_vm_ops; | 272 | vma->vm_ops = &shm_vm_ops; |
273 | shm_open(vma); | 273 | shm_open(vma); |
274 | 274 | ||
@@ -327,7 +327,7 @@ static const struct file_operations shm_file_operations = { | |||
327 | static struct vm_operations_struct shm_vm_ops = { | 327 | static struct vm_operations_struct shm_vm_ops = { |
328 | .open = shm_open, /* callback for a new vm-area open */ | 328 | .open = shm_open, /* callback for a new vm-area open */ |
329 | .close = shm_close, /* callback for when the vm-area is released */ | 329 | .close = shm_close, /* callback for when the vm-area is released */ |
330 | .nopage = shm_nopage, | 330 | .fault = shm_fault, |
331 | #if defined(CONFIG_NUMA) | 331 | #if defined(CONFIG_NUMA) |
332 | .set_policy = shm_set_policy, | 332 | .set_policy = shm_set_policy, |
333 | .get_policy = shm_get_policy, | 333 | .get_policy = shm_get_policy, |