You need to sign in or sign up before continuing.
libbpf: Split bpf_core_apply_relo()
BTFGen needs to run the core relocation logic in order to understand what are the types involved in a given relocation. Currently bpf_core_apply_relo() calculates and **applies** a relocation to an instruction. Having both operations in the same function makes it difficult to only calculate the relocation without patching the instruction. This commit splits that logic in two different phases: (1) calculate the relocation and (2) patch the instruction. For the first phase bpf_core_apply_relo() is renamed to bpf_core_calc_relo_insn() who is now only on charge of calculating the relocation, the second phase uses the already existing bpf_core_patch_insn(). bpf_object__relocate_core() uses both of them and the BTFGen will use only bpf_core_calc_relo_insn(). Signed-off-by: NMauricio Vásquez <mauricio@kinvolk.io> Signed-off-by: NRafael David Tinoco <rafael.tinoco@aquasec.com> Signed-off-by: NLorenzo Fontana <lorenzo.fontana@elastic.co> Signed-off-by: NLeonardo Di Donato <leonardo.didonato@elastic.co> Signed-off-by: NAndrii Nakryiko <andrii@kernel.org> Acked-by: NAndrii Nakryiko <andrii@kernel.org> Acked-by: NAlexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20220215225856.671072-2-mauricio@kinvolk.io
Showing
想要评论请 注册 或 登录