Message ID | 20220228070520.74082-1-ebiggers@kernel.org |
---|---|
Headers | show |
Series | Support for hardware-wrapped inline encryption keys | expand |
On 2/27/22 23:05, Eric Biggers wrote: > -static u8 blank_key[BLK_CRYPTO_MAX_KEY_SIZE]; > +static u8 blank_key[BLK_CRYPTO_MAX_STANDARD_KEY_SIZE]; > > static void blk_crypto_fallback_evict_keyslot(unsigned int slot) > { > @@ -539,7 +539,7 @@ static int blk_crypto_fallback_init(void) > if (blk_crypto_fallback_inited) > return 0; > > - prandom_bytes(blank_key, BLK_CRYPTO_MAX_KEY_SIZE); > + prandom_bytes(blank_key, BLK_CRYPTO_MAX_STANDARD_KEY_SIZE); Please use sizeof(blank_key) to make it easier for readers to verify that the length argument is correct. > +int blk_crypto_derive_sw_secret(struct blk_crypto_profile *profile, > + const u8 *wrapped_key, > + unsigned int wrapped_key_size, > + u8 sw_secret[BLK_CRYPTO_SW_SECRET_SIZE]) > +{ > + int err = -EOPNOTSUPP; > + > + if (profile && > + (profile->key_types_supported & BLK_CRYPTO_KEY_TYPE_HW_WRAPPED) && > + profile->ll_ops.derive_sw_secret) { > + blk_crypto_hw_enter(profile); > + err = profile->ll_ops.derive_sw_secret(profile, wrapped_key, > + wrapped_key_size, > + sw_secret); > + blk_crypto_hw_exit(profile); > + } > + return err; > +} Please use the common kernel style: return early if the preconditions have not been met. That helps to keep the indentation level low. > @@ -68,7 +71,10 @@ static int __init bio_crypt_ctx_init(void) > > /* Sanity check that no algorithm exceeds the defined limits. */ > for (i = 0; i < BLK_ENCRYPTION_MODE_MAX; i++) { > - BUG_ON(blk_crypto_modes[i].keysize > BLK_CRYPTO_MAX_KEY_SIZE); > + BUG_ON(blk_crypto_modes[i].keysize > > + BLK_CRYPTO_MAX_STANDARD_KEY_SIZE); > + BUG_ON(blk_crypto_modes[i].security_strength > > + blk_crypto_modes[i].keysize); > BUG_ON(blk_crypto_modes[i].ivsize > BLK_CRYPTO_MAX_IV_SIZE); > } Does the following advice from Linus Torvalds apply to the above code: "because there is NO EXCUSE to knowingly kill the kernel"? See also https://lkml.org/lkml/2016/10/4/1. Thanks, Bart.