Skip to content
  • Philippe Gerum's avatar
    net/proxy: fix non-rt signal overflow · 5c4d87c7
    Philippe Gerum authored and Jan Kiszka's avatar Jan Kiszka committed
    
    
    rtdm_nrtsig_pend() is based on ipipe_post_root_work(), which keeps a
    copy of every request descriptor internally until it is consumed by
    the secondary mode handler. Triggering rtdm_nrtsig_pend() every time a
    packet is relayed from the stack to the virtual netdev may cause such
    request buffer to overflow under pressure.
    
    To address this issue, trigger the non-rt signal from
    rtnetproxy_recv() only when the proxy RX queue transitions from empty
    to non-empty as a result of enqueuing the next skb. To this end,
    rtskb_queue_tail_check() is introduced.
    
    Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
    Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
    5c4d87c7