From: Benjamin Tissoires <bentiss@kernel.org>
To: "Thomas Weißschuh" <thomas.weissschuh@linutronix.de>
Cc: Jiri Kosina <jikos@kernel.org>,
linux-input@vger.kernel.org, kernel test robot <lkp@intel.com>,
oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
x86@kernel.org, Thomas Gleixner <tglx@kernel.org>
Subject: Re: [tip:timers/vdso 37/45] progs/hid_bpf_helpers.h:117:31: error: declaration of 'struct bpf_wq' will not be visible outside of this function
Date: Wed, 11 Mar 2026 18:05:25 +0100 [thread overview]
Message-ID: <abGeK0FpNn5uXi8B@beelink> (raw)
In-Reply-To: <20260311160618-dbfa08f6-8cfa-4f81-94a2-d6d97f79ae93@linutronix.de>
On Mar 11 2026, Thomas Weißschuh wrote:
> Hi Jiri and Benjamin,
>
> could you take a look at the report below?
> This looks like an issue in the HID BPF subsystem, surfaced by my
> unrelated change. Does this ring a bell for you?
>
> I wasn't able to reproduce it so far, but will continue looking into it.
Both struct bpf_wq and struct hid_device should be generated in the
vmlinux.h that we include in the selftests. So this is definitely not
related to your patch AFAICT.
Looking in the config, we have `# CONFIG_HID_SUPPORT is not set` -> so
that would explain why struct hid_device is not available. But in that
case, why are the HID selftests even built?
The bpf_wq bits should be related to a similar-ish issue where one
config setting is not set and so it's not included in the final BTF.
I paged out how we can ignore selftests based on the .config, so if you
have any hints, that would be nice :)
Cheers,
Benjamin
>
>
> Thomas
>
> On Wed, Mar 11, 2026 at 03:29:54PM +0100, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/vdso
> > head: f7178f159b2a36d070fd43b0d751e4e4415ec39e
> > commit: 912632a7fd4cc1eac2778828d92e8fe46939d6bd [37/45] vdso/datapage: Trim down unnecessary includes
> > config: riscv-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20260311/202603111558.KLCIxsZB-lkp@intel.com/config)
> > compiler: riscv64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260311/202603111558.KLCIxsZB-lkp@intel.com/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202603111558.KLCIxsZB-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> > In file included from progs/hid.c:3:
> > >> progs/hid_bpf_helpers.h:117:31: error: declaration of 'struct bpf_wq' will not be visible outside of this function [-Werror,-Wvisibility]
> > 117 | extern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym;
> > | ^
> > progs/hid_bpf_helpers.h:118:32: error: declaration of 'struct bpf_wq' will not be visible outside of this function [-Werror,-Wvisibility]
> > 118 | extern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym;
> > | ^
> > progs/hid_bpf_helpers.h:119:39: error: declaration of 'struct bpf_wq' will not be visible outside of this function [-Werror,-Wvisibility]
> > 119 | extern int bpf_wq_set_callback(struct bpf_wq *wq,
> > | ^
> > >> progs/hid.c:448:16: error: field has incomplete type 'struct bpf_wq'
> > 448 | struct bpf_wq work;
> > | ^
> > progs/hid.c:448:9: note: forward declaration of 'struct bpf_wq'
> > 448 | struct bpf_wq work;
> > | ^
> > >> progs/hid.c:487:18: error: incompatible pointer types passing 'struct bpf_wq *' to parameter of type 'struct bpf_wq *' [-Wincompatible-pointer-types]
> > 487 | if (bpf_wq_init(wq, &hmap, 0) != 0)
> > | ^~
> > progs/hid_bpf_helpers.h:117:39: note: passing argument to parameter 'wq' here
> > 117 | extern int bpf_wq_init(struct bpf_wq *wq, void *p__map, unsigned int flags) __weak __ksym;
> > | ^
> > progs/hid.c:490:26: error: incompatible pointer types passing 'struct bpf_wq *' to parameter of type 'struct bpf_wq *' [-Wincompatible-pointer-types]
> > 490 | if (bpf_wq_set_callback(wq, wq_cb_sleepable, 0))
> > | ^~
> > progs/hid_bpf_helpers.h:119:47: note: passing argument to parameter 'wq' here
> > 119 | extern int bpf_wq_set_callback(struct bpf_wq *wq,
> > | ^
> > progs/hid.c:493:19: error: incompatible pointer types passing 'struct bpf_wq *' to parameter of type 'struct bpf_wq *' [-Wincompatible-pointer-types]
> > 493 | if (bpf_wq_start(wq, 0))
> > | ^~
> > progs/hid_bpf_helpers.h:118:40: note: passing argument to parameter 'wq' here
> > 118 | extern int bpf_wq_start(struct bpf_wq *wq, unsigned int flags) __weak __ksym;
> > | ^
> > progs/hid.c:503:24: error: incomplete definition of type 'struct hid_device'
> > 503 | int hid = hid_ctx->hid->id;
> > | ~~~~~~~~~~~~^
> > progs/hid_bpf_helpers.h:59:9: note: forward declaration of 'struct hid_device'
> > 59 | struct hid_device *hid;
> > | ^
> > 8 errors generated.
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
>
next prev parent reply other threads:[~2026-03-11 17:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-11 14:29 [tip:timers/vdso 37/45] progs/hid_bpf_helpers.h:117:31: error: declaration of 'struct bpf_wq' will not be visible outside of this function kernel test robot
2026-03-11 15:09 ` Thomas Weißschuh
2026-03-11 17:05 ` Benjamin Tissoires [this message]
2026-03-12 6:46 ` Thomas Weißschuh
2026-03-12 17:34 ` Benjamin Tissoires
2026-03-13 8:20 ` Thomas Weißschuh
2026-03-13 8:51 ` Benjamin Tissoires
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=abGeK0FpNn5uXi8B@beelink \
--to=bentiss@kernel.org \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=tglx@kernel.org \
--cc=thomas.weissschuh@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox