- In case of mirroring, packet data pointer can be above skb data
pointer, since for mirroring new headers are added on top of the
original packet. This results in get_udp_port misbehavior when it
tries to make sure that the all the headers (network + transport
/part of it) are in the contiguous memory area by doing a skb pull.

Make sure that pull_len has a valid positive value before trying to
pull.

Change-Id: I140ff67d9b67ddb66f075ba6659fa6e50d9bb436