lkml.org 
[lkml]   [2023]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next v3 01/12] vsock: set EPOLLERR on non-empty error queue
    Date
    If socket's error queue is not empty, EPOLLERR must be set. Otherwise,
    reader of error queue won't detect data in it using EPOLLERR bit.
    Currently for AF_VSOCK this is actual only with MSG_ZEROCOPY, as this
    feature is the only user of an error queue of the socket.

    Signed-off-by: Arseniy Krasnov <avkrasnov@salutedevices.com>
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    ---
    net/vmw_vsock/af_vsock.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
    index 013b65241b65..d841f4de33b0 100644
    --- a/net/vmw_vsock/af_vsock.c
    +++ b/net/vmw_vsock/af_vsock.c
    @@ -1030,7 +1030,7 @@ static __poll_t vsock_poll(struct file *file, struct socket *sock,
    poll_wait(file, sk_sleep(sk), wait);
    mask = 0;

    - if (sk->sk_err)
    + if (sk->sk_err || !skb_queue_empty_lockless(&sk->sk_error_queue))
    /* Signify that there has been an error on this socket. */
    mask |= EPOLLERR;

    --
    2.25.1
    \
     
     \ /
      Last update: 2023-10-07 19:30    [W:4.093 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site