• Home
  • Raw
  • Download

Lines Matching refs:sk

92 static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb);
289 struct sock *sk; in pppoe_flush_dev() local
299 sk = sk_pppox(po); in pppoe_flush_dev()
309 sock_hold(sk); in pppoe_flush_dev()
311 lock_sock(sk); in pppoe_flush_dev()
314 sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND | PPPOX_ZOMBIE)) { in pppoe_flush_dev()
315 pppox_unbind_sock(sk); in pppoe_flush_dev()
316 sk->sk_state_change(sk); in pppoe_flush_dev()
321 release_sock(sk); in pppoe_flush_dev()
322 sock_put(sk); in pppoe_flush_dev()
372 static int pppoe_rcv_core(struct sock *sk, struct sk_buff *skb) in pppoe_rcv_core() argument
374 struct pppox_sock *po = pppox_sk(sk); in pppoe_rcv_core()
385 if (sk->sk_state & PPPOX_BOUND) { in pppoe_rcv_core()
387 } else if (sk->sk_state & PPPOX_RELAY) { in pppoe_rcv_core()
388 relay_po = get_item_by_addr(sock_net(sk), in pppoe_rcv_core()
401 if (sock_queue_rcv_skb(sk, skb)) in pppoe_rcv_core()
467 struct sock *sk = sk_pppox(po); in pppoe_unbind_sock_work() local
469 lock_sock(sk); in pppoe_unbind_sock_work()
474 pppox_unbind_sock(sk); in pppoe_unbind_sock_work()
475 release_sock(sk); in pppoe_unbind_sock_work()
476 sock_put(sk); in pppoe_unbind_sock_work()
510 struct sock *sk = sk_pppox(po); in pppoe_disc_rcv() local
512 bh_lock_sock(sk); in pppoe_disc_rcv()
519 if (sock_owned_by_user(sk) == 0) { in pppoe_disc_rcv()
523 sk->sk_state = PPPOX_ZOMBIE; in pppoe_disc_rcv()
526 bh_unlock_sock(sk); in pppoe_disc_rcv()
528 sock_put(sk); in pppoe_disc_rcv()
560 struct sock *sk; in pppoe_create() local
562 sk = sk_alloc(net, PF_PPPOX, GFP_KERNEL, &pppoe_sk_proto, kern); in pppoe_create()
563 if (!sk) in pppoe_create()
566 sock_init_data(sock, sk); in pppoe_create()
571 sk->sk_backlog_rcv = pppoe_rcv_core; in pppoe_create()
572 sk->sk_state = PPPOX_NONE; in pppoe_create()
573 sk->sk_type = SOCK_STREAM; in pppoe_create()
574 sk->sk_family = PF_PPPOX; in pppoe_create()
575 sk->sk_protocol = PX_PROTO_OE; in pppoe_create()
577 INIT_WORK(&pppox_sk(sk)->proto.pppoe.padt_work, in pppoe_create()
585 struct sock *sk = sock->sk; in pppoe_release() local
590 if (!sk) in pppoe_release()
593 lock_sock(sk); in pppoe_release()
594 if (sock_flag(sk, SOCK_DEAD)) { in pppoe_release()
595 release_sock(sk); in pppoe_release()
599 po = pppox_sk(sk); in pppoe_release()
606 pppox_unbind_sock(sk); in pppoe_release()
609 sk->sk_state = PPPOX_DEAD; in pppoe_release()
611 net = sock_net(sk); in pppoe_release()
621 sock_orphan(sk); in pppoe_release()
622 sock->sk = NULL; in pppoe_release()
624 skb_queue_purge(&sk->sk_receive_queue); in pppoe_release()
625 release_sock(sk); in pppoe_release()
626 sock_put(sk); in pppoe_release()
634 struct sock *sk = sock->sk; in pppoe_connect() local
636 struct pppox_sock *po = pppox_sk(sk); in pppoe_connect()
642 lock_sock(sk); in pppoe_connect()
654 if ((sk->sk_state & PPPOX_CONNECTED) && in pppoe_connect()
660 if ((sk->sk_state & PPPOX_DEAD) && in pppoe_connect()
668 pppox_unbind_sock(sk); in pppoe_connect()
669 pn = pppoe_pernet(sock_net(sk)); in pppoe_connect()
684 sk->sk_state = PPPOX_NONE; in pppoe_connect()
690 net = sock_net(sk); in pppoe_connect()
716 po->chan.private = sk; in pppoe_connect()
726 sk->sk_state = PPPOX_CONNECTED; in pppoe_connect()
732 release_sock(sk); in pppoe_connect()
750 memcpy(&sp.sa_addr.pppoe, &pppox_sk(sock->sk)->pppoe_pa, in pppoe_getname()
763 struct sock *sk = sock->sk; in pppoe_ioctl() local
764 struct pppox_sock *po = pppox_sk(sk); in pppoe_ioctl()
771 if (!(sk->sk_state & PPPOX_CONNECTED)) in pppoe_ioctl()
785 if (!(sk->sk_state & PPPOX_CONNECTED)) in pppoe_ioctl()
812 if (sk->sk_state & (PPPOX_BOUND | PPPOX_ZOMBIE | PPPOX_DEAD)) in pppoe_ioctl()
816 if (!(sk->sk_state & PPPOX_CONNECTED)) in pppoe_ioctl()
834 relay_po = get_item_by_addr(sock_net(sk), &po->pppoe_relay); in pppoe_ioctl()
839 sk->sk_state |= PPPOX_RELAY; in pppoe_ioctl()
846 if (!(sk->sk_state & PPPOX_RELAY)) in pppoe_ioctl()
849 sk->sk_state &= ~PPPOX_RELAY; in pppoe_ioctl()
864 struct sock *sk = sock->sk; in pppoe_sendmsg() local
865 struct pppox_sock *po = pppox_sk(sk); in pppoe_sendmsg()
873 lock_sock(sk); in pppoe_sendmsg()
874 if (sock_flag(sk, SOCK_DEAD) || !(sk->sk_state & PPPOX_CONNECTED)) { in pppoe_sendmsg()
891 skb = sock_wmalloc(sk, hlen + sizeof(*ph) + total_len + in pppoe_sendmsg()
904 skb->priority = sk->sk_priority; in pppoe_sendmsg()
927 release_sock(sk); in pppoe_sendmsg()
936 static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb) in __pppoe_xmit() argument
938 struct pppox_sock *po = pppox_sk(sk); in __pppoe_xmit()
951 if (sock_flag(sk, SOCK_DEAD) || !(sk->sk_state & PPPOX_CONNECTED)) in __pppoe_xmit()
995 struct sock *sk = (struct sock *)chan->private; in pppoe_xmit() local
996 return __pppoe_xmit(sk, skb); in pppoe_xmit()
1006 struct sock *sk = sock->sk; in pppoe_recvmsg() local
1010 if (sk->sk_state & PPPOX_BOUND) { in pppoe_recvmsg()
1015 skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT, in pppoe_recvmsg()