s390/zcrypt: ep11 structs rework, export zcrypt_send_ep11_cprb

Minor rework for struct ep11_cprb and struct ep11_urb. Use of u8, u16,
u32 instead of unsigned char. Declare pointers to mem from userspace
with __user to give sparse a chance to check.

Export zcrypt_send_ep11_cprb() function as this function will be
called by code in progress which will build ep11 cprbs within the
zcrypt device driver zoo and send them to EP11 crypto cards.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Harald Freudenberger
2019-08-30 15:57:17 +02:00
committed by Vasily Gorbik
parent 8f291ebf32
commit a7367997ab
3 changed files with 25 additions and 18 deletions

View File

@@ -161,17 +161,17 @@ struct ica_xcRB {
* @payload_len: Payload length
*/
struct ep11_cprb {
__u16 cprb_len;
unsigned char cprb_ver_id;
unsigned char pad_000[2];
unsigned char flags;
unsigned char func_id[2];
__u32 source_id;
__u32 target_id;
__u32 ret_code;
__u32 reserved1;
__u32 reserved2;
__u32 payload_len;
__u16 cprb_len;
__u8 cprb_ver_id;
__u8 pad_000[2];
__u8 flags;
__u8 func_id[2];
__u32 source_id;
__u32 target_id;
__u32 ret_code;
__u32 reserved1;
__u32 reserved2;
__u32 payload_len;
} __attribute__((packed));
/**
@@ -197,13 +197,13 @@ struct ep11_target_dev {
*/
struct ep11_urb {
__u16 targets_num;
__u64 targets;
__u8 __user *targets;
__u64 weight;
__u64 req_no;
__u64 req_len;
__u64 req;
__u8 __user *req;
__u64 resp_len;
__u64 resp;
__u8 __user *resp;
} __attribute__((packed));
/**