• Hao Luo's avatar
    bpf: Replace RET_XXX_OR_NULL with RET_XXX | PTR_MAYBE_NULL · 3c480732
    Hao Luo authored
    We have introduced a new type to make bpf_ret composable, by
    reserving high bits to represent flags.
    
    One of the flag is PTR_MAYBE_NULL, which indicates a pointer
    may be NULL. When applying this flag to ret_types, it means
    the returned value could be a NULL pointer. This patch
    switches the qualified arg_types to use this flag.
    The ret_types changed in this patch include:
    
    1. RET_PTR_TO_MAP_VALUE_OR_NULL
    2. RET_PTR_TO_SOCKET_OR_NULL
    3. RET_PTR_TO_TCP_SOCK_OR_NULL
    4. RET_PTR_TO_SOCK_COMMON_OR_NULL
    5. RET_PTR_TO_ALLOC_MEM_OR_NULL
    6. RET_PTR_TO_MEM_OR_BTF_ID_OR_NULL
    7. RET_PTR_TO_BTF_ID_OR_NULL
    
    This patch doesn't eliminate the use of these names, instead
    it makes them aliases to 'RET_PTR_TO_XXX | PTR_MAYBE_NULL'.
    Signed-off-by: default avatarHao Luo <haoluo@google.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Link: https://lore.kernel.org/bpf/20211217003152.48334-4-haoluo@google.com
    3c480732
verifier.c 409 KB