On Wed, May 27, 2015 at 05:19:44AM +0000, Wang Nan wrote:
Expand bpf_obj_elf_collect() to collect license and kernel version...
information in eBPF object file. eBPF object file should have a section
named 'license', which contains a string. It should also have a section
named 'version', contains a u32 LINUX_VERSION_CODE.
bpf_obj_validate() is introduced to validate object file after loaded.
Currently it only check existance of 'version' section.
Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
---
+static intshouldn't it be '!=' ?
+bpf_object__init_kversion(struct bpf_object *obj,
+ void *data, size_t size)
+{
+ u32 kver;
+ if (size < sizeof(kver)) {
+ pr_warning("invalid kver section in %s\n", obj->path);
+ return -EINVAL;
+ }
+ memcpy(&kver, data, sizeof(kver));
+ obj->kern_version = kver;
+ pr_debug("kernel version of %s is %x\n", obj->path,
+ obj->kern_version);
+ return 0;
+}
+