Searched hist:"455302 d1c9ae9318660aaeb9748a01ff414c9741" (Results 1 – 4 of 4) sorted by relevance
/openbmc/linux/net/xdp/ |
H A D | xdp_umem.h | diff 455302d1c9ae9318660aaeb9748a01ff414c9741 Fri Jun 28 03:04:07 CDT 2019 Ilya Maximets <i.maximets@samsung.com> xdp: fix hang while unregistering device bound to xdp socket
Device that bound to XDP socket will not have zero refcount until the userspace application will not close it. This leads to hang inside 'netdev_wait_allrefs()' if device unregistering requested:
# ip link del p1 < hang on recvmsg on netlink socket >
# ps -x | grep ip 5126 pts/0 D+ 0:00 ip link del p1
# journalctl -b
Jun 05 07:19:16 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1
Jun 05 07:19:27 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1 ...
Fix that by implementing NETDEV_UNREGISTER event notification handler to properly clean up all the resources and unref device.
This should also allow socket killing via ss(8) utility.
Fixes: 965a99098443 ("xsk: add support for bind for Rx") Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
|
H A D | xdp_umem.c | diff 455302d1c9ae9318660aaeb9748a01ff414c9741 Fri Jun 28 03:04:07 CDT 2019 Ilya Maximets <i.maximets@samsung.com> xdp: fix hang while unregistering device bound to xdp socket
Device that bound to XDP socket will not have zero refcount until the userspace application will not close it. This leads to hang inside 'netdev_wait_allrefs()' if device unregistering requested:
# ip link del p1 < hang on recvmsg on netlink socket >
# ps -x | grep ip 5126 pts/0 D+ 0:00 ip link del p1
# journalctl -b
Jun 05 07:19:16 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1
Jun 05 07:19:27 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1 ...
Fix that by implementing NETDEV_UNREGISTER event notification handler to properly clean up all the resources and unref device.
This should also allow socket killing via ss(8) utility.
Fixes: 965a99098443 ("xsk: add support for bind for Rx") Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
|
H A D | xsk.c | diff 455302d1c9ae9318660aaeb9748a01ff414c9741 Fri Jun 28 03:04:07 CDT 2019 Ilya Maximets <i.maximets@samsung.com> xdp: fix hang while unregistering device bound to xdp socket
Device that bound to XDP socket will not have zero refcount until the userspace application will not close it. This leads to hang inside 'netdev_wait_allrefs()' if device unregistering requested:
# ip link del p1 < hang on recvmsg on netlink socket >
# ps -x | grep ip 5126 pts/0 D+ 0:00 ip link del p1
# journalctl -b
Jun 05 07:19:16 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1
Jun 05 07:19:27 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1 ...
Fix that by implementing NETDEV_UNREGISTER event notification handler to properly clean up all the resources and unref device.
This should also allow socket killing via ss(8) utility.
Fixes: 965a99098443 ("xsk: add support for bind for Rx") Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
|
/openbmc/linux/include/net/ |
H A D | xdp_sock.h | diff 455302d1c9ae9318660aaeb9748a01ff414c9741 Fri Jun 28 03:04:07 CDT 2019 Ilya Maximets <i.maximets@samsung.com> xdp: fix hang while unregistering device bound to xdp socket
Device that bound to XDP socket will not have zero refcount until the userspace application will not close it. This leads to hang inside 'netdev_wait_allrefs()' if device unregistering requested:
# ip link del p1 < hang on recvmsg on netlink socket >
# ps -x | grep ip 5126 pts/0 D+ 0:00 ip link del p1
# journalctl -b
Jun 05 07:19:16 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1
Jun 05 07:19:27 kernel: unregister_netdevice: waiting for p1 to become free. Usage count = 1 ...
Fix that by implementing NETDEV_UNREGISTER event notification handler to properly clean up all the resources and unref device.
This should also allow socket killing via ss(8) utility.
Fixes: 965a99098443 ("xsk: add support for bind for Rx") Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
|