Re: [PATCH 01/10] dm snapshot: Use kmalloc_array() in init_origin_hash()

From: Paul Bolle
Date: Thu Sep 29 2016 - 07:13:19 EST


On Thu, 2016-09-29 at 03:02 -0700, Joe Perches wrote:
> What's the false positive?
>
> I get:
>
> $ ./scripts/checkpatch.pl -f drivers/md/dm-snap.c --show-types --types=alloc_with_multiply
> WARNING:ALLOC_WITH_MULTIPLY: Prefer kmalloc_array over kmalloc with multiply
> #329: FILE: drivers/md/dm-snap.c:329:
> + _origins = kmalloc(ORIGIN_HASH_SIZE * sizeof(struct list_head),
>
> WARNING:ALLOC_WITH_MULTIPLY: Prefer kmalloc_array over kmalloc with multiply
> #338: FILE: drivers/md/dm-snap.c:338:
> + _dm_origins = kmalloc(ORIGIN_HASH_SIZE * sizeof(struct list_head),
>
> total: 0 errors, 2 warnings, 2490 lines checked
>
> NOTE: For some of the reported defects, checkpatch may be able to
> ÂÂÂÂÂÂmechanically convert to the typical style using --fix or --fix-inplace.
>
> drivers/md/dm-snap.c has style problems, please review.
>
> NOTE: Used message types: ALLOC_WITH_MULTIPLY
>
> NOTE: If any of the errors are false positives, please report
> ÂÂÂÂÂÂthem to the maintainer, see CHECKPATCH in MAINTAINERS.

It seems it was intended to be silent about multiplying with constants,
where things that look like preprocessor defines are also considered
constants. Or did I misread that test?


Paul Bolle