When retrieving the enum value associated with typed data during
"is data zero?" checking in btf_dump_type_data_check_zero(), the
return value of btf_dump_get_enum_value() is not passed to the caller
if the function returns a non-zero (error) value. Currently, 0
is returned if the function returns an error. We should instead
propagate the error to the caller.
Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/1626770993-11073-4-git-send-email-alan.maguire@oracle.com
return -ENODATA;
}
case BTF_KIND_ENUM:
- if (btf_dump_get_enum_value(d, t, data, id, &value))
- return 0;
+ err = btf_dump_get_enum_value(d, t, data, id, &value);
+ if (err)
+ return err;
if (value == 0)
return -ENODATA;
return 0;