Re: [PATCH] openvswitch: Orphan frags before sending to userspace via Netlink to avoid guest stall

From: Zoltan Kiss
Date: Fri Mar 07 2014 - 07:29:50 EST


On 07/03/14 04:46, Pravin Shelar wrote:
On Thu, Mar 6, 2014 at 9:09 AM, Zoltan Kiss <zoltan.kiss@xxxxxxxxxx> wrote:
Do you have any feedback on this? I'm also adding KVM list as they might be
interested in this.

Zoli


On 28/02/14 19:16, Zoltan Kiss wrote:

The kernel datapath now switched to zerocopy Netlink messages, but that
also
means that the pages on frags array are sent straight to userspace. If
those
pages came outside the kernel, we have to swap them out with local copies.

Signed-off-by: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>

I do not think this is required, netlink zero copy only maps
pre-allocated buffers to user-space.
How do you mean "pre-allocated"? By who?

As far as I've seen the skb in this function came straight from the device (vif in our case), and skb_zerocopy just copy the frags to user_skb, which is sent to the userspace. Those frags contain pages from guest, and it's a bad idea to pass them to userspace: e.g if userspace dies in the meantime, what happens with them? Also, in Xen's case they are actually not mapped to userspace, so accessing them can lead to garbage.

Zoli
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/