]> git.baikalelectronics.ru Git - kernel.git/commit
s390/zcrypt: Fix CCA and EP11 CPRB processing failure memory leak.
authorHarald Freudenberger <freude@de.ibm.com>
Mon, 28 May 2018 11:00:42 +0000 (13:00 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 30 May 2018 09:18:05 +0000 (11:18 +0200)
commit8fe2065b89a4bb63fbd7c8fa95cc367980aed072
tree7e784683c6cb778d43b8b7fb4b3e73a78c19e533
parent34db7b49966afa2e4e74189171f63cdf47a0a214
s390/zcrypt: Fix CCA and EP11 CPRB processing failure memory leak.

Tests showed, that the zcrypt device driver produces memory
leaks when a valid CCA or EP11 CPRB can't get delivered or has
a failure during processing within the zcrypt device driver.

This happens when a invalid domain or adapter number is used
or the lower level software or hardware layers produce any
kind of failure during processing of the request.

Only CPRBs send to CCA or EP11 cards can produce this memory
leak. The accelerator and the CPRBs processed by this type
of crypto card is not affected.

The two fields message and private within the ap_message struct
are allocated with pulling the function code for the CPRB but
only freed when processing of the CPRB succeeds. So for example
an invalid domain or adapter field causes the processing to
fail, leaving these two memory areas allocated forever.

Signed-off-by: Harald Freudenberger <freude@de.ibm.com>
Reviewed-by: Ingo Franzki <ifranzki@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/crypto/ap_bus.h
drivers/s390/crypto/zcrypt_api.c
drivers/s390/crypto/zcrypt_msgtype6.c