conn_event.c (30df927b936b2ef21eb07dce9c141c7897609643) | conn_event.c (f2cce89a074e6d2991dddc94f6b6ebe1576b8459) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* connection-level event handling 3 * 4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 */ 7 8#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt --- 398 unchanged lines hidden (view full) --- 407{ 408 struct sk_buff *skb; 409 u32 abort_code = RX_PROTOCOL_ERROR; 410 int ret; 411 412 if (test_and_clear_bit(RXRPC_CONN_EV_CHALLENGE, &conn->events)) 413 rxrpc_secure_connection(conn); 414 | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* connection-level event handling 3 * 4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 */ 7 8#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt --- 398 unchanged lines hidden (view full) --- 407{ 408 struct sk_buff *skb; 409 u32 abort_code = RX_PROTOCOL_ERROR; 410 int ret; 411 412 if (test_and_clear_bit(RXRPC_CONN_EV_CHALLENGE, &conn->events)) 413 rxrpc_secure_connection(conn); 414 |
415 /* Process delayed ACKs whose time has come. */ 416 if (conn->flags & RXRPC_CONN_FINAL_ACK_MASK) 417 rxrpc_process_delayed_final_acks(conn, false); 418 | |
419 /* go through the conn-level event packets, releasing the ref on this 420 * connection that each one has when we've finished with it */ 421 while ((skb = skb_dequeue(&conn->rx_queue))) { 422 rxrpc_see_skb(skb, rxrpc_skb_see_conn_work); 423 ret = rxrpc_process_event(conn, skb, &abort_code); 424 switch (ret) { 425 case -EPROTO: 426 case -EKEYEXPIRED: --- 83 unchanged lines hidden (view full) --- 510 return 0; 511 512 default: 513 trace_rxrpc_rx_eproto(NULL, sp->hdr.serial, 514 tracepoint_string("bad_conn_pkt")); 515 return -EPROTO; 516 } 517} | 415 /* go through the conn-level event packets, releasing the ref on this 416 * connection that each one has when we've finished with it */ 417 while ((skb = skb_dequeue(&conn->rx_queue))) { 418 rxrpc_see_skb(skb, rxrpc_skb_see_conn_work); 419 ret = rxrpc_process_event(conn, skb, &abort_code); 420 switch (ret) { 421 case -EPROTO: 422 case -EKEYEXPIRED: --- 83 unchanged lines hidden (view full) --- 506 return 0; 507 508 default: 509 trace_rxrpc_rx_eproto(NULL, sp->hdr.serial, 510 tracepoint_string("bad_conn_pkt")); 511 return -EPROTO; 512 } 513} |
514 515/* 516 * Input a connection event. 517 */ 518void rxrpc_input_conn_event(struct rxrpc_connection *conn, struct sk_buff *skb) 519{ 520 /* Process delayed ACKs whose time has come. */ 521 if (conn->flags & RXRPC_CONN_FINAL_ACK_MASK) 522 rxrpc_process_delayed_final_acks(conn, false); 523} |
|