keys_header
keys_header = kzalloc(keys_header_size, GFP_KERNEL);
if (!keys_header)
dm_crypt_keys_read((char *)keys_header, keys_header_size, &addr);
for (int i = 0; i < keys_header->total_keys; i++) {
key = &keys_header->keys[i];
} *keys_header;
return struct_size(keys_header, keys, total_keys);
if (keys_header != NULL)
kvfree(keys_header);
keys_header = kzalloc(get_keys_header_size(key_count), GFP_KERNEL);
if (!keys_header)
keys_header->total_keys = key_count;
strscpy(keys_header->keys[i].key_desc, key->description,
r = read_key_from_user_keying(&keys_header->keys[i]);
keys_header->keys[i].key_desc);
kbuf.buffer = keys_header;
struct keys_header *keys_header_loaded;
memcpy(keys_header, keys_header_loaded, get_keys_header_size(key_count));