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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham 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 6F722C4332B for ; Sat, 21 Mar 2020 00:33:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0C0FA20409 for ; Sat, 21 Mar 2020 00:33:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726955AbgCUAd6 (ORCPT ); Fri, 20 Mar 2020 20:33:58 -0400 Received: from mga05.intel.com ([192.55.52.43]:9019 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726773AbgCUAd6 (ORCPT ); Fri, 20 Mar 2020 20:33:58 -0400 IronPort-SDR: 3Z+y6wJkUe4vBChF3x/qi/yqTilIwzhyv6WFO/S6L//S1n/ZmFR6GiuvVREsFpqE1GM1CtrDgX IbFnf5eJA0rA== X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Mar 2020 17:33:56 -0700 IronPort-SDR: lyf3fnVUnehwPuN3mSMw2ZpqedN1+Oq1WPUyyzn/1M5ZmpiGHzLE3+uVK7mrw424ZIMBMLykV3 mcK71+wkyBhQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,286,1580803200"; d="gz'50?scan'50,208,50";a="245644578" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by orsmga003.jf.intel.com with ESMTP; 20 Mar 2020 17:33:54 -0700 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1jFS5J-0006DM-Ov; Sat, 21 Mar 2020 08:33:53 +0800 Date: Sat, 21 Mar 2020 08:33:39 +0800 From: kbuild test robot To: Andrii Nakryiko Cc: kbuild-all@lists.01.org, bpf@vger.kernel.org, netdev@vger.kernel.org, ast@fb.com, daniel@iogearbox.net Subject: Re: [PATCH bpf-next 4/6] bpf: implement bpf_prog replacement for an active bpf_cgroup_link Message-ID: <202003210811.iMksMQr5%lkp@intel.com> References: <20200320203615.1519013-5-andriin@fb.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="2oS5YaxWCcQjTEyO" Content-Disposition: inline In-Reply-To: <20200320203615.1519013-5-andriin@fb.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org --2oS5YaxWCcQjTEyO Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Andrii, I love your patch! Yet something to improve: [auto build test ERROR on bpf-next/master] [cannot apply to bpf/master cgroup/for-next v5.6-rc6 next-20200320] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Andrii-Nakryiko/Add-support-for-cgroup-bpf_link/20200321-045848 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: m68k-sun3_defconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): In file included from include/linux/kernel.h:11, from include/linux/list.h:9, from include/linux/timer.h:5, from include/linux/workqueue.h:9, from include/linux/bpf.h:9, from kernel/bpf/syscall.c:4: kernel/bpf/syscall.c: In function 'link_update': >> include/linux/kernel.h:994:51: error: dereferencing pointer to incomplete type 'struct bpf_cgroup_link' 994 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ | ^~ include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert' 330 | if (!(condition)) \ | ^~~~~~~~~ include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert' 350 | _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/kernel.h:994:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' 994 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ | ^~~~~~~~~~~~~~~~ include/linux/kernel.h:994:20: note: in expansion of macro '__same_type' 994 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ | ^~~~~~~~~~~ >> kernel/bpf/syscall.c:3612:13: note: in expansion of macro 'container_of' 3612 | cg_link = container_of(link, struct bpf_cgroup_link, link); | ^~~~~~~~~~~~ In file included from : >> include/linux/compiler_types.h:129:35: error: invalid use of undefined type 'struct bpf_cgroup_link' 129 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | ^~~~~~~~~~~~~~~~~~ include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof' 17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER) | ^~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:997:21: note: in expansion of macro 'offsetof' 997 | ((type *)(__mptr - offsetof(type, member))); }) | ^~~~~~~~ >> kernel/bpf/syscall.c:3612:13: note: in expansion of macro 'container_of' 3612 | cg_link = container_of(link, struct bpf_cgroup_link, link); | ^~~~~~~~~~~~ >> kernel/bpf/syscall.c:3618:9: error: implicit declaration of function 'cgroup_bpf_replace'; did you mean 'cgroup_bpf_offline'? [-Werror=implicit-function-declaration] 3618 | ret = cgroup_bpf_replace(cg_link->cgroup, cg_link, | ^~~~~~~~~~~~~~~~~~ | cgroup_bpf_offline cc1: some warnings being treated as errors vim +994 include/linux/kernel.h cf14f27f82af78 Alexei Starovoitov 2018-03-28 984 ^1da177e4c3f41 Linus Torvalds 2005-04-16 985 /** ^1da177e4c3f41 Linus Torvalds 2005-04-16 986 * container_of - cast a member of a structure out to the containing structure ^1da177e4c3f41 Linus Torvalds 2005-04-16 987 * @ptr: the pointer to the member. ^1da177e4c3f41 Linus Torvalds 2005-04-16 988 * @type: the type of the container struct this is embedded in. ^1da177e4c3f41 Linus Torvalds 2005-04-16 989 * @member: the name of the member within the struct. ^1da177e4c3f41 Linus Torvalds 2005-04-16 990 * ^1da177e4c3f41 Linus Torvalds 2005-04-16 991 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 992 #define container_of(ptr, type, member) ({ \ c7acec713d14c6 Ian Abbott 2017-07-12 993 void *__mptr = (void *)(ptr); \ c7acec713d14c6 Ian Abbott 2017-07-12 @994 BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ c7acec713d14c6 Ian Abbott 2017-07-12 995 !__same_type(*(ptr), void), \ c7acec713d14c6 Ian Abbott 2017-07-12 996 "pointer type mismatch in container_of()"); \ c7acec713d14c6 Ian Abbott 2017-07-12 997 ((type *)(__mptr - offsetof(type, member))); }) ^1da177e4c3f41 Linus Torvalds 2005-04-16 998 :::::: The code at line 994 was first introduced by commit :::::: c7acec713d14c6ce8a20154f9dfda258d6bcad3b kernel.h: handle pointers to arrays better in container_of() :::::: TO: Ian Abbott :::::: CC: Linus Torvalds --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --2oS5YaxWCcQjTEyO Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 HqRnzQAA --2oS5YaxWCcQjTEyO--