linux-user: Implement SOL_ALG encryption support
Add suport to handle SOL_ALG packets via sendmsg() and recvmsg(). This allows emulated userspace to use encryption functionality. Tested with the debian ell package with hppa guest on x86_64 host. Signed-off-by: Helge Deller <deller@gmx.de> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20221212173416.90590-1-deller@gmx.de> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
93cf7e6c4a
commit
27404b6c15
@ -1829,6 +1829,14 @@ static inline abi_long target_to_host_cmsg(struct msghdr *msgh,
|
||||
__get_user(cred->pid, &target_cred->pid);
|
||||
__get_user(cred->uid, &target_cred->uid);
|
||||
__get_user(cred->gid, &target_cred->gid);
|
||||
} else if (cmsg->cmsg_level == SOL_ALG) {
|
||||
uint32_t *dst = (uint32_t *)data;
|
||||
|
||||
memcpy(dst, target_data, len);
|
||||
/* fix endianess of first 32-bit word */
|
||||
if (len >= sizeof(uint32_t)) {
|
||||
*dst = tswap32(*dst);
|
||||
}
|
||||
} else {
|
||||
qemu_log_mask(LOG_UNIMP, "Unsupported ancillary data: %d/%d\n",
|
||||
cmsg->cmsg_level, cmsg->cmsg_type);
|
||||
|
Loading…
Reference in New Issue
Block a user