Results 1 to 1 of 1
Enjoy an ad free experience by logging in. Not a member yet? Register.
- Join Date
- Aug 2013
Embedded Linux Kernel Networking issue - skb headroom values
Anaysis of the skb buffer shows a headroom of 2 bytes. Sometimes the headroom value of two bytes is zero and sometimes it isn't.
In calling alloc_buffer(), skb_reserve(skb, 2), skb_put() and then csum_and_copy_from_user(), the later sometimes returns -EFAULT (-14) which seems to be bad address and sometimes it succeeds.
I believe the failure is because it sometimes (possibly the first time) expects a specific value in the headroom (the data portion is always the same, it is a ping ICMP message). If anyone understands exactly what the headroom is supposed to contain and from where please advise.
Thank you for your help in advance.