mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
s390/ap/zcrypt: New xflag parameter
Introduce a new flag parameter for the both cprb send functions
zcrypt_send_cprb() and zcrypt_send_ep11_cprb(). This new
xflags parameter ("execution flags") shall be used to provide
execution hints and flags for this crypto request.
There are two flags implemented to be used with these functions:
* ZCRYPT_XFLAG_USERSPACE - indicates to the lower layers that
all the ptrs address userspace. So when construction the ap msg
copy_from_user() is to be used. If this flag is NOT set, the ptrs
address kernel memory and thus memcpy() is to be used.
* ZCRYPT_XFLAG_NOMEMALLOC - indicates that this task must not
allocate memory which may be allocated with io operations.
For the AP bus and zcrypt message layer this means:
* The ZCRYPT_XFLAG_USERSPACE is mapped to the already existing
bool variable "userspace" which is propagated to the zcrypt
proto implementations.
* The ZCRYPT_XFLAG_NOMEMALLOC results in setting the AP flag
AP_MSG_FLAG_MEMPOOL when the AP msg buffer is initialized.
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-6-freude@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
committed by
Heiko Carstens
parent
f91bb85d39
commit
80c20b2c6d
@@ -572,18 +572,18 @@ static void ap_poll_thread_stop(void)
|
||||
/*
|
||||
* ap_init_apmsg() - Initialize ap_message.
|
||||
*/
|
||||
int ap_init_apmsg(struct ap_message *ap_msg, bool use_mempool)
|
||||
int ap_init_apmsg(struct ap_message *ap_msg, u32 flags)
|
||||
{
|
||||
unsigned int maxmsgsize;
|
||||
|
||||
memset(ap_msg, 0, sizeof(*ap_msg));
|
||||
ap_msg->flags = flags;
|
||||
|
||||
if (use_mempool) {
|
||||
if (flags & AP_MSG_FLAG_MEMPOOL) {
|
||||
ap_msg->msg = mempool_alloc_preallocated(ap_msg_pool);
|
||||
if (!ap_msg->msg)
|
||||
return -ENOMEM;
|
||||
ap_msg->bufsize = AP_DEFAULT_MAX_MSG_SIZE;
|
||||
ap_msg->flags |= AP_MSG_FLAG_MEMPOOL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user