> On Jan 21, 2022, at 5:12 PM, Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > On Fri, Jan 21, 2022 at 5:01 PM Song Liu <songliubraving@xxxxxx> wrote: >> >> In this way, we need to allocate rw_image here, and free it in >> bpf_jit_comp.c. This feels a little weird to me, but I guess that >> is still the cleanest solution for now. > > You mean inside bpf_jit_binary_alloc? > That won't be arch independent. > It needs to be split into generic piece that stays in core.c > and callbacks like bpf_jit_fill_hole_t > or into multiple helpers with prep in-between. > Don't worry if all archs need to be touched. How about we introduce callback bpf_jit_set_header_size_t? Then we can split x86's jit_fill_hole() into two functions, one to fill the hole, the other to set size. The rest of the logic gonna stay the same. Archs that do not use bpf_prog_pack won't need bpf_jit_set_header_size_t. Thanks, Song