Lines Matching refs:sfd
278 static int __shm_open(struct shm_file_data *sfd)
282 shp = shm_lock(sfd->ns, sfd->id);
287 if (shp->shm_file != sfd->file) {
304 struct shm_file_data *sfd = shm_file_data(file);
308 if (sfd->vm_ops->open)
309 sfd->vm_ops->open(vma);
311 err = __shm_open(sfd);
368 static void __shm_close(struct shm_file_data *sfd)
371 struct ipc_namespace *ns = sfd->ns;
375 shp = shm_lock(ns, sfd->id);
398 struct shm_file_data *sfd = shm_file_data(file);
401 if (sfd->vm_ops->close)
402 sfd->vm_ops->close(vma);
404 __shm_close(sfd);
537 struct shm_file_data *sfd = shm_file_data(file);
539 return sfd->vm_ops->fault(vmf);
545 struct shm_file_data *sfd = shm_file_data(file);
547 if (sfd->vm_ops->may_split)
548 return sfd->vm_ops->may_split(vma, addr);
556 struct shm_file_data *sfd = shm_file_data(file);
558 if (sfd->vm_ops->pagesize)
559 return sfd->vm_ops->pagesize(vma);
568 struct shm_file_data *sfd = shm_file_data(file);
571 if (sfd->vm_ops->set_policy)
572 err = sfd->vm_ops->set_policy(vma, new);
580 struct shm_file_data *sfd = shm_file_data(file);
583 if (sfd->vm_ops->get_policy)
584 pol = sfd->vm_ops->get_policy(vma, addr);
594 struct shm_file_data *sfd = shm_file_data(file);
602 ret = __shm_open(sfd);
606 ret = call_mmap(sfd->file, vma);
608 __shm_close(sfd);
611 sfd->vm_ops = vma->vm_ops;
613 WARN_ON(!sfd->vm_ops->fault);
621 struct shm_file_data *sfd = shm_file_data(file);
623 put_ipc_ns(sfd->ns);
624 fput(sfd->file);
626 kfree(sfd);
632 struct shm_file_data *sfd = shm_file_data(file);
634 if (!sfd->file->f_op->fsync)
636 return sfd->file->f_op->fsync(sfd->file, start, end, datasync);
642 struct shm_file_data *sfd = shm_file_data(file);
644 if (!sfd->file->f_op->fallocate)
646 return sfd->file->f_op->fallocate(file, mode, offset, len);
653 struct shm_file_data *sfd = shm_file_data(file);
655 return sfd->file->f_op->get_unmapped_area(sfd->file, addr, len,
1534 struct shm_file_data *sfd;
1624 sfd = kzalloc(sizeof(*sfd), GFP_KERNEL);
1625 if (!sfd) {
1636 kfree(sfd);
1641 sfd->id = shp->shm_perm.id;
1642 sfd->ns = get_ipc_ns(ns);
1643 sfd->file = base;
1644 sfd->vm_ops = NULL;
1645 file->private_data = sfd;