l2tp_ppp.c (e98bdb3059cbf2b1cd4261e126b08429f64466c3) | l2tp_ppp.c (e91793bb615cf6cdd59c0b6749fe173687bb0947) |
---|---|
1/***************************************************************************** 2 * Linux PPP over L2TP (PPPoX/PPPoL2TP) Sockets 3 * 4 * PPPoX --- Generic PPP encapsulation socket family 5 * PPPoL2TP --- PPP over L2TP (RFC 2661) 6 * 7 * Version: 2.0.0 8 * --- 436 unchanged lines hidden (view full) --- 445} 446 447/* Really kill the session socket. (Called from sock_put() if 448 * refcnt == 0.) 449 */ 450static void pppol2tp_session_destruct(struct sock *sk) 451{ 452 struct l2tp_session *session = sk->sk_user_data; | 1/***************************************************************************** 2 * Linux PPP over L2TP (PPPoX/PPPoL2TP) Sockets 3 * 4 * PPPoX --- Generic PPP encapsulation socket family 5 * PPPoL2TP --- PPP over L2TP (RFC 2661) 6 * 7 * Version: 2.0.0 8 * --- 436 unchanged lines hidden (view full) --- 445} 446 447/* Really kill the session socket. (Called from sock_put() if 448 * refcnt == 0.) 449 */ 450static void pppol2tp_session_destruct(struct sock *sk) 451{ 452 struct l2tp_session *session = sk->sk_user_data; |
453 454 skb_queue_purge(&sk->sk_receive_queue); 455 skb_queue_purge(&sk->sk_write_queue); 456 |
|
453 if (session) { 454 sk->sk_user_data = NULL; 455 BUG_ON(session->magic != L2TP_SESSION_MAGIC); 456 l2tp_session_dec_refcount(session); 457 } 458} 459 460/* Called when the PPPoX socket (session) is closed. --- 22 unchanged lines hidden (view full) --- 483 session = pppol2tp_sock_to_session(sk); 484 485 /* Purge any queued data */ 486 if (session != NULL) { 487 __l2tp_session_unhash(session); 488 l2tp_session_queue_purge(session); 489 sock_put(sk); 490 } | 457 if (session) { 458 sk->sk_user_data = NULL; 459 BUG_ON(session->magic != L2TP_SESSION_MAGIC); 460 l2tp_session_dec_refcount(session); 461 } 462} 463 464/* Called when the PPPoX socket (session) is closed. --- 22 unchanged lines hidden (view full) --- 487 session = pppol2tp_sock_to_session(sk); 488 489 /* Purge any queued data */ 490 if (session != NULL) { 491 __l2tp_session_unhash(session); 492 l2tp_session_queue_purge(session); 493 sock_put(sk); 494 } |
491 skb_queue_purge(&sk->sk_receive_queue); 492 skb_queue_purge(&sk->sk_write_queue); 493 | |
494 release_sock(sk); 495 496 /* This will delete the session context via 497 * pppol2tp_session_destruct() if the socket's refcnt drops to 498 * zero. 499 */ 500 sock_put(sk); 501 --- 1345 unchanged lines hidden --- | 495 release_sock(sk); 496 497 /* This will delete the session context via 498 * pppol2tp_session_destruct() if the socket's refcnt drops to 499 * zero. 500 */ 501 sock_put(sk); 502 --- 1345 unchanged lines hidden --- |