:04PM +0700, Bui Quang Minh wrote:
This adds a test to test the virtio-net rx when there is a XDP socket
bound to it. There are tests for both copy mode and zerocopy mode, both
cases when XDP program returns XDP_PASS and XDP_REDIRECT to a XDP socket.
Signed-off-by: Bui Quang Minh
Hi Bui,
have you
PM +0700, Bui Quang Minh wrote:
> > > > > This adds a test to test the virtio-net rx when there is a XDP socket
> > > > > bound to it. There are tests for both copy mode and zerocopy mode,
> > > > > both
> > > > > cases when XDP program
On 5/30/25 18:45, Maciej Fijalkowski wrote:
On Thu, May 29, 2025 at 09:29:14PM +0700, Bui Quang Minh wrote:
On 5/29/25 18:18, Maciej Fijalkowski wrote:
On Tue, May 27, 2025 at 11:19:04PM +0700, Bui Quang Minh wrote:
This adds a test to test the virtio-net rx when there is a XDP socket
bound
On Thu, May 29, 2025 at 09:29:14PM +0700, Bui Quang Minh wrote:
> On 5/29/25 18:18, Maciej Fijalkowski wrote:
> > On Tue, May 27, 2025 at 11:19:04PM +0700, Bui Quang Minh wrote:
> > > This adds a test to test the virtio-net rx when there is a XDP socket
> > > bound to i
On 5/29/25 18:18, Maciej Fijalkowski wrote:
On Tue, May 27, 2025 at 11:19:04PM +0700, Bui Quang Minh wrote:
This adds a test to test the virtio-net rx when there is a XDP socket
bound to it. There are tests for both copy mode and zerocopy mode, both
cases when XDP program returns XDP_PASS and
On Tue, May 27, 2025 at 11:19:04PM +0700, Bui Quang Minh wrote:
> This adds a test to test the virtio-net rx when there is a XDP socket
> bound to it. There are tests for both copy mode and zerocopy mode, both
> cases when XDP program returns XDP_PASS and XDP_REDIRECT to a XDP socket.
&g
On 5/29/25 00:04, ALOK TIWARI wrote:
On 27-05-2025 21:49, Bui Quang Minh wrote:
+def main():
+ with NetDrvEpEnv(__file__, nsim_test=False) as cfg:
+ cfg.bin_local = path.abspath(path.dirname(__file__)
+ + "/../../../drivers/net/hw/xsk_receive")
+ cfg
On 27-05-2025 21:49, Bui Quang Minh wrote:
+def main():
+with NetDrvEpEnv(__file__, nsim_test=False) as cfg:
+cfg.bin_local = path.abspath(path.dirname(__file__)
++ "/../../../drivers/net/hw/xsk_receive")
+cfg.bin_remote = cfg.remote.deploy(cfg.b
This adds a test to test the virtio-net rx when there is a XDP socket
bound to it. There are tests for both copy mode and zerocopy mode, both
cases when XDP program returns XDP_PASS and XDP_REDIRECT to a XDP socket.
Signed-off-by: Bui Quang Minh
---
.../selftests/drivers/net/hw/.gitignore
Handle af_unix in init_addr_loopback(). For pair creation, bind() the peer
socket to make SOCK_DGRAM connect() happy.
Reviewed-by: Jakub Sitnicki
Acked-by: John Fastabend
Signed-off-by: Michal Luczaj
---
.../selftests/bpf/prog_tests/socket_helpers.h | 29 ++
1 file
However, the
> other peer can be fast enough to accept the connection and close it
> immediately, thus moving the state to TCP_CLOSING.
>
> [...]
Here is the summary with links:
- [net] vsock: avoid timeout during connect() if the socket is closing
https://git.kernel.org/netdev
close it
immediately, thus moving the state to TCP_CLOSING.
When this happens, the peer in the vsock_connect() is properly woken up,
but since the state is not TCP_ESTABLISHED, it goes back to sleep
until the timeout expires, returning -ETIMEDOUT.
If the socket state is TCP_CLOSING, waiting for the
on and close it
> immediately, thus moving the state to TCP_CLOSING.
>
> When this happens, the peer in the vsock_connect() is properly woken up,
> but since the state is not TCP_ESTABLISHED, it goes back to sleep
> until the timeout expires, returning -ETIMEDOUT.
>
> If the socket s
happens, the peer in the vsock_connect() is properly woken up,
but since the state is not TCP_ESTABLISHED, it goes back to sleep
until the timeout expires, returning -ETIMEDOUT.
If the socket state is TCP_CLOSING, waiting for the timeout is pointless.
vsock_connect() can return immediately without
On Thu, Feb 27, 2025 at 02:21:41PM -0800, John Fastabend wrote:
> On 2025-02-27 11:52:04, Cong Wang wrote:
> > On Wed, Feb 26, 2025 at 09:22:41PM +0800, Jiayuan Chen wrote:
> > > Current wrapper function create_pair() is used to create a pair of
> > > connected links and returns two fds, but it doe
Current wrapper function create_pair() is used to create a pair of
connected links and returns two fds, but it does not support unix sockets.
Here we introduce socketpair() into create_pair(), which supports creating
a pair of unix sockets, since the semantics of the two are the same.
Signed-off-
On Thu, Feb 27, 2025 at 11:52:04AM -0800, Cong Wang wrote:
> On Wed, Feb 26, 2025 at 09:22:41PM +0800, Jiayuan Chen wrote:
> > Current wrapper function create_pair() is used to create a pair of
> > connected links and returns two fds, but it does not support unix sockets.
> >
> > Here we introduce
On 2025-02-27 11:52:04, Cong Wang wrote:
> On Wed, Feb 26, 2025 at 09:22:41PM +0800, Jiayuan Chen wrote:
> > Current wrapper function create_pair() is used to create a pair of
> > connected links and returns two fds, but it does not support unix sockets.
> >
> > Here we introduce socketpair() into
On Wed, Feb 26, 2025 at 09:22:41PM +0800, Jiayuan Chen wrote:
> Current wrapper function create_pair() is used to create a pair of
> connected links and returns two fds, but it does not support unix sockets.
>
> Here we introduce socketpair() into create_pair(), which supports creating
> a pair of
Current wrapper function create_pair() is used to create a pair of
connected links and returns two fds, but it does not support unix sockets.
Here we introduce socketpair() into create_pair(), which supports creating
a pair of unix sockets, since the semantics of the two are the same.
Signed-off-
!vsk->transport)) {
copied = -ENODEV;
goto out;
}
I'm not a sockmap expert, so I don't understand why here print an
error.
Since there was already a check, I expected it to be a case that can
happen, but instead calling `rcvmsg()` on a socket n
+ b/net/vmw_vsock/vsock_bpf.c
>> @@ -87,7 +87,7 @@ static int vsock_bpf_recvmsg(struct sock *sk, struct
>> msghdr *msg,
>> lock_sock(sk);
>> vsk = vsock_sk(sk);
>>
>> -if (!vsk->transport) {
>> +if (WARN_ON_ONCE(!vsk->transport)) {
&
ckmap expert, so I don't understand why here print an
error.
Since there was already a check, I expected it to be a case that can
happen, but instead calling `rcvmsg()` on a socket not yet connected is
impossible?
Thanks,
Stefano
…
> and it will cause that socket can not be unusable after resume.
…
I find such a wording confusing.
Can the change description become clearer?
Regards,
Markus
In the spirit of commit 91751e248256 ("vsock: prevent null-ptr-deref in
vsock_*[has_data|has_space]"), armorize the "impossible" cases with a
warning.
Fixes: 634f1a7110b4 ("vsock: support sockmap")
Signed-off-by: Michal Luczaj
---
net/vmw_vsock/af_vsock.c | 3 +++
net/vmw_vsock/vsock_bpf.c | 2
push.
On Fri, Feb 07, 2025 at 01:20:33PM +0800, Junnan Wu wrote:
From: Ying Gao
If suspend is executed during vsock communication and the
socket is reset, the original socket will be unusable after resume.
Why? (I mean for a good commit description)
Judge the value of vdev->priv
b 07, 2025 at 01:20:33PM +0800, Junnan Wu wrote:
>>>From: Ying Gao
>>>
>>>If suspend is executed during vsock communication and the
>>>socket is reset, the original socket will be unusable after resume.
>
>Why? (I mean for a good commit description)
>
>
On Tue, Feb 11, 2025 at 03:19:22PM +0800, Junnan Wu wrote:
Function virtio_vsock_vqs_del will be invoked in 2 cases
virtio_vsock_remove() and virtio_vsock_freeze().
And when driver freeze, the connected socket will be set to TCP_CLOSE
and it will cause that socket can not be unusable after
Function virtio_vsock_vqs_del will be invoked in 2 cases
virtio_vsock_remove() and virtio_vsock_freeze().
And when driver freeze, the connected socket will be set to TCP_CLOSE
and it will cause that socket can not be unusable after resume.
Refactor function virtio_vsock_vqs_del to differentiate
On 12/19/24 7:46 AM, Matthieu Baerts (NGI0) wrote:
From: Geliang Tang
The KF_TRUSTED_ARGS flag is used for bpf_iter_mptcp_subflow_new, it
indicates that the all pointer arguments are valid. It's necessary to
add a KF_ACQUIRE helper to get valid "msk".
This feels wrong. It forces an unnecessar
On Fri, Jan 10, 2025 at 11:56:28AM +0100, Luigi Leonardi wrote:
On Fri, Jan 10, 2025 at 09:35:10AM +0100, Stefano Garzarella wrote:
Transport's release() and destruct() are called when de-assigning the
vsock transport. These callbacks can touch some socket state like
sock flags, sk_state
On Fri, Jan 10, 2025 at 09:35:10AM +0100, Stefano Garzarella wrote:
Transport's release() and destruct() are called when de-assigning the
vsock transport. These callbacks can touch some socket state like
sock flags, sk_state, and peer_shutdown.
Since we are reassigning the socket to
Transport's release() and destruct() are called when de-assigning the
vsock transport. These callbacks can touch some socket state like
sock flags, sk_state, and peer_shutdown.
Since we are reassigning the socket to a new transport during
vsock_connect(), let's reset these fields to ha
From: Geliang Tang
The KF_TRUSTED_ARGS flag is used for bpf_iter_mptcp_subflow_new, it
indicates that the all pointer arguments are valid. It's necessary to
add a KF_ACQUIRE helper to get valid "msk".
This patch adds bpf_mptcp_sock_acquire() and bpf_mptcp_sock_release()
helpers for this. Increas
r *control_host,
for (ai = result; ai; ai = ai->ai_next) {
int fd;
- int val = 1;
fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (fd < 0)
@@ -65,11 +65,8 @@ void control_init(const char
r *control_host,
for (ai = result; ai; ai = ai->ai_next) {
int fd;
- int val = 1;
fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (fd < 0)
@@ -65,11 +65,8 @@ void control_init(const char
On 11/14/2024 04:28, Stefano Garzarella wrote:
On Wed, Nov 13, 2024 at 08:35:57AM -0600, Konstantin Shkolnyy wrote:
[...]
diff --git a/tools/testing/vsock/msg_zerocopy_common.c b/tools/
testing/vsock/msg_zerocopy_common.c
index 5a4bdf7b5132..8622e5a0f8b7 100644
--- a/tools/testing/vsock/msg_ze
@ void control_init(const char *control_host,
for (ai = result; ai; ai = ai->ai_next) {
int fd;
- int val = 1;
fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (fd < 0)
@@ -65,11 +65,8
= result; ai; ai = ai->ai_next) {
int fd;
- int val = 1;
fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (fd < 0)
@@ -65,11 +65,8 @@ void control_init(const char *control_host,
On Tue, Nov 12, 2024 at 09:18:48AM -0600, Konstantin Shkolnyy wrote:
On 11/12/2024 02:58, Stefano Garzarella wrote:
On Thu, Nov 07, 2024 at 07:17:26PM -0600, Konstantin Shkolnyy wrote:
Replace setsockopt() calls with calls to functions that follow
setsockopt() with getsockopt() and check that t
On 11/12/2024 02:58, Stefano Garzarella wrote:
On Thu, Nov 07, 2024 at 07:17:26PM -0600, Konstantin Shkolnyy wrote:
Replace setsockopt() calls with calls to functions that follow
setsockopt() with getsockopt() and check that the returned value and its
size are the same as have been set.
Signed-
= result; ai; ai = ai->ai_next) {
int fd;
- int val = 1;
fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (fd < 0)
@@ -65,11 +65,9 @@ void control_init(const char *control_host,
break;
From: Geliang Tang
The KF_TRUSTED_ARGS flag is used for bpf_iter_mptcp_subflow_new, it
indicates that the all pointer arguments are valid. It's necessary to
add a KF_ACQUIRE helper to get valid "msk".
This patch adds bpf_mptcp_sock_acquire() and bpf_mptcp_sock_release()
helpers for this. Increas
for (ai = result; ai; ai = ai->ai_next) {
int fd;
- int val = 1;
fd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (fd < 0)
@@ -65,11 +65,9 @@ void control_init(const char *control_host,
On Mon, Oct 14, 2024 at 11:42 PM Kuniyuki Iwashima wrote:
>
> From: Ignat Korchagin
> Date: Mon, 14 Oct 2024 16:38:08 +0100
> > This reverts commit 6cd4a78d962bebbaf8beb7d2ead3f34120e3f7b2.
> >
> > inet/inet6->create() implementations have been fixed to explicitly NULL the
> > allocated sk object
Gur Stavi wrote:
> Add a test that validates that an unbound packet socket cannot create/join
> a fanout group.
>
> Signed-off-by: Gur Stavi
Reviewed-by: Willem de Bruijn
Gur Stavi wrote:
> Modify test_control_group to have toggle parameter.
> When toggle is non-zero, loopback device will be set down for the
> initialization of fd[1] which is still expected to successfully join
> the fanout.
>
> Signed-off-by: Gur Stavi
Reviewed-by: Willem de Bruijn
Gur Stavi wrote:
> PACKET socket can retain its fanout membership through link down and up
> and leave a fanout while closed regardless of link state.
> However, socket was forbidden from joining a fanout while it was not
> RUNNING.
>
> This patch allows PACKET socket to joi
From: Ignat Korchagin
Date: Mon, 14 Oct 2024 16:38:08 +0100
> This reverts commit 6cd4a78d962bebbaf8beb7d2ead3f34120e3f7b2.
>
> inet/inet6->create() implementations have been fixed to explicitly NULL the
> allocated sk object on error.
>
> A warning was put in place to make sure any future chang
3830,9 +3830,6 @@ void sk_common_release(struct sock *sk)
sk->sk_prot->unhash(sk);
- if (sk->sk_socket)
- sk->sk_socket->sk = NULL;
-
/*
* In this point socket cannot receive new packets, but it is possible
* that some packets
Add a test that validates that an unbound packet socket cannot create/join
a fanout group.
Signed-off-by: Gur Stavi
---
tools/testing/selftests/net/psock_fanout.c | 36 ++
1 file changed, 36 insertions(+)
diff --git a/tools/testing/selftests/net/psock_fanout.c
b/tools
@@ -48,6 +48,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -59,6 +60,33 @@
static uint32_t cfg_max_num_members;
+static void loopback_set_up_down(int state_up)
+{
+ struct ifreq ifreq = {};
+ int fd, err;
+
+ fd = socket(AF_PACKET, SOCK_RAW, 0
PACKET socket can retain its fanout membership through link down and up
and leave a fanout while closed regardless of link state.
However, socket was forbidden from joining a fanout while it was not
RUNNING.
This patch allows PACKET socket to join fanout while not RUNNING.
Socket can be RUNNING
econdary priority. Since we did identify this corner case in our
> > > discussion I think we should still use [2].
> > > I don't consider the code complex. In fact, to me, the ifindex clause
> > > is a more understandable direct reason for failure than the proto w
t; > I don't consider the code complex. In fact, to me, the ifindex clause
> > is a more understandable direct reason for failure than the proto which
> > is indirect. Having the ifindex clause helps figuring out the proto
> > clause.
>
> It's interesting
dable direct reason for failure than the proto which
> is indirect. Having the ifindex clause helps figuring out the proto
> clause.
It's interesting that the unlisted fix does not return ENODEV, but
returns success and leaves the socket in an unbound state, equivalent
to binding to ETH_
->bind_lock);
> > > > > > > > > >> - if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
> > > > > > > > > >> - match->type == type &&
> > > > > > > > &g
>
> If we don't care about opening up fanout groups to ETH_P_NONE, then
> patch v2 seems sufficient. If explicitly blocking this, the ENXIO
> return can be added, but ideally without touching the other lines.
I don't think that allowing ETH_P_NONE is relevant.
In my opinion the 2 options that sho
; >> -if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
> > > > > > > > >> -match->type == type &&
> > > > > > > > >> +if (match->type == type &&
> > > > > > > > >>
(po, PACKET_SOCK_RUNNING) &&
> > > > > > > >> - match->type == type &&
> > > > > > > >> + if (match->type == type &&
> > > > > > > >>match->prot_hook.type == po->prot_hook.ty
match->type == type &&
> > > > > > >> +if (match->type == type &&
> > > > > > >> match->prot_hook.type == po->prot_hook.type &&
> > > > > > >> match->prot
> Gur Stavi wrote:
> > PACKET socket can retain its fanout membership through link down and up
> > and leave a fanout while closed regardless of link state.
> > However, socket was forbidden from joining a fanout while it was not
> > RUNNING.
> >
> > This pa
>type == type &&
> > > > > >>match->prot_hook.type == po->prot_hook.type &&
> > > > > >>match->prot_hook.dev == po->prot_hook.dev) {
> > > > > >
> > > > > > Remaining unaddress
Gur Stavi wrote:
> PACKET socket can retain its fanout membership through link down and up
> and leave a fanout while closed regardless of link state.
> However, socket was forbidden from joining a fanout while it was not
> RUNNING.
>
> This patch allows PACKET socket to joi
> I realized another possible problem. We should consider adding ifindex
> Field to struct packet_fanout to be used for lookup of an existing match.
> There is little sense to bind sockets to different interfaces and then
> put them in the same fanout group.
> If you agree, I can prepare a separate
> Subject: [PATCH net-next v03 1/3] af_packet: allow fanout_add when socket
> is not RUNNING
>
> PACKET socket can retain its fanout membership through link down and up
> and leave a fanout while closed regardless of link state.
> However, socket was forbidden from joining a f
Add a test that validates that an unbound packet socket cannot create/join
a fanout group.
Signed-off-by: Gur Stavi
---
tools/testing/selftests/net/psock_fanout.c | 36 ++
1 file changed, 36 insertions(+)
diff --git a/tools/testing/selftests/net/psock_fanout.c
b/tools
@@ -48,6 +48,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -59,6 +60,33 @@
static uint32_t cfg_max_num_members;
+static void loopback_set_up_down(int state_up)
+{
+ struct ifreq ifreq = {};
+ int fd, err;
+
+ fd = socket(AF_PACKET, SOCK_RAW, 0
PACKET socket can retain its fanout membership through link down and up
and leave a fanout while closed regardless of link state.
However, socket was forbidden from joining a fanout while it was not
RUNNING.
This patch allows PACKET socket to join fanout while not RUNNING.
The previous test for
spin_lock(&po->bind_lock);
> > > > >> -if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
> > > > >> -match->type == type &&
> > > > >> +if (match->type == type &&
> > > > >&
po->bind_lock);
> > > >> - if (packet_sock_flag(po, PACKET_SOCK_RUNNING) &&
> > > >> - match->type == type &&
> > > >> + if (match->type == type &&
> > > >> match->prot_hook.ty
ket_sock_flag(po, PACKET_SOCK_RUNNING) &&
> > >> -match->type == type &&
> > >> +if (match->type == type &&
> > >> match->prot_hook.type == po->prot_hook.type &&
> > >>
&&
> >> - match->type == type &&
> >> + if (match->type == type &&
> >>match->prot_hook.type == po->prot_hook.type &&
> >>match->prot_hook.dev == po->prot_hook.dev) {
> >
> > Remai
match->type == type &&
>> +if (match->type == type &&
>> match->prot_hook.type == po->prot_hook.type &&
>> match->prot_hook.dev == po->prot_hook.dev) {
>
> Remaining unaddressed issue is that the socket can now be added
> b
Gur Stavi wrote:
> PACKET socket can retain its fanout membership through link down and up
> and leave a fanout while closed regardless of link state.
> However, socket was forbidden from joining a fanout while it was not
> RUNNING.
>
> This patch allows PACKET socket to joi
@@ -48,6 +48,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -59,6 +60,33 @@
static uint32_t cfg_max_num_members;
+static void loopback_set_up_down(int state_up)
+{
+ struct ifreq ifreq = {};
+ int fd, err;
+
+ fd = socket(AF_PACKET, SOCK_RAW, 0
PACKET socket can retain its fanout membership through link down and up
and leave a fanout while closed regardless of link state.
However, socket was forbidden from joining a fanout while it was not
RUNNING.
This patch allows PACKET socket to join fanout while not RUNNING.
Signed-off-by: Gur
Hi Luigi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 50b70845fc5c22cf7e7d25b57d57b3dca1725aa5]
url:
https://github.com/intel-lab-lkp/linux/commits/Luigi-Leonardi-via-B4-Relay/vsock-add-support-for-SIOCOUTQ-ioctl-for-all-vsock-socket-types/20240627
rom: Luigi Leonardi
Add support for ioctl(s) for SOCK_STREAM SOCK_SEQPACKET and SOCK_DGRAM
in AF_VSOCK.
The only ioctl available is SIOCOUTQ/TIOCOUTQ, which returns the number
of unsent bytes in the socket. This information is transport-specific
and is delegated to them using a callback.
Suggested-b
Hi Luigi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 50b70845fc5c22cf7e7d25b57d57b3dca1725aa5]
url:
https://github.com/intel-lab-lkp/linux/commits/Luigi-Leonardi-via-B4-Relay/vsock-add-support-for-SIOCOUTQ-ioctl-for-all-vsock-socket-types/20240627
Hi Luigi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 50b70845fc5c22cf7e7d25b57d57b3dca1725aa5]
url:
https://github.com/intel-lab-lkp/linux/commits/Luigi-Leonardi-via-B4-Relay/vsock-add-support-for-SIOCOUTQ-ioctl-for-all-vsock-socket-types/20240627
From: Luigi Leonardi
Add support for ioctl(s) for SOCK_STREAM SOCK_SEQPACKET and SOCK_DGRAM
in AF_VSOCK.
The only ioctl available is SIOCOUTQ/TIOCOUTQ, which returns the number
of unsent bytes in the socket. This information is transport-specific
and is delegated to them using a callback
blems, it also has some limitation with drops on the local
> receive path: this tracepoint can only inspect the dropped skb itself,
> but such skb might not carry enough information to:
>
> 1. determine in which netns/container this skb gets dropped
> 2. determine by which socket/se
might not carry enough information to:
1. determine in which netns/container this skb gets dropped
2. determine by which socket/service this skb oughts to be received
The 1st issue is because skb->dev is the only member field with valid
netns reference. But skb->dev can get cleared or reuse
might not carry enough information to:
1. determine in which netns/container this skb gets dropped
2. determine by which socket/service this skb oughts to be received
The 1st issue is because skb->dev is the only member field with valid
netns reference. But skb->dev can get cleared or reuse
might not carry enough information to:
1. determine in which netns/container this skb gets dropped
2. determine by which socket/service this skb oughts to be received
The 1st issue is because skb->dev is the only member field with valid
netns reference. But skb->dev can get cleared or reuse
On Tue, Dec 26, 2023 at 12:34:44AM +0300, Askar Safin wrote:
> In
> https://lore.kernel.org/lkml/CAHk-=wgG_2cmHgZwKjydi7=iimyhyn8aessnbm9xq9ufbau...@mail.gmail.com/
> Linus said:
> > I have grown to pretty much hate
> > splice() over the years, just because it's been a constant source of
> > sorro
Hi, Ahelenia Ziemiańska! Thanks a lot for all this splice-related hard work!
In
https://lore.kernel.org/lkml/CAHk-=wgG_2cmHgZwKjydi7=iimyhyn8aessnbm9xq9ufbau...@mail.gmail.com/
Linus said:
> I have grown to pretty much hate
> splice() over the years, just because it's been a constant source of
>
ocess is killed.
This trivially denies service to:
* any hypothetical pipe-based log collexion system
* all nullmailer installations
* me, personally, when I'm pasting stuff into qemu -serial chardev:pipe
A symmetric situation happens for splicing(pipe -> socket):
the pipe is locked for as lo
Hello:
This patch was applied to netdev/net.git (refs/heads/master):
On Tue, 20 Apr 2021 13:07:27 +0200 you wrote:
> As reported by syzbot [1], there is a memory leak while closing the
> socket. We partially solved this issue with commit ac03046ece2b
> ("vsock/virtio: free pack
On 4/20/21 5:41 PM, Kuniyuki Iwashima wrote:
> The SO_REUSEPORT option allows sockets to listen on the same port and to
> accept connections evenly. However, there is a defect in the current
> implementation [1]. When a SYN packet is received, the connection is tied
> to a list
This patch introduces a new bpf_attach_type for BPF_PROG_TYPE_SK_REUSEPORT
to check if the attached eBPF program is capable of migrating sockets. When
the eBPF program is attached, we run it for socket migration if the
expected_attach_type is BPF_SK_REUSEPORT_SELECT_OR_MIGRATE or
net.ipv4
The SO_REUSEPORT option allows sockets to listen on the same port and to
accept connections evenly. However, there is a defect in the current
implementation [1]. When a SYN packet is received, the connection is tied
to a listening socket. Accordingly, when the listener is closed, in-flight
As reported by syzbot [1], there is a memory leak while closing the
socket. We partially solved this issue with commit ac03046ece2b
("vsock/virtio: free packets during the socket release"), but we
forgot to drain the RX queue when the socket is definitely closed by
the scheduled work.
On 13.04.2021 15:47, Arseny Krasnov wrote:
> This add logic, that serializes write access to single socket
> by multiple threads. It is implemented be adding field with TID
> of current writer. When writer tries to send something, it checks
> that field is -1(free), else it sleep in
This add logic, that serializes write access to single socket
by multiple threads. It is implemented be adding field with TID
of current writer. When writer tries to send something, it checks
that field is -1(free), else it sleep in the same way as waiting
for free space at peers' side.
vsock_pending_work(struct work_struct *work)
/ SOCKET OPERATIONS /
-static int __vsock_bind_stream(struct vsock_sock *vsk,
- struct sockaddr_vm *addr)
+static int __vsock_bind_connectible(struct vsock_sock *vsk,
+ struct
We add the support of XDP ZC TX submission and cleaning into
stmmac_tx_clean(). The function is made to clean as many TX complete
frames as possible, i.e. limit by priv->dma_tx_size instead of NAPI
budget. For TX ring that is associated with XSK pool, the function
stmmac_xdp_xmit_zc() is introduced
We add the support of XDP ZC TX submission and cleaning into
stmmac_tx_clean(). The function is made to clean as many TX complete
frames as possible, i.e. limit by priv->dma_tx_size instead of NAPI
budget. For TX ring that is associated with XSK pool, the function
stmmac_xdp_xmit_zc() is introduced
("l2tp: keep original skb ownership") this
worked fine as the sk attached to the skb was changed from the dot1q
encapsulated interface to the sk for the tunnel which meant the interface
bound to the sk and the interface bound to the skb were identical.
Commit 46d6c5ae953c ("netfilter: us
1 - 100 of 1886 matches
Mail list logo