Lines Matching refs:sock
13 #include <net/sock.h>
57 struct socket *sock;
70 void (*saved_data_ready)(struct sock *sk);
77 struct socket *sock;
83 void (*saved_data_ready)(struct sock *sk);
116 spin_lock_irqsave(&map->sock->sk->sk_receive_queue.lock, flags);
117 if (skb_queue_empty(&map->sock->sk->sk_receive_queue)) {
119 spin_unlock_irqrestore(&map->sock->sk->sk_receive_queue.lock,
123 spin_unlock_irqrestore(&map->sock->sk->sk_receive_queue.lock, flags);
142 ret = inet_recvmsg(map->sock, &msg, wanted, MSG_DONTWAIT);
148 spin_lock_irqsave(&map->sock->sk->sk_receive_queue.lock, flags);
149 if (ret > 0 && !skb_queue_empty(&map->sock->sk->sk_receive_queue))
151 spin_unlock_irqrestore(&map->sock->sk->sk_receive_queue.lock, flags);
201 ret = inet_sendmsg(map->sock, &msg, size);
287 static void pvcalls_sk_state_change(struct sock *sock)
289 struct sock_mapping *map = sock->sk_user_data;
298 static void pvcalls_sk_data_ready(struct sock *sock)
300 struct sock_mapping *map = sock->sk_user_data;
317 struct socket *sock)
325 sock_release(sock);
330 map->sock = sock;
372 write_lock_bh(&map->sock->sk->sk_callback_lock);
373 map->saved_data_ready = map->sock->sk->sk_data_ready;
374 map->sock->sk->sk_user_data = map;
375 map->sock->sk->sk_data_ready = pvcalls_sk_data_ready;
376 map->sock->sk->sk_state_change = pvcalls_sk_state_change;
377 write_unlock_bh(&map->sock->sk->sk_callback_lock);
393 struct socket *sock;
405 ret = sock_create(AF_INET, SOCK_STREAM, 0, &sock);
408 ret = inet_stream_connect(sock, sa, req->u.connect.len, 0);
410 sock_release(sock);
418 sock);
437 if (map->sock->sk != NULL) {
438 write_lock_bh(&map->sock->sk->sk_callback_lock);
439 map->sock->sk->sk_user_data = NULL;
440 map->sock->sk->sk_data_ready = map->saved_data_ready;
441 write_unlock_bh(&map->sock->sk->sk_callback_lock);
451 sock_release(map->sock);
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);
520 struct socket *sock;
542 sock = sock_alloc();
543 if (sock == NULL)
545 sock->type = mappass->sock->type;
546 sock->ops = mappass->sock->ops;
548 ret = inet_accept(mappass->sock, sock, O_NONBLOCK, true);
550 sock_release(sock);
558 sock);
583 static void pvcalls_pass_sk_data_ready(struct sock *sock)
585 struct sockpass_mapping *mappass = sock->sk_user_data;
640 ret = sock_create(AF_INET, SOCK_STREAM, 0, &map->sock);
644 ret = inet_bind(map->sock, (struct sockaddr *)&req->u.bind.addr,
659 write_lock_bh(&map->sock->sk->sk_callback_lock);
660 map->saved_data_ready = map->sock->sk->sk_data_ready;
661 map->sock->sk->sk_user_data = map;
662 map->sock->sk->sk_data_ready = pvcalls_pass_sk_data_ready;
663 write_unlock_bh(&map->sock->sk->sk_callback_lock);
667 if (map && map->sock)
668 sock_release(map->sock);
697 ret = inet_listen(map->sock, req->u.listen.backlog);
785 icsk = inet_csk(mappass->sock->sk);
905 if (map == NULL || map->sock == NULL || map->sock->sk == NULL ||
906 map->sock->sk->sk_user_data != map) {