net: Don't include filter.h from net/sock.h
authorJakub Kicinski <kuba@kernel.org>
Wed, 29 Dec 2021 00:49:13 +0000 (16:49 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 29 Dec 2021 16:48:14 +0000 (08:48 -0800)
commitb6459415b384cb829f0b2a4268f211c789f6cf0b
treea3d70c692d776ef7d6f1a2a74738a3e78e5b9c5a
parent5b3d72987701d51bf31823b39db49d10970f5c2d
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
70 files changed:
drivers/bluetooth/btqca.c
drivers/infiniband/core/cache.c
drivers/infiniband/hw/irdma/ctrl.c
drivers/infiniband/hw/irdma/uda.c
drivers/infiniband/hw/mlx5/doorbell.c
drivers/infiniband/hw/mlx5/qp.c
drivers/net/amt.c
drivers/net/appletalk/ipddp.c
drivers/net/bonding/bond_main.c
drivers/net/can/usb/peak_usb/pcan_usb.c
drivers/net/dsa/microchip/ksz8795.c
drivers/net/dsa/xrs700x/xrs700x.c
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
drivers/net/ethernet/huawei/hinic/hinic_tx.c
drivers/net/ethernet/intel/ice/ice_devlink.c
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
drivers/net/ethernet/intel/igc/igc_xdp.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/efx_channels.c
drivers/net/ethernet/sfc/efx_common.c
drivers/net/hamradio/hdlcdrv.c
drivers/net/hamradio/scc.c
drivers/net/loopback.c
drivers/net/vrf.c
drivers/net/wireless/ath/ath11k/debugfs.c
drivers/net/wireless/realtek/rtw89/debug.c
fs/nfs/dir.c
fs/nfs/fs_context.c
fs/select.c
include/linux/bpf_local_storage.h
include/linux/dsa/loop.h
include/net/ipv6.h
include/net/route.h
include/net/sock.h
include/net/xdp_sock.h
kernel/sysctl.c
net/bluetooth/bnep/sock.c
net/bluetooth/eir.h
net/bluetooth/hidp/sock.c
net/bluetooth/l2cap_sock.c
net/bridge/br_ioctl.c
net/caif/caif_socket.c
net/core/devlink.c
net/core/flow_dissector.c
net/core/lwt_bpf.c
net/core/sock_diag.c
net/core/sysctl_net_core.c
net/decnet/dn_nsp_in.c
net/dsa/dsa_priv.h
net/ethtool/ioctl.c
net/ipv4/nexthop.c
net/ipv6/ip6_fib.c
net/ipv6/seg6_local.c
net/iucv/af_iucv.c
net/kcm/kcmsock.c
net/netfilter/nfnetlink_hook.c
net/netfilter/nft_reject_netdev.c
net/netlink/af_netlink.c
net/packet/af_packet.c
net/rose/rose_in.c
net/sched/sch_frag.c
net/smc/smc_ib.c
net/smc/smc_ism.c
net/unix/af_unix.c
net/vmw_vsock/af_vsock.c
net/xdp/xskmap.c
net/xfrm/xfrm_state.c
net/xfrm/xfrm_user.c