OSDN Git Service

libbpf: Change bpf_object_skeleton data field to const pointer
authorMatt Smith <alastorze@fb.com>
Wed, 1 Sep 2021 19:44:37 +0000 (12:44 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 8 Sep 2021 00:33:49 +0000 (17:33 -0700)
This change was necessary to enforce the implied contract
that bpf_object_skeleton->data should not be mutated.  The data
will be cast to `void *` during assignment to handle the case
where a user is compiling with older libbpf headers to avoid
a compiler warning of `const void *` data being cast to `void *`

Signed-off-by: Matt Smith <alastorze@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210901194439.3853238-2-alastorze@fb.com
tools/lib/bpf/libbpf.h

index f177d89..2f6f0e1 100644 (file)
@@ -854,7 +854,7 @@ struct bpf_object_skeleton {
        size_t sz; /* size of this struct, for forward/backward compatibility */
 
        const char *name;
-       void *data;
+       const void *data;
        size_t data_sz;
 
        struct bpf_object **obj;