mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
s390/ap/zcrypt: Rework AP message buffer allocation
Slight rework on the way how AP message buffers are allocated. Instead of having multiple places with kmalloc() calls all the AP message buffers are now allocated and freed on exactly one place: ap_init_apmsg() allocates the current AP bus max limit of ap_max_msg_size (defaults to 12KB). The AP message buffer is then freed in ap_release_apmsg(). Signed-off-by: Harald Freudenberger <freude@linux.ibm.com> Reviewed-by: Holger Dengler <dengler@linux.ibm.com> Link: https://lore.kernel.org/r/20250424133619.16495-3-freude@linux.ibm.com Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
committed by
Heiko Carstens
parent
43435495a0
commit
57db62a130
@@ -237,25 +237,8 @@ struct ap_message {
|
||||
#define AP_MSG_FLAG_USAGE 0x0002 /* CCA, EP11: usage (no admin) msg */
|
||||
#define AP_MSG_FLAG_ADMIN 0x0004 /* CCA, EP11: admin (=control) msg */
|
||||
|
||||
/**
|
||||
* ap_init_message() - Initialize ap_message.
|
||||
* Initialize a message before using. Otherwise this might result in
|
||||
* unexpected behaviour.
|
||||
*/
|
||||
static inline void ap_init_message(struct ap_message *ap_msg)
|
||||
{
|
||||
memset(ap_msg, 0, sizeof(*ap_msg));
|
||||
}
|
||||
|
||||
/**
|
||||
* ap_release_message() - Release ap_message.
|
||||
* Releases all memory used internal within the ap_message struct
|
||||
* Currently this is the message and private field.
|
||||
*/
|
||||
static inline void ap_release_message(struct ap_message *ap_msg)
|
||||
{
|
||||
kfree_sensitive(ap_msg->msg);
|
||||
}
|
||||
int ap_init_apmsg(struct ap_message *ap_msg);
|
||||
void ap_release_apmsg(struct ap_message *ap_msg);
|
||||
|
||||
enum ap_sm_wait ap_sm_event(struct ap_queue *aq, enum ap_sm_event event);
|
||||
enum ap_sm_wait ap_sm_event_loop(struct ap_queue *aq, enum ap_sm_event event);
|
||||
|
||||
Reference in New Issue
Block a user