1. 10 Feb, 2021 3 commits
  2. 09 Feb, 2021 8 commits
  3. 08 Feb, 2021 1 commit
  4. 05 Feb, 2021 7 commits
  5. 04 Feb, 2021 3 commits
  6. 03 Feb, 2021 4 commits
  7. 02 Feb, 2021 1 commit
    • Tiezhu Yang's avatar
      samples/bpf: Add include dir for MIPS Loongson64 to fix build errors · 058107ab
      Tiezhu Yang authored
      There exists many build errors when make M=samples/bpf on the Loongson
      platform. This issue is MIPS related, x86 compiles just fine.
      
      Here are some errors:
      
        CLANG-bpf  samples/bpf/sockex2_kern.o
      In file included from samples/bpf/sockex2_kern.c:2:
      In file included from ./include/uapi/linux/in.h:24:
      In file included from ./include/linux/socket.h:8:
      In file included from ./include/linux/uio.h:8:
      In file included from ./include/linux/kernel.h:11:
      In file included from ./include/linux/bitops.h:32:
      In file included from ./arch/mips/include/asm/bitops.h:19:
      In file included from ./arch/mips/include/asm/barrier.h:11:
      ./arch/mips/include/asm/addrspace.h:13:10: fatal error: 'spaces.h' file not found
               ^~~~~~~~~~
      1 error generated.
      
        CLANG-bpf  samples/bpf/sockex2_kern.o
      In file included from samples/bpf/sockex2_kern.c:2:
      In file included from ./include/uapi/linux/in.h:24:
      In file included from ./include/linux/socket.h:8:
      In file included from ./include/linux/uio.h:8:
      In file included from ./include/linux/kernel.h:11:
      In file included from ./include/linux/bitops.h:32:
      In file included from ./arch/mips/include/asm/bitops.h:22:
      In file included from ./arch/mips/include/asm/cpu-features.h:13:
      In file included from ./arch/mips/include/asm/cpu-info.h:15:
      In file included from ./include/linux/cache.h:6:
      ./arch/mips/include/asm/cache.h:12:10: fatal error: 'kmalloc.h' file not found
               ^~~~~~~~~~~
      1 error generated.
      
        CLANG-bpf  samples/bpf/sockex2_kern.o
      In file included from samples/bpf/sockex2_kern.c:2:
      In file included from ./include/uapi/linux/in.h:24:
      In file included from ./include/linux/socket.h:8:
      In file included from ./include/linux/uio.h:8:
      In file included from ./include/linux/kernel.h:11:
      In file included from ./include/linux/bitops.h:32:
      In file included from ./arch/mips/include/asm/bitops.h:22:
      ./arch/mips/include/asm/cpu-features.h:15:10: fatal error: 'cpu-feature-overrides.h' file not found
               ^~~~~~~~~~~~~~~~~~~~~~~~~
      1 error generated.
      
      $ find arch/mips/include/asm -name spaces.h | sort
      arch/mips/include/asm/mach-ar7/spaces.h
      ...
      arch/mips/include/asm/mach-generic/spaces.h
      ...
      arch/mips/include/asm/mach-loongson64/spaces.h
      ...
      arch/mips/include/asm/mach-tx49xx/spaces.h
      
      $ find arch/mips/include/asm -name kmalloc.h | sort
      arch/mips/include/asm/mach-generic/kmalloc.h
      arch/mips/include/asm/mach-ip32/kmalloc.h
      arch/mips/include/asm/mach-tx49xx/kmalloc.h
      
      $ find arch/mips/include/asm -name cpu-feature-overrides.h | sort
      arch/mips/include/asm/mach-ath25/cpu-feature-overrides.h
      ...
      arch/mips/include/asm/mach-generic/cpu-feature-overrides.h
      ...
      arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h
      ...
      arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h
      
      In the arch/mips/Makefile, there exists the following board-dependent
      options:
      
      include arch/mips/Kbuild.platforms
      cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
      
      So we can do the similar things in samples/bpf/Makefile, just add
      platform specific and generic include dir for MIPS Loongson64 to
      fix the build errors.
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Link: https://lore.kernel.org/bpf/1611669925-25315-1-git-send-email-yangtiezhu@loongson.cn
      058107ab
  8. 29 Jan, 2021 6 commits
  9. 28 Jan, 2021 2 commits
  10. 27 Jan, 2021 2 commits
  11. 26 Jan, 2021 1 commit
  12. 25 Jan, 2021 2 commits
    • Tiezhu Yang's avatar
      samples/bpf: Set flag __SANE_USERSPACE_TYPES__ for MIPS to fix build warnings · 190d1c92
      Tiezhu Yang authored
      There exists many build warnings when make M=samples/bpf on the Loongson
      platform, this issue is MIPS related, x86 compiles just fine.
      
      Here are some warnings:
      
        CC  samples/bpf/ibumad_user.o
      samples/bpf/ibumad_user.c: In function ‘dump_counts’:
      samples/bpf/ibumad_user.c:46:24: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64’ {aka ‘long unsigned int’} [-Wformat=]
          printf("0x%02x : %llu\n", key, value);
                           ~~~^          ~~~~~
                           %lu
        CC  samples/bpf/offwaketime_user.o
      samples/bpf/offwaketime_user.c: In function ‘print_ksym’:
      samples/bpf/offwaketime_user.c:34:17: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘__u64’ {aka ‘long unsigned int’} [-Wformat=]
         printf("%s/%llx;", sym->name, addr);
                    ~~~^               ~~~~
                    %lx
      samples/bpf/offwaketime_user.c: In function ‘print_stack’:
      samples/bpf/offwaketime_user.c:68:17: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘__u64’ {aka ‘long unsigned int’} [-Wformat=]
        printf(";%s %lld\n", key->waker, count);
                    ~~~^                 ~~~~~
                    %ld
      
      MIPS needs __SANE_USERSPACE_TYPES__ before <linux/types.h> to select
      'int-ll64.h' in arch/mips/include/uapi/asm/types.h, then it can avoid
      build warnings when printing __u64 with %llu, %llx or %lld.
      
      The header tools/include/linux/types.h defines __SANE_USERSPACE_TYPES__,
      it seems that we can include <linux/types.h> in the source files which
      have build warnings, but it has no effect due to actually it includes
      usr/include/linux/types.h instead of tools/include/linux/types.h, the
      problem is that "usr/include" is preferred first than "tools/include"
      in samples/bpf/Makefile, that sounds like a ugly hack to -Itools/include
      before -Iusr/include.
      
      So define __SANE_USERSPACE_TYPES__ for MIPS in samples/bpf/Makefile
      is proper, if add "TPROGS_CFLAGS += -D__SANE_USERSPACE_TYPES__" in
      samples/bpf/Makefile, it appears the following error:
      
      Auto-detecting system features:
      ...                        libelf: [ on  ]
      ...                          zlib: [ on  ]
      ...                           bpf: [ OFF ]
      
      BPF API too old
      make[3]: *** [Makefile:293: bpfdep] Error 1
      make[2]: *** [Makefile:156: all] Error 2
      
      With #ifndef __SANE_USERSPACE_TYPES__  in tools/include/linux/types.h,
      the above error has gone and this ifndef change does not hurt other
      compilations.
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Link: https://lore.kernel.org/bpf/1611551146-14052-1-git-send-email-yangtiezhu@loongson.cn
      190d1c92
    • Florian Lehner's avatar
      tools, headers: Sync struct bpf_perf_event_data · 726bf76f
      Florian Lehner authored
      Update struct bpf_perf_event_data with the addr field to match the
      tools headers with the kernel headers.
      Signed-off-by: default avatarFlorian Lehner <dev@der-flo.net>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Link: https://lore.kernel.org/bpf/20210123185221.23946-1-dev@der-flo.net
      726bf76f