Loading include/keys/big_key-type.h +1 −0 Original line number Diff line number Diff line Loading @@ -18,5 +18,6 @@ extern void big_key_revoke(struct key *key); extern void big_key_destroy(struct key *key); extern void big_key_describe(const struct key *big_key, struct seq_file *m); extern long big_key_read(const struct key *key, char *buffer, size_t buflen); extern int big_key_update(struct key *key, struct key_preparsed_payload *prep); #endif /* _KEYS_BIG_KEY_TYPE_H */ security/keys/big_key.c +18 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ struct key_type key_type_big_key = { .destroy = big_key_destroy, .describe = big_key_describe, .read = big_key_read, /* no ->update(); don't add it without changing chacha20poly1305's nonce */ .update = big_key_update, }; /* Loading Loading @@ -191,6 +191,23 @@ void big_key_destroy(struct key *key) key->payload.data[big_key_data] = NULL; } /* * Update a big key */ int big_key_update(struct key *key, struct key_preparsed_payload *prep) { int ret; ret = key_payload_reserve(key, prep->datalen); if (ret < 0) return ret; if (key_is_positive(key)) big_key_destroy(key); return generic_key_instantiate(key, prep); } /* * describe the big_key key */ Loading Loading
include/keys/big_key-type.h +1 −0 Original line number Diff line number Diff line Loading @@ -18,5 +18,6 @@ extern void big_key_revoke(struct key *key); extern void big_key_destroy(struct key *key); extern void big_key_describe(const struct key *big_key, struct seq_file *m); extern long big_key_read(const struct key *key, char *buffer, size_t buflen); extern int big_key_update(struct key *key, struct key_preparsed_payload *prep); #endif /* _KEYS_BIG_KEY_TYPE_H */
security/keys/big_key.c +18 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ struct key_type key_type_big_key = { .destroy = big_key_destroy, .describe = big_key_describe, .read = big_key_read, /* no ->update(); don't add it without changing chacha20poly1305's nonce */ .update = big_key_update, }; /* Loading Loading @@ -191,6 +191,23 @@ void big_key_destroy(struct key *key) key->payload.data[big_key_data] = NULL; } /* * Update a big key */ int big_key_update(struct key *key, struct key_preparsed_payload *prep) { int ret; ret = key_payload_reserve(key, prep->datalen); if (ret < 0) return ret; if (key_is_positive(key)) big_key_destroy(key); return generic_key_instantiate(key, prep); } /* * describe the big_key key */ Loading