Message ID | 20240108041351.9847-1-yangtiezhu@loongson.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: send: Silence build warning about kvcalloc() | expand |
On Mon, Jan 08, 2024 at 12:13:51PM +0800, Tiezhu Yang wrote: > There exist the following warning when building kernel v6.7: > > CC fs/btrfs/send.o > fs/btrfs/send.c: In function ‘btrfs_ioctl_send’: > fs/btrfs/send.c:8208:44: warning: ‘kvcalloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Wcalloc-transposed-args] > 8208 | sctx->clone_roots = kvcalloc(sizeof(*sctx->clone_roots), > | ^ > fs/btrfs/send.c:8208:44: note: earlier argument should specify number of elements, later size of each element > > tested with the latest upstream toolchains (20240105): > > [fedora@linux 6.7.test]$ gcc --version > gcc (GCC) 14.0.0 20240105 (experimental) > [fedora@linux 6.7.test]$ as --version > GNU assembler (GNU Binutils) 2.41.50.20240105 > [fedora@linux 6.7.test]$ ld --version > GNU ld (GNU Binutils) 2.41.50.20240105 > > just switch the first and second arguments of kvcalloc() to silence > the build warning, compile tested only. > > Fixes: bae12df966f0 ("btrfs: use kvcalloc for allocation in btrfs_ioctl_send()") > Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> Thanks, a fix has been already sent https://lore.kernel.org/linux-btrfs/20231221084748.10094-1-dmantipov@yandex.ru/
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c index 4e36550618e5..2d7519a6ce72 100644 --- a/fs/btrfs/send.c +++ b/fs/btrfs/send.c @@ -8205,8 +8205,8 @@ long btrfs_ioctl_send(struct inode *inode, struct btrfs_ioctl_send_args *arg) goto out; } - sctx->clone_roots = kvcalloc(sizeof(*sctx->clone_roots), - arg->clone_sources_count + 1, + sctx->clone_roots = kvcalloc(arg->clone_sources_count + 1, + sizeof(*sctx->clone_roots), GFP_KERNEL); if (!sctx->clone_roots) { ret = -ENOMEM;
There exist the following warning when building kernel v6.7: CC fs/btrfs/send.o fs/btrfs/send.c: In function ‘btrfs_ioctl_send’: fs/btrfs/send.c:8208:44: warning: ‘kvcalloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Wcalloc-transposed-args] 8208 | sctx->clone_roots = kvcalloc(sizeof(*sctx->clone_roots), | ^ fs/btrfs/send.c:8208:44: note: earlier argument should specify number of elements, later size of each element tested with the latest upstream toolchains (20240105): [fedora@linux 6.7.test]$ gcc --version gcc (GCC) 14.0.0 20240105 (experimental) [fedora@linux 6.7.test]$ as --version GNU assembler (GNU Binutils) 2.41.50.20240105 [fedora@linux 6.7.test]$ ld --version GNU ld (GNU Binutils) 2.41.50.20240105 just switch the first and second arguments of kvcalloc() to silence the build warning, compile tested only. Fixes: bae12df966f0 ("btrfs: use kvcalloc for allocation in btrfs_ioctl_send()") Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> --- fs/btrfs/send.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)