• Harald Freudenberger's avatar
    s390/ap: fix vanishing crypto cards in SE environment · 5cf1a563
    Harald Freudenberger authored
    A secure execution (SE, also known as confidential computing)
    guest may see asynchronous errors on a crypto firmware queue.
    The current implementation to gather information about cards
    and queues in ap_queue_info() simple returns if an asynchronous
    error is hanging on the firmware queue. If such a situation
    happened and it was the only queue visible for a crypto card
    within an SE guest, then the card vanished from sysfs as
    the AP bus scan function refuses to hold a card without any
    type information. As lszcrypt evaluates the sysfs such
    a card vanished from the lszcrypt card listing and the
    user is baffled and has no way to reset and thus clear the
    pending asynchronous error.
    
    This patch improves the named function to also evaluate GR2
    of the TAPQ in case of asynchronous error pending. If there
    is a not-null value stored in, the info is processed now.
    In the end, a queue with pending asynchronous error does not
    lead to a vanishing card any more.
    Reviewed-by: default avatarHolger Dengler <dengler@linux.ibm.com>
    Signed-off-by: default avatarHarald Freudenberger <freude@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    5cf1a563
ap_bus.c 58.1 KB