Skip to content

Commit b645941

Browse files
kuba-mooAlexei Starovoitov
authored and
Alexei Starovoitov
committed
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 <[email protected]> Signed-off-by: Alexei Starovoitov <[email protected]> Acked-by: Marc Kleine-Budde <[email protected]> Acked-by: Florian Fainelli <[email protected]> Acked-by: Nikolay Aleksandrov <[email protected]> Acked-by: Stefano Garzarella <[email protected]> Link: https://lore.kernel.org/bpf/[email protected]
1 parent 5b3d729 commit b645941

File tree

70 files changed

+80
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+80
-1
lines changed

drivers/bluetooth/btqca.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77
#include <linux/module.h>
88
#include <linux/firmware.h>
9+
#include <linux/vmalloc.h>
910

1011
#include <net/bluetooth/bluetooth.h>
1112
#include <net/bluetooth/hci_core.h>

drivers/infiniband/core/cache.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
* SOFTWARE.
3434
*/
3535

36+
#include <linux/if_vlan.h>
3637
#include <linux/module.h>
3738
#include <linux/errno.h>
3839
#include <linux/slab.h>

drivers/infiniband/hw/irdma/ctrl.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
// SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
22
/* Copyright (c) 2015 - 2021 Intel Corporation */
3+
#include <linux/etherdevice.h>
4+
35
#include "osdep.h"
46
#include "status.h"
57
#include "hmc.h"

drivers/infiniband/hw/irdma/uda.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
// SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
22
/* Copyright (c) 2016 - 2021 Intel Corporation */
3+
#include <linux/etherdevice.h>
4+
35
#include "osdep.h"
46
#include "status.h"
57
#include "hmc.h"

drivers/infiniband/hw/mlx5/doorbell.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
#include <linux/kref.h>
3434
#include <linux/slab.h>
35+
#include <linux/sched/mm.h>
3536
#include <rdma/ib_umem.h>
3637

3738
#include "mlx5_ib.h"

drivers/infiniband/hw/mlx5/qp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
* SOFTWARE.
3131
*/
3232

33+
#include <linux/etherdevice.h>
3334
#include <linux/module.h>
3435
#include <rdma/ib_umem.h>
3536
#include <rdma/ib_cache.h>

drivers/net/amt.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <linux/net.h>
1212
#include <linux/igmp.h>
1313
#include <linux/workqueue.h>
14+
#include <net/sch_generic.h>
1415
#include <net/net_namespace.h>
1516
#include <net/ip.h>
1617
#include <net/udp.h>

drivers/net/appletalk/ipddp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
* of the GNU General Public License, incorporated herein by reference.
2424
*/
2525

26+
#include <linux/compat.h>
2627
#include <linux/module.h>
2728
#include <linux/kernel.h>
2829
#include <linux/init.h>

drivers/net/bonding/bond_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <linux/module.h>
3636
#include <linux/types.h>
3737
#include <linux/fcntl.h>
38+
#include <linux/filter.h>
3839
#include <linux/interrupt.h>
3940
#include <linux/ptrace.h>
4041
#include <linux/ioport.h>

drivers/net/can/usb/peak_usb/pcan_usb.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*
99
* Many thanks to Klaus Hitschler <[email protected]>
1010
*/
11+
#include <asm/unaligned.h>
1112
#include <linux/netdevice.h>
1213
#include <linux/usb.h>
1314
#include <linux/module.h>

drivers/net/dsa/microchip/ksz8795.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <linux/delay.h>
1111
#include <linux/export.h>
1212
#include <linux/gpio.h>
13+
#include <linux/if_vlan.h>
1314
#include <linux/kernel.h>
1415
#include <linux/module.h>
1516
#include <linux/platform_data/microchip-ksz.h>

drivers/net/dsa/xrs700x/xrs700x.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66

77
#include <net/dsa.h>
8+
#include <linux/etherdevice.h>
89
#include <linux/if_bridge.h>
910
#include <linux/of_device.h>
1011
#include <linux/netdev_features.h>

drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include <linux/pci.h>
1111
#include <linux/netdevice.h>
12+
#include <linux/vmalloc.h>
1213
#include <net/devlink.h>
1314
#include "bnxt_hsi.h"
1415
#include "bnxt.h"

drivers/net/ethernet/huawei/hinic/hinic_tx.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* Copyright(c) 2017 Huawei Technologies Co., Ltd
55
*/
66

7+
#include <linux/if_vlan.h>
78
#include <linux/kernel.h>
89
#include <linux/netdevice.h>
910
#include <linux/u64_stats_sync.h>

drivers/net/ethernet/intel/ice/ice_devlink.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// SPDX-License-Identifier: GPL-2.0
22
/* Copyright (c) 2020, Intel Corporation. */
33

4+
#include <linux/vmalloc.h>
5+
46
#include "ice.h"
57
#include "ice_lib.h"
68
#include "ice_devlink.h"

drivers/net/ethernet/intel/ice/ice_txrx_lib.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// SPDX-License-Identifier: GPL-2.0
22
/* Copyright (c) 2019, Intel Corporation. */
33

4+
#include <linux/filter.h>
5+
46
#include "ice_txrx_lib.h"
57
#include "ice_eswitch.h"
68
#include "ice_lib.h"

drivers/net/ethernet/intel/igc/igc_xdp.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// SPDX-License-Identifier: GPL-2.0
22
/* Copyright (c) 2020, Intel Corporation. */
33

4+
#include <linux/if_vlan.h>
45
#include <net/xdp_sock_drv.h>
56

67
#include "igc.h"

drivers/net/ethernet/mellanox/mlx4/en_netdev.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
#include <linux/bpf.h>
3535
#include <linux/etherdevice.h>
36+
#include <linux/filter.h>
3637
#include <linux/tcp.h>
3738
#include <linux/if_vlan.h>
3839
#include <linux/delay.h>

drivers/net/ethernet/mellanox/mlx5/core/en/qos.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
22
/* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */
3+
#include <net/sch_generic.h>
34

45
#include "en.h"
56
#include "params.h"

drivers/net/ethernet/sfc/efx.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* Copyright 2005-2013 Solarflare Communications Inc.
66
*/
77

8+
#include <linux/filter.h>
89
#include <linux/module.h>
910
#include <linux/pci.h>
1011
#include <linux/netdevice.h>

drivers/net/ethernet/sfc/efx_channels.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include "net_driver.h"
1212
#include <linux/module.h>
13+
#include <linux/filter.h>
1314
#include "efx_channels.h"
1415
#include "efx.h"
1516
#include "efx_common.h"

drivers/net/ethernet/sfc/efx_common.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010

1111
#include "net_driver.h"
12+
#include <linux/filter.h>
1213
#include <linux/module.h>
1314
#include <linux/netdevice.h>
1415
#include <net/gre.h>

drivers/net/hamradio/hdlcdrv.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
/*****************************************************************************/
3131

3232
#include <linux/capability.h>
33+
#include <linux/compat.h>
3334
#include <linux/module.h>
3435
#include <linux/types.h>
3536
#include <linux/net.h>

drivers/net/hamradio/scc.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@
148148

149149
/* ----------------------------------------------------------------------- */
150150

151+
#include <linux/compat.h>
151152
#include <linux/module.h>
152153
#include <linux/errno.h>
153154
#include <linux/signal.h>

drivers/net/loopback.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#include <linux/etherdevice.h>
4545
#include <linux/skbuff.h>
4646
#include <linux/ethtool.h>
47+
#include <net/sch_generic.h>
4748
#include <net/sock.h>
4849
#include <net/checksum.h>
4950
#include <linux/if_ether.h> /* For the statistics structure. */

drivers/net/vrf.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include <net/addrconf.h>
3535
#include <net/l3mdev.h>
3636
#include <net/fib_rules.h>
37+
#include <net/sch_generic.h>
3738
#include <net/netns/generic.h>
3839
#include <net/netfilter/nf_conntrack.h>
3940

drivers/net/wireless/ath/ath11k/debugfs.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
44
*/
55

6+
#include <linux/vmalloc.h>
7+
68
#include "debugfs.h"
79

810
#include "core.h"

drivers/net/wireless/realtek/rtw89/debug.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
/* Copyright(c) 2019-2020 Realtek Corporation
33
*/
44

5+
#include <linux/vmalloc.h>
6+
57
#include "coex.h"
68
#include "debug.h"
79
#include "fw.h"

fs/nfs/dir.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
* 6 Jun 1999 Cache readdir lookups in the page cache. -DaveM
1919
*/
2020

21+
#include <linux/compat.h>
2122
#include <linux/module.h>
2223
#include <linux/time.h>
2324
#include <linux/errno.h>

fs/nfs/fs_context.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
* Split from fs/nfs/super.c by David Howells <[email protected]>
1111
*/
1212

13+
#include <linux/compat.h>
1314
#include <linux/module.h>
1415
#include <linux/fs.h>
1516
#include <linux/fs_context.h>

fs/select.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* of fds to overcome nfds < 16390 descriptors limit (Tigran Aivazian).
1616
*/
1717

18+
#include <linux/compat.h>
1819
#include <linux/kernel.h>
1920
#include <linux/sched/signal.h>
2021
#include <linux/sched/rt.h>

include/linux/bpf_local_storage.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#define _BPF_LOCAL_STORAGE_H
99

1010
#include <linux/bpf.h>
11+
#include <linux/filter.h>
1112
#include <linux/rculist.h>
1213
#include <linux/list.h>
1314
#include <linux/hash.h>

include/linux/dsa/loop.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#ifndef DSA_LOOP_H
33
#define DSA_LOOP_H
44

5+
#include <linux/if_vlan.h>
56
#include <linux/types.h>
67
#include <linux/ethtool.h>
78
#include <net/dsa.h>

include/net/ipv6.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#include <net/snmp.h>
2222
#include <net/netns/hash.h>
2323

24+
struct ip_tunnel_info;
25+
2426
#define SIN6_LEN_RFC2133 24
2527

2628
#define IPV6_MAXPLEN 65535

include/net/route.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
#define RT_CONN_FLAGS(sk) (RT_TOS(inet_sk(sk)->tos) | sock_flag(sk, SOCK_LOCALROUTE))
4444
#define RT_CONN_FLAGS_TOS(sk,tos) (RT_TOS(tos) | sock_flag(sk, SOCK_LOCALROUTE))
4545

46+
struct ip_tunnel_info;
4647
struct fib_nh;
4748
struct fib_info;
4849
struct uncached_list;

include/net/sock.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
#include <linux/wait.h>
5757
#include <linux/cgroup-defs.h>
5858
#include <linux/rbtree.h>
59-
#include <linux/filter.h>
6059
#include <linux/rculist_nulls.h>
6160
#include <linux/poll.h>
6261
#include <linux/sockptr.h>
@@ -249,6 +248,7 @@ struct sock_common {
249248
};
250249

251250
struct bpf_local_storage;
251+
struct sk_filter;
252252

253253
/**
254254
* struct sock - network layer representation of sockets

include/net/xdp_sock.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#ifndef _LINUX_XDP_SOCK_H
77
#define _LINUX_XDP_SOCK_H
88

9+
#include <linux/bpf.h>
910
#include <linux/workqueue.h>
1011
#include <linux/if_xdp.h>
1112
#include <linux/mutex.h>

kernel/sysctl.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <linux/security.h>
3434
#include <linux/ctype.h>
3535
#include <linux/kmemleak.h>
36+
#include <linux/filter.h>
3637
#include <linux/fs.h>
3738
#include <linux/init.h>
3839
#include <linux/kernel.h>

net/bluetooth/bnep/sock.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
SOFTWARE IS DISCLAIMED.
2525
*/
2626

27+
#include <linux/compat.h>
2728
#include <linux/export.h>
2829
#include <linux/file.h>
2930

net/bluetooth/eir.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
* Copyright (C) 2021 Intel Corporation
66
*/
77

8+
#include <asm/unaligned.h>
9+
810
void eir_create(struct hci_dev *hdev, u8 *data);
911

1012
u8 eir_create_adv_data(struct hci_dev *hdev, u8 instance, u8 *ptr);

net/bluetooth/hidp/sock.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
SOFTWARE IS DISCLAIMED.
2121
*/
2222

23+
#include <linux/compat.h>
2324
#include <linux/export.h>
2425
#include <linux/file.h>
2526

net/bluetooth/l2cap_sock.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
#include <linux/module.h>
3131
#include <linux/export.h>
32+
#include <linux/filter.h>
3233
#include <linux/sched/signal.h>
3334

3435
#include <net/bluetooth/bluetooth.h>

net/bridge/br_ioctl.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
#include <linux/capability.h>
11+
#include <linux/compat.h>
1112
#include <linux/kernel.h>
1213
#include <linux/if_bridge.h>
1314
#include <linux/netdevice.h>

net/caif/caif_socket.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#define pr_fmt(fmt) KBUILD_MODNAME ":%s(): " fmt, __func__
88

9+
#include <linux/filter.h>
910
#include <linux/fs.h>
1011
#include <linux/init.h>
1112
#include <linux/module.h>

net/core/devlink.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* Copyright (c) 2016 Jiri Pirko <[email protected]>
88
*/
99

10+
#include <linux/etherdevice.h>
1011
#include <linux/kernel.h>
1112
#include <linux/module.h>
1213
#include <linux/types.h>

net/core/flow_dissector.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <linux/ip.h>
66
#include <linux/ipv6.h>
77
#include <linux/if_vlan.h>
8+
#include <linux/filter.h>
89
#include <net/dsa.h>
910
#include <net/dst_metadata.h>
1011
#include <net/ip.h>

net/core/lwt_bpf.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/* Copyright (c) 2016 Thomas Graf <[email protected]>
33
*/
44

5+
#include <linux/filter.h>
56
#include <linux/kernel.h>
67
#include <linux/module.h>
78
#include <linux/skbuff.h>

net/core/sock_diag.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/* License: GPL */
22

3+
#include <linux/filter.h>
34
#include <linux/mutex.h>
45
#include <linux/socket.h>
56
#include <linux/skbuff.h>

0 commit comments

Comments
 (0)