Skip to content
  • John Fastabend's avatar
    bpf: sk_msg, fix socket data_ready events · 552de910
    John Fastabend authored
    When a skb verdict program is in-use and either another BPF program
    redirects to that socket or the new SK_PASS support is used the
    data_ready callback does not wake up application. Instead because
    the stream parser/verdict is using the sk data_ready callback we wake
    up the stream parser/verdict block.
    
    Fix this by adding a helper to check if the stream parser block is
    enabled on the sk and if so call the saved pointer which is the
    upper layers wake up function.
    
    This fixes application stalls observed when an application is waiting
    for data in a blocking read().
    
    Fixes: d829e9c4
    
     ("tls: convert to generic sk_msg interface")
    Signed-off-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    552de910