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 <t...@herbertland.com> :::::: CC: David S. Miller <da...@davemloft.net> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: Binary data