lkml.org 
[lkml]   [2021]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] md/raid5: Fix implicit type conversion
From
Dear Jiasheng,


On 26.10.21 10:12, Jiasheng Jiang wrote:
> The variable 'cpu' is defined as ULONG.
> However in the for_each_present_cpu, its value is assigned to -1.
> That doesn't make sense and in the cpumask_next() it is implicitly
> type conversed to INT.

The description of the macro in `include/linux/cpumask.h` says:

> * for_each_cpu - iterate over every cpu in a mask
> * @cpu: the (optionally unsigned) integer iterator
> * @mask: the cpumask pointer


> It is universally accepted that the implicit type conversion is
> terrible.
> Also, having the good programming custom will set an example for
> others.
> Thus, it might be better to change the definition of 'cpu' from UINT
> to INT.

Maybe get the macro description fixed first, and then update the users?

> Fixes: 738a273 ("md/raid5: fix allocation of 'scribble' array.")
> Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
> ---
> drivers/md/raid5.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
> index 7d4ff8a..c7b88eb 100644
> --- a/drivers/md/raid5.c
> +++ b/drivers/md/raid5.c
> @@ -2425,7 +2425,7 @@ static int scribble_alloc(struct raid5_percpu *percpu,
>
> static int resize_chunks(struct r5conf *conf, int new_disks, int new_sectors)
> {
> - unsigned long cpu;
> + int cpu;

Why not `long cpu`?

> int err = 0;
>
> /*
>


Kind regards,

Paul

\
 
 \ /
  Last update: 2021-10-26 10:27    [W:0.076 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site