linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH bpf-next] net: don't include filter.h from net/sock.h
@ 2021-12-28 19:25 Jakub Kicinski
  2021-12-28 21:37 ` [Intel-wired-lan] " kernel test robot
  2021-12-28 21:58 ` kernel test robot
  0 siblings, 2 replies; 3+ messages in thread
From: Jakub Kicinski @ 2021-12-28 19:25 UTC (permalink / raw)
  To: ast, daniel
  Cc: bpf, netdev, Jakub Kicinski, marcel, johan.hedberg, luiz.dentz,
	dledford, jgg, mustafa.ismail, shiraz.saleem, leon, ap420073, wg,
	mkl, woojung.huh, UNGLinuxDriver, andrew, vivien.didelot,
	f.fainelli, olteanv, george.mccollister, michael.chan,
	jesse.brandeburg, anthony.l.nguyen, hawk, john.fastabend, tariqt,
	saeedm, ecree.xilinx, habetsm.xilinx, jreuter, dsahern, kvalo,
	pkshih, trond.myklebust, anna.schumaker, viro, andrii, mcgrof,
	keescook, yzaikin, nikolay, jiri, wintera, wenjia, pablo, kadlec,
	fw, ralf, jhs, xiyou.wangcong, kgraul, sgarzare,
	steffen.klassert, herbert, arnd, linux-bluetooth, linux-rdma,
	linux-can, intel-wired-lan, linux-hams, ath11k, linux-wireless,
	linux-nfs, linux-fsdevel, bridge, linux-decnet-user, linux-s390,
	netfilter-devel, coreteam, virtualization

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>
---
CC: marcel@holtmann.org
CC: johan.hedberg@gmail.com
CC: luiz.dentz@gmail.com
CC: dledford@redhat.com
CC: jgg@ziepe.ca
CC: mustafa.ismail@intel.com
CC: shiraz.saleem@intel.com
CC: leon@kernel.org
CC: ap420073@gmail.com
CC: wg@grandegger.com
CC: mkl@pengutronix.de
CC: woojung.huh@microchip.com
CC: UNGLinuxDriver@microchip.com
CC: andrew@lunn.ch
CC: vivien.didelot@gmail.com
CC: f.fainelli@gmail.com
CC: olteanv@gmail.com
CC: george.mccollister@gmail.com
CC: michael.chan@broadcom.com
CC: jesse.brandeburg@intel.com
CC: anthony.l.nguyen@intel.com
CC: ast@kernel.org
CC: daniel@iogearbox.net
CC: hawk@kernel.org
CC: john.fastabend@gmail.com
CC: tariqt@nvidia.com
CC: saeedm@nvidia.com
CC: ecree.xilinx@gmail.com
CC: habetsm.xilinx@gmail.com
CC: jreuter@yaina.de
CC: dsahern@kernel.org
CC: kvalo@codeaurora.org
CC: pkshih@realtek.com
CC: trond.myklebust@hammerspace.com
CC: anna.schumaker@netapp.com
CC: viro@zeniv.linux.org.uk
CC: andrii@kernel.org
CC: mcgrof@kernel.org
CC: keescook@chromium.org
CC: yzaikin@google.com
CC: nikolay@nvidia.com
CC: jiri@nvidia.com
CC: wintera@linux.ibm.com
CC: wenjia@linux.ibm.com
CC: pablo@netfilter.org
CC: kadlec@netfilter.org
CC: fw@strlen.de
CC: ralf@linux-mips.org
CC: jhs@mojatatu.com
CC: xiyou.wangcong@gmail.com
CC: kgraul@linux.ibm.com
CC: sgarzare@redhat.com
CC: steffen.klassert@secunet.com
CC: herbert@gondor.apana.org.au
CC: arnd@arndb.de
CC: linux-bluetooth@vger.kernel.org
CC: linux-rdma@vger.kernel.org
CC: linux-can@vger.kernel.org
CC: intel-wired-lan@lists.osuosl.org
CC: bpf@vger.kernel.org
CC: linux-hams@vger.kernel.org
CC: ath11k@lists.infradead.org
CC: linux-wireless@vger.kernel.org
CC: linux-nfs@vger.kernel.org
CC: linux-fsdevel@vger.kernel.org
CC: bridge@lists.linux-foundation.org
CC: linux-decnet-user@lists.sourceforge.net
CC: linux-s390@vger.kernel.org
CC: netfilter-devel@vger.kernel.org
CC: coreteam@netfilter.org
CC: virtualization@lists.linux-foundation.org
---
 drivers/bluetooth/btqca.c                         | 1 +
 drivers/infiniband/core/cache.c                   | 1 +
 drivers/infiniband/hw/irdma/ctrl.c                | 2 ++
 drivers/infiniband/hw/irdma/uda.c                 | 2 ++
 drivers/infiniband/hw/mlx5/doorbell.c             | 1 +
 drivers/infiniband/hw/mlx5/qp.c                   | 1 +
 drivers/net/amt.c                                 | 1 +
 drivers/net/appletalk/ipddp.c                     | 1 +
 drivers/net/can/usb/peak_usb/pcan_usb.c           | 1 +
 drivers/net/dsa/microchip/ksz8795.c               | 1 +
 drivers/net/dsa/xrs700x/xrs700x.c                 | 1 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 1 +
 drivers/net/ethernet/huawei/hinic/hinic_tx.c      | 1 +
 drivers/net/ethernet/intel/ice/ice_devlink.c      | 2 ++
 drivers/net/ethernet/intel/ice/ice_txrx_lib.c     | 2 ++
 drivers/net/ethernet/intel/igc/igc_xdp.c          | 1 +
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c    | 1 +
 drivers/net/ethernet/mellanox/mlx5/core/en/qos.c  | 1 +
 drivers/net/ethernet/sfc/efx.c                    | 1 +
 drivers/net/ethernet/sfc/efx_channels.c           | 1 +
 drivers/net/ethernet/sfc/efx_common.c             | 1 +
 drivers/net/hamradio/hdlcdrv.c                    | 1 +
 drivers/net/hamradio/scc.c                        | 1 +
 drivers/net/loopback.c                            | 1 +
 drivers/net/vrf.c                                 | 1 +
 drivers/net/wireless/ath/ath11k/debugfs.c         | 2 ++
 drivers/net/wireless/realtek/rtw89/debug.c        | 2 ++
 fs/nfs/dir.c                                      | 1 +
 fs/nfs/fs_context.c                               | 1 +
 fs/select.c                                       | 1 +
 include/linux/bpf_local_storage.h                 | 1 +
 include/linux/dsa/loop.h                          | 1 +
 include/net/ipv6.h                                | 2 ++
 include/net/route.h                               | 1 +
 include/net/sock.h                                | 2 +-
 include/net/xdp_sock.h                            | 1 +
 kernel/sysctl.c                                   | 1 +
 net/bluetooth/bnep/sock.c                         | 1 +
 net/bluetooth/eir.h                               | 2 ++
 net/bluetooth/hidp/sock.c                         | 1 +
 net/bluetooth/l2cap_sock.c                        | 1 +
 net/bridge/br_ioctl.c                             | 1 +
 net/caif/caif_socket.c                            | 1 +
 net/core/devlink.c                                | 1 +
 net/core/flow_dissector.c                         | 1 +
 net/core/lwt_bpf.c                                | 1 +
 net/core/sock_diag.c                              | 1 +
 net/core/sysctl_net_core.c                        | 1 +
 net/decnet/dn_nsp_in.c                            | 1 +
 net/dsa/dsa_priv.h                                | 1 +
 net/ethtool/ioctl.c                               | 1 +
 net/ipv4/nexthop.c                                | 1 +
 net/ipv6/seg6_local.c                             | 1 +
 net/iucv/af_iucv.c                                | 1 +
 net/kcm/kcmsock.c                                 | 1 +
 net/netfilter/nfnetlink_hook.c                    | 1 +
 net/netfilter/nft_reject_netdev.c                 | 1 +
 net/netlink/af_netlink.c                          | 2 ++
 net/packet/af_packet.c                            | 1 +
 net/rose/rose_in.c                                | 1 +
 net/sched/sch_frag.c                              | 1 +
 net/smc/smc_ib.c                                  | 2 ++
 net/smc/smc_ism.c                                 | 1 +
 net/unix/af_unix.c                                | 1 +
 net/vmw_vsock/af_vsock.c                          | 1 +
 net/xdp/xskmap.c                                  | 1 +
 net/xfrm/xfrm_state.c                             | 1 +
 net/xfrm/xfrm_user.c                              | 1 +
 68 files changed, 78 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index be04d74037d2..f7bf311d7910 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -6,6 +6,7 @@
  */
 #include <linux/module.h>
 #include <linux/firmware.h>
+#include <linux/vmalloc.h>
 
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c
index 0c98dd3dee67..b79f816a7203 100644
--- a/drivers/infiniband/core/cache.c
+++ b/drivers/infiniband/core/cache.c
@@ -33,6 +33,7 @@
  * SOFTWARE.
  */
 
+#include <linux/if_vlan.h>
 #include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/slab.h>
diff --git a/drivers/infiniband/hw/irdma/ctrl.c b/drivers/infiniband/hw/irdma/ctrl.c
index 7264f8c2f7d5..3141a9c85de5 100644
--- a/drivers/infiniband/hw/irdma/ctrl.c
+++ b/drivers/infiniband/hw/irdma/ctrl.c
@@ -1,5 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
 /* Copyright (c) 2015 - 2021 Intel Corporation */
+#include <linux/etherdevice.h>
+
 #include "osdep.h"
 #include "status.h"
 #include "hmc.h"
diff --git a/drivers/infiniband/hw/irdma/uda.c b/drivers/infiniband/hw/irdma/uda.c
index f5b1b6150cdc..7a9988ddbd01 100644
--- a/drivers/infiniband/hw/irdma/uda.c
+++ b/drivers/infiniband/hw/irdma/uda.c
@@ -1,5 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
 /* Copyright (c) 2016 - 2021 Intel Corporation */
+#include <linux/etherdevice.h>
+
 #include "osdep.h"
 #include "status.h"
 #include "hmc.h"
diff --git a/drivers/infiniband/hw/mlx5/doorbell.c b/drivers/infiniband/hw/mlx5/doorbell.c
index 6398e2f48579..e32111117a5e 100644
--- a/drivers/infiniband/hw/mlx5/doorbell.c
+++ b/drivers/infiniband/hw/mlx5/doorbell.c
@@ -32,6 +32,7 @@
 
 #include <linux/kref.h>
 #include <linux/slab.h>
+#include <linux/sched/mm.h>
 #include <rdma/ib_umem.h>
 
 #include "mlx5_ib.h"
diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c
index e5abbcfc1d57..29475cf8c7c3 100644
--- a/drivers/infiniband/hw/mlx5/qp.c
+++ b/drivers/infiniband/hw/mlx5/qp.c
@@ -30,6 +30,7 @@
  * SOFTWARE.
  */
 
+#include <linux/etherdevice.h>
 #include <linux/module.h>
 #include <rdma/ib_umem.h>
 #include <rdma/ib_cache.h>
diff --git a/drivers/net/amt.c b/drivers/net/amt.c
index b732ee9a50ef..a1c7a8acd9c8 100644
--- a/drivers/net/amt.c
+++ b/drivers/net/amt.c
@@ -11,6 +11,7 @@
 #include <linux/net.h>
 #include <linux/igmp.h>
 #include <linux/workqueue.h>
+#include <net/sch_generic.h>
 #include <net/net_namespace.h>
 #include <net/ip.h>
 #include <net/udp.h>
diff --git a/drivers/net/appletalk/ipddp.c b/drivers/net/appletalk/ipddp.c
index 5566daefbff4..d558535390f9 100644
--- a/drivers/net/appletalk/ipddp.c
+++ b/drivers/net/appletalk/ipddp.c
@@ -23,6 +23,7 @@
  *      of the GNU General Public License, incorporated herein by reference.
  */
 
+#include <linux/compat.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
diff --git a/drivers/net/can/usb/peak_usb/pcan_usb.c b/drivers/net/can/usb/peak_usb/pcan_usb.c
index 876218752766..ac6772fe9746 100644
--- a/drivers/net/can/usb/peak_usb/pcan_usb.c
+++ b/drivers/net/can/usb/peak_usb/pcan_usb.c
@@ -8,6 +8,7 @@
  *
  * Many thanks to Klaus Hitschler <klaus.hitschler@gmx.de>
  */
+#include <asm/unaligned.h>
 #include <linux/netdevice.h>
 #include <linux/usb.h>
 #include <linux/module.h>
diff --git a/drivers/net/dsa/microchip/ksz8795.c b/drivers/net/dsa/microchip/ksz8795.c
index 013e9c02be71..991b9c6b6ce7 100644
--- a/drivers/net/dsa/microchip/ksz8795.c
+++ b/drivers/net/dsa/microchip/ksz8795.c
@@ -10,6 +10,7 @@
 #include <linux/delay.h>
 #include <linux/export.h>
 #include <linux/gpio.h>
+#include <linux/if_vlan.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/platform_data/microchip-ksz.h>
diff --git a/drivers/net/dsa/xrs700x/xrs700x.c b/drivers/net/dsa/xrs700x/xrs700x.c
index 35fa19ddaf19..0730352cdd57 100644
--- a/drivers/net/dsa/xrs700x/xrs700x.c
+++ b/drivers/net/dsa/xrs700x/xrs700x.c
@@ -5,6 +5,7 @@
  */
 
 #include <net/dsa.h>
+#include <linux/etherdevice.h>
 #include <linux/if_bridge.h>
 #include <linux/of_device.h>
 #include <linux/netdev_features.h>
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
index 951c4c569a9b..4da31b1b84f9 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
@@ -9,6 +9,7 @@
 
 #include <linux/pci.h>
 #include <linux/netdevice.h>
+#include <linux/vmalloc.h>
 #include <net/devlink.h>
 #include "bnxt_hsi.h"
 #include "bnxt.h"
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_tx.c b/drivers/net/ethernet/huawei/hinic/hinic_tx.c
index a984a7a6dd2e..8d59babbf476 100644
--- a/drivers/net/ethernet/huawei/hinic/hinic_tx.c
+++ b/drivers/net/ethernet/huawei/hinic/hinic_tx.c
@@ -4,6 +4,7 @@
  * Copyright(c) 2017 Huawei Technologies Co., Ltd
  */
 
+#include <linux/if_vlan.h>
 #include <linux/kernel.h>
 #include <linux/netdevice.h>
 #include <linux/u64_stats_sync.h>
diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c b/drivers/net/ethernet/intel/ice/ice_devlink.c
index 1cfe918db8b9..716ec8616ff0 100644
--- a/drivers/net/ethernet/intel/ice/ice_devlink.c
+++ b/drivers/net/ethernet/intel/ice/ice_devlink.c
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright (c) 2020, Intel Corporation. */
 
+#include <linux/vmalloc.h>
+
 #include "ice.h"
 #include "ice_lib.h"
 #include "ice_devlink.h"
diff --git a/drivers/net/ethernet/intel/ice/ice_txrx_lib.c b/drivers/net/ethernet/intel/ice/ice_txrx_lib.c
index 1dd7e84f41f8..9520b140bdbf 100644
--- a/drivers/net/ethernet/intel/ice/ice_txrx_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_txrx_lib.c
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright (c) 2019, Intel Corporation. */
 
+#include <linux/filter.h>
+
 #include "ice_txrx_lib.h"
 #include "ice_eswitch.h"
 #include "ice_lib.h"
diff --git a/drivers/net/ethernet/intel/igc/igc_xdp.c b/drivers/net/ethernet/intel/igc/igc_xdp.c
index a8cf5374be47..aeeb34e64610 100644
--- a/drivers/net/ethernet/intel/igc/igc_xdp.c
+++ b/drivers/net/ethernet/intel/igc/igc_xdp.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright (c) 2020, Intel Corporation. */
 
+#include <linux/if_vlan.h>
 #include <net/xdp_sock_drv.h>
 
 #include "igc.h"
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index f1c10f2bda78..40acfe12adc9 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -33,6 +33,7 @@
 
 #include <linux/bpf.h>
 #include <linux/etherdevice.h>
+#include <linux/filter.h>
 #include <linux/tcp.h>
 #include <linux/if_vlan.h>
 #include <linux/delay.h>
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c b/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
index 50977f01a050..00449df98a5e 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
 /* Copyright (c) 2020, Mellanox Technologies inc. All rights reserved. */
+#include <net/sch_generic.h>
 
 #include "en.h"
 #include "params.h"
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index a8c252e2b252..302dc835ac3d 100644
--- a/drivers/net/ethernet/sfc/efx.c
+++ b/drivers/net/ethernet/sfc/efx.c
@@ -5,6 +5,7 @@
  * Copyright 2005-2013 Solarflare Communications Inc.
  */
 
+#include <linux/filter.h>
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/netdevice.h>
diff --git a/drivers/net/ethernet/sfc/efx_channels.c b/drivers/net/ethernet/sfc/efx_channels.c
index 3dbea028b325..b015d1f2e204 100644
--- a/drivers/net/ethernet/sfc/efx_channels.c
+++ b/drivers/net/ethernet/sfc/efx_channels.c
@@ -10,6 +10,7 @@
 
 #include "net_driver.h"
 #include <linux/module.h>
+#include <linux/filter.h>
 #include "efx_channels.h"
 #include "efx.h"
 #include "efx_common.h"
diff --git a/drivers/net/ethernet/sfc/efx_common.c b/drivers/net/ethernet/sfc/efx_common.c
index f187631b2c5c..af37c990217e 100644
--- a/drivers/net/ethernet/sfc/efx_common.c
+++ b/drivers/net/ethernet/sfc/efx_common.c
@@ -9,6 +9,7 @@
  */
 
 #include "net_driver.h"
+#include <linux/filter.h>
 #include <linux/module.h>
 #include <linux/netdevice.h>
 #include <net/gre.h>
diff --git a/drivers/net/hamradio/hdlcdrv.c b/drivers/net/hamradio/hdlcdrv.c
index b0edb91bb10a..8297411e87ea 100644
--- a/drivers/net/hamradio/hdlcdrv.c
+++ b/drivers/net/hamradio/hdlcdrv.c
@@ -30,6 +30,7 @@
 /*****************************************************************************/
 
 #include <linux/capability.h>
+#include <linux/compat.h>
 #include <linux/module.h>
 #include <linux/types.h>
 #include <linux/net.h>
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index 3d59dac063ac..f90830d3dfa6 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -148,6 +148,7 @@
 
 /* ----------------------------------------------------------------------- */
 
+#include <linux/compat.h>
 #include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/signal.h>
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index a1c77cc00416..ed0edf5884ef 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -44,6 +44,7 @@
 #include <linux/etherdevice.h>
 #include <linux/skbuff.h>
 #include <linux/ethtool.h>
+#include <net/sch_generic.h>
 #include <net/sock.h>
 #include <net/checksum.h>
 #include <linux/if_ether.h>	/* For the statistics structure. */
diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c
index b4c64226b7ca..e0b1ab99a359 100644
--- a/drivers/net/vrf.c
+++ b/drivers/net/vrf.c
@@ -34,6 +34,7 @@
 #include <net/addrconf.h>
 #include <net/l3mdev.h>
 #include <net/fib_rules.h>
+#include <net/sch_generic.h>
 #include <net/netns/generic.h>
 #include <net/netfilter/nf_conntrack.h>
 
diff --git a/drivers/net/wireless/ath/ath11k/debugfs.c b/drivers/net/wireless/ath/ath11k/debugfs.c
index dba055d085be..eb8b4f20c95e 100644
--- a/drivers/net/wireless/ath/ath11k/debugfs.c
+++ b/drivers/net/wireless/ath/ath11k/debugfs.c
@@ -3,6 +3,8 @@
  * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
  */
 
+#include <linux/vmalloc.h>
+
 #include "debugfs.h"
 
 #include "core.h"
diff --git a/drivers/net/wireless/realtek/rtw89/debug.c b/drivers/net/wireless/realtek/rtw89/debug.c
index 1e85808aaf4b..be761157ea22 100644
--- a/drivers/net/wireless/realtek/rtw89/debug.c
+++ b/drivers/net/wireless/realtek/rtw89/debug.c
@@ -2,6 +2,8 @@
 /* Copyright(c) 2019-2020  Realtek Corporation
  */
 
+#include <linux/vmalloc.h>
+
 #include "coex.h"
 #include "debug.h"
 #include "fw.h"
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 731d31015b6a..347793626f19 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -18,6 +18,7 @@
  *  6 Jun 1999	Cache readdir lookups in the page cache. -DaveM
  */
 
+#include <linux/compat.h>
 #include <linux/module.h>
 #include <linux/time.h>
 #include <linux/errno.h>
diff --git a/fs/nfs/fs_context.c b/fs/nfs/fs_context.c
index 0d444a90f513..ea17fa1f31ec 100644
--- a/fs/nfs/fs_context.c
+++ b/fs/nfs/fs_context.c
@@ -10,6 +10,7 @@
  * Split from fs/nfs/super.c by David Howells <dhowells@redhat.com>
  */
 
+#include <linux/compat.h>
 #include <linux/module.h>
 #include <linux/fs.h>
 #include <linux/fs_context.h>
diff --git a/fs/select.c b/fs/select.c
index 945896d0ac9e..02cd8cb5e69f 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -15,6 +15,7 @@
  *     of fds to overcome nfds < 16390 descriptors limit (Tigran Aivazian).
  */
 
+#include <linux/compat.h>
 #include <linux/kernel.h>
 #include <linux/sched/signal.h>
 #include <linux/sched/rt.h>
diff --git a/include/linux/bpf_local_storage.h b/include/linux/bpf_local_storage.h
index 24496bc28e7b..a2b625960ffe 100644
--- a/include/linux/bpf_local_storage.h
+++ b/include/linux/bpf_local_storage.h
@@ -8,6 +8,7 @@
 #define _BPF_LOCAL_STORAGE_H
 
 #include <linux/bpf.h>
+#include <linux/filter.h>
 #include <linux/rculist.h>
 #include <linux/list.h>
 #include <linux/hash.h>
diff --git a/include/linux/dsa/loop.h b/include/linux/dsa/loop.h
index 5a3470bcc8a7..b8fef35591aa 100644
--- a/include/linux/dsa/loop.h
+++ b/include/linux/dsa/loop.h
@@ -2,6 +2,7 @@
 #ifndef DSA_LOOP_H
 #define DSA_LOOP_H
 
+#include <linux/if_vlan.h>
 #include <linux/types.h>
 #include <linux/ethtool.h>
 #include <net/dsa.h>
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 53ac7707ca70..3afcb128e064 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -21,6 +21,8 @@
 #include <net/snmp.h>
 #include <net/netns/hash.h>
 
+struct ip_tunnel_info;
+
 #define SIN6_LEN_RFC2133	24
 
 #define IPV6_MAXPLEN		65535
diff --git a/include/net/route.h b/include/net/route.h
index 2e6c0e153e3a..4c858dcf1aa8 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -43,6 +43,7 @@
 #define RT_CONN_FLAGS(sk)   (RT_TOS(inet_sk(sk)->tos) | sock_flag(sk, SOCK_LOCALROUTE))
 #define RT_CONN_FLAGS_TOS(sk,tos)   (RT_TOS(tos) | sock_flag(sk, SOCK_LOCALROUTE))
 
+struct ip_tunnel_info;
 struct fib_nh;
 struct fib_info;
 struct uncached_list;
diff --git a/include/net/sock.h b/include/net/sock.h
index 37f878564d25..40f6406b9ca5 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -56,7 +56,6 @@
 #include <linux/wait.h>
 #include <linux/cgroup-defs.h>
 #include <linux/rbtree.h>
-#include <linux/filter.h>
 #include <linux/rculist_nulls.h>
 #include <linux/poll.h>
 #include <linux/sockptr.h>
@@ -249,6 +248,7 @@ struct sock_common {
 };
 
 struct bpf_local_storage;
+struct sk_filter;
 
 /**
   *	struct sock - network layer representation of sockets
diff --git a/include/net/xdp_sock.h b/include/net/xdp_sock.h
index fff069d2ed1b..3057e1a4a11c 100644
--- a/include/net/xdp_sock.h
+++ b/include/net/xdp_sock.h
@@ -6,6 +6,7 @@
 #ifndef _LINUX_XDP_SOCK_H
 #define _LINUX_XDP_SOCK_H
 
+#include <linux/bpf.h>
 #include <linux/workqueue.h>
 #include <linux/if_xdp.h>
 #include <linux/mutex.h>
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 083be6af29d7..d7ed1dffa426 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -33,6 +33,7 @@
 #include <linux/security.h>
 #include <linux/ctype.h>
 #include <linux/kmemleak.h>
+#include <linux/filter.h>
 #include <linux/fs.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
diff --git a/net/bluetooth/bnep/sock.c b/net/bluetooth/bnep/sock.c
index d515571b2afb..57d509d77cb4 100644
--- a/net/bluetooth/bnep/sock.c
+++ b/net/bluetooth/bnep/sock.c
@@ -24,6 +24,7 @@
    SOFTWARE IS DISCLAIMED.
 */
 
+#include <linux/compat.h>
 #include <linux/export.h>
 #include <linux/file.h>
 
diff --git a/net/bluetooth/eir.h b/net/bluetooth/eir.h
index 724662f8f8b1..05e2e917fc25 100644
--- a/net/bluetooth/eir.h
+++ b/net/bluetooth/eir.h
@@ -5,6 +5,8 @@
  * Copyright (C) 2021 Intel Corporation
  */
 
+#include <asm/unaligned.h>
+
 void eir_create(struct hci_dev *hdev, u8 *data);
 
 u8 eir_create_adv_data(struct hci_dev *hdev, u8 instance, u8 *ptr);
diff --git a/net/bluetooth/hidp/sock.c b/net/bluetooth/hidp/sock.c
index 595fb3c9d6c3..369ed92dac99 100644
--- a/net/bluetooth/hidp/sock.c
+++ b/net/bluetooth/hidp/sock.c
@@ -20,6 +20,7 @@
    SOFTWARE IS DISCLAIMED.
 */
 
+#include <linux/compat.h>
 #include <linux/export.h>
 #include <linux/file.h>
 
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index 4574c5cb1b59..dc50737b785b 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -29,6 +29,7 @@
 
 #include <linux/module.h>
 #include <linux/export.h>
+#include <linux/filter.h>
 #include <linux/sched/signal.h>
 
 #include <net/bluetooth/bluetooth.h>
diff --git a/net/bridge/br_ioctl.c b/net/bridge/br_ioctl.c
index db4ab2c2ce18..9b54d7d0bfc4 100644
--- a/net/bridge/br_ioctl.c
+++ b/net/bridge/br_ioctl.c
@@ -8,6 +8,7 @@
  */
 
 #include <linux/capability.h>
+#include <linux/compat.h>
 #include <linux/kernel.h>
 #include <linux/if_bridge.h>
 #include <linux/netdevice.h>
diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c
index e12fd3cad619..2b8892d502f7 100644
--- a/net/caif/caif_socket.c
+++ b/net/caif/caif_socket.c
@@ -6,6 +6,7 @@
 
 #define pr_fmt(fmt) KBUILD_MODNAME ":%s(): " fmt, __func__
 
+#include <linux/filter.h>
 #include <linux/fs.h>
 #include <linux/init.h>
 #include <linux/module.h>
diff --git a/net/core/devlink.c b/net/core/devlink.c
index 0a9349a02cad..492a26d3c3f1 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2016 Jiri Pirko <jiri@mellanox.com>
  */
 
+#include <linux/etherdevice.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/types.h>
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index 257976cb55ce..de1109f2cfcf 100644
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -5,6 +5,7 @@
 #include <linux/ip.h>
 #include <linux/ipv6.h>
 #include <linux/if_vlan.h>
+#include <linux/filter.h>
 #include <net/dsa.h>
 #include <net/dst_metadata.h>
 #include <net/ip.h>
diff --git a/net/core/lwt_bpf.c b/net/core/lwt_bpf.c
index 2f7940bcf715..349480ef68a5 100644
--- a/net/core/lwt_bpf.c
+++ b/net/core/lwt_bpf.c
@@ -2,6 +2,7 @@
 /* Copyright (c) 2016 Thomas Graf <tgraf@tgraf.ch>
  */
 
+#include <linux/filter.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/skbuff.h>
diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c
index c9c45b935f99..f7cf74cdd3db 100644
--- a/net/core/sock_diag.c
+++ b/net/core/sock_diag.c
@@ -1,5 +1,6 @@
 /* License: GPL */
 
+#include <linux/filter.h>
 #include <linux/mutex.h>
 #include <linux/socket.h>
 #include <linux/skbuff.h>
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
index 5f88526ad61c..7b4d485aac7a 100644
--- a/net/core/sysctl_net_core.c
+++ b/net/core/sysctl_net_core.c
@@ -6,6 +6,7 @@
  * Added /proc/sys/net/core directory entry (empty =) ). [MS]
  */
 
+#include <linux/filter.h>
 #include <linux/mm.h>
 #include <linux/sysctl.h>
 #include <linux/module.h>
diff --git a/net/decnet/dn_nsp_in.c b/net/decnet/dn_nsp_in.c
index 7ab788f41a3f..c59be5b04479 100644
--- a/net/decnet/dn_nsp_in.c
+++ b/net/decnet/dn_nsp_in.c
@@ -38,6 +38,7 @@
 *******************************************************************************/
 
 #include <linux/errno.h>
+#include <linux/filter.h>
 #include <linux/types.h>
 #include <linux/socket.h>
 #include <linux/in.h>
diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h
index 38ce5129a33d..0194a969c9b5 100644
--- a/net/dsa/dsa_priv.h
+++ b/net/dsa/dsa_priv.h
@@ -8,6 +8,7 @@
 #define __DSA_PRIV_H
 
 #include <linux/if_bridge.h>
+#include <linux/if_vlan.h>
 #include <linux/phy.h>
 #include <linux/netdevice.h>
 #include <linux/netpoll.h>
diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
index 9a113d893521..b2cdba1b4aae 100644
--- a/net/ethtool/ioctl.c
+++ b/net/ethtool/ioctl.c
@@ -8,6 +8,7 @@
  */
 
 #include <linux/compat.h>
+#include <linux/etherdevice.h>
 #include <linux/module.h>
 #include <linux/types.h>
 #include <linux/capability.h>
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c
index 1319d093cdda..eeafeccebb8d 100644
--- a/net/ipv4/nexthop.c
+++ b/net/ipv4/nexthop.c
@@ -8,6 +8,7 @@
 #include <linux/nexthop.h>
 #include <linux/rtnetlink.h>
 #include <linux/slab.h>
+#include <linux/vmalloc.h>
 #include <net/arp.h>
 #include <net/ipv6_stubs.h>
 #include <net/lwtunnel.h>
diff --git a/net/ipv6/seg6_local.c b/net/ipv6/seg6_local.c
index 2dc40b3f373e..a5eea182149d 100644
--- a/net/ipv6/seg6_local.c
+++ b/net/ipv6/seg6_local.c
@@ -7,6 +7,7 @@
  *  eBPF support: Mathieu Xhonneux <m.xhonneux@gmail.com>
  */
 
+#include <linux/filter.h>
 #include <linux/types.h>
 #include <linux/skbuff.h>
 #include <linux/net.h>
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index 49ecbe8d176a..a1760add5bf1 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -13,6 +13,7 @@
 #define KMSG_COMPONENT "af_iucv"
 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
 
+#include <linux/filter.h>
 #include <linux/module.h>
 #include <linux/netdevice.h>
 #include <linux/types.h>
diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c
index 11a715d76a4f..71899e5a5a11 100644
--- a/net/kcm/kcmsock.c
+++ b/net/kcm/kcmsock.c
@@ -9,6 +9,7 @@
 #include <linux/errno.h>
 #include <linux/errqueue.h>
 #include <linux/file.h>
+#include <linux/filter.h>
 #include <linux/in.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
diff --git a/net/netfilter/nfnetlink_hook.c b/net/netfilter/nfnetlink_hook.c
index d5c719c9e36c..71e29adac48b 100644
--- a/net/netfilter/nfnetlink_hook.c
+++ b/net/netfilter/nfnetlink_hook.c
@@ -6,6 +6,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/kallsyms.h>
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/skbuff.h>
diff --git a/net/netfilter/nft_reject_netdev.c b/net/netfilter/nft_reject_netdev.c
index d89f68754f42..61cd8c4ac385 100644
--- a/net/netfilter/nft_reject_netdev.c
+++ b/net/netfilter/nft_reject_netdev.c
@@ -4,6 +4,7 @@
  * Copyright (c) 2020 Jose M. Guisado <guigom@riseup.net>
  */
 
+#include <linux/etherdevice.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/module.h>
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 4be2d97ff93e..7b344035bfe3 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -20,8 +20,10 @@
 
 #include <linux/module.h>
 
+#include <linux/bpf.h>
 #include <linux/capability.h>
 #include <linux/kernel.h>
+#include <linux/filter.h>
 #include <linux/init.h>
 #include <linux/signal.h>
 #include <linux/sched.h>
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index a1ffdb48cc47..3ca4f890371a 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -49,6 +49,7 @@
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #include <linux/ethtool.h>
+#include <linux/filter.h>
 #include <linux/types.h>
 #include <linux/mm.h>
 #include <linux/capability.h>
diff --git a/net/rose/rose_in.c b/net/rose/rose_in.c
index 6af786d66b03..4d67f36dce1b 100644
--- a/net/rose/rose_in.c
+++ b/net/rose/rose_in.c
@@ -9,6 +9,7 @@
  * diagrams as the code is not obvious and probably very easy to break.
  */
 #include <linux/errno.h>
+#include <linux/filter.h>
 #include <linux/types.h>
 #include <linux/socket.h>
 #include <linux/in.h>
diff --git a/net/sched/sch_frag.c b/net/sched/sch_frag.c
index 8c06381391d6..cd85a69820b1 100644
--- a/net/sched/sch_frag.c
+++ b/net/sched/sch_frag.c
@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
+#include <linux/if_vlan.h>
 #include <net/netlink.h>
 #include <net/sch_generic.h>
 #include <net/dst.h>
diff --git a/net/smc/smc_ib.c b/net/smc/smc_ib.c
index d93055ec17ae..905604c378ad 100644
--- a/net/smc/smc_ib.c
+++ b/net/smc/smc_ib.c
@@ -12,6 +12,8 @@
  *  Author(s):  Ursula Braun <ubraun@linux.vnet.ibm.com>
  */
 
+#include <linux/etherdevice.h>
+#include <linux/if_vlan.h>
 #include <linux/random.h>
 #include <linux/workqueue.h>
 #include <linux/scatterlist.h>
diff --git a/net/smc/smc_ism.c b/net/smc/smc_ism.c
index fd28cc498b98..a2084ecdb97e 100644
--- a/net/smc/smc_ism.c
+++ b/net/smc/smc_ism.c
@@ -6,6 +6,7 @@
  * Copyright IBM Corp. 2018
  */
 
+#include <linux/if_vlan.h>
 #include <linux/spinlock.h>
 #include <linux/mutex.h>
 #include <linux/slab.h>
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 4d6e33bbd446..c19569819866 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -89,6 +89,7 @@
 #include <linux/socket.h>
 #include <linux/un.h>
 #include <linux/fcntl.h>
+#include <linux/filter.h>
 #include <linux/termios.h>
 #include <linux/sockios.h>
 #include <linux/net.h>
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
index ed0df839c38c..3235261f138d 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -85,6 +85,7 @@
  *   TCP_LISTEN - listening
  */
 
+#include <linux/compat.h>
 #include <linux/types.h>
 #include <linux/bitops.h>
 #include <linux/cred.h>
diff --git a/net/xdp/xskmap.c b/net/xdp/xskmap.c
index 2e48d0e094d9..65b53fb3de13 100644
--- a/net/xdp/xskmap.c
+++ b/net/xdp/xskmap.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/bpf.h>
+#include <linux/filter.h>
 #include <linux/capability.h>
 #include <net/xdp_sock.h>
 #include <linux/slab.h>
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index a2f4001221d1..0407272a990c 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -14,6 +14,7 @@
  *
  */
 
+#include <linux/compat.h>
 #include <linux/workqueue.h>
 #include <net/xfrm.h>
 #include <linux/pfkeyv2.h>
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index 7c36cc1f3d79..e3e26f4da6c2 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -11,6 +11,7 @@
  *
  */
 
+#include <linux/compat.h>
 #include <linux/crypto.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Intel-wired-lan] [PATCH bpf-next] net: don't include filter.h from net/sock.h
  2021-12-28 19:25 [PATCH bpf-next] net: don't include filter.h from net/sock.h Jakub Kicinski
@ 2021-12-28 21:37 ` kernel test robot
  2021-12-28 21:58 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-12-28 21:37 UTC (permalink / raw)
  To: Jakub Kicinski, ast, daniel
  Cc: kbuild-all, andrew, mustafa.ismail, linux-wireless, jiri, pablo,
	andrii, george.mccollister, ralf

Hi Jakub,

I love your patch! Yet something to improve:

[auto build test ERROR on bpf-next/master]

url:    https://github.com/0day-ci/linux/commits/Jakub-Kicinski/net-don-t-include-filter-h-from-net-sock-h/20211229-032712
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: ia64-randconfig-r024-20211228 (https://download.01.org/0day-ci/archive/20211229/202112290510.oNkRIfJG-lkp@intel.com/config)
compiler: ia64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/655ad46a9ed1d3185292e9e8e545887d781d06d7
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Jakub-Kicinski/net-don-t-include-filter-h-from-net-sock-h/20211229-032712
        git checkout 655ad46a9ed1d3185292e9e8e545887d781d06d7
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/net/bonding/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/net/bonding/bond_main.c: In function 'bond_enslave':
>> drivers/net/bonding/bond_main.c:2195:25: error: implicit declaration of function 'bpf_prog_inc' [-Werror=implicit-function-declaration]
    2195 |                         bpf_prog_inc(bond->xdp_prog);
         |                         ^~~~~~~~~~~~
   In file included from include/linux/module.h:23,
                    from drivers/net/bonding/bond_main.c:35:
   drivers/net/bonding/bond_main.c: In function 'bond_xdp_set':
>> drivers/net/bonding/bond_main.c:5249:36: error: 'bpf_master_redirect_enabled_key' undeclared (first use in this function)
    5249 |                 static_branch_inc(&bpf_master_redirect_enabled_key);
         |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/jump_label.h:520:63: note: in definition of macro 'static_branch_inc'
     520 | #define static_branch_inc(x)            static_key_slow_inc(&(x)->key)
         |                                                               ^
   drivers/net/bonding/bond_main.c:5249:36: note: each undeclared identifier is reported only once for each function it appears in
    5249 |                 static_branch_inc(&bpf_master_redirect_enabled_key);
         |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/jump_label.h:520:63: note: in definition of macro 'static_branch_inc'
     520 | #define static_branch_inc(x)            static_key_slow_inc(&(x)->key)
         |                                                               ^
>> drivers/net/bonding/bond_main.c:5251:17: error: implicit declaration of function 'bpf_prog_put' [-Werror=implicit-function-declaration]
    5251 |                 bpf_prog_put(old_prog);
         |                 ^~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/bpf_prog_inc +2195 drivers/net/bonding/bond_main.c

8a8efa22f51b3c Amerigo Wang                2011-02-17  2092  
fbe168ba91f7c3 Michal Kubeček              2014-11-13  2093  	if (!(bond_dev->features & NETIF_F_LRO))
fbe168ba91f7c3 Michal Kubeček              2014-11-13  2094  		dev_disable_lro(slave_dev);
fbe168ba91f7c3 Michal Kubeček              2014-11-13  2095  
35d48903e97819 Jiri Pirko                  2011-03-22  2096  	res = netdev_rx_handler_register(slave_dev, bond_handle_frame,
35d48903e97819 Jiri Pirko                  2011-03-22  2097  					 new_slave);
35d48903e97819 Jiri Pirko                  2011-03-22  2098  	if (res) {
e2a7420df2e013 Jarod Wilson                2019-06-07  2099  		slave_dbg(bond_dev, slave_dev, "Error %d calling netdev_rx_handler_register\n", res);
5831d66e8097ae Veaceslav Falico            2013-09-25  2100  		goto err_detach;
35d48903e97819 Jiri Pirko                  2011-03-22  2101  	}
35d48903e97819 Jiri Pirko                  2011-03-22  2102  
42ab19ee902929 David Ahern                 2017-10-04  2103  	res = bond_master_upper_dev_link(bond, new_slave, extack);
1f718f0f4f9714 Veaceslav Falico            2013-09-25  2104  	if (res) {
e2a7420df2e013 Jarod Wilson                2019-06-07  2105  		slave_dbg(bond_dev, slave_dev, "Error %d calling bond_master_upper_dev_link\n", res);
1f718f0f4f9714 Veaceslav Falico            2013-09-25  2106  		goto err_unregister;
1f718f0f4f9714 Veaceslav Falico            2013-09-25  2107  	}
1f718f0f4f9714 Veaceslav Falico            2013-09-25  2108  
32d4c5647aad13 Tobias Waldekranz           2021-01-13  2109  	bond_lower_state_changed(new_slave);
32d4c5647aad13 Tobias Waldekranz           2021-01-13  2110  
07699f9a7c8d10 sfeldma@cumulusnetworks.com 2014-01-16  2111  	res = bond_sysfs_slave_add(new_slave);
07699f9a7c8d10 sfeldma@cumulusnetworks.com 2014-01-16  2112  	if (res) {
e2a7420df2e013 Jarod Wilson                2019-06-07  2113  		slave_dbg(bond_dev, slave_dev, "Error %d calling bond_sysfs_slave_add\n", res);
07699f9a7c8d10 sfeldma@cumulusnetworks.com 2014-01-16  2114  		goto err_upper_unlink;
07699f9a7c8d10 sfeldma@cumulusnetworks.com 2014-01-16  2115  	}
07699f9a7c8d10 sfeldma@cumulusnetworks.com 2014-01-16  2116  
ae42cc62a9f07f Xin Long                    2018-03-26  2117  	/* If the mode uses primary, then the following is handled by
ae42cc62a9f07f Xin Long                    2018-03-26  2118  	 * bond_change_active_slave().
ae42cc62a9f07f Xin Long                    2018-03-26  2119  	 */
ae42cc62a9f07f Xin Long                    2018-03-26  2120  	if (!bond_uses_primary(bond)) {
ae42cc62a9f07f Xin Long                    2018-03-26  2121  		/* set promiscuity level to new slave */
ae42cc62a9f07f Xin Long                    2018-03-26  2122  		if (bond_dev->flags & IFF_PROMISC) {
ae42cc62a9f07f Xin Long                    2018-03-26  2123  			res = dev_set_promiscuity(slave_dev, 1);
ae42cc62a9f07f Xin Long                    2018-03-26  2124  			if (res)
ae42cc62a9f07f Xin Long                    2018-03-26  2125  				goto err_sysfs_del;
ae42cc62a9f07f Xin Long                    2018-03-26  2126  		}
ae42cc62a9f07f Xin Long                    2018-03-26  2127  
ae42cc62a9f07f Xin Long                    2018-03-26  2128  		/* set allmulti level to new slave */
ae42cc62a9f07f Xin Long                    2018-03-26  2129  		if (bond_dev->flags & IFF_ALLMULTI) {
ae42cc62a9f07f Xin Long                    2018-03-26  2130  			res = dev_set_allmulti(slave_dev, 1);
9f5a90c107741b Xin Long                    2018-03-26  2131  			if (res) {
9f5a90c107741b Xin Long                    2018-03-26  2132  				if (bond_dev->flags & IFF_PROMISC)
9f5a90c107741b Xin Long                    2018-03-26  2133  					dev_set_promiscuity(slave_dev, -1);
ae42cc62a9f07f Xin Long                    2018-03-26  2134  				goto err_sysfs_del;
ae42cc62a9f07f Xin Long                    2018-03-26  2135  			}
9f5a90c107741b Xin Long                    2018-03-26  2136  		}
ae42cc62a9f07f Xin Long                    2018-03-26  2137  
ae42cc62a9f07f Xin Long                    2018-03-26  2138  		netif_addr_lock_bh(bond_dev);
ae42cc62a9f07f Xin Long                    2018-03-26  2139  		dev_mc_sync_multiple(slave_dev, bond_dev);
ae42cc62a9f07f Xin Long                    2018-03-26  2140  		dev_uc_sync_multiple(slave_dev, bond_dev);
ae42cc62a9f07f Xin Long                    2018-03-26  2141  		netif_addr_unlock_bh(bond_dev);
ae42cc62a9f07f Xin Long                    2018-03-26  2142  
ae42cc62a9f07f Xin Long                    2018-03-26  2143  		if (BOND_MODE(bond) == BOND_MODE_8023AD) {
ae42cc62a9f07f Xin Long                    2018-03-26  2144  			/* add lacpdu mc addr to mc list */
ae42cc62a9f07f Xin Long                    2018-03-26  2145  			u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
ae42cc62a9f07f Xin Long                    2018-03-26  2146  
ae42cc62a9f07f Xin Long                    2018-03-26  2147  			dev_mc_add(slave_dev, lacpdu_multicast);
ae42cc62a9f07f Xin Long                    2018-03-26  2148  		}
ae42cc62a9f07f Xin Long                    2018-03-26  2149  	}
ae42cc62a9f07f Xin Long                    2018-03-26  2150  
5378c2e6ea236d Veaceslav Falico            2013-10-21  2151  	bond->slave_cnt++;
5378c2e6ea236d Veaceslav Falico            2013-10-21  2152  	bond_compute_features(bond);
5378c2e6ea236d Veaceslav Falico            2013-10-21  2153  	bond_set_carrier(bond);
5378c2e6ea236d Veaceslav Falico            2013-10-21  2154  
ec0865a94991d1 Veaceslav Falico            2014-05-15  2155  	if (bond_uses_primary(bond)) {
f80889a5b79cae dingtianhong                2014-02-12  2156  		block_netpoll_tx();
5378c2e6ea236d Veaceslav Falico            2013-10-21  2157  		bond_select_active_slave(bond);
f80889a5b79cae dingtianhong                2014-02-12  2158  		unblock_netpoll_tx();
5378c2e6ea236d Veaceslav Falico            2013-10-21  2159  	}
1f718f0f4f9714 Veaceslav Falico            2013-09-25  2160  
e79c1055749e31 Debabrata Banerjee          2018-05-14  2161  	if (bond_mode_can_use_xmit_hash(bond))
ee6377147409a0 Mahesh Bandewar             2014-10-04  2162  		bond_update_slave_arr(bond, NULL);
ee6377147409a0 Mahesh Bandewar             2014-10-04  2163  
21706ee8a47d3e Debabrata Banerjee          2018-05-09  2164  
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2165  	if (!slave_dev->netdev_ops->ndo_bpf ||
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2166  	    !slave_dev->netdev_ops->ndo_xdp_xmit) {
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2167  		if (bond->xdp_prog) {
6569fa2d4e0147 Jonathan Toppins            2021-08-10  2168  			SLAVE_NL_ERR(bond_dev, slave_dev, extack,
6569fa2d4e0147 Jonathan Toppins            2021-08-10  2169  				     "Slave does not support XDP");
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2170  			res = -EOPNOTSUPP;
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2171  			goto err_sysfs_del;
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2172  		}
6d5f1ef838683e Jussi Maki                  2021-09-06  2173  	} else if (bond->xdp_prog) {
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2174  		struct netdev_bpf xdp = {
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2175  			.command = XDP_SETUP_PROG,
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2176  			.flags   = 0,
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2177  			.prog    = bond->xdp_prog,
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2178  			.extack  = extack,
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2179  		};
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2180  
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2181  		if (dev_xdp_prog_count(slave_dev) > 0) {
6569fa2d4e0147 Jonathan Toppins            2021-08-10  2182  			SLAVE_NL_ERR(bond_dev, slave_dev, extack,
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2183  				     "Slave has XDP program loaded, please unload before enslaving");
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2184  			res = -EOPNOTSUPP;
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2185  			goto err_sysfs_del;
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2186  		}
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2187  
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2188  		res = slave_dev->netdev_ops->ndo_bpf(slave_dev, &xdp);
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2189  		if (res < 0) {
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2190  			/* ndo_bpf() sets extack error message */
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2191  			slave_dbg(bond_dev, slave_dev, "Error %d calling ndo_bpf\n", res);
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2192  			goto err_sysfs_del;
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2193  		}
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2194  		if (bond->xdp_prog)
9e2ee5c7e7c35d Jussi Maki                  2021-07-31 @2195  			bpf_prog_inc(bond->xdp_prog);
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2196  	}
9e2ee5c7e7c35d Jussi Maki                  2021-07-31  2197  
e2a7420df2e013 Jarod Wilson                2019-06-07  2198  	slave_info(bond_dev, slave_dev, "Enslaving as %s interface with %s link\n",
90194264ceffdf Joe Perches                 2014-02-15  2199  		   bond_is_active_slave(new_slave) ? "an active" : "a backup",
90194264ceffdf Joe Perches                 2014-02-15  2200  		   new_slave->link != BOND_LINK_DOWN ? "an up" : "a down");
^1da177e4c3f41 Linus Torvalds              2005-04-16  2201  
^1da177e4c3f41 Linus Torvalds              2005-04-16  2202  	/* enslave is successful */
69e6113343cfe9 Moni Shoua                  2015-02-03  2203  	bond_queue_slave_event(new_slave);
^1da177e4c3f41 Linus Torvalds              2005-04-16  2204  	return 0;
^1da177e4c3f41 Linus Torvalds              2005-04-16  2205  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Intel-wired-lan] [PATCH bpf-next] net: don't include filter.h from net/sock.h
  2021-12-28 19:25 [PATCH bpf-next] net: don't include filter.h from net/sock.h Jakub Kicinski
  2021-12-28 21:37 ` [Intel-wired-lan] " kernel test robot
@ 2021-12-28 21:58 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-12-28 21:58 UTC (permalink / raw)
  To: Jakub Kicinski, ast, daniel
  Cc: kbuild-all, andrew, mustafa.ismail, linux-wireless, jiri, pablo,
	andrii, george.mccollister, ralf

Hi Jakub,

I love your patch! Yet something to improve:

[auto build test ERROR on bpf-next/master]

url:    https://github.com/0day-ci/linux/commits/Jakub-Kicinski/net-don-t-include-filter-h-from-net-sock-h/20211229-032712
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: i386-randconfig-m021-20211228 (https://download.01.org/0day-ci/archive/20211229/202112290523.IciwiUz8-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/655ad46a9ed1d3185292e9e8e545887d781d06d7
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Jakub-Kicinski/net-don-t-include-filter-h-from-net-sock-h/20211229-032712
        git checkout 655ad46a9ed1d3185292e9e8e545887d781d06d7
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   net/ipv6/ip6_fib.c: In function 'fib6_add':
   net/ipv6/ip6_fib.c:1377:25: warning: variable 'pn' set but not used [-Wunused-but-set-variable]
    1377 |  struct fib6_node *fn, *pn = NULL;
         |                         ^~
   net/ipv6/ip6_fib.c: In function 'ipv6_route_prog_seq_show':
>> net/ipv6/ip6_fib.c:2665:9: error: implicit declaration of function 'bpf_iter_run_prog' [-Werror=implicit-function-declaration]
    2665 |  return bpf_iter_run_prog(prog, &ctx);
         |         ^~~~~~~~~~~~~~~~~
   net/ipv6/ip6_fib.c: In function 'ipv6_route_seq_show':
>> net/ipv6/ip6_fib.c:2671:23: error: storage size of 'meta' isn't known
    2671 |  struct bpf_iter_meta meta;
         |                       ^~~~
>> net/ipv6/ip6_fib.c:2676:9: error: implicit declaration of function 'bpf_iter_get_info' [-Werror=implicit-function-declaration]
    2676 |  prog = bpf_iter_get_info(&meta, false);
         |         ^~~~~~~~~~~~~~~~~
   net/ipv6/ip6_fib.c:2671:23: warning: unused variable 'meta' [-Wunused-variable]
    2671 |  struct bpf_iter_meta meta;
         |                       ^~~~
   net/ipv6/ip6_fib.c: In function 'ipv6_route_seq_stop':
   net/ipv6/ip6_fib.c:2688:23: error: storage size of 'meta' isn't known
    2688 |  struct bpf_iter_meta meta;
         |                       ^~~~
   net/ipv6/ip6_fib.c:2688:23: warning: unused variable 'meta' [-Wunused-variable]
   cc1: some warnings being treated as errors


vim +/bpf_iter_run_prog +2665 net/ipv6/ip6_fib.c

8d2ca1d7b5c3e6 Hannes Frederic Sowa 2013-09-21  2655  
138d0be35b141e Yonghong Song        2020-05-09  2656  #if IS_BUILTIN(CONFIG_IPV6) && defined(CONFIG_BPF_SYSCALL)
138d0be35b141e Yonghong Song        2020-05-09  2657  static int ipv6_route_prog_seq_show(struct bpf_prog *prog,
138d0be35b141e Yonghong Song        2020-05-09  2658  				    struct bpf_iter_meta *meta,
138d0be35b141e Yonghong Song        2020-05-09  2659  				    void *v)
138d0be35b141e Yonghong Song        2020-05-09  2660  {
138d0be35b141e Yonghong Song        2020-05-09  2661  	struct bpf_iter__ipv6_route ctx;
138d0be35b141e Yonghong Song        2020-05-09  2662  
138d0be35b141e Yonghong Song        2020-05-09  2663  	ctx.meta = meta;
138d0be35b141e Yonghong Song        2020-05-09  2664  	ctx.rt = v;
138d0be35b141e Yonghong Song        2020-05-09 @2665  	return bpf_iter_run_prog(prog, &ctx);
138d0be35b141e Yonghong Song        2020-05-09  2666  }
138d0be35b141e Yonghong Song        2020-05-09  2667  
138d0be35b141e Yonghong Song        2020-05-09  2668  static int ipv6_route_seq_show(struct seq_file *seq, void *v)
138d0be35b141e Yonghong Song        2020-05-09  2669  {
138d0be35b141e Yonghong Song        2020-05-09  2670  	struct ipv6_route_iter *iter = seq->private;
138d0be35b141e Yonghong Song        2020-05-09 @2671  	struct bpf_iter_meta meta;
138d0be35b141e Yonghong Song        2020-05-09  2672  	struct bpf_prog *prog;
138d0be35b141e Yonghong Song        2020-05-09  2673  	int ret;
138d0be35b141e Yonghong Song        2020-05-09  2674  
138d0be35b141e Yonghong Song        2020-05-09  2675  	meta.seq = seq;
138d0be35b141e Yonghong Song        2020-05-09 @2676  	prog = bpf_iter_get_info(&meta, false);
138d0be35b141e Yonghong Song        2020-05-09  2677  	if (!prog)
138d0be35b141e Yonghong Song        2020-05-09  2678  		return ipv6_route_native_seq_show(seq, v);
138d0be35b141e Yonghong Song        2020-05-09  2679  
138d0be35b141e Yonghong Song        2020-05-09  2680  	ret = ipv6_route_prog_seq_show(prog, &meta, v);
138d0be35b141e Yonghong Song        2020-05-09  2681  	iter->w.leaf = NULL;
138d0be35b141e Yonghong Song        2020-05-09  2682  
138d0be35b141e Yonghong Song        2020-05-09  2683  	return ret;
138d0be35b141e Yonghong Song        2020-05-09  2684  }
138d0be35b141e Yonghong Song        2020-05-09  2685  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-28 21:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-28 19:25 [PATCH bpf-next] net: don't include filter.h from net/sock.h Jakub Kicinski
2021-12-28 21:37 ` [Intel-wired-lan] " kernel test robot
2021-12-28 21:58 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).