Re: [PATCH 0746/1285] Replace numeric parameter like 0444 with macro

From: Jiri Benc
Date: Tue Aug 02 2016 - 11:26:16 EST


On Tue, 2 Aug 2016 19:42:14 +0800, Baole Ni wrote:
> I find that the developers often just specified the numeric value
> when calling a macro which is defined with a parameter for access permission.
> As we know, these numeric value for access permission have had the corresponding macro,
> and that using macro can improve the robustness and readability of the code,
> thus, I suggest replacing the numeric parameter with the macro.
>
> Signed-off-by: Chuansheng Liu <chuansheng.liu@xxxxxxxxx>
> Signed-off-by: Baole Ni <baolex.ni@xxxxxxxxx>
> ---
> drivers/net/geneve.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
> index cadefe4..2ddaa09 100644
> --- a/drivers/net/geneve.c
> +++ b/drivers/net/geneve.c
> @@ -32,7 +32,7 @@
> #define VNI_HASH_SIZE (1<<VNI_HASH_BITS)
>
> static bool log_ecn_error = true;
> -module_param(log_ecn_error, bool, 0644);
> +module_param(log_ecn_error, bool, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);

0644 is much more readable than the S_IGRL macros ("Incomprehensible
Group of Random Letters"). Most people use the octal value with chmod
and umask all the time while nobody is using the macros from the shell.
As a consequence, a quick glance at the number is enough to see what the
access rights are, while the macros need to be read carefully to
understand what's going on.

I very much dislike this patchset. It makes readability worse, not
better, and increases the likelihood of errors.

Jiri