Message ID | 20220518062518.236965-1-guozihua@huawei.com |
---|---|
State | Superseded |
Headers | show |
Series | [v3] crypto: Use struct_size() helper in kmalloc() | expand |
On Wed, May 18, 2022 at 02:25:18PM +0800, GUO Zihua wrote: > Make use of struct_size() helper for structures containing flexible array > member instead of sizeof() which prevents potential issues, as well as > increase readability. > > Reference: https://lore.kernel.org/all/CAHk-=wiGWjxs7EVUpccZEi6esvjpHJdgHQ=vtUeJ5crL62hx9A@mail.gmail.com/ > > Signed-off-by: GUO Zihua <guozihua@huawei.com> Reviewed-by: Kees Cook <keescook@chromium.org>
diff --git a/crypto/asymmetric_keys/asymmetric_type.c b/crypto/asymmetric_keys/asymmetric_type.c index 41a2f0eb4ce4..e020222b1fe5 100644 --- a/crypto/asymmetric_keys/asymmetric_type.c +++ b/crypto/asymmetric_keys/asymmetric_type.c @@ -152,7 +152,7 @@ struct asymmetric_key_id *asymmetric_key_generate_id(const void *val_1, { struct asymmetric_key_id *kid; - kid = kmalloc(sizeof(struct asymmetric_key_id) + len_1 + len_2, + kid = kmalloc(struct_size(kid, data, size_add(len_1, len_2)), GFP_KERNEL); if (!kid) return ERR_PTR(-ENOMEM); @@ -244,7 +244,7 @@ struct asymmetric_key_id *asymmetric_key_hex_to_key_id(const char *id) if (asciihexlen & 1) return ERR_PTR(-EINVAL); - match_id = kmalloc(sizeof(struct asymmetric_key_id) + asciihexlen / 2, + match_id = kmalloc(struct_size(match_id, data, asciihexlen / 2), GFP_KERNEL); if (!match_id) return ERR_PTR(-ENOMEM);