From: Mark Brown <broonie@kernel.org> Date: 2024-06-17 18:16:05
Hi all,
After merging the bpf-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: error: initialization of 'int (*)(void *, struct bpf_link *)' from incompatible pointer type 'int (*)(void *)' [-Werror=incompatible-pointer-types]
280 | .reg = hid_bpf_reg,
| ^~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: note: (near initialization for 'bpf_hid_bpf_ops.reg')
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: error: initialization of 'void (*)(void *, struct bpf_link *)' from incompatible pointer type 'void (*)(void *)' [-Werror=incompatible-pointer-types]
281 | .unreg = hid_bpf_unreg,
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: note: (near initialization for 'bpf_hid_bpf_ops.unreg')
Caused by commit
73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
interacting with commit
ebc0d8093e8c97 ("HID: bpf: implement HID-BPF through bpf_struct_ops")
from the HID tree.
I've fixed it up as below:
From e8aeaba00440845f9bd8d6183ca5d7383a678cd3 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Mon, 17 Jun 2024 19:02:27 +0100
Subject: [PATCH] HID: bpf: Fix up build
Fix up build error due to 73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/hid/bpf/hid_bpf_struct_ops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
drivers/hid/bpf/hid_bpf_struct_ops.c:280:9: error: incompatible function pointer types initializing 'int (*)(void *)' with an expression of type 'int (void *, struct bpf_link *)' [-Wincompatible-function-pointer-types]
280 | .reg = hid_bpf_reg,
| ^~~~~~~~~~~
quoted
drivers/hid/bpf/hid_bpf_struct_ops.c:281:11: error: incompatible function pointer types initializing 'void (*)(void *)' with an expression of type 'void (void *, struct bpf_link *)' [-Wincompatible-function-pointer-types]
281 | .unreg = hid_bpf_unreg,
| ^~~~~~~~~~~~~
2 errors generated.
vim +280 drivers/hid/bpf/hid_bpf_struct_ops.c
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 274
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 275 static struct bpf_struct_ops bpf_hid_bpf_ops = {
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 276 .verifier_ops = &hid_bpf_verifier_ops,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 277 .init = hid_bpf_ops_init,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 278 .check_member = hid_bpf_ops_check_member,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 279 .init_member = hid_bpf_ops_init_member,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 @280 .reg = hid_bpf_reg,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 @281 .unreg = hid_bpf_unreg,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 282 .name = "hid_bpf_ops",
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 283 .cfi_stubs = &__bpf_hid_bpf_ops,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 284 .owner = THIS_MODULE,
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 285 };
ebc0d8093e8c97 Benjamin Tissoires 2024-06-08 286
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
From: Thinker Li <hidden> Date: 2024-06-25 01:22:43
Hi Mark,
I'm sorry for not getting back to you sooner. I have been traveling
since my last message.
I guess this patch is for the HID tree. The changes in this patch are great.
However, I suggest you implement ".update" if you think it is
reasonable for HID,
although it is not a MUST-BE. ".update" provides a good feature that
user space programs
can update an implementation on the flight.
On Mon, Jun 17, 2024 at 11:16 AM Mark Brown [off-list ref] wrote:
quoted hunk
Hi all,
After merging the bpf-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: error: initialization of 'int (*)(void *, struct bpf_link *)' from incompatible pointer type 'int (*)(void *)' [-Werror=incompatible-pointer-types]
280 | .reg = hid_bpf_reg,
| ^~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: note: (near initialization for 'bpf_hid_bpf_ops.reg')
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: error: initialization of 'void (*)(void *, struct bpf_link *)' from incompatible pointer type 'void (*)(void *)' [-Werror=incompatible-pointer-types]
281 | .unreg = hid_bpf_unreg,
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: note: (near initialization for 'bpf_hid_bpf_ops.unreg')
Caused by commit
73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
interacting with commit
ebc0d8093e8c97 ("HID: bpf: implement HID-BPF through bpf_struct_ops")
from the HID tree.
I've fixed it up as below:
From e8aeaba00440845f9bd8d6183ca5d7383a678cd3 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Mon, 17 Jun 2024 19:02:27 +0100
Subject: [PATCH] HID: bpf: Fix up build
Fix up build error due to 73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/hid/bpf/hid_bpf_struct_ops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Benjamin Tissoires <bentiss@kernel.org> Date: 2024-06-25 15:54:53
On Jun 24 2024, Thinker Li wrote:
Hi Mark,
I'm sorry for not getting back to you sooner. I have been traveling
since my last message.
I guess this patch is for the HID tree. The changes in this patch are great.
Ok, thanks for the review. However, the need appears because there is a
conflicting update in the bpf tree.
May I ask the bpf maintainers (Daniel/Alexei/Andrii) for an immutable
tag I could merge to so I can take this patch from Mark?
However, I suggest you implement ".update" if you think it is
reasonable for HID,
although it is not a MUST-BE. ".update" provides a good feature that
user space programs
can update an implementation on the flight.
FWIW, Mark handles linux-next, so not sure he has deep knowledge of
HID-BPF, and not sure he wants too :)
Regarding .update, I'm not sure it's worth the effort for hid-bpf. Right
now HID-BPF programs are just a one-shot: you load them, pin them and
forget. This might be different when systemd starts implementing a HID
firewall, but we can cross that bridge when we see fit.
Cheers,
Benjamin
On Mon, Jun 17, 2024 at 11:16 AM Mark Brown [off-list ref] wrote:
quoted
Hi all,
After merging the bpf-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: error: initialization of 'int (*)(void *, struct bpf_link *)' from incompatible pointer type 'int (*)(void *)' [-Werror=incompatible-pointer-types]
280 | .reg = hid_bpf_reg,
| ^~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: note: (near initialization for 'bpf_hid_bpf_ops.reg')
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: error: initialization of 'void (*)(void *, struct bpf_link *)' from incompatible pointer type 'void (*)(void *)' [-Werror=incompatible-pointer-types]
281 | .unreg = hid_bpf_unreg,
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: note: (near initialization for 'bpf_hid_bpf_ops.unreg')
Caused by commit
73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
interacting with commit
ebc0d8093e8c97 ("HID: bpf: implement HID-BPF through bpf_struct_ops")
from the HID tree.
I've fixed it up as below:
From e8aeaba00440845f9bd8d6183ca5d7383a678cd3 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Mon, 17 Jun 2024 19:02:27 +0100
Subject: [PATCH] HID: bpf: Fix up build
Fix up build error due to 73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/hid/bpf/hid_bpf_struct_ops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Mark Brown <broonie@kernel.org> Date: 2024-06-25 16:03:52
On Tue, Jun 25, 2024 at 05:54:47PM +0200, Benjamin Tissoires wrote:
On Jun 24 2024, Thinker Li wrote:
quoted
However, I suggest you implement ".update" if you think it is
reasonable for HID,
although it is not a MUST-BE. ".update" provides a good feature that
user space programs
can update an implementation on the flight.
FWIW, Mark handles linux-next, so not sure he has deep knowledge of
HID-BPF, and not sure he wants too :)
On Tue, Jun 25, 2024 at 8:54 AM Benjamin Tissoires [off-list ref] wrote:
On Jun 24 2024, Thinker Li wrote:
quoted
Hi Mark,
I'm sorry for not getting back to you sooner. I have been traveling
since my last message.
I guess this patch is for the HID tree. The changes in this patch are great.
Ok, thanks for the review. However, the need appears because there is a
conflicting update in the bpf tree.
May I ask the bpf maintainers (Daniel/Alexei/Andrii) for an immutable
tag I could merge to so I can take this patch from Mark?
I'm not sure how that would look like.
imo conflict is minor enough.
When net-next/bpf-next lands in the upcoming merge window
just provide Mark's patch as a conflict resolution suggestion
in the cover letter of hid PR ?
From: Benjamin Tissoires <bentiss@kernel.org> Date: 2024-06-27 07:14:15
On Jun 25 2024, Alexei Starovoitov wrote:
On Tue, Jun 25, 2024 at 8:54 AM Benjamin Tissoires [off-list ref] wrote:
quoted
On Jun 24 2024, Thinker Li wrote:
quoted
Hi Mark,
I'm sorry for not getting back to you sooner. I have been traveling
since my last message.
I guess this patch is for the HID tree. The changes in this patch are great.
Ok, thanks for the review. However, the need appears because there is a
conflicting update in the bpf tree.
May I ask the bpf maintainers (Daniel/Alexei/Andrii) for an immutable
tag I could merge to so I can take this patch from Mark?
I'm not sure how that would look like.
imo conflict is minor enough.
When net-next/bpf-next lands in the upcoming merge window
just provide Mark's patch as a conflict resolution suggestion
in the cover letter of hid PR ?
I guess I can also wait for the bpf PR to come in, merge with it and add
Mark's patch at that time. It's not so much of a conflict but 2
independant changes in 2 different trees.
Anyway, we'll figure it out when we need :)
Cheers,
Benjamin
From: Stephen Rothwell <hidden> Date: 2024-07-09 23:13:48
Hi all,
On Mon, 17 Jun 2024 19:15:59 +0100 Mark Brown [off-list ref] wrote:
quoted hunk
After merging the bpf-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: error: initialization of 'int (*)(void *, struct bpf_link *)' from incompatible pointer type 'int (*)(void *)' [-Werror=incompatible-pointer-types]
280 | .reg = hid_bpf_reg,
| ^~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: note: (near initialization for 'bpf_hid_bpf_ops.reg')
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: error: initialization of 'void (*)(void *, struct bpf_link *)' from incompatible pointer type 'void (*)(void *)' [-Werror=incompatible-pointer-types]
281 | .unreg = hid_bpf_unreg,
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: note: (near initialization for 'bpf_hid_bpf_ops.unreg')
Caused by commit
73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
interacting with commit
ebc0d8093e8c97 ("HID: bpf: implement HID-BPF through bpf_struct_ops")
from the HID tree.
I've fixed it up as below:
From e8aeaba00440845f9bd8d6183ca5d7383a678cd3 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Mon, 17 Jun 2024 19:02:27 +0100
Subject: [PATCH] HID: bpf: Fix up build
Fix up build error due to 73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/hid/bpf/hid_bpf_struct_ops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Stephen Rothwell <hidden> Date: 2024-07-18 01:49:20
Hi all,
On Wed, 10 Jul 2024 09:13:44 +1000 Stephen Rothwell [off-list ref] wrote:
On Mon, 17 Jun 2024 19:15:59 +0100 Mark Brown [off-list ref] wrote:
quoted
After merging the bpf-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: error: initialization of 'int (*)(void *, struct bpf_link *)' from incompatible pointer type 'int (*)(void *)' [-Werror=incompatible-pointer-types]
280 | .reg = hid_bpf_reg,
| ^~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: note: (near initialization for 'bpf_hid_bpf_ops.reg')
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: error: initialization of 'void (*)(void *, struct bpf_link *)' from incompatible pointer type 'void (*)(void *)' [-Werror=incompatible-pointer-types]
281 | .unreg = hid_bpf_unreg,
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: note: (near initialization for 'bpf_hid_bpf_ops.unreg')
Caused by commit
73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
interacting with commit
ebc0d8093e8c97 ("HID: bpf: implement HID-BPF through bpf_struct_ops")
from the HID tree.
I've fixed it up as below:
From e8aeaba00440845f9bd8d6183ca5d7383a678cd3 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Mon, 17 Jun 2024 19:02:27 +0100
Subject: [PATCH] HID: bpf: Fix up build
Fix up build error due to 73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/hid/bpf/hid_bpf_struct_ops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Benjamin Tissoires <bentiss@kernel.org> Date: 2024-07-18 07:43:01
Hi Stephen,
On Jul 18 2024, Stephen Rothwell wrote:
Hi all,
On Wed, 10 Jul 2024 09:13:44 +1000 Stephen Rothwell [off-list ref] wrote:
quoted
On Mon, 17 Jun 2024 19:15:59 +0100 Mark Brown [off-list ref] wrote:
quoted
After merging the bpf-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: error: initialization of 'int (*)(void *, struct bpf_link *)' from incompatible pointer type 'int (*)(void *)' [-Werror=incompatible-pointer-types]
280 | .reg = hid_bpf_reg,
| ^~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: note: (near initialization for 'bpf_hid_bpf_ops.reg')
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: error: initialization of 'void (*)(void *, struct bpf_link *)' from incompatible pointer type 'void (*)(void *)' [-Werror=incompatible-pointer-types]
281 | .unreg = hid_bpf_unreg,
| ^~~~~~~~~~~~~
/tmp/next/build/drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: note: (near initialization for 'bpf_hid_bpf_ops.unreg')
Caused by commit
73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
interacting with commit
ebc0d8093e8c97 ("HID: bpf: implement HID-BPF through bpf_struct_ops")
from the HID tree.
I've fixed it up as below:
From e8aeaba00440845f9bd8d6183ca5d7383a678cd3 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Mon, 17 Jun 2024 19:02:27 +0100
Subject: [PATCH] HID: bpf: Fix up build
Fix up build error due to 73287fe228721b ("bpf: pass bpf_struct_ops_link to callbacks in bpf_struct_ops.")
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/hid/bpf/hid_bpf_struct_ops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -175,7 +175,7 @@ static int hid_bpf_ops_init_member(const struct btf_type *t,return0;}-staticinthid_bpf_reg(void*kdata)+staticinthid_bpf_reg(void*kdata,structbpf_link*link){structhid_bpf_ops*ops=kdata;structhid_device*hdev;
@@ -229,7 +229,7 @@ static int hid_bpf_reg(void *kdata)returnerr;}-staticvoidhid_bpf_unreg(void*kdata)+staticvoidhid_bpf_unreg(void*kdata,structbpf_link*link){structhid_bpf_ops*ops=kdata;structhid_device*hdev;
--
2.39.2
This fixup is now required when the hid and next-next trees are merged.
And now this is needed when the hid tree is merged with Linus' tree.
Thanks a lot for all of your reminders.
The HID PR has been accepted and merged thanks to both of your merge
conflicts detection, Mark and you. So this conflict should no longer be a
problem.
Cheers,
Benjamin