* [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).