diff mbox series

bpfilter: Fix build error with CONFIG_BPFILTER_UMH

Message ID 20201014091749.25488-1-yuehaibing@huawei.com (mailing list archive)
State Not Applicable
Delegated to: Netdev Maintainers
Headers show
Series bpfilter: Fix build error with CONFIG_BPFILTER_UMH | expand

Commit Message

Yue Haibing Oct. 14, 2020, 9:17 a.m. UTC
IF CONFIG_BPFILTER_UMH is set, building fails:

In file included from /usr/include/sys/socket.h:33:0,
                 from net/bpfilter/main.c:6:
/usr/include/bits/socket.h:390:10: fatal error: asm/socket.h: No such file or directory
 #include <asm/socket.h>
          ^~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.userprogs:43: recipe for target 'net/bpfilter/main.o' failed
make[2]: *** [net/bpfilter/main.o] Error 1

Add missing include path to fix this.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 net/bpfilter/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jakub Kicinski Oct. 15, 2020, 4:37 p.m. UTC | #1
On Wed, 14 Oct 2020 17:17:49 +0800 YueHaibing wrote:
> IF CONFIG_BPFILTER_UMH is set, building fails:
> 
> In file included from /usr/include/sys/socket.h:33:0,
>                  from net/bpfilter/main.c:6:
> /usr/include/bits/socket.h:390:10: fatal error: asm/socket.h: No such file or directory
>  #include <asm/socket.h>
>           ^~~~~~~~~~~~~~
> compilation terminated.
> scripts/Makefile.userprogs:43: recipe for target 'net/bpfilter/main.o' failed
> make[2]: *** [net/bpfilter/main.o] Error 1
> 
> Add missing include path to fix this.
> 
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>

Applied, thank you!
Alexei Starovoitov Oct. 15, 2020, 6:53 p.m. UTC | #2
On Thu, Oct 15, 2020 at 9:37 AM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Wed, 14 Oct 2020 17:17:49 +0800 YueHaibing wrote:
> > IF CONFIG_BPFILTER_UMH is set, building fails:
> >
> > In file included from /usr/include/sys/socket.h:33:0,
> >                  from net/bpfilter/main.c:6:
> > /usr/include/bits/socket.h:390:10: fatal error: asm/socket.h: No such file or directory
> >  #include <asm/socket.h>
> >           ^~~~~~~~~~~~~~
> > compilation terminated.
> > scripts/Makefile.userprogs:43: recipe for target 'net/bpfilter/main.o' failed
> > make[2]: *** [net/bpfilter/main.o] Error 1
> >
> > Add missing include path to fix this.
> >
> > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
>
> Applied, thank you!

Please revert. The patch makes no sense.
Also please don't take bpf patches.
Jakub Kicinski Oct. 15, 2020, 6:56 p.m. UTC | #3
On Thu, 15 Oct 2020 11:53:08 -0700 Alexei Starovoitov wrote:
> On Thu, Oct 15, 2020 at 9:37 AM Jakub Kicinski <kuba@kernel.org> wrote:
> > On Wed, 14 Oct 2020 17:17:49 +0800 YueHaibing wrote:  
> > > IF CONFIG_BPFILTER_UMH is set, building fails:
> > >
> > > In file included from /usr/include/sys/socket.h:33:0,
> > >                  from net/bpfilter/main.c:6:
> > > /usr/include/bits/socket.h:390:10: fatal error: asm/socket.h: No such file or directory
> > >  #include <asm/socket.h>
> > >           ^~~~~~~~~~~~~~
> > > compilation terminated.
> > > scripts/Makefile.userprogs:43: recipe for target 'net/bpfilter/main.o' failed
> > > make[2]: *** [net/bpfilter/main.o] Error 1
> > >
> > > Add missing include path to fix this.
> > >
> > > Signed-off-by: YueHaibing <yuehaibing@huawei.com>  
> >
> > Applied, thank you!  
> 
> Please revert. The patch makes no sense.

How so? It's using in-tree headers instead of system ones.
Many samples seem to be doing the same thing.

> Also please don't take bpf patches.

You had it marked it as netdev in your patchwork :/
Alexei Starovoitov Oct. 15, 2020, 7:03 p.m. UTC | #4
On Thu, Oct 15, 2020 at 11:56 AM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Thu, 15 Oct 2020 11:53:08 -0700 Alexei Starovoitov wrote:
> > On Thu, Oct 15, 2020 at 9:37 AM Jakub Kicinski <kuba@kernel.org> wrote:
> > > On Wed, 14 Oct 2020 17:17:49 +0800 YueHaibing wrote:
> > > > IF CONFIG_BPFILTER_UMH is set, building fails:
> > > >
> > > > In file included from /usr/include/sys/socket.h:33:0,
> > > >                  from net/bpfilter/main.c:6:
> > > > /usr/include/bits/socket.h:390:10: fatal error: asm/socket.h: No such file or directory
> > > >  #include <asm/socket.h>
> > > >           ^~~~~~~~~~~~~~
> > > > compilation terminated.
> > > > scripts/Makefile.userprogs:43: recipe for target 'net/bpfilter/main.o' failed
> > > > make[2]: *** [net/bpfilter/main.o] Error 1
> > > >
> > > > Add missing include path to fix this.
> > > >
> > > > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > >
> > > Applied, thank you!
> >
> > Please revert. The patch makes no sense.
>
> How so? It's using in-tree headers instead of system ones.
> Many samples seem to be doing the same thing.

There is no such thing as "usr/include" in the kernel build and source trees.

> > Also please don't take bpf patches.
>
> You had it marked it as netdev in your patchwork :/

It was delegated automatically by the patchwork system.
I didn't have time to reassign, but you should have known better
when you saw 'bpfilter' in the subject.
Jakub Kicinski Oct. 15, 2020, 7:26 p.m. UTC | #5
On Thu, 15 Oct 2020 12:03:14 -0700 Alexei Starovoitov wrote:
> On Thu, Oct 15, 2020 at 11:56 AM Jakub Kicinski <kuba@kernel.org> wrote:
> > How so? It's using in-tree headers instead of system ones.
> > Many samples seem to be doing the same thing.  
> 
> There is no such thing as "usr/include" in the kernel build and source trees.

Hm. I thought bpfilter somehow depends on make headers. But it doesn't
seem to. Reverting now.

> > > Also please don't take bpf patches.  
> >
> > You had it marked it as netdev in your patchwork :/  
> 
> It was delegated automatically by the patchwork system.
> I didn't have time to reassign, but you should have known better
> when you saw 'bpfilter' in the subject.

The previous committers for bpfilter are almost all Dave, so I checked
your patchwork to make sure and it was netdev...

I'll do better next time :)
Alexei Starovoitov Oct. 15, 2020, 7:57 p.m. UTC | #6
On Thu, Oct 15, 2020 at 12:26 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Thu, 15 Oct 2020 12:03:14 -0700 Alexei Starovoitov wrote:
> > On Thu, Oct 15, 2020 at 11:56 AM Jakub Kicinski <kuba@kernel.org> wrote:
> > > How so? It's using in-tree headers instead of system ones.
> > > Many samples seem to be doing the same thing.
> >
> > There is no such thing as "usr/include" in the kernel build and source trees.
>
> Hm. I thought bpfilter somehow depends on make headers. But it doesn't
> seem to. Reverting now.

Thanks!
Right. To explain it a bit further for the author of the patch:
Some samples makefiles use this -I usr/include pattern.
That's different. This local "usr/include" is a result of 'make
headers_install'.
For samples and such it's ok to depend on that, but bpfilter is
the part of the kernel build.
It cannot depend on the 'make headers_install' step,
so the fix has to be different.

> > > > Also please don't take bpf patches.
> > >
> > > You had it marked it as netdev in your patchwork :/
> >
> > It was delegated automatically by the patchwork system.
> > I didn't have time to reassign, but you should have known better
> > when you saw 'bpfilter' in the subject.
>
> The previous committers for bpfilter are almost all Dave, so I checked
> your patchwork to make sure and it was netdev...

It was my fault. I was sloppy in the past and didn't pay enough attention
to bpfilter and it started to bitrot because Dave was applying patches
with his normal SLAs while I was silent.
Yue Haibing Oct. 16, 2020, 6:18 a.m. UTC | #7
On 2020/10/16 3:57, Alexei Starovoitov wrote:
> On Thu, Oct 15, 2020 at 12:26 PM Jakub Kicinski <kuba@kernel.org> wrote:
>>
>> On Thu, 15 Oct 2020 12:03:14 -0700 Alexei Starovoitov wrote:
>>> On Thu, Oct 15, 2020 at 11:56 AM Jakub Kicinski <kuba@kernel.org> wrote:
>>>> How so? It's using in-tree headers instead of system ones.
>>>> Many samples seem to be doing the same thing.
>>>
>>> There is no such thing as "usr/include" in the kernel build and source trees.
>>
>> Hm. I thought bpfilter somehow depends on make headers. But it doesn't
>> seem to. Reverting now.
> 
> Thanks!
> Right. To explain it a bit further for the author of the patch:
> Some samples makefiles use this -I usr/include pattern.
> That's different. This local "usr/include" is a result of 'make
> headers_install'.

I didn't notice this, sorry for the wrong fix.

> For samples and such it's ok to depend on that, but bpfilter is
> the part of the kernel build.
> It cannot depend on the 'make headers_install' step,
> so the fix has to be different.

Yes, this should rework.

> 
>>>>> Also please don't take bpf patches.
>>>>
>>>> You had it marked it as netdev in your patchwork :/
>>>
>>> It was delegated automatically by the patchwork system.
>>> I didn't have time to reassign, but you should have known better
>>> when you saw 'bpfilter' in the subject.
>>
>> The previous committers for bpfilter are almost all Dave, so I checked
>> your patchwork to make sure and it was netdev...
> 
> It was my fault. I was sloppy in the past and didn't pay enough attention
> to bpfilter and it started to bitrot because Dave was applying patches
> with his normal SLAs while I was silent.
> .
>
diff mbox series

Patch

diff --git a/net/bpfilter/Makefile b/net/bpfilter/Makefile
index cdac82b8c53a..389ea76ccc0b 100644
--- a/net/bpfilter/Makefile
+++ b/net/bpfilter/Makefile
@@ -5,7 +5,7 @@ 
 
 userprogs := bpfilter_umh
 bpfilter_umh-objs := main.o
-userccflags += -I $(srctree)/tools/include/ -I $(srctree)/tools/include/uapi
+userccflags += -I $(srctree)/tools/include/ -I $(srctree)/tools/include/uapi -I usr/include/
 
 ifeq ($(CONFIG_BPFILTER_UMH), y)
 # builtin bpfilter_umh should be linked with -static