smatch warns that the copy of arg to userspace is a potential data
leak by virtue of arg.pad not being checked or zeroed. This was
introduced by the commit referenced below that switched arg from
being a zeroed runtime allocation to living on the stack. Fix by
simply zero initializing the structure.

Fixes: cde738a61e65 ("bcachefs: Convert bch2_ioctl_fs_usage() to new 
accounting")
Reported-by: Dan Carpenter <dan.carpen...@linaro.org>
Signed-off-by: Brian Foster <bfos...@redhat.com>
---
 fs/bcachefs/chardev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/bcachefs/chardev.c b/fs/bcachefs/chardev.c
index 70db3a737d71..4248c251fce5 100644
--- a/fs/bcachefs/chardev.c
+++ b/fs/bcachefs/chardev.c
@@ -515,7 +515,7 @@ static long bch2_ioctl_data(struct bch_fs *c,
 static long bch2_ioctl_fs_usage(struct bch_fs *c,
                                struct bch_ioctl_fs_usage __user *user_arg)
 {
-       struct bch_ioctl_fs_usage arg;
+       struct bch_ioctl_fs_usage arg = {};
        darray_char replicas = {};
        u32 replica_entries_bytes;
        int ret = 0;
-- 
2.44.0


Reply via email to