On Fri, Jan 10, 2020 at 11:50:19AM +0100, Jakub Sitnicki wrote: > sk_user_data can hold a pointer to an object that is not intended to be > shared between the parent socket and the child that gets a pointer copy on > clone. This is the case when sk_user_data points at reference-counted > object, like struct sk_psock. > > One way to resolve it is to tag the pointer with a no-copy flag by > repurposing its lowest bit. Based on the bit-flag value we clear the child > sk_user_data pointer after cloning the parent socket. LGTM. One nit, WARN_ON_ONCE should be enough for all the cases if they would ever happen. Having continuous splat on the same thing is not necessary useful while it could be quite distributing for people capture/log them. Acked-by: Martin KaFai Lau <kafai@xxxxxx>