Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'lighten uapi/bpf.h rebuilds'

Jakub Kicinski says:

====================

Last change in the bpf headers - disentangling BPF uapi from
netdevice.h. Both linux/bpf.h and uapi/bpf.h changes should
now rebuild ~1k objects down from the original ~18k. There's
probably more that can be done but it's diminishing returns.

Split into two patches for ease of review.
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>

+18 -8
+1
drivers/net/ethernet/amazon/ena/ena_netdev.h
··· 14 14 #include <linux/interrupt.h> 15 15 #include <linux/netdevice.h> 16 16 #include <linux/skbuff.h> 17 + #include <uapi/linux/bpf.h> 17 18 18 19 #include "ena_com.h" 19 20 #include "ena_eth_com.h"
+1
drivers/net/ethernet/cavium/thunder/nicvf_queues.c
··· 10 10 #include <linux/iommu.h> 11 11 #include <net/ip.h> 12 12 #include <net/tso.h> 13 + #include <uapi/linux/bpf.h> 13 14 14 15 #include "nic_reg.h" 15 16 #include "nic.h"
+2
drivers/net/ethernet/microsoft/mana/mana_en.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2 2 /* Copyright (c) 2021, Microsoft Corporation. */ 3 3 4 + #include <uapi/linux/bpf.h> 5 + 4 6 #include <linux/inetdevice.h> 5 7 #include <linux/etherdevice.h> 6 8 #include <linux/ethtool.h>
+1
drivers/net/ethernet/stmicro/stmmac/stmmac.h
··· 22 22 #include <linux/net_tstamp.h> 23 23 #include <linux/reset.h> 24 24 #include <net/page_pool.h> 25 + #include <uapi/linux/bpf.h> 25 26 26 27 struct stmmac_resources { 27 28 void __iomem *addr;
+2
drivers/net/ethernet/ti/cpsw_priv.h
··· 6 6 #ifndef DRIVERS_NET_ETHERNET_TI_CPSW_PRIV_H_ 7 7 #define DRIVERS_NET_ETHERNET_TI_CPSW_PRIV_H_ 8 8 9 + #include <uapi/linux/bpf.h> 10 + 9 11 #include "davinci_cpdma.h" 10 12 11 13 #define CPSW_DEBUG (NETIF_MSG_HW | NETIF_MSG_WOL | \
+1 -7
include/linux/bpf-netns.h
··· 3 3 #define _BPF_NETNS_H 4 4 5 5 #include <linux/mutex.h> 6 + #include <net/netns/bpf.h> 6 7 #include <uapi/linux/bpf.h> 7 - 8 - enum netns_bpf_attach_type { 9 - NETNS_BPF_INVALID = -1, 10 - NETNS_BPF_FLOW_DISSECTOR = 0, 11 - NETNS_BPF_SK_LOOKUP, 12 - MAX_NETNS_BPF_ATTACH_TYPE 13 - }; 14 8 15 9 static inline enum netns_bpf_attach_type 16 10 to_netns_bpf_attach_type(enum bpf_attach_type attach_type)
+1
include/net/ip6_fib.h
··· 20 20 #include <net/inetpeer.h> 21 21 #include <net/fib_notifier.h> 22 22 #include <linux/indirect_call_wrapper.h> 23 + #include <uapi/linux/bpf.h> 23 24 24 25 #ifdef CONFIG_IPV6_MULTIPLE_TABLES 25 26 #define FIB6_TABLE_HASHSZ 256
+8 -1
include/net/netns/bpf.h
··· 6 6 #ifndef __NETNS_BPF_H__ 7 7 #define __NETNS_BPF_H__ 8 8 9 - #include <linux/bpf-netns.h> 9 + #include <linux/list.h> 10 10 11 11 struct bpf_prog; 12 12 struct bpf_prog_array; 13 + 14 + enum netns_bpf_attach_type { 15 + NETNS_BPF_INVALID = -1, 16 + NETNS_BPF_FLOW_DISSECTOR = 0, 17 + NETNS_BPF_SK_LOOKUP, 18 + MAX_NETNS_BPF_ATTACH_TYPE 19 + }; 13 20 14 21 struct netns_bpf { 15 22 /* Array of programs to run compiled from progs or links */
+1
kernel/bpf/net_namespace.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 3 3 #include <linux/bpf.h> 4 + #include <linux/bpf-netns.h> 4 5 #include <linux/filter.h> 5 6 #include <net/net_namespace.h> 6 7