On 02/05/2018 07:17 PM, John Fastabend wrote:
> A set of fixes for sockmap to resolve programs referencing sockmaps
> and closing without deleting all entries in the map and/or not detaching
> BPF programs attached to the map. Both leaving entries in the map and
> not detaching programs may result in the map failing to be removed by
> BPF infrastructure due to reference counts never reaching zero.
> 
> For this we pull in the ULP infrastructure to hook into the close()
> hook of the sock layer. This seemed natural because we have additional
> sockmap features (to add support for TX hooks) that will also use the
> ULP infrastructure. This allows us to cleanup entries in the map when
> socks are closed() and avoid trying to get the sk_state_change() hook
> to fire in all cases.
> 
> The second issue resolved here occurs when users don't detach
> programs. The gist is a refcnt issue resolved by implementing the
> release callback. See patch for details.
> 
> For testing I ran both sample/sockmap and selftests bpf/test_maps.c.
> Dave Watson ran TLS test suite on v1 version of the patches without
> the put_module error path change.
> 
> v4 fix missing rcu_unlock()
> v3 wrap psock reference in RCU
> v2 changes rebased onto bpf-next with small update adding module_put

Series applied to bpf tree, thanks John!

Reply via email to