diff options
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r-- | net/sunrpc/xprtsock.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 65e759569e48..c1fc7b20bbc1 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
@@ -995,15 +995,14 @@ static void xs_udp_data_read_skb(struct rpc_xprt *xprt, | |||
995 | u32 _xid; | 995 | u32 _xid; |
996 | __be32 *xp; | 996 | __be32 *xp; |
997 | 997 | ||
998 | repsize = skb->len - sizeof(struct udphdr); | 998 | repsize = skb->len; |
999 | if (repsize < 4) { | 999 | if (repsize < 4) { |
1000 | dprintk("RPC: impossible RPC reply size %d!\n", repsize); | 1000 | dprintk("RPC: impossible RPC reply size %d!\n", repsize); |
1001 | return; | 1001 | return; |
1002 | } | 1002 | } |
1003 | 1003 | ||
1004 | /* Copy the XID from the skb... */ | 1004 | /* Copy the XID from the skb... */ |
1005 | xp = skb_header_pointer(skb, sizeof(struct udphdr), | 1005 | xp = skb_header_pointer(skb, 0, sizeof(_xid), &_xid); |
1006 | sizeof(_xid), &_xid); | ||
1007 | if (xp == NULL) | 1006 | if (xp == NULL) |
1008 | return; | 1007 | return; |
1009 | 1008 | ||