Skip to content
  • Jason Wang's avatar
    22dc8663
    net: forbid the reentrant RX · 22dc8663
    Jason Wang authored
    
    
    The memory API allows DMA into NIC's MMIO area. This means the NIC's
    RX routine must be reentrant. Instead of auditing all the NIC, we can
    simply detect the reentrancy and return early. The queue->delivering
    is set and cleared by qemu_net_queue_deliver() for other queue helpers
    to know whether the delivering in on going (NIC's receive is being
    called). We can check it and return early in qemu_net_queue_flush() to
    forbid reentrant RX.
    
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    22dc8663
    net: forbid the reentrant RX
    Jason Wang authored
    
    
    The memory API allows DMA into NIC's MMIO area. This means the NIC's
    RX routine must be reentrant. Instead of auditing all the NIC, we can
    simply detect the reentrancy and return early. The queue->delivering
    is set and cleared by qemu_net_queue_deliver() for other queue helpers
    to know whether the delivering in on going (NIC's receive is being
    called). We can check it and return early in qemu_net_queue_flush() to
    forbid reentrant RX.
    
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
Loading