On Thu, Jun 6, 2024 at 5:47 PM Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> wrote: > > GCC 14.1 complains about the argument usage of kmemdup_array(): > > drivers/soc/tegra/fuse/fuse-tegra.c:130:65: error: 'kmemdup_array' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args] > 130 | fuse->lookups = kmemdup_array(fuse->soc->lookups, sizeof(*fuse->lookups), > | ^ > drivers/soc/tegra/fuse/fuse-tegra.c:130:65: note: earlier argument should specify number of elements, later size of each element > > The annotation introduced by commit 7d78a7773355 ("string: Add > additional __realloc_size() annotations for "dup" helpers") lets the > compiler think that kmemdup_array() follows the same format as calloc(), > with the number of elements preceding the size of one element. So we > could simply swap the arguments to __realloc_size() to get rid of that > warning, but it seems cleaner to instead have kmemdup_array() follow the > same format as krealloc_array(), memdup_array_user(), calloc() etc. LGTM, it seems we don't have many users (yet), this looks like a comprehensive change. Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> -- With Best Regards, Andy Shevchenko