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

Configure Feed

Select the types of activity you want to include in your feed.

net: Don't include filter.h from net/sock.h

sock.h is pretty heavily used (5k objects rebuilt on x86 after
it's touched). We can drop the include of filter.h from it and
add a forward declaration of struct sk_filter instead.
This decreases the number of rebuilt objects when bpf.h
is touched from ~5k to ~1k.

There's a lot of missing includes this was masking. Primarily
in networking tho, this time.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Acked-by: Stefano Garzarella <sgarzare@redhat.com>
Link: https://lore.kernel.org/bpf/20211229004913.513372-1-kuba@kernel.org

authored by

Jakub Kicinski and committed by
Alexei Starovoitov
b6459415 5b3d7298

+80 -1
+1
drivers/bluetooth/btqca.c
··· 6 6 */ 7 7 #include <linux/module.h> 8 8 #include <linux/firmware.h> 9 + #include <linux/vmalloc.h> 9 10 10 11 #include <net/bluetooth/bluetooth.h> 11 12 #include <net/bluetooth/hci_core.h>
+1
drivers/infiniband/core/cache.c
··· 33 33 * SOFTWARE. 34 34 */ 35 35 36 + #include <linux/if_vlan.h> 36 37 #include <linux/module.h> 37 38 #include <linux/errno.h> 38 39 #include <linux/slab.h>
+2
drivers/infiniband/hw/irdma/ctrl.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB 2 2 /* Copyright (c) 2015 - 2021 Intel Corporation */ 3 + #include <linux/etherdevice.h> 4 + 3 5 #include "osdep.h" 4 6 #include "status.h" 5 7 #include "hmc.h"
+2
drivers/infiniband/hw/irdma/uda.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB 2 2 /* Copyright (c) 2016 - 2021 Intel Corporation */ 3 + #include <linux/etherdevice.h> 4 + 3 5 #include "osdep.h" 4 6 #include "status.h" 5 7 #include "hmc.h"
+1
drivers/infiniband/hw/mlx5/doorbell.c
··· 32 32 33 33 #include <linux/kref.h> 34 34 #include <linux/slab.h> 35 + #include <linux/sched/mm.h> 35 36 #include <rdma/ib_umem.h> 36 37 37 38 #include "mlx5_ib.h"
+1
drivers/infiniband/hw/mlx5/qp.c
··· 30 30 * SOFTWARE. 31 31 */ 32 32 33 + #include <linux/etherdevice.h> 33 34 #include <linux/module.h> 34 35 #include <rdma/ib_umem.h> 35 36 #include <rdma/ib_cache.h>
+1
drivers/net/amt.c
··· 11 11 #include <linux/net.h> 12 12 #include <linux/igmp.h> 13 13 #include <linux/workqueue.h> 14 + #include <net/sch_generic.h> 14 15 #include <net/net_namespace.h> 15 16 #include <net/ip.h> 16 17 #include <net/udp.h>
+1
drivers/net/appletalk/ipddp.c
··· 23 23 * of the GNU General Public License, incorporated herein by reference. 24 24 */ 25 25 26 + #include <linux/compat.h> 26 27 #include <linux/module.h> 27 28 #include <linux/kernel.h> 28 29 #include <linux/init.h>
+1
drivers/net/bonding/bond_main.c
··· 35 35 #include <linux/module.h> 36 36 #include <linux/types.h> 37 37 #include <linux/fcntl.h> 38 + #include <linux/filter.h> 38 39 #include <linux/interrupt.h> 39 40 #include <linux/ptrace.h> 40 41 #include <linux/ioport.h>
+1
drivers/net/can/usb/peak_usb/pcan_usb.c
··· 8 8 * 9 9 * Many thanks to Klaus Hitschler <klaus.hitschler@gmx.de> 10 10 */ 11 + #include <asm/unaligned.h> 11 12 #include <linux/netdevice.h> 12 13 #include <linux/usb.h> 13 14 #include <linux/module.h>
+1
drivers/net/dsa/microchip/ksz8795.c
··· 10 10 #include <linux/delay.h> 11 11 #include <linux/export.h> 12 12 #include <linux/gpio.h> 13 + #include <linux/if_vlan.h> 13 14 #include <linux/kernel.h> 14 15 #include <linux/module.h> 15 16 #include <linux/platform_data/microchip-ksz.h>
+1
drivers/net/dsa/xrs700x/xrs700x.c
··· 5 5 */ 6 6 7 7 #include <net/dsa.h> 8 + #include <linux/etherdevice.h> 8 9 #include <linux/if_bridge.h> 9 10 #include <linux/of_device.h> 10 11 #include <linux/netdev_features.h>
+1
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
··· 9 9 10 10 #include <linux/pci.h> 11 11 #include <linux/netdevice.h> 12 + #include <linux/vmalloc.h> 12 13 #include <net/devlink.h> 13 14 #include "bnxt_hsi.h" 14 15 #include "bnxt.h"
+1
drivers/net/ethernet/huawei/hinic/hinic_tx.c
··· 4 4 * Copyright(c) 2017 Huawei Technologies Co., Ltd 5 5 */ 6 6 7 + #include <linux/if_vlan.h> 7 8 #include <linux/kernel.h> 8 9 #include <linux/netdevice.h> 9 10 #include <linux/u64_stats_sync.h>
+2
drivers/net/ethernet/intel/ice/ice_devlink.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 /* Copyright (c) 2020, Intel Corporation. */ 3 3 4 + #include <linux/vmalloc.h> 5 + 4 6 #include "ice.h" 5 7 #include "ice_lib.h" 6 8 #include "ice_devlink.h"
+2
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 /* Copyright (c) 2019, Intel Corporation. */ 3 3 4 + #include <linux/filter.h> 5 + 4 6 #include "ice_txrx_lib.h" 5 7 #include "ice_eswitch.h" 6 8 #include "ice_lib.h"
+1
drivers/net/ethernet/intel/igc/igc_xdp.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 /* Copyright (c) 2020, Intel Corporation. */ 3 3 4 + #include <linux/if_vlan.h> 4 5 #include <net/xdp_sock_drv.h> 5 6 6 7 #include "igc.h"
+1
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
··· 33 33 34 34 #include <linux/bpf.h> 35 35 #include <linux/etherdevice.h> 36 + #include <linux/filter.h> 36 37 #include <linux/tcp.h> 37 38 #include <linux/if_vlan.h> 38 39 #include <linux/delay.h>
+1
drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB 2 2 /* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */ 3 + #include <net/sch_generic.h> 3 4 4 5 #include "en.h" 5 6 #include "params.h"
+1
drivers/net/ethernet/sfc/efx.c
··· 5 5 * Copyright 2005-2013 Solarflare Communications Inc. 6 6 */ 7 7 8 + #include <linux/filter.h> 8 9 #include <linux/module.h> 9 10 #include <linux/pci.h> 10 11 #include <linux/netdevice.h>
+1
drivers/net/ethernet/sfc/efx_channels.c
··· 10 10 11 11 #include "net_driver.h" 12 12 #include <linux/module.h> 13 + #include <linux/filter.h> 13 14 #include "efx_channels.h" 14 15 #include "efx.h" 15 16 #include "efx_common.h"
+1
drivers/net/ethernet/sfc/efx_common.c
··· 9 9 */ 10 10 11 11 #include "net_driver.h" 12 + #include <linux/filter.h> 12 13 #include <linux/module.h> 13 14 #include <linux/netdevice.h> 14 15 #include <net/gre.h>
+1
drivers/net/hamradio/hdlcdrv.c
··· 30 30 /*****************************************************************************/ 31 31 32 32 #include <linux/capability.h> 33 + #include <linux/compat.h> 33 34 #include <linux/module.h> 34 35 #include <linux/types.h> 35 36 #include <linux/net.h>
+1
drivers/net/hamradio/scc.c
··· 148 148 149 149 /* ----------------------------------------------------------------------- */ 150 150 151 + #include <linux/compat.h> 151 152 #include <linux/module.h> 152 153 #include <linux/errno.h> 153 154 #include <linux/signal.h>
+1
drivers/net/loopback.c
··· 44 44 #include <linux/etherdevice.h> 45 45 #include <linux/skbuff.h> 46 46 #include <linux/ethtool.h> 47 + #include <net/sch_generic.h> 47 48 #include <net/sock.h> 48 49 #include <net/checksum.h> 49 50 #include <linux/if_ether.h> /* For the statistics structure. */
+1
drivers/net/vrf.c
··· 34 34 #include <net/addrconf.h> 35 35 #include <net/l3mdev.h> 36 36 #include <net/fib_rules.h> 37 + #include <net/sch_generic.h> 37 38 #include <net/netns/generic.h> 38 39 #include <net/netfilter/nf_conntrack.h> 39 40
+2
drivers/net/wireless/ath/ath11k/debugfs.c
··· 3 3 * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved. 4 4 */ 5 5 6 + #include <linux/vmalloc.h> 7 + 6 8 #include "debugfs.h" 7 9 8 10 #include "core.h"
+2
drivers/net/wireless/realtek/rtw89/debug.c
··· 2 2 /* Copyright(c) 2019-2020 Realtek Corporation 3 3 */ 4 4 5 + #include <linux/vmalloc.h> 6 + 5 7 #include "coex.h" 6 8 #include "debug.h" 7 9 #include "fw.h"
+1
fs/nfs/dir.c
··· 18 18 * 6 Jun 1999 Cache readdir lookups in the page cache. -DaveM 19 19 */ 20 20 21 + #include <linux/compat.h> 21 22 #include <linux/module.h> 22 23 #include <linux/time.h> 23 24 #include <linux/errno.h>
+1
fs/nfs/fs_context.c
··· 10 10 * Split from fs/nfs/super.c by David Howells <dhowells@redhat.com> 11 11 */ 12 12 13 + #include <linux/compat.h> 13 14 #include <linux/module.h> 14 15 #include <linux/fs.h> 15 16 #include <linux/fs_context.h>
+1
fs/select.c
··· 15 15 * of fds to overcome nfds < 16390 descriptors limit (Tigran Aivazian). 16 16 */ 17 17 18 + #include <linux/compat.h> 18 19 #include <linux/kernel.h> 19 20 #include <linux/sched/signal.h> 20 21 #include <linux/sched/rt.h>
+1
include/linux/bpf_local_storage.h
··· 8 8 #define _BPF_LOCAL_STORAGE_H 9 9 10 10 #include <linux/bpf.h> 11 + #include <linux/filter.h> 11 12 #include <linux/rculist.h> 12 13 #include <linux/list.h> 13 14 #include <linux/hash.h>
+1
include/linux/dsa/loop.h
··· 2 2 #ifndef DSA_LOOP_H 3 3 #define DSA_LOOP_H 4 4 5 + #include <linux/if_vlan.h> 5 6 #include <linux/types.h> 6 7 #include <linux/ethtool.h> 7 8 #include <net/dsa.h>
+2
include/net/ipv6.h
··· 21 21 #include <net/snmp.h> 22 22 #include <net/netns/hash.h> 23 23 24 + struct ip_tunnel_info; 25 + 24 26 #define SIN6_LEN_RFC2133 24 25 27 26 28 #define IPV6_MAXPLEN 65535
+1
include/net/route.h
··· 43 43 #define RT_CONN_FLAGS(sk) (RT_TOS(inet_sk(sk)->tos) | sock_flag(sk, SOCK_LOCALROUTE)) 44 44 #define RT_CONN_FLAGS_TOS(sk,tos) (RT_TOS(tos) | sock_flag(sk, SOCK_LOCALROUTE)) 45 45 46 + struct ip_tunnel_info; 46 47 struct fib_nh; 47 48 struct fib_info; 48 49 struct uncached_list;
+1 -1
include/net/sock.h
··· 56 56 #include <linux/wait.h> 57 57 #include <linux/cgroup-defs.h> 58 58 #include <linux/rbtree.h> 59 - #include <linux/filter.h> 60 59 #include <linux/rculist_nulls.h> 61 60 #include <linux/poll.h> 62 61 #include <linux/sockptr.h> ··· 248 249 }; 249 250 250 251 struct bpf_local_storage; 252 + struct sk_filter; 251 253 252 254 /** 253 255 * struct sock - network layer representation of sockets
+1
include/net/xdp_sock.h
··· 6 6 #ifndef _LINUX_XDP_SOCK_H 7 7 #define _LINUX_XDP_SOCK_H 8 8 9 + #include <linux/bpf.h> 9 10 #include <linux/workqueue.h> 10 11 #include <linux/if_xdp.h> 11 12 #include <linux/mutex.h>
+1
kernel/sysctl.c
··· 33 33 #include <linux/security.h> 34 34 #include <linux/ctype.h> 35 35 #include <linux/kmemleak.h> 36 + #include <linux/filter.h> 36 37 #include <linux/fs.h> 37 38 #include <linux/init.h> 38 39 #include <linux/kernel.h>
+1
net/bluetooth/bnep/sock.c
··· 24 24 SOFTWARE IS DISCLAIMED. 25 25 */ 26 26 27 + #include <linux/compat.h> 27 28 #include <linux/export.h> 28 29 #include <linux/file.h> 29 30
+2
net/bluetooth/eir.h
··· 5 5 * Copyright (C) 2021 Intel Corporation 6 6 */ 7 7 8 + #include <asm/unaligned.h> 9 + 8 10 void eir_create(struct hci_dev *hdev, u8 *data); 9 11 10 12 u8 eir_create_adv_data(struct hci_dev *hdev, u8 instance, u8 *ptr);
+1
net/bluetooth/hidp/sock.c
··· 20 20 SOFTWARE IS DISCLAIMED. 21 21 */ 22 22 23 + #include <linux/compat.h> 23 24 #include <linux/export.h> 24 25 #include <linux/file.h> 25 26
+1
net/bluetooth/l2cap_sock.c
··· 29 29 30 30 #include <linux/module.h> 31 31 #include <linux/export.h> 32 + #include <linux/filter.h> 32 33 #include <linux/sched/signal.h> 33 34 34 35 #include <net/bluetooth/bluetooth.h>
+1
net/bridge/br_ioctl.c
··· 8 8 */ 9 9 10 10 #include <linux/capability.h> 11 + #include <linux/compat.h> 11 12 #include <linux/kernel.h> 12 13 #include <linux/if_bridge.h> 13 14 #include <linux/netdevice.h>
+1
net/caif/caif_socket.c
··· 6 6 7 7 #define pr_fmt(fmt) KBUILD_MODNAME ":%s(): " fmt, __func__ 8 8 9 + #include <linux/filter.h> 9 10 #include <linux/fs.h> 10 11 #include <linux/init.h> 11 12 #include <linux/module.h>
+1
net/core/devlink.c
··· 7 7 * Copyright (c) 2016 Jiri Pirko <jiri@mellanox.com> 8 8 */ 9 9 10 + #include <linux/etherdevice.h> 10 11 #include <linux/kernel.h> 11 12 #include <linux/module.h> 12 13 #include <linux/types.h>
+1
net/core/flow_dissector.c
··· 5 5 #include <linux/ip.h> 6 6 #include <linux/ipv6.h> 7 7 #include <linux/if_vlan.h> 8 + #include <linux/filter.h> 8 9 #include <net/dsa.h> 9 10 #include <net/dst_metadata.h> 10 11 #include <net/ip.h>
+1
net/core/lwt_bpf.c
··· 2 2 /* Copyright (c) 2016 Thomas Graf <tgraf@tgraf.ch> 3 3 */ 4 4 5 + #include <linux/filter.h> 5 6 #include <linux/kernel.h> 6 7 #include <linux/module.h> 7 8 #include <linux/skbuff.h>
+1
net/core/sock_diag.c
··· 1 1 /* License: GPL */ 2 2 3 + #include <linux/filter.h> 3 4 #include <linux/mutex.h> 4 5 #include <linux/socket.h> 5 6 #include <linux/skbuff.h>
+1
net/core/sysctl_net_core.c
··· 6 6 * Added /proc/sys/net/core directory entry (empty =) ). [MS] 7 7 */ 8 8 9 + #include <linux/filter.h> 9 10 #include <linux/mm.h> 10 11 #include <linux/sysctl.h> 11 12 #include <linux/module.h>
+1
net/decnet/dn_nsp_in.c
··· 38 38 *******************************************************************************/ 39 39 40 40 #include <linux/errno.h> 41 + #include <linux/filter.h> 41 42 #include <linux/types.h> 42 43 #include <linux/socket.h> 43 44 #include <linux/in.h>
+1
net/dsa/dsa_priv.h
··· 8 8 #define __DSA_PRIV_H 9 9 10 10 #include <linux/if_bridge.h> 11 + #include <linux/if_vlan.h> 11 12 #include <linux/phy.h> 12 13 #include <linux/netdevice.h> 13 14 #include <linux/netpoll.h>
+1
net/ethtool/ioctl.c
··· 8 8 */ 9 9 10 10 #include <linux/compat.h> 11 + #include <linux/etherdevice.h> 11 12 #include <linux/module.h> 12 13 #include <linux/types.h> 13 14 #include <linux/capability.h>
+1
net/ipv4/nexthop.c
··· 8 8 #include <linux/nexthop.h> 9 9 #include <linux/rtnetlink.h> 10 10 #include <linux/slab.h> 11 + #include <linux/vmalloc.h> 11 12 #include <net/arp.h> 12 13 #include <net/ipv6_stubs.h> 13 14 #include <net/lwtunnel.h>
+1
net/ipv6/ip6_fib.c
··· 15 15 16 16 #define pr_fmt(fmt) "IPv6: " fmt 17 17 18 + #include <linux/bpf.h> 18 19 #include <linux/errno.h> 19 20 #include <linux/types.h> 20 21 #include <linux/net.h>
+1
net/ipv6/seg6_local.c
··· 7 7 * eBPF support: Mathieu Xhonneux <m.xhonneux@gmail.com> 8 8 */ 9 9 10 + #include <linux/filter.h> 10 11 #include <linux/types.h> 11 12 #include <linux/skbuff.h> 12 13 #include <linux/net.h>
+1
net/iucv/af_iucv.c
··· 13 13 #define KMSG_COMPONENT "af_iucv" 14 14 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt 15 15 16 + #include <linux/filter.h> 16 17 #include <linux/module.h> 17 18 #include <linux/netdevice.h> 18 19 #include <linux/types.h>
+1
net/kcm/kcmsock.c
··· 9 9 #include <linux/errno.h> 10 10 #include <linux/errqueue.h> 11 11 #include <linux/file.h> 12 + #include <linux/filter.h> 12 13 #include <linux/in.h> 13 14 #include <linux/kernel.h> 14 15 #include <linux/module.h>
+1
net/netfilter/nft_reject_netdev.c
··· 4 4 * Copyright (c) 2020 Jose M. Guisado <guigom@riseup.net> 5 5 */ 6 6 7 + #include <linux/etherdevice.h> 7 8 #include <linux/kernel.h> 8 9 #include <linux/init.h> 9 10 #include <linux/module.h>
+2
net/netlink/af_netlink.c
··· 20 20 21 21 #include <linux/module.h> 22 22 23 + #include <linux/bpf.h> 23 24 #include <linux/capability.h> 24 25 #include <linux/kernel.h> 26 + #include <linux/filter.h> 25 27 #include <linux/init.h> 26 28 #include <linux/signal.h> 27 29 #include <linux/sched.h>
+1
net/packet/af_packet.c
··· 49 49 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 50 50 51 51 #include <linux/ethtool.h> 52 + #include <linux/filter.h> 52 53 #include <linux/types.h> 53 54 #include <linux/mm.h> 54 55 #include <linux/capability.h>
+1
net/rose/rose_in.c
··· 9 9 * diagrams as the code is not obvious and probably very easy to break. 10 10 */ 11 11 #include <linux/errno.h> 12 + #include <linux/filter.h> 12 13 #include <linux/types.h> 13 14 #include <linux/socket.h> 14 15 #include <linux/in.h>
+1
net/sched/sch_frag.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB 2 + #include <linux/if_vlan.h> 2 3 #include <net/netlink.h> 3 4 #include <net/sch_generic.h> 4 5 #include <net/dst.h>
+2
net/smc/smc_ib.c
··· 12 12 * Author(s): Ursula Braun <ubraun@linux.vnet.ibm.com> 13 13 */ 14 14 15 + #include <linux/etherdevice.h> 16 + #include <linux/if_vlan.h> 15 17 #include <linux/random.h> 16 18 #include <linux/workqueue.h> 17 19 #include <linux/scatterlist.h>
+1
net/smc/smc_ism.c
··· 6 6 * Copyright IBM Corp. 2018 7 7 */ 8 8 9 + #include <linux/if_vlan.h> 9 10 #include <linux/spinlock.h> 10 11 #include <linux/mutex.h> 11 12 #include <linux/slab.h>
+1
net/unix/af_unix.c
··· 89 89 #include <linux/socket.h> 90 90 #include <linux/un.h> 91 91 #include <linux/fcntl.h> 92 + #include <linux/filter.h> 92 93 #include <linux/termios.h> 93 94 #include <linux/sockios.h> 94 95 #include <linux/net.h>
+1
net/vmw_vsock/af_vsock.c
··· 85 85 * TCP_LISTEN - listening 86 86 */ 87 87 88 + #include <linux/compat.h> 88 89 #include <linux/types.h> 89 90 #include <linux/bitops.h> 90 91 #include <linux/cred.h>
+1
net/xdp/xskmap.c
··· 4 4 */ 5 5 6 6 #include <linux/bpf.h> 7 + #include <linux/filter.h> 7 8 #include <linux/capability.h> 8 9 #include <net/xdp_sock.h> 9 10 #include <linux/slab.h>
+1
net/xfrm/xfrm_state.c
··· 14 14 * 15 15 */ 16 16 17 + #include <linux/compat.h> 17 18 #include <linux/workqueue.h> 18 19 #include <net/xfrm.h> 19 20 #include <linux/pfkeyv2.h>
+1
net/xfrm/xfrm_user.c
··· 11 11 * 12 12 */ 13 13 14 + #include <linux/compat.h> 14 15 #include <linux/crypto.h> 15 16 #include <linux/module.h> 16 17 #include <linux/kernel.h>