Re: [PATCH 1/2] dm crypt: replaced #if defined with IS_ENABLED

2021-02-02 Thread Dmitry Baryshkov
пт, 22 янв. 2021 г. в 11:43, Ahmad Fatoum :
>
> IS_ENABLED(CONFIG_ENCRYPTED_KEYS) is true whether the option is built-in
> or a module, so use it instead of #if defined checking for each
> separately.
>
> The other #if was to avoid a static function defined, but unused
> warning. As we now always build the callsite when the function
> is defined, we can remove that first #if guard.
>
> Suggested-by: Arnd Bergmann 
> Signed-off-by: Ahmad Fatoum 

Acked-by: Dmitry Baryshkov 


-- 
With best wishes
Dmitry


Re: [PATCH 1/2] dm crypt: replaced #if defined with IS_ENABLED

2021-02-02 Thread Ahmad Fatoum
Hello Mike,

On 02.02.21 19:10, Mike Snitzer wrote:
> On Fri, Jan 22 2021 at  3:43am -0500,
> Ahmad Fatoum  wrote:
> 
>> IS_ENABLED(CONFIG_ENCRYPTED_KEYS) is true whether the option is built-in
>> or a module, so use it instead of #if defined checking for each
>> separately.
>>
>> The other #if was to avoid a static function defined, but unused
>> warning. As we now always build the callsite when the function
>> is defined, we can remove that first #if guard.
>>
>> Suggested-by: Arnd Bergmann 
>> Signed-off-by: Ahmad Fatoum 
>> ---
>> Cc: Dmitry Baryshkov 
>> ---
>>  drivers/md/dm-crypt.c | 7 ++-
>>  1 file changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
>> index 8c874710f0bc..7eeb9248eda5 100644
>> --- a/drivers/md/dm-crypt.c
>> +++ b/drivers/md/dm-crypt.c
>> @@ -2436,7 +2436,6 @@ static int set_key_user(struct crypt_config *cc, 
>> struct key *key)
>>  return 0;
>>  }
>>  
>> -#if defined(CONFIG_ENCRYPTED_KEYS) || defined(CONFIG_ENCRYPTED_KEYS_MODULE)
>>  static int set_key_encrypted(struct crypt_config *cc, struct key *key)
>>  {
>>  const struct encrypted_key_payload *ekp;
>> @@ -2452,7 +2451,6 @@ static int set_key_encrypted(struct crypt_config *cc, 
>> struct key *key)
>>  
>>  return 0;
>>  }
>> -#endif /* CONFIG_ENCRYPTED_KEYS */
>>  
>>  static int crypt_set_keyring_key(struct crypt_config *cc, const char 
>> *key_string)
>>  {
>> @@ -2482,11 +2480,10 @@ static int crypt_set_keyring_key(struct crypt_config 
>> *cc, const char *key_string
>>  } else if (!strncmp(key_string, "user:", key_desc - key_string + 1)) {
>>  type = _type_user;
>>  set_key = set_key_user;
>> -#if defined(CONFIG_ENCRYPTED_KEYS) || defined(CONFIG_ENCRYPTED_KEYS_MODULE)
>> -} else if (!strncmp(key_string, "encrypted:", key_desc - key_string + 
>> 1)) {
>> +} else if (IS_ENABLED(CONFIG_ENCRYPTED_KEYS) &&
>> +   !strncmp(key_string, "encrypted:", key_desc - key_string + 
>> 1)) {
>>  type = _type_encrypted;
>>  set_key = set_key_encrypted;
>> -#endif
>>  } else {
>>  return -EINVAL;
>>  }
>> -- 
>> 2.30.0
>>
> 
> I could be mistaken but the point of the previous way used to enable
> this code was to not compile the code at all.  How you have it, the
> branch just isn't taken but the compiled code is left to bloat dm-crypt.
> 
> Why not leave this as is and follow same pattern in your next patch?

It's safe to assume the compiler will constant-fold the resulting if (0) away.
The kernel coding style documentation got a section on that:
https://www.kernel.org/doc/html/v5.11-rc6/process/coding-style.html#conditional-compilation

Cheers,
Ahmad

> 
> Mike
> 
> 
> 

-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | http://www.pengutronix.de/  |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |


Re: [PATCH 1/2] dm crypt: replaced #if defined with IS_ENABLED

2021-02-02 Thread Mike Snitzer
On Fri, Jan 22 2021 at  3:43am -0500,
Ahmad Fatoum  wrote:

> IS_ENABLED(CONFIG_ENCRYPTED_KEYS) is true whether the option is built-in
> or a module, so use it instead of #if defined checking for each
> separately.
> 
> The other #if was to avoid a static function defined, but unused
> warning. As we now always build the callsite when the function
> is defined, we can remove that first #if guard.
> 
> Suggested-by: Arnd Bergmann 
> Signed-off-by: Ahmad Fatoum 
> ---
> Cc: Dmitry Baryshkov 
> ---
>  drivers/md/dm-crypt.c | 7 ++-
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
> index 8c874710f0bc..7eeb9248eda5 100644
> --- a/drivers/md/dm-crypt.c
> +++ b/drivers/md/dm-crypt.c
> @@ -2436,7 +2436,6 @@ static int set_key_user(struct crypt_config *cc, struct 
> key *key)
>   return 0;
>  }
>  
> -#if defined(CONFIG_ENCRYPTED_KEYS) || defined(CONFIG_ENCRYPTED_KEYS_MODULE)
>  static int set_key_encrypted(struct crypt_config *cc, struct key *key)
>  {
>   const struct encrypted_key_payload *ekp;
> @@ -2452,7 +2451,6 @@ static int set_key_encrypted(struct crypt_config *cc, 
> struct key *key)
>  
>   return 0;
>  }
> -#endif /* CONFIG_ENCRYPTED_KEYS */
>  
>  static int crypt_set_keyring_key(struct crypt_config *cc, const char 
> *key_string)
>  {
> @@ -2482,11 +2480,10 @@ static int crypt_set_keyring_key(struct crypt_config 
> *cc, const char *key_string
>   } else if (!strncmp(key_string, "user:", key_desc - key_string + 1)) {
>   type = _type_user;
>   set_key = set_key_user;
> -#if defined(CONFIG_ENCRYPTED_KEYS) || defined(CONFIG_ENCRYPTED_KEYS_MODULE)
> - } else if (!strncmp(key_string, "encrypted:", key_desc - key_string + 
> 1)) {
> + } else if (IS_ENABLED(CONFIG_ENCRYPTED_KEYS) &&
> +!strncmp(key_string, "encrypted:", key_desc - key_string + 
> 1)) {
>   type = _type_encrypted;
>   set_key = set_key_encrypted;
> -#endif
>   } else {
>   return -EINVAL;
>   }
> -- 
> 2.30.0
> 

I could be mistaken but the point of the previous way used to enable
this code was to not compile the code at all.  How you have it, the
branch just isn't taken but the compiled code is left to bloat dm-crypt.

Why not leave this as is and follow same pattern in your next patch?

Mike



[PATCH 1/2] dm crypt: replaced #if defined with IS_ENABLED

2021-01-22 Thread Ahmad Fatoum
IS_ENABLED(CONFIG_ENCRYPTED_KEYS) is true whether the option is built-in
or a module, so use it instead of #if defined checking for each
separately.

The other #if was to avoid a static function defined, but unused
warning. As we now always build the callsite when the function
is defined, we can remove that first #if guard.

Suggested-by: Arnd Bergmann 
Signed-off-by: Ahmad Fatoum 
---
Cc: Dmitry Baryshkov 
---
 drivers/md/dm-crypt.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 8c874710f0bc..7eeb9248eda5 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -2436,7 +2436,6 @@ static int set_key_user(struct crypt_config *cc, struct 
key *key)
return 0;
 }
 
-#if defined(CONFIG_ENCRYPTED_KEYS) || defined(CONFIG_ENCRYPTED_KEYS_MODULE)
 static int set_key_encrypted(struct crypt_config *cc, struct key *key)
 {
const struct encrypted_key_payload *ekp;
@@ -2452,7 +2451,6 @@ static int set_key_encrypted(struct crypt_config *cc, 
struct key *key)
 
return 0;
 }
-#endif /* CONFIG_ENCRYPTED_KEYS */
 
 static int crypt_set_keyring_key(struct crypt_config *cc, const char 
*key_string)
 {
@@ -2482,11 +2480,10 @@ static int crypt_set_keyring_key(struct crypt_config 
*cc, const char *key_string
} else if (!strncmp(key_string, "user:", key_desc - key_string + 1)) {
type = _type_user;
set_key = set_key_user;
-#if defined(CONFIG_ENCRYPTED_KEYS) || defined(CONFIG_ENCRYPTED_KEYS_MODULE)
-   } else if (!strncmp(key_string, "encrypted:", key_desc - key_string + 
1)) {
+   } else if (IS_ENABLED(CONFIG_ENCRYPTED_KEYS) &&
+  !strncmp(key_string, "encrypted:", key_desc - key_string + 
1)) {
type = _type_encrypted;
set_key = set_key_encrypted;
-#endif
} else {
return -EINVAL;
}
-- 
2.30.0