bpf: Fix an error code in check_btf_func()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 4 Jun 2020 08:54:36 +0000 (11:54 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:49:04 +0000 (17:49 +0200)
[ Upstream commit e7ed83d6fa1a00d0f2ad0327e73d3ea9e7ea8de1 ]

This code returns success if the "info_aux" allocation fails but it
should return -ENOMEM.

Fixes: 8c1b6e69dcc1 ("bpf: Compare BTF types of functions arguments with actual types")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20200604085436.GA943001@mwanda
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/bpf/verifier.c

index efe14cf24bc6564e6ef878690cd0a1ffacae728f..739d9ba3ba6b7c72a7c5864c2a39266dbac5a67c 100644 (file)
@@ -7366,7 +7366,7 @@ static int check_btf_func(struct bpf_verifier_env *env,
        const struct btf *btf;
        void __user *urecord;
        u32 prev_offset = 0;
-       int ret = 0;
+       int ret = -ENOMEM;
 
        nfuncs = attr->func_info_cnt;
        if (!nfuncs)