From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 258AEC433DF for ; Mon, 3 Aug 2020 17:56:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 379DB22B4E for ; Mon, 3 Aug 2020 17:56:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727005AbgHCR4M (ORCPT ); Mon, 3 Aug 2020 13:56:12 -0400 Received: from www62.your-server.de ([213.133.104.62]:49624 "EHLO www62.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726725AbgHCR4K (ORCPT ); Mon, 3 Aug 2020 13:56:10 -0400 Received: from sslproxy02.your-server.de ([78.47.166.47]) by www62.your-server.de with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89_1) (envelope-from ) id 1k2egx-0008BO-HR; Mon, 03 Aug 2020 19:56:07 +0200 Received: from [178.196.57.75] (helo=pc-9.home) by sslproxy02.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k2egx-00013C-BR; Mon, 03 Aug 2020 19:56:07 +0200 Subject: Re: [PATCH v5 bpf-next 3/4] bpf: Add kernel module with user mode driver that populates bpffs. To: Andrii Nakryiko Cc: Alexei Starovoitov , "David S. Miller" , Networking , bpf , Kernel Team References: <20200802222950.34696-1-alexei.starovoitov@gmail.com> <20200802222950.34696-4-alexei.starovoitov@gmail.com> <33d2db5b-3f81-e384-bed8-96f1d7f1d4c7@iogearbox.net> <430839eb-2761-0c1a-4b99-dffb07b9f502@iogearbox.net> <736dc34e-254d-de46-ac91-512029f675e7@iogearbox.net> From: Daniel Borkmann Message-ID: <181ce3e4-c960-3470-5c08-3e56ea7f28b2@iogearbox.net> Date: Mon, 3 Aug 2020 19:56:06 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Authenticated-Sender: daniel@iogearbox.net X-Virus-Scanned: Clear (ClamAV 0.102.3/25893/Mon Aug 3 17:01:47 2020) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 8/3/20 7:51 PM, Andrii Nakryiko wrote: > On Mon, Aug 3, 2020 at 10:41 AM Daniel Borkmann wrote: >> On 8/3/20 7:34 PM, Daniel Borkmann wrote: >>> On 8/3/20 7:15 PM, Daniel Borkmann wrote: >>>> On 8/3/20 12:29 AM, Alexei Starovoitov wrote: >>>>> From: Alexei Starovoitov >>>>> >>>>> Add kernel module with user mode driver that populates bpffs with >>>>> BPF iterators. >>>>> > > [...] > >> CC kernel/events/ring_buffer.o >> CC [U] kernel/bpf/preload/./../../../tools/lib/bpf/bpf.o >> CC [U] kernel/bpf/preload/./../../../tools/lib/bpf/libbpf.o >> In file included from kernel/bpf/preload/./../../../tools/lib/bpf/libbpf.c:47:0: >> ./tools/include/tools/libc_compat.h:11:21: error: static declaration of ‘reallocarray’ follows non-static declaration >> static inline void *reallocarray(void *ptr, size_t nmemb, size_t size) >> ^~~~~~~~~~~~ >> In file included from kernel/bpf/preload/./../../../tools/lib/bpf/libbpf.c:16:0: >> /usr/include/stdlib.h:558:14: note: previous declaration of ‘reallocarray’ was here >> extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) >> ^~~~~~~~~~~~ > > A bit offtopic. reallocarray and related feature detection causes so > much hassle, that I'm strongly tempted to just get rid of it in the > entire libbpf. Or just unconditionally implement libbpf-specific > reallocarray function. Any objections? Agree that it's continuously causing pain; no objection from my side to have something libbpf-specifc for example (along with a comment on /why/ we're not reusing it anymore). >> CC kernel/user-return-notifier.o >> scripts/Makefile.userprogs:43: recipe for target 'kernel/bpf/preload/./../../../tools/lib/bpf/libbpf.o' failed >> make[3]: *** [kernel/bpf/preload/./../../../tools/lib/bpf/libbpf.o] Error 1 >> scripts/Makefile.build:497: recipe for target 'kernel/bpf/preload' failed >> make[2]: *** [kernel/bpf/preload] Error 2 >> scripts/Makefile.build:497: recipe for target 'kernel/bpf' failed >> make[1]: *** [kernel/bpf] Error 2 >> make[1]: *** Waiting for unfinished jobs.... >> [...]