1 /*
2 * Copyright (c) 2016-2021 Eugene Syromyatnikov <evgsyr@gmail.com>
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7
8 #include "defs.h"
9
10 #include DEF_MPERS_TYPE(struct_keyctl_kdf_params)
11
12 #include "keyctl_kdf_params.h"
13 typedef struct keyctl_kdf_params struct_keyctl_kdf_params;
14
15 #include MPERS_DEFS
16
17 MPERS_PRINTER_DECL(int, fetch_keyctl_kdf_params, struct tcb *const tcp,
18 kernel_ulong_t addr, struct strace_keyctl_kdf_params *p)
19 {
20 struct_keyctl_kdf_params kdf;
21 int ret;
22
23 if ((ret = umove(tcp, addr, &kdf)))
24 return ret;
25
26 p->hashname = (kernel_ulong_t)
27 #ifndef IN_MPERS
28 (uintptr_t)
29 #endif
30 kdf.hashname;
31 p->otherinfo = (kernel_ulong_t)
32 #ifndef IN_MPERS
33 (uintptr_t)
34 #endif
35 kdf.otherinfo;
36 p->otherinfolen = kdf.otherinfolen;
37
38 memcpy(p->__spare, kdf.__spare, sizeof(kdf.__spare));
39
40 return 0;
41 }