On Thu, Aug 20, 2020 at 2:53 PM Alexei Starovoitov alexei.starovoitov@gmail.com 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