• Leo Yan's avatar
    bpf, libbpf, smatch: Fix potential NULL pointer dereference · 33bae185
    Leo Yan authored
    Based on the following report from Smatch, fix the potential NULL
    pointer dereference check:
    
      tools/lib/bpf/libbpf.c:3493
      bpf_prog_load_xattr() warn: variable dereferenced before check 'attr'
      (see line 3483)
    
      3479 int bpf_prog_load_xattr(const struct bpf_prog_load_attr *attr,
      3480                         struct bpf_object **pobj, int *prog_fd)
      3481 {
      3482         struct bpf_object_open_attr open_attr = {
      3483                 .file           = attr->file,
      3484                 .prog_type      = attr->prog_type,
                                             ^^^^^^
      3485         };
    
    At the head of function, it directly access 'attr' without checking
    if it's NULL pointer. This patch moves the values assignment after
    validating 'attr' and 'attr->file'.
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Acked-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    33bae185
libbpf.c 102 KB