]> git.baikalelectronics.ru Git - kernel.git/commit
xsk: simplify AF_XDP socket teardown
authorBjörn Töpel <bjorn.topel@intel.com>
Wed, 19 Dec 2018 12:09:31 +0000 (13:09 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 19 Dec 2018 20:45:17 +0000 (21:45 +0100)
commita6d166d5d6ad3ced1bc814be98b04a5ecda2d41d
treef902b59f4d749d997c415bfd998b76f3d65af2ba
parent2548382c5ff445a93ae9367168c4282c79d0fff4
xsk: simplify AF_XDP socket teardown

Prior this commit, when the struct socket object was being released,
the UMEM did not have its reference count decreased. Instead, this was
done in the struct sock sk_destruct function.

There is no reason to keep the UMEM reference around when the socket
is being orphaned, so in this patch the xdp_put_mem is called in the
xsk_release function. This results in that the xsk_destruct function
can be removed!

Note that, it still holds that a struct xsk_sock reference might still
linger in the XSKMAP after the UMEM is released, e.g. if a user does
not clear the XSKMAP prior to closing the process. This sock will be
in a "released" zombie like state, until the XSKMAP is removed.

Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
net/xdp/xsk.c