On Tue, Jul 18, 2017 at 11:57:55AM +0200, Paolo Abeni wrote: > Eric noticed that in udp_recvmsg() we still need to access > skb->dst while processing the IP options. > Since commit 0a463c78d25b ("udp: avoid a cache miss on dequeue") > skb->dst is no more available at recvmsg() time and bad things > will happen if we enter the relevant code path. > > This commit address the issue, avoid clearing skb->dst if > any IP options are present into the relevant skb. > Since the IP CB is contained in the first skb cacheline, we can > test it to decide to leverage the consume_stateless_skb() > optimization, without measurable additional cost in the faster > path.
This doesn't seem to be enough for XFRM case. CMSG gets eaten up in selinux-testsuite[1]/inet_socket test in ipsec configuration. [1] https://github.com/SELinuxProject/selinux-testsuite.git -- Regards, Artem