Lines Matching defs:mappass

459 					struct sockpass_mapping *mappass)
461 if (mappass->sock->sk != NULL) {
462 write_lock_bh(&mappass->sock->sk->sk_callback_lock);
463 mappass->sock->sk->sk_user_data = NULL;
464 mappass->sock->sk->sk_data_ready = mappass->saved_data_ready;
465 write_unlock_bh(&mappass->sock->sk->sk_callback_lock);
467 sock_release(mappass->sock);
468 flush_workqueue(mappass->wq);
469 destroy_workqueue(mappass->wq);
470 kfree(mappass);
480 struct sockpass_mapping *mappass;
495 mappass = radix_tree_lookup(&fedata->socketpass_mappings,
497 if (mappass != NULL) {
498 radix_tree_delete(&fedata->socketpass_mappings, mappass->id);
500 ret = pvcalls_back_release_passive(dev, fedata, mappass);
515 struct sockpass_mapping *mappass = container_of(
527 fedata = mappass->fedata;
534 spin_lock_irqsave(&mappass->copy_lock, flags);
535 req = &mappass->reqcopy;
537 spin_unlock_irqrestore(&mappass->copy_lock, flags);
540 spin_unlock_irqrestore(&mappass->copy_lock, flags);
545 sock->type = mappass->sock->type;
546 sock->ops = mappass->sock->ops;
548 ret = inet_accept(mappass->sock, sock, O_NONBLOCK, true);
564 map->sockpass = mappass;
580 mappass->reqcopy.cmd = 0;
585 struct sockpass_mapping *mappass = sock->sk_user_data;
591 if (mappass == NULL)
594 fedata = mappass->fedata;
595 spin_lock_irqsave(&mappass->copy_lock, flags);
596 if (mappass->reqcopy.cmd == PVCALLS_POLL) {
599 rsp->req_id = mappass->reqcopy.req_id;
600 rsp->u.poll.id = mappass->reqcopy.u.poll.id;
601 rsp->cmd = mappass->reqcopy.cmd;
604 mappass->reqcopy.cmd = 0;
605 spin_unlock_irqrestore(&mappass->copy_lock, flags);
609 notify_remote_via_irq(mappass->fedata->irq);
611 spin_unlock_irqrestore(&mappass->copy_lock, flags);
612 queue_work(mappass->wq, &mappass->register_work);
712 struct sockpass_mapping *mappass;
720 mappass = radix_tree_lookup(&fedata->socketpass_mappings,
723 if (mappass == NULL)
730 spin_lock_irqsave(&mappass->copy_lock, flags);
731 if (mappass->reqcopy.cmd != 0) {
732 spin_unlock_irqrestore(&mappass->copy_lock, flags);
737 mappass->reqcopy = *req;
738 spin_unlock_irqrestore(&mappass->copy_lock, flags);
739 queue_work(mappass->wq, &mappass->register_work);
757 struct sockpass_mapping *mappass;
768 mappass = radix_tree_lookup(&fedata->socketpass_mappings,
771 if (mappass == NULL)
778 spin_lock_irqsave(&mappass->copy_lock, flags);
779 if (mappass->reqcopy.cmd != 0) {
784 mappass->reqcopy = *req;
785 icsk = inet_csk(mappass->sock->sk);
789 mappass->reqcopy.cmd = 0;
793 spin_unlock_irqrestore(&mappass->copy_lock, flags);
799 spin_unlock_irqrestore(&mappass->copy_lock, flags);
992 struct sockpass_mapping *mappass;
1006 mappass = radix_tree_deref_slot(slot);
1007 if (!mappass)
1009 if (radix_tree_exception(mappass)) {
1010 if (radix_tree_deref_retry(mappass))
1014 mappass->id);
1015 pvcalls_back_release_passive(dev, fedata, mappass);