[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201608110519.ecG3SB3c%fengguang.wu@intel.com>
Date: Thu, 11 Aug 2016 05:58:07 +0800
From: kbuild test robot <lkp@...el.com>
To: Hadar Hen Zion <hadarh@...lanox.com>
Cc: kbuild-all@...org, "David S. Miller" <davem@...emloft.net>,
netdev@...r.kernel.org, Jiri Pirko <jiri@...lanox.com>,
Tom Herbert <tom@...bertland.com>,
Or Gerlitz <ogerlitz@...lanox.com>,
Amir Vadai <amirv@...lanox.com>,
Hadar Hen Zion <hadarh@...lanox.com>
Subject: Re: [PATCH net-next 2/4] flow_dissector: Get vlan priority in
addition to vlan id
Hi Hadar,
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Hadar-Hen-Zion/flow_dissector-Get-vlan-info-from-skb-vlan_tci-instead-of-skb-data/20160811-042500
config: cris-etrax-100lx_v2_defconfig (attached as .config)
compiler: cris-linux-gcc (GCC) 4.6.3
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=cris
All errors (new ones prefixed by >>):
In function 'flow_keys_hash_length.isra.6',
inlined from '__flow_hash_from_keys' at net/core/flow_dissector.c:599:26,
inlined from 'flow_hash_from_keys' at net/core/flow_dissector.c:610:2:
>> net/core/flow_dissector.c:512:2: error: call to '__compiletime_assert_512' declared with attribute error: BUILD_BUG_ON failed: (sizeof(*flow) - FLOW_KEYS_HASH_OFFSET) % sizeof(u32)
In function 'flow_keys_hash_length.isra.6',
inlined from '__flow_hash_from_keys' at net/core/flow_dissector.c:599:26,
inlined from '__skb_get_hash_symmetric' at net/core/flow_dissector.c:663:2:
>> net/core/flow_dissector.c:512:2: error: call to '__compiletime_assert_512' declared with attribute error: BUILD_BUG_ON failed: (sizeof(*flow) - FLOW_KEYS_HASH_OFFSET) % sizeof(u32)
In function 'flow_keys_hash_length.isra.6',
inlined from '__flow_hash_from_keys' at net/core/flow_dissector.c:599:26,
inlined from '__skb_get_hash' at net/core/flow_dissector.c:620:2:
>> net/core/flow_dissector.c:512:2: error: call to '__compiletime_assert_512' declared with attribute error: BUILD_BUG_ON failed: (sizeof(*flow) - FLOW_KEYS_HASH_OFFSET) % sizeof(u32)
In function 'flow_keys_hash_length.isra.6',
inlined from '__flow_hash_from_keys' at net/core/flow_dissector.c:599:26,
inlined from 'skb_get_hash_perturb' at net/core/flow_dissector.c:620:2:
>> net/core/flow_dissector.c:512:2: error: call to '__compiletime_assert_512' declared with attribute error: BUILD_BUG_ON failed: (sizeof(*flow) - FLOW_KEYS_HASH_OFFSET) % sizeof(u32)
vim +/__compiletime_assert_512 +512 net/core/flow_dissector.c
20a17bf6 David S. Miller 2015-09-01 506 return (const u32 *)(p + FLOW_KEYS_HASH_OFFSET);
42aecaa9 Tom Herbert 2015-06-04 507 }
42aecaa9 Tom Herbert 2015-06-04 508
20a17bf6 David S. Miller 2015-09-01 509 static inline size_t flow_keys_hash_length(const struct flow_keys *flow)
42aecaa9 Tom Herbert 2015-06-04 510 {
c3f83241 Tom Herbert 2015-06-04 511 size_t diff = FLOW_KEYS_HASH_OFFSET + sizeof(flow->addrs);
42aecaa9 Tom Herbert 2015-06-04 @512 BUILD_BUG_ON((sizeof(*flow) - FLOW_KEYS_HASH_OFFSET) % sizeof(u32));
c3f83241 Tom Herbert 2015-06-04 513 BUILD_BUG_ON(offsetof(typeof(*flow), addrs) !=
c3f83241 Tom Herbert 2015-06-04 514 sizeof(*flow) - sizeof(flow->addrs));
c3f83241 Tom Herbert 2015-06-04 515
c3f83241 Tom Herbert 2015-06-04 516 switch (flow->control.addr_type) {
c3f83241 Tom Herbert 2015-06-04 517 case FLOW_DISSECTOR_KEY_IPV4_ADDRS:
c3f83241 Tom Herbert 2015-06-04 518 diff -= sizeof(flow->addrs.v4addrs);
c3f83241 Tom Herbert 2015-06-04 519 break;
c3f83241 Tom Herbert 2015-06-04 520 case FLOW_DISSECTOR_KEY_IPV6_ADDRS:
c3f83241 Tom Herbert 2015-06-04 521 diff -= sizeof(flow->addrs.v6addrs);
c3f83241 Tom Herbert 2015-06-04 522 break;
9f249089 Tom Herbert 2015-06-04 523 case FLOW_DISSECTOR_KEY_TIPC_ADDRS:
9f249089 Tom Herbert 2015-06-04 524 diff -= sizeof(flow->addrs.tipcaddrs);
9f249089 Tom Herbert 2015-06-04 525 break;
c3f83241 Tom Herbert 2015-06-04 526 }
c3f83241 Tom Herbert 2015-06-04 527 return (sizeof(*flow) - diff) / sizeof(u32);
66415cf8 Hannes Frederic Sowa 2013-10-23 528 }
66415cf8 Hannes Frederic Sowa 2013-10-23 529
c3f83241 Tom Herbert 2015-06-04 530 __be32 flow_get_u32_src(const struct flow_keys *flow)
5ed20a68 Tom Herbert 2014-07-01 531 {
c3f83241 Tom Herbert 2015-06-04 532 switch (flow->control.addr_type) {
c3f83241 Tom Herbert 2015-06-04 533 case FLOW_DISSECTOR_KEY_IPV4_ADDRS:
c3f83241 Tom Herbert 2015-06-04 534 return flow->addrs.v4addrs.src;
c3f83241 Tom Herbert 2015-06-04 535 case FLOW_DISSECTOR_KEY_IPV6_ADDRS:
c3f83241 Tom Herbert 2015-06-04 536 return (__force __be32)ipv6_addr_hash(
c3f83241 Tom Herbert 2015-06-04 537 &flow->addrs.v6addrs.src);
9f249089 Tom Herbert 2015-06-04 538 case FLOW_DISSECTOR_KEY_TIPC_ADDRS:
9f249089 Tom Herbert 2015-06-04 539 return flow->addrs.tipcaddrs.srcnode;
c3f83241 Tom Herbert 2015-06-04 540 default:
c3f83241 Tom Herbert 2015-06-04 541 return 0;
c3f83241 Tom Herbert 2015-06-04 542 }
c3f83241 Tom Herbert 2015-06-04 543 }
c3f83241 Tom Herbert 2015-06-04 544 EXPORT_SYMBOL(flow_get_u32_src);
c3f83241 Tom Herbert 2015-06-04 545
c3f83241 Tom Herbert 2015-06-04 546 __be32 flow_get_u32_dst(const struct flow_keys *flow)
c3f83241 Tom Herbert 2015-06-04 547 {
c3f83241 Tom Herbert 2015-06-04 548 switch (flow->control.addr_type) {
c3f83241 Tom Herbert 2015-06-04 549 case FLOW_DISSECTOR_KEY_IPV4_ADDRS:
c3f83241 Tom Herbert 2015-06-04 550 return flow->addrs.v4addrs.dst;
c3f83241 Tom Herbert 2015-06-04 551 case FLOW_DISSECTOR_KEY_IPV6_ADDRS:
c3f83241 Tom Herbert 2015-06-04 552 return (__force __be32)ipv6_addr_hash(
c3f83241 Tom Herbert 2015-06-04 553 &flow->addrs.v6addrs.dst);
c3f83241 Tom Herbert 2015-06-04 554 default:
c3f83241 Tom Herbert 2015-06-04 555 return 0;
c3f83241 Tom Herbert 2015-06-04 556 }
c3f83241 Tom Herbert 2015-06-04 557 }
c3f83241 Tom Herbert 2015-06-04 558 EXPORT_SYMBOL(flow_get_u32_dst);
5ed20a68 Tom Herbert 2014-07-01 559
c3f83241 Tom Herbert 2015-06-04 560 static inline void __flow_hash_consistentify(struct flow_keys *keys)
c3f83241 Tom Herbert 2015-06-04 561 {
c3f83241 Tom Herbert 2015-06-04 562 int addr_diff, i;
c3f83241 Tom Herbert 2015-06-04 563
c3f83241 Tom Herbert 2015-06-04 564 switch (keys->control.addr_type) {
c3f83241 Tom Herbert 2015-06-04 565 case FLOW_DISSECTOR_KEY_IPV4_ADDRS:
c3f83241 Tom Herbert 2015-06-04 566 addr_diff = (__force u32)keys->addrs.v4addrs.dst -
c3f83241 Tom Herbert 2015-06-04 567 (__force u32)keys->addrs.v4addrs.src;
c3f83241 Tom Herbert 2015-06-04 568 if ((addr_diff < 0) ||
c3f83241 Tom Herbert 2015-06-04 569 (addr_diff == 0 &&
c3f83241 Tom Herbert 2015-06-04 570 ((__force u16)keys->ports.dst <
c3f83241 Tom Herbert 2015-06-04 571 (__force u16)keys->ports.src))) {
c3f83241 Tom Herbert 2015-06-04 572 swap(keys->addrs.v4addrs.src, keys->addrs.v4addrs.dst);
c3f83241 Tom Herbert 2015-06-04 573 swap(keys->ports.src, keys->ports.dst);
c3f83241 Tom Herbert 2015-06-04 574 }
c3f83241 Tom Herbert 2015-06-04 575 break;
c3f83241 Tom Herbert 2015-06-04 576 case FLOW_DISSECTOR_KEY_IPV6_ADDRS:
c3f83241 Tom Herbert 2015-06-04 577 addr_diff = memcmp(&keys->addrs.v6addrs.dst,
c3f83241 Tom Herbert 2015-06-04 578 &keys->addrs.v6addrs.src,
c3f83241 Tom Herbert 2015-06-04 579 sizeof(keys->addrs.v6addrs.dst));
c3f83241 Tom Herbert 2015-06-04 580 if ((addr_diff < 0) ||
c3f83241 Tom Herbert 2015-06-04 581 (addr_diff == 0 &&
c3f83241 Tom Herbert 2015-06-04 582 ((__force u16)keys->ports.dst <
c3f83241 Tom Herbert 2015-06-04 583 (__force u16)keys->ports.src))) {
c3f83241 Tom Herbert 2015-06-04 584 for (i = 0; i < 4; i++)
c3f83241 Tom Herbert 2015-06-04 585 swap(keys->addrs.v6addrs.src.s6_addr32[i],
c3f83241 Tom Herbert 2015-06-04 586 keys->addrs.v6addrs.dst.s6_addr32[i]);
59346afe Jiri Pirko 2015-05-12 587 swap(keys->ports.src, keys->ports.dst);
5ed20a68 Tom Herbert 2014-07-01 588 }
c3f83241 Tom Herbert 2015-06-04 589 break;
c3f83241 Tom Herbert 2015-06-04 590 }
c3f83241 Tom Herbert 2015-06-04 591 }
c3f83241 Tom Herbert 2015-06-04 592
c3f83241 Tom Herbert 2015-06-04 593 static inline u32 __flow_hash_from_keys(struct flow_keys *keys, u32 keyval)
c3f83241 Tom Herbert 2015-06-04 594 {
c3f83241 Tom Herbert 2015-06-04 595 u32 hash;
c3f83241 Tom Herbert 2015-06-04 596
c3f83241 Tom Herbert 2015-06-04 597 __flow_hash_consistentify(keys);
5ed20a68 Tom Herbert 2014-07-01 598
20a17bf6 David S. Miller 2015-09-01 @599 hash = __flow_hash_words(flow_keys_hash_start(keys),
42aecaa9 Tom Herbert 2015-06-04 600 flow_keys_hash_length(keys), keyval);
5ed20a68 Tom Herbert 2014-07-01 601 if (!hash)
5ed20a68 Tom Herbert 2014-07-01 602 hash = 1;
:::::: The code at line 512 was first introduced by commit
:::::: 42aecaa9bb2bd57eb8d61b4565cee5d3640863fb net: Get skb hash over flow_keys structure
:::::: TO: Tom Herbert <tom@...bertland.com>
:::::: CC: David S. Miller <davem@...emloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/octet-stream" (8277 bytes)
Powered by blists - more mailing lists