On Thu, Aug 20, 2020 at 2:53 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > Why did you choose to do it during main do_check() walk instead of this pre-pass ? > check_ld_imm() can be called multiple times for the same insn, > so it's faster and less surprising to do it during replace_map_fd_with_map_ptr(). > BTF needs to be parsed first, of course. > You can either move check_btf_info() before replace_map_fd_with_map_ptr() or > move replace_map_fd_with_map_ptr() after check_btf_info(). > The latter is probably cleaner. Ah, that does make more sense. I can move replace_map_fd_with_map_ptr() after check_btf_info() (or check_attach_btf_id()) and rename it to better reflect the fact that it's not just for maps now. Thanks for the insights! Hao