input.c (987db9f7cd1e77e611b770a569068c43949aa6fd) | input.c (d0d5c0cd1e711c98703f3544c1e6fc1372898de5) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* RxRPC packet reception 3 * 4 * Copyright (C) 2007, 2016 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 */ 7 8#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt --- 1235 unchanged lines hidden (view full) --- 1244 break; 1245 1246 case RXRPC_PACKET_TYPE_DATA: 1247 if (sp->hdr.callNumber == 0 || 1248 sp->hdr.seq == 0) 1249 goto bad_message; 1250 if (!rxrpc_validate_data(skb)) 1251 goto bad_message; | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* RxRPC packet reception 3 * 4 * Copyright (C) 2007, 2016 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 */ 7 8#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt --- 1235 unchanged lines hidden (view full) --- 1244 break; 1245 1246 case RXRPC_PACKET_TYPE_DATA: 1247 if (sp->hdr.callNumber == 0 || 1248 sp->hdr.seq == 0) 1249 goto bad_message; 1250 if (!rxrpc_validate_data(skb)) 1251 goto bad_message; |
1252 1253 /* Unshare the packet so that it can be modified for in-place 1254 * decryption. 1255 */ 1256 if (sp->hdr.securityIndex != 0) { 1257 struct sk_buff *nskb = skb_unshare(skb, GFP_ATOMIC); 1258 if (!nskb) { 1259 rxrpc_eaten_skb(skb, rxrpc_skb_unshared_nomem); 1260 goto out; 1261 } 1262 1263 if (nskb != skb) { 1264 rxrpc_eaten_skb(skb, rxrpc_skb_received); 1265 rxrpc_new_skb(skb, rxrpc_skb_unshared); 1266 skb = nskb; 1267 sp = rxrpc_skb(skb); 1268 } 1269 } |
|
1252 break; 1253 1254 case RXRPC_PACKET_TYPE_CHALLENGE: 1255 if (rxrpc_to_server(sp)) 1256 goto discard; 1257 break; 1258 case RXRPC_PACKET_TYPE_RESPONSE: 1259 if (rxrpc_to_client(sp)) --- 167 unchanged lines hidden --- | 1270 break; 1271 1272 case RXRPC_PACKET_TYPE_CHALLENGE: 1273 if (rxrpc_to_server(sp)) 1274 goto discard; 1275 break; 1276 case RXRPC_PACKET_TYPE_RESPONSE: 1277 if (rxrpc_to_client(sp)) --- 167 unchanged lines hidden --- |