• Harald Freudenberger's avatar
    s390/zcrypt: rework length information for dqap · 8794c596
    Harald Freudenberger authored
    The inline ap_dqap function does not return the number of
    bytes actually written into the message buffer. The calling
    code inspects the AP message header to figure out what kind
    of AP message has been received and pulls the length
    information from this header. This processing may not work
    correctly in cases where only a fragment of the reply is
    received.
    
    With this patch the ap_dqap inline function now returns
    the number of actually written bytes in the *length parameter.
    So the calling function has a chance to compare the number of
    received bytes against what the AP message header length
    field states. This is especially useful in cases where a
    message could only get partially received.
    
    The low level reply processing functions needed some rework
    to be able to catch this new length information and compare
    it the right way. The rework also deals with some situations
    where until now the reply length was not correctly calculated
    and/or set.
    
    All this has been heavily tested as the modifications on
    the reply length information may affect crypto load.
    Signed-off-by: default avatarHarald Freudenberger <freude@linux.ibm.com>
    Reviewed-by: default avatarHolger Dengler <dengler@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    8794c596
ap_queue.c 24.3 KB