Message ID | ZnB9X1Jj6c04ufC0@sirena.org.uk (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | linux-next: build failure after merge of the bpf-next tree | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
Hi Mark, kernel test robot noticed the following build errors: [auto build test ERROR on hid/for-next] [cannot apply to linus/master v6.10-rc4 next-20240621] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Mark-Brown/linux-next-build-failure-after-merge-of-the-bpf-next-tree/20240618-022240 base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next patch link: https://lore.kernel.org/r/ZnB9X1Jj6c04ufC0%40sirena.org.uk patch subject: linux-next: build failure after merge of the bpf-next tree config: x86_64-randconfig-r122-20240622 (https://download.01.org/0day-ci/archive/20240622/202406221655.xSqDIUk6-lkp@intel.com/config) compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240622/202406221655.xSqDIUk6-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/202406221655.xSqDIUk6-lkp@intel.com/ All errors (new ones prefixed by >>): >> 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, | ^~~~~~~~~~~ >> 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
Hi Mark, kernel test robot noticed the following build errors: [auto build test ERROR on hid/for-next] [cannot apply to linus/master v6.10-rc4 next-20240621] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Mark-Brown/linux-next-build-failure-after-merge-of-the-bpf-next-tree/20240618-022240 base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next patch link: https://lore.kernel.org/r/ZnB9X1Jj6c04ufC0%40sirena.org.uk patch subject: linux-next: build failure after merge of the bpf-next tree config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20240622/202406221626.JK0Nnkxy-lkp@intel.com/config) compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240622/202406221626.JK0Nnkxy-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/202406221626.JK0Nnkxy-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: error: initialization of 'int (*)(void *)' from incompatible pointer type 'int (*)(void *, struct bpf_link *)' [-Werror=incompatible-pointer-types] 280 | .reg = hid_bpf_reg, | ^~~~~~~~~~~ drivers/hid/bpf/hid_bpf_struct_ops.c:280:16: note: (near initialization for 'bpf_hid_bpf_ops.reg') >> drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: error: initialization of 'void (*)(void *)' from incompatible pointer type 'void (*)(void *, struct bpf_link *)' [-Werror=incompatible-pointer-types] 281 | .unreg = hid_bpf_unreg, | ^~~~~~~~~~~~~ drivers/hid/bpf/hid_bpf_struct_ops.c:281:18: note: (near initialization for 'bpf_hid_bpf_ops.unreg') cc1: some warnings being treated as errors 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
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 <broonie@kernel.org> wrote: > > 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(-) > > diff --git a/drivers/hid/bpf/hid_bpf_struct_ops.c b/drivers/hid/bpf/hid_bpf_struct_ops.c > index 5f200557ff12b..744318e7d936b 100644 > --- a/drivers/hid/bpf/hid_bpf_struct_ops.c > +++ b/drivers/hid/bpf/hid_bpf_struct_ops.c > @@ -175,7 +175,7 @@ static int hid_bpf_ops_init_member(const struct btf_type *t, > return 0; > } > > -static int hid_bpf_reg(void *kdata) > +static int hid_bpf_reg(void *kdata, struct bpf_link *link) > { > struct hid_bpf_ops *ops = kdata; > struct hid_device *hdev; > @@ -229,7 +229,7 @@ static int hid_bpf_reg(void *kdata) > return err; > } > > -static void hid_bpf_unreg(void *kdata) > +static void hid_bpf_unreg(void *kdata, struct bpf_link *link) > { > struct hid_bpf_ops *ops = kdata; > struct hid_device *hdev; > -- > 2.39.2 >
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 <broonie@kernel.org> wrote: > > > > 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(-) > > > > diff --git a/drivers/hid/bpf/hid_bpf_struct_ops.c b/drivers/hid/bpf/hid_bpf_struct_ops.c > > index 5f200557ff12b..744318e7d936b 100644 > > --- a/drivers/hid/bpf/hid_bpf_struct_ops.c > > +++ b/drivers/hid/bpf/hid_bpf_struct_ops.c > > @@ -175,7 +175,7 @@ static int hid_bpf_ops_init_member(const struct btf_type *t, > > return 0; > > } > > > > -static int hid_bpf_reg(void *kdata) > > +static int hid_bpf_reg(void *kdata, struct bpf_link *link) > > { > > struct hid_bpf_ops *ops = kdata; > > struct hid_device *hdev; > > @@ -229,7 +229,7 @@ static int hid_bpf_reg(void *kdata) > > return err; > > } > > > > -static void hid_bpf_unreg(void *kdata) > > +static void hid_bpf_unreg(void *kdata, struct bpf_link *link) > > { > > struct hid_bpf_ops *ops = kdata; > > struct hid_device *hdev; > > -- > > 2.39.2 > >
On Tue, Jun 25, 2024 at 05:54:47PM +0200, Benjamin Tissoires wrote: > On Jun 24 2024, Thinker Li wrote: > > 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 :) Only holiday cover but yes.
On Tue, Jun 25, 2024 at 8:54 AM Benjamin Tissoires <bentiss@kernel.org> wrote: > > 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? 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 ?
On Jun 25 2024, Alexei Starovoitov wrote: > On Tue, Jun 25, 2024 at 8:54 AM Benjamin Tissoires <bentiss@kernel.org> wrote: > > > > 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? > > 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
Hi all, On Mon, 17 Jun 2024 19:15:59 +0100 Mark Brown <broonie@kernel.org> wrote: > > 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(-) > > diff --git a/drivers/hid/bpf/hid_bpf_struct_ops.c b/drivers/hid/bpf/hid_bpf_struct_ops.c > index 5f200557ff12b..744318e7d936b 100644 > --- a/drivers/hid/bpf/hid_bpf_struct_ops.c > +++ b/drivers/hid/bpf/hid_bpf_struct_ops.c > @@ -175,7 +175,7 @@ static int hid_bpf_ops_init_member(const struct btf_type *t, > return 0; > } > > -static int hid_bpf_reg(void *kdata) > +static int hid_bpf_reg(void *kdata, struct bpf_link *link) > { > struct hid_bpf_ops *ops = kdata; > struct hid_device *hdev; > @@ -229,7 +229,7 @@ static int hid_bpf_reg(void *kdata) > return err; > } > > -static void hid_bpf_unreg(void *kdata) > +static void hid_bpf_unreg(void *kdata, struct bpf_link *link) > { > struct hid_bpf_ops *ops = kdata; > struct hid_device *hdev; > -- > 2.39.2 > This fixup is now required when the hid and next-next trees are merged.
Hi all, On Wed, 10 Jul 2024 09:13:44 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > On Mon, 17 Jun 2024 19:15:59 +0100 Mark Brown <broonie@kernel.org> wrote: > > > > 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(-) > > > > diff --git a/drivers/hid/bpf/hid_bpf_struct_ops.c b/drivers/hid/bpf/hid_bpf_struct_ops.c > > index 5f200557ff12b..744318e7d936b 100644 > > --- a/drivers/hid/bpf/hid_bpf_struct_ops.c > > +++ b/drivers/hid/bpf/hid_bpf_struct_ops.c > > @@ -175,7 +175,7 @@ static int hid_bpf_ops_init_member(const struct btf_type *t, > > return 0; > > } > > > > -static int hid_bpf_reg(void *kdata) > > +static int hid_bpf_reg(void *kdata, struct bpf_link *link) > > { > > struct hid_bpf_ops *ops = kdata; > > struct hid_device *hdev; > > @@ -229,7 +229,7 @@ static int hid_bpf_reg(void *kdata) > > return err; > > } > > > > -static void hid_bpf_unreg(void *kdata) > > +static void hid_bpf_unreg(void *kdata, struct bpf_link *link) > > { > > struct hid_bpf_ops *ops = kdata; > > struct hid_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.
Hi Stephen, On Jul 18 2024, Stephen Rothwell wrote: > Hi all, > > On Wed, 10 Jul 2024 09:13:44 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > > > On Mon, 17 Jun 2024 19:15:59 +0100 Mark Brown <broonie@kernel.org> wrote: > > > > > > 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(-) > > > > > > diff --git a/drivers/hid/bpf/hid_bpf_struct_ops.c b/drivers/hid/bpf/hid_bpf_struct_ops.c > > > index 5f200557ff12b..744318e7d936b 100644 > > > --- a/drivers/hid/bpf/hid_bpf_struct_ops.c > > > +++ b/drivers/hid/bpf/hid_bpf_struct_ops.c > > > @@ -175,7 +175,7 @@ static int hid_bpf_ops_init_member(const struct btf_type *t, > > > return 0; > > > } > > > > > > -static int hid_bpf_reg(void *kdata) > > > +static int hid_bpf_reg(void *kdata, struct bpf_link *link) > > > { > > > struct hid_bpf_ops *ops = kdata; > > > struct hid_device *hdev; > > > @@ -229,7 +229,7 @@ static int hid_bpf_reg(void *kdata) > > > return err; > > > } > > > > > > -static void hid_bpf_unreg(void *kdata) > > > +static void hid_bpf_unreg(void *kdata, struct bpf_link *link) > > > { > > > struct hid_bpf_ops *ops = kdata; > > > struct hid_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
diff --git a/drivers/hid/bpf/hid_bpf_struct_ops.c b/drivers/hid/bpf/hid_bpf_struct_ops.c index 5f200557ff12b..744318e7d936b 100644 --- a/drivers/hid/bpf/hid_bpf_struct_ops.c +++ b/drivers/hid/bpf/hid_bpf_struct_ops.c @@ -175,7 +175,7 @@ static int hid_bpf_ops_init_member(const struct btf_type *t, return 0; } -static int hid_bpf_reg(void *kdata) +static int hid_bpf_reg(void *kdata, struct bpf_link *link) { struct hid_bpf_ops *ops = kdata; struct hid_device *hdev; @@ -229,7 +229,7 @@ static int hid_bpf_reg(void *kdata) return err; } -static void hid_bpf_unreg(void *kdata) +static void hid_bpf_unreg(void *kdata, struct bpf_link *link) { struct hid_bpf_ops *ops = kdata; struct hid_device *hdev;