aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWillem de Bruijn <willemb@google.com>2016-04-07 11:44:59 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-11 15:31:33 -0400
commit4d0fc73ebe94ac984a187f21fbf4f3a1ac846f5a (patch)
treea36049a8905dbcbbd5e047e47d48682a1d9c7fef
parent1da8c681d5c122afe9fbadc02e92a0f9e3f7af44 (diff)
rxrpc: do not pull udp headers on receive
Commit e6afc8ace6dd modified the udp receive path by pulling the udp header before queuing an skbuff onto the receive queue. Rxrpc also calls skb_recv_datagram to dequeue an skb from a udp socket. Modify this receive path to also no longer expect udp headers. Fixes: e6afc8ace6dd ("udp: remove headers from UDP packets before queueing") Signed-off-by: Willem de Bruijn <willemb@google.com> Tested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/rxrpc/ar-input.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/rxrpc/ar-input.c b/net/rxrpc/ar-input.c
index 63ed75c40e29..4824a827d10d 100644
--- a/net/rxrpc/ar-input.c
+++ b/net/rxrpc/ar-input.c
@@ -612,9 +612,9 @@ int rxrpc_extract_header(struct rxrpc_skb_priv *sp, struct sk_buff *skb)
612 struct rxrpc_wire_header whdr; 612 struct rxrpc_wire_header whdr;
613 613
614 /* dig out the RxRPC connection details */ 614 /* dig out the RxRPC connection details */
615 if (skb_copy_bits(skb, sizeof(struct udphdr), &whdr, sizeof(whdr)) < 0) 615 if (skb_copy_bits(skb, 0, &whdr, sizeof(whdr)) < 0)
616 return -EBADMSG; 616 return -EBADMSG;
617 if (!pskb_pull(skb, sizeof(struct udphdr) + sizeof(whdr))) 617 if (!pskb_pull(skb, sizeof(whdr)))
618 BUG(); 618 BUG();
619 619
620 memset(sp, 0, sizeof(*sp)); 620 memset(sp, 0, sizeof(*sp));