46a4dcf4c3
* fetch_struct_keyctl_kdf_params.c: New file. * keyctl_kdf_params.h: Likewise. * Makefile.am (strace_SOURCES): Add them. * configure.ac: Add check for struct keyctl_kdf_params presence in <linux/keyctl.h>. * defs.h (struct strace_keyctl_kdf_params): Add forward declaration. * keyctl.c (keyctl_dh_compute): Add new parameter kdf_addr, print it on exiting. (SYS_FUNC(keyctl)) <case KEYCTL_DH_COMPUTE>: Pass arg5 to keyctl_dh_compute. * tests/keyctl.c: Include assert.h. (struct keyctl_kdf_params) [!HAVE_STRUCT_KEYCTL_KDF_PARAMS]: New definition. (STR32): New definition, copied from ioctl_dm.c. (append_str, kckdfp_to_str): New functions. (main): Update expected output, add checks for struct keyctl_kdf_params decoding.
28 lines
581 B
C
28 lines
581 B
C
#ifndef STRACE_KEYCTL_KDF_PARAMS_H
|
|
#define STRACE_KEYCTL_KDF_PARAMS_H
|
|
|
|
#include <stdint.h>
|
|
#include "kernel_types.h"
|
|
|
|
/* from include/linux/crypto.h */
|
|
#define CRYPTO_MAX_ALG_NAME 128
|
|
|
|
/* from security/keys/internal.h */
|
|
#define KEYCTL_KDF_MAX_OI_LEN 64 /* max length of otherinfo */
|
|
|
|
struct keyctl_kdf_params {
|
|
char *hashname;
|
|
char *otherinfo;
|
|
uint32_t otherinfolen;
|
|
uint32_t __spare[8];
|
|
};
|
|
|
|
struct strace_keyctl_kdf_params {
|
|
kernel_ulong_t hashname;
|
|
kernel_ulong_t otherinfo;
|
|
uint32_t otherinfolen;
|
|
uint32_t __spare[8];
|
|
};
|
|
|
|
#endif /* STRACE_KEYCTL_KDF_PARAMS_H */
|