Linux Netfilter development
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Florian Westphal <fw@strlen.de>, netdev@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, netfilter-devel@vger.kernel.org,
	bpf@vger.kernel.org, dxu@dxuuu.xyz, qde@naccy.de,
	Florian Westphal <fw@strlen.de>
Subject: Re: [PATCH bpf-next 6/6] bpf: add test_run support for netfilter program type
Date: Thu, 6 Apr 2023 02:22:52 +0800	[thread overview]
Message-ID: <202304060207.JawhnyR9-lkp@intel.com> (raw)
In-Reply-To: <20230405161116.13565-7-fw@strlen.de>

Hi Florian,

kernel test robot noticed the following build warnings:

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

url:    https://github.com/intel-lab-lkp/linux/commits/Florian-Westphal/bpf-add-bpf_link-support-for-BPF_NETFILTER-programs/20230406-001447
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link:    https://lore.kernel.org/r/20230405161116.13565-7-fw%40strlen.de
patch subject: [PATCH bpf-next 6/6] bpf: add test_run support for netfilter program type
config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20230406/202304060207.JawhnyR9-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/7fba218dfc4942aa6781f4d1b5c475a0569cfd2e
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Florian-Westphal/bpf-add-bpf_link-support-for-BPF_NETFILTER-programs/20230406-001447
        git checkout 7fba218dfc4942aa6781f4d1b5c475a0569cfd2e
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=s390 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash net/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304060207.JawhnyR9-lkp@intel.com/

All warnings (new ones prefixed by >>):

   net/bpf/test_run.c: In function 'bpf_prog_test_run_nf':
>> net/bpf/test_run.c:1750:30: warning: variable 'eth' set but not used [-Wunused-but-set-variable]
    1750 |         const struct ethhdr *eth;
         |                              ^~~


vim +/eth +1750 net/bpf/test_run.c

  1737	
  1738	int bpf_prog_test_run_nf(struct bpf_prog *prog,
  1739				 const union bpf_attr *kattr,
  1740				 union bpf_attr __user *uattr)
  1741	{
  1742		struct net *net = current->nsproxy->net_ns;
  1743		struct net_device *dev = net->loopback_dev;
  1744		struct nf_hook_state *user_ctx, hook_state = {
  1745			.pf = NFPROTO_IPV4,
  1746			.hook = NF_INET_PRE_ROUTING,
  1747		};
  1748		u32 size = kattr->test.data_size_in;
  1749		u32 repeat = kattr->test.repeat;
> 1750		const struct ethhdr *eth;
  1751		struct bpf_nf_ctx ctx = {
  1752			.state = &hook_state,
  1753		};
  1754		struct sk_buff *skb = NULL;
  1755		u32 retval, duration;
  1756		void *data;
  1757		int ret;
  1758	
  1759		if (kattr->test.flags || kattr->test.cpu || kattr->test.batch_size)
  1760			return -EINVAL;
  1761	
  1762		if (size < ETH_HLEN + sizeof(struct iphdr))
  1763			return -EINVAL;
  1764	
  1765		data = bpf_test_init(kattr, kattr->test.data_size_in, size,
  1766				     NET_SKB_PAD + NET_IP_ALIGN,
  1767				     SKB_DATA_ALIGN(sizeof(struct skb_shared_info)));
  1768		if (IS_ERR(data))
  1769			return PTR_ERR(data);
  1770	
  1771		eth = (struct ethhdr *)data;
  1772	
  1773		if (!repeat)
  1774			repeat = 1;
  1775	
  1776		user_ctx = bpf_ctx_init(kattr, sizeof(struct nf_hook_state));
  1777		if (IS_ERR(user_ctx)) {
  1778			kfree(data);
  1779			return PTR_ERR(user_ctx);
  1780		}
  1781	
  1782		if (user_ctx) {
  1783			ret = verify_and_copy_hook_state(&hook_state, user_ctx, dev);
  1784			if (ret)
  1785				goto out;
  1786		}
  1787	
  1788		skb = slab_build_skb(data);
  1789		if (!skb) {
  1790			ret = -ENOMEM;
  1791			goto out;
  1792		}
  1793	
  1794		data = NULL; /* data released via kfree_skb */
  1795	
  1796		skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN);
  1797		__skb_put(skb, size);
  1798	
  1799		skb->protocol = eth_type_trans(skb, dev);
  1800	
  1801		skb_reset_network_header(skb);
  1802	
  1803		ret = -EINVAL;
  1804	
  1805		switch (skb->protocol) {
  1806		case htons(ETH_P_IP):
  1807			if (hook_state.pf == NFPROTO_IPV4)
  1808				break;
  1809			goto out;
  1810		case htons(ETH_P_IPV6):
  1811			if (size < ETH_HLEN + sizeof(struct ipv6hdr))
  1812				goto out;
  1813			if (hook_state.pf == NFPROTO_IPV6)
  1814				break;
  1815			goto out;
  1816		default:
  1817			ret = -EPROTO;
  1818			goto out;
  1819		}
  1820	
  1821		ctx.skb = skb;
  1822	
  1823		ret = bpf_test_run(prog, &ctx, repeat, &retval, &duration, false);
  1824		if (ret)
  1825			goto out;
  1826	
  1827		ret = bpf_test_finish(kattr, uattr, NULL, NULL, 0, retval, duration);
  1828	
  1829	out:
  1830		kfree(user_ctx);
  1831		kfree_skb(skb);
  1832		kfree(data);
  1833		return ret;
  1834	}
  1835	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

  reply	other threads:[~2023-04-05 18:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-05 16:11 [PATCH bpf-next 0/6] bpf: add netfilter program type Florian Westphal
2023-04-05 16:11 ` [PATCH bpf-next 1/6] bpf: add bpf_link support for BPF_NETFILTER programs Florian Westphal
2023-04-06  4:50   ` kernel test robot
2023-04-05 16:11 ` [PATCH bpf-next 2/6] bpf: minimal support for programs hooked into netfilter framework Florian Westphal
2023-04-05 16:11 ` [PATCH bpf-next 3/6] netfilter: nfnetlink hook: dump bpf prog id Florian Westphal
2023-04-05 16:11 ` [PATCH bpf-next 4/6] netfilter: disallow bpf hook attachment at same priority Florian Westphal
2023-04-05 16:11 ` [PATCH bpf-next 5/6] tools: bpftool: print netfilter link info Florian Westphal
2023-04-05 16:11 ` [PATCH bpf-next 6/6] bpf: add test_run support for netfilter program type Florian Westphal
2023-04-05 18:22   ` kernel test robot [this message]
2023-04-07  1:36   ` Alexei Starovoitov
2023-04-08 21:38     ` Florian Westphal
2023-04-12  8:20 ` [PATCH bpf-next 0/6] bpf: add " Quentin Deslandes
2023-04-12  9:45   ` Florian Westphal
2023-04-13  9:26     ` Quentin Deslandes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202304060207.JawhnyR9-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bpf@vger.kernel.org \
    --cc=dxu@dxuuu.xyz \
    --cc=fw@strlen.de \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=qde@naccy.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox