On Mon, 2015-09-21 at 19:49 -0700, Pravin Shelar wrote: > On Mon, Sep 21, 2015 at 7:14 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > > On Mon, 2015-09-21 at 18:04 -0700, Pravin Shelar wrote: > >> On Mon, Sep 21, 2015 at 5:14 PM, David Miller <da...@davemloft.net> wrote: > >> > From: Pravin B Shelar <pshe...@nicira.com> > >> > Date: Sun, 20 Sep 2015 23:53:17 -0700 > >> > > >> >> VXLAN device can receive skb with checksum partial. But the checksum > >> >> offset could be in outer header which is pulled on receive. > >> > > >> > Such a scenerio is a bug. > >> > > >> > Anything that pulls off a header should use a utility function such > >> > as skb_pull_rcsum() or skb_postpull_rcsum() to make sure this gets > >> > fixed up properly. > >> > >> skb_postpull_rcsum() does not change checksum-offset. vxlan receive > >> already calls this function. > > > > Then the bug is here. > > > > Otherwise we might have to 'fix' other places. > > > I posted a patch to fix skb_postpull_rcsum() to handle this case. But > that was not accepted. > https://patchwork.ozlabs.org/patch/512625/ > > And specific solution for skb_checksum_help() was suggested. > > http://marc.info/?l=linux-netdev&m=144108078931774&w=2
If we pull a header where the csum is, then for sure CHECKSUM_PARTIAL becomes buggy and void. Tom was not advocating doing an operation (skb_postpull_rcsum()) leaving skb in a wrong state. We should fix callers that are pulling header in such a way. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html