Skip to content
  • Daniel Borkmann's avatar
    bpf: improve read-only handling · 65869a47
    Daniel Borkmann authored
    
    
    Improve bpf_{prog,jit_binary}_{un,}lock_ro() by throwing a
    one-time warning in case of an error when the image couldn't
    be set read-only, and also mark struct bpf_prog as locked when
    bpf_prog_lock_ro() was called.
    
    Reason for the latter is that bpf_prog_unlock_ro() is called from
    various places including error paths, and we shouldn't mess with
    page attributes when really not needed.
    
    For bpf_jit_binary_unlock_ro() this is not needed as jited flag
    implicitly indicates this, thus for archs with ARCH_HAS_SET_MEMORY
    we're guaranteed to have a previously locked image. Overall, this
    should also help us to identify any further potential issues with
    set_memory_*() helpers.
    
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    65869a47