On Fri, 2016-10-07 at 16:14 +0200, Abdelrhman Ahmed wrote:
When hardware header is added without using cached one, neigh_resolve_output
and neigh_connected_output reset skb to network header before adding it.
When cached one is used, neigh_hh_output does not reset the skb to network
header.
The fix is to reset skb to network header before adding cached hardware header
to keep the behavior consistent in all cases.
What is the issue you want to fix exactly ?
Please describe the use case.
I highly suggest you take a look at commit
e1f165032c8bade3a6bdf546f8faf61fda4dd01c
("net: Fix skb_under_panic oops in neigh_resolve_output")
Otherwise, your fix is in fact adding a critical bug.