tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 358feceebbf68f33c44c6650d14455389e65282d commit: 8d58f222e85f01da0c0e1fc1e77986c86de889e2 ubsan: disable UBSAN_ALIGNMENT under COMPILE_TEST date: 9 months ago config: s390-randconfig-r014-20210215 (attached as .config) compiler: s390-linux-gcc (GCC) 9.3.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8d58f222e85f01da0c0e1fc1e77986c86de889e2 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 8d58f222e85f01da0c0e1fc1e77986c86de889e2 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): | ^~~~~~~~~~~~ include/net/sch_generic.h:868:2: note: in expansion of macro 'this_cpu_inc' 868 | this_cpu_inc(sch->cpu_qstats->qlen); | ^~~~~~~~~~~~ include/net/sch_generic.h: In function 'qdisc_qstats_cpu_qlen_dec': arch/s390/include/asm/percpu.h:74:21: warning: comparison is always true due to limited range of data type [-Wtype-limits] 74 | ((szcast)val__ > -129) && ((szcast)val__ < 128)) { \ | ^ arch/s390/include/asm/percpu.h:91:34: note: in expansion of macro 'arch_this_cpu_add' 91 | #define this_cpu_add_8(pcp, val) arch_this_cpu_add(pcp, val, "laag", "agsi", long) | ^~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_add_8' 380 | case 8: stem##8(variable, __VA_ARGS__);break; \ | ^~~~ include/linux/percpu-defs.h:509:33: note: in expansion of macro '__pcpu_size_call' 509 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) | ^~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:519:33: note: in expansion of macro 'this_cpu_add' 519 | #define this_cpu_sub(pcp, val) this_cpu_add(pcp, -(typeof(pcp))(val)) | ^~~~~~~~~~~~ include/linux/percpu-defs.h:521:28: note: in expansion of macro 'this_cpu_sub' 521 | #define this_cpu_dec(pcp) this_cpu_sub(pcp, 1) | ^~~~~~~~~~~~ include/net/sch_generic.h:873:2: note: in expansion of macro 'this_cpu_dec' 873 | this_cpu_dec(sch->cpu_qstats->qlen); | ^~~~~~~~~~~~ include/net/sch_generic.h: In function 'qdisc_qstats_cpu_requeues_inc': arch/s390/include/asm/percpu.h:74:21: warning: comparison is always true due to limited range of data type [-Wtype-limits] 74 | ((szcast)val__ > -129) && ((szcast)val__ < 128)) { \ | ^ arch/s390/include/asm/percpu.h:91:34: note: in expansion of macro 'arch_this_cpu_add' 91 | #define this_cpu_add_8(pcp, val) arch_this_cpu_add(pcp, val, "laag", "agsi", long) | ^~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_add_8' 380 | case 8: stem##8(variable, __VA_ARGS__);break; \ | ^~~~ include/linux/percpu-defs.h:509:33: note: in expansion of macro '__pcpu_size_call' 509 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) | ^~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:520:28: note: in expansion of macro 'this_cpu_add' 520 | #define this_cpu_inc(pcp) this_cpu_add(pcp, 1) | ^~~~~~~~~~~~ include/net/sch_generic.h:878:2: note: in expansion of macro 'this_cpu_inc' 878 | this_cpu_inc(sch->cpu_qstats->requeues); | ^~~~~~~~~~~~ include/net/sch_generic.h: In function 'qdisc_qstats_cpu_drop': arch/s390/include/asm/percpu.h:74:21: warning: comparison is always true due to limited range of data type [-Wtype-limits] 74 | ((szcast)val__ > -129) && ((szcast)val__ < 128)) { \ | ^ arch/s390/include/asm/percpu.h:91:34: note: in expansion of macro 'arch_this_cpu_add' 91 | #define this_cpu_add_8(pcp, val) arch_this_cpu_add(pcp, val, "laag", "agsi", long) | ^~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_add_8' 380 | case 8: stem##8(variable, __VA_ARGS__);break; \ | ^~~~ include/linux/percpu-defs.h:509:33: note: in expansion of macro '__pcpu_size_call' 509 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) | ^~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:520:28: note: in expansion of macro 'this_cpu_add' 520 | #define this_cpu_inc(pcp) this_cpu_add(pcp, 1) | ^~~~~~~~~~~~ include/net/sch_generic.h:903:2: note: in expansion of macro 'this_cpu_inc' 903 | this_cpu_inc(sch->cpu_qstats->drops); | ^~~~~~~~~~~~ include/net/sch_generic.h: In function 'qdisc_update_stats_at_enqueue': arch/s390/include/asm/percpu.h:74:21: warning: comparison is always true due to limited range of data type [-Wtype-limits] 74 | ((szcast)val__ > -129) && ((szcast)val__ < 128)) { \ | ^ arch/s390/include/asm/percpu.h:91:34: note: in expansion of macro 'arch_this_cpu_add' 91 | #define this_cpu_add_8(pcp, val) arch_this_cpu_add(pcp, val, "laag", "agsi", long) | ^~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_add_8' 380 | case 8: stem##8(variable, __VA_ARGS__);break; \ | ^~~~ include/linux/percpu-defs.h:509:33: note: in expansion of macro '__pcpu_size_call' 509 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) | ^~~~~~~~~~~~~~~~ include/net/sch_generic.h:1102:3: note: in expansion of macro 'this_cpu_add' 1102 | this_cpu_add(sch->cpu_qstats->backlog, pkt_len); | ^~~~~~~~~~~~ include/net/sch_generic.h: In function 'mini_qdisc_qstats_cpu_drop': arch/s390/include/asm/percpu.h:74:21: warning: comparison is always true due to limited range of data type [-Wtype-limits] 74 | ((szcast)val__ > -129) && ((szcast)val__ < 128)) { \ | ^ arch/s390/include/asm/percpu.h:91:34: note: in expansion of macro 'arch_this_cpu_add' 91 | #define this_cpu_add_8(pcp, val) arch_this_cpu_add(pcp, val, "laag", "agsi", long) | ^~~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_add_8' 380 | case 8: stem##8(variable, __VA_ARGS__);break; \ | ^~~~ include/linux/percpu-defs.h:509:33: note: in expansion of macro '__pcpu_size_call' 509 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) | ^~~~~~~~~~~~~~~~ include/linux/percpu-defs.h:520:28: note: in expansion of macro 'this_cpu_add' 520 | #define this_cpu_inc(pcp) this_cpu_add(pcp, 1) | ^~~~~~~~~~~~ include/net/sch_generic.h:1271:2: note: in expansion of macro 'this_cpu_inc' 1271 | this_cpu_inc(miniq->cpu_qstats->drops); | ^~~~~~~~~~~~ drivers/net/bonding/bond_main.c: In function 'bond_check_params.constprop': >> drivers/net/bonding/bond_main.c:4877:3: warning: 'strncpy' specified bound 16 equals destination size [-Wstringop-truncation] 4877 | strncpy(params->primary, primary, IFNAMSIZ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/strncpy +4877 drivers/net/bonding/bond_main.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 4499 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4500 static int bond_check_params(struct bond_params *params) ^1da177e4c3f41 Linus Torvalds 2005-04-16 4501 { 5a5c5fd48e3bcd nikolay@xxxxxxxxxx 2013-05-18 4502 int arp_validate_value, fail_over_mac_value, primary_reselect_value, i; f3253339a47ff3 stephen hemminger 2014-03-04 4503 struct bond_opt_value newval; f3253339a47ff3 stephen hemminger 2014-03-04 4504 const struct bond_opt_value *valptr; 72ccc471e13b82 Jarod Wilson 2017-05-19 4505 int arp_all_targets_value = 0; 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4506 u16 ad_actor_sys_prio = 0; d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4507 u16 ad_user_port_key = 0; 72ccc471e13b82 Jarod Wilson 2017-05-19 4508 __be32 arp_target[BOND_MAX_ARP_TARGETS] = { 0 }; dc9c4d0fe023b5 Mahesh Bandewar 2017-03-08 4509 int arp_ip_count; dc9c4d0fe023b5 Mahesh Bandewar 2017-03-08 4510 int bond_mode = BOND_MODE_ROUNDROBIN; dc9c4d0fe023b5 Mahesh Bandewar 2017-03-08 4511 int xmit_hashtype = BOND_XMIT_POLICY_LAYER2; dc9c4d0fe023b5 Mahesh Bandewar 2017-03-08 4512 int lacp_fast = 0; f13ad104b4e886 Nikolay Aleksandrov 2017-09-12 4513 int tlb_dynamic_lb; f5b2b966f032f2 Jay Vosburgh 2006-09-22 4514 547942cace50e5 Nikolay Aleksandrov 2014-09-15 4515 /* Convert string parameters. */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 4516 if (mode) { 2b3798d5e1377c Nikolay Aleksandrov 2014-01-22 4517 bond_opt_initstr(&newval, mode); 2b3798d5e1377c Nikolay Aleksandrov 2014-01-22 4518 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_MODE), &newval); 2b3798d5e1377c Nikolay Aleksandrov 2014-01-22 4519 if (!valptr) { 2b3798d5e1377c Nikolay Aleksandrov 2014-01-22 4520 pr_err("Error: Invalid bonding mode \"%s\"\n", mode); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4521 return -EINVAL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4522 } 2b3798d5e1377c Nikolay Aleksandrov 2014-01-22 4523 bond_mode = valptr->value; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4524 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4525 169a3e66637c66 Jay Vosburgh 2005-06-26 4526 if (xmit_hash_policy) { e79c1055749e31 Debabrata Banerjee 2018-05-14 4527 if (bond_mode == BOND_MODE_ROUNDROBIN || e79c1055749e31 Debabrata Banerjee 2018-05-14 4528 bond_mode == BOND_MODE_ACTIVEBACKUP || e79c1055749e31 Debabrata Banerjee 2018-05-14 4529 bond_mode == BOND_MODE_BROADCAST) { a4aee5c808fc5b Joe Perches 2009-12-13 4530 pr_info("xmit_hash_policy param is irrelevant in mode %s\n", 169a3e66637c66 Jay Vosburgh 2005-06-26 4531 bond_mode_name(bond_mode)); 169a3e66637c66 Jay Vosburgh 2005-06-26 4532 } else { a4b32ce7f891d5 Nikolay Aleksandrov 2014-01-22 4533 bond_opt_initstr(&newval, xmit_hash_policy); a4b32ce7f891d5 Nikolay Aleksandrov 2014-01-22 4534 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_XMIT_HASH), a4b32ce7f891d5 Nikolay Aleksandrov 2014-01-22 4535 &newval); a4b32ce7f891d5 Nikolay Aleksandrov 2014-01-22 4536 if (!valptr) { a4aee5c808fc5b Joe Perches 2009-12-13 4537 pr_err("Error: Invalid xmit_hash_policy \"%s\"\n", 169a3e66637c66 Jay Vosburgh 2005-06-26 4538 xmit_hash_policy); 169a3e66637c66 Jay Vosburgh 2005-06-26 4539 return -EINVAL; 169a3e66637c66 Jay Vosburgh 2005-06-26 4540 } a4b32ce7f891d5 Nikolay Aleksandrov 2014-01-22 4541 xmit_hashtype = valptr->value; 169a3e66637c66 Jay Vosburgh 2005-06-26 4542 } 169a3e66637c66 Jay Vosburgh 2005-06-26 4543 } 169a3e66637c66 Jay Vosburgh 2005-06-26 4544 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4545 if (lacp_rate) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4546 if (bond_mode != BOND_MODE_8023AD) { a4aee5c808fc5b Joe Perches 2009-12-13 4547 pr_info("lacp_rate param is irrelevant in mode %s\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4548 bond_mode_name(bond_mode)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4549 } else { d3131de76b1b1a Nikolay Aleksandrov 2014-01-22 4550 bond_opt_initstr(&newval, lacp_rate); d3131de76b1b1a Nikolay Aleksandrov 2014-01-22 4551 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_LACP_RATE), d3131de76b1b1a Nikolay Aleksandrov 2014-01-22 4552 &newval); d3131de76b1b1a Nikolay Aleksandrov 2014-01-22 4553 if (!valptr) { a4aee5c808fc5b Joe Perches 2009-12-13 4554 pr_err("Error: Invalid lacp rate \"%s\"\n", d3131de76b1b1a Nikolay Aleksandrov 2014-01-22 4555 lacp_rate); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4556 return -EINVAL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4557 } d3131de76b1b1a Nikolay Aleksandrov 2014-01-22 4558 lacp_fast = valptr->value; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4559 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4560 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4561 fd989c83325cb3 Jay Vosburgh 2008-11-04 4562 if (ad_select) { 548d28bd0eac84 Nikolay Aleksandrov 2014-07-13 4563 bond_opt_initstr(&newval, ad_select); 9e5f5eebe765b3 Nikolay Aleksandrov 2014-01-22 4564 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_AD_SELECT), 9e5f5eebe765b3 Nikolay Aleksandrov 2014-01-22 4565 &newval); 9e5f5eebe765b3 Nikolay Aleksandrov 2014-01-22 4566 if (!valptr) { 9e5f5eebe765b3 Nikolay Aleksandrov 2014-01-22 4567 pr_err("Error: Invalid ad_select \"%s\"\n", ad_select); fd989c83325cb3 Jay Vosburgh 2008-11-04 4568 return -EINVAL; fd989c83325cb3 Jay Vosburgh 2008-11-04 4569 } 9e5f5eebe765b3 Nikolay Aleksandrov 2014-01-22 4570 params->ad_select = valptr->value; 9e5f5eebe765b3 Nikolay Aleksandrov 2014-01-22 4571 if (bond_mode != BOND_MODE_8023AD) 91565ebbcc5aea Joe Perches 2014-02-15 4572 pr_warn("ad_select param only affects 802.3ad mode\n"); fd989c83325cb3 Jay Vosburgh 2008-11-04 4573 } else { fd989c83325cb3 Jay Vosburgh 2008-11-04 4574 params->ad_select = BOND_AD_STABLE; fd989c83325cb3 Jay Vosburgh 2008-11-04 4575 } fd989c83325cb3 Jay Vosburgh 2008-11-04 4576 f584130616dfae Nicolas de Pesloüan 2009-08-28 4577 if (max_bonds < 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4578 pr_warn("Warning: max_bonds (%d) not in range %d-%d, so it was reset to BOND_DEFAULT_MAX_BONDS (%d)\n", b8a9787eddb0e4 Jay Vosburgh 2008-06-13 4579 max_bonds, 0, INT_MAX, BOND_DEFAULT_MAX_BONDS); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4580 max_bonds = BOND_DEFAULT_MAX_BONDS; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4581 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4582 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4583 if (miimon < 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4584 pr_warn("Warning: miimon module parameter (%d), not in range 0-%d, so it was reset to 0\n", b98d9c66e1c382 Nikolay Aleksandrov 2014-01-22 4585 miimon, INT_MAX); b98d9c66e1c382 Nikolay Aleksandrov 2014-01-22 4586 miimon = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4587 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4588 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4589 if (updelay < 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4590 pr_warn("Warning: updelay module parameter (%d), not in range 0-%d, so it was reset to 0\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4591 updelay, INT_MAX); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4592 updelay = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4593 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4594 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4595 if (downdelay < 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4596 pr_warn("Warning: downdelay module parameter (%d), not in range 0-%d, so it was reset to 0\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4597 downdelay, INT_MAX); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4598 downdelay = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4599 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4600 b3c898e20b1881 Debabrata Banerjee 2018-05-16 4601 if ((use_carrier != 0) && (use_carrier != 1)) { b3c898e20b1881 Debabrata Banerjee 2018-05-16 4602 pr_warn("Warning: use_carrier module parameter (%d), not of valid value (0/1), so it was set to 1\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4603 use_carrier); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4604 use_carrier = 1; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4605 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4606 ad246c992bea6d Ben Hutchings 2011-04-26 4607 if (num_peer_notif < 0 || num_peer_notif > 255) { 91565ebbcc5aea Joe Perches 2014-02-15 4608 pr_warn("Warning: num_grat_arp/num_unsol_na (%d) not in range 0-255 so it was reset to 1\n", ad246c992bea6d Ben Hutchings 2011-04-26 4609 num_peer_notif); ad246c992bea6d Ben Hutchings 2011-04-26 4610 num_peer_notif = 1; ad246c992bea6d Ben Hutchings 2011-04-26 4611 } ad246c992bea6d Ben Hutchings 2011-04-26 4612 834db4bcdf937b dingtianhong 2013-12-21 4613 /* reset values for 802.3ad/TLB/ALB */ 267bed777a5f8a Veaceslav Falico 2014-05-15 4614 if (!bond_mode_uses_arp(bond_mode)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4615 if (!miimon) { 91565ebbcc5aea Joe Perches 2014-02-15 4616 pr_warn("Warning: miimon must be specified, otherwise bonding will not detect link failure, speed and duplex which are essential for 802.3ad operation\n"); 91565ebbcc5aea Joe Perches 2014-02-15 4617 pr_warn("Forcing miimon to 100msec\n"); fe9d04afe9bee0 dingtianhong 2013-11-22 4618 miimon = BOND_DEFAULT_MIIMON; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4619 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4620 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4621 bb1d912323d5dd Andy Gospodarek 2010-06-02 4622 if (tx_queues < 1 || tx_queues > 255) { 91565ebbcc5aea Joe Perches 2014-02-15 4623 pr_warn("Warning: tx_queues (%d) should be between 1 and 255, resetting to %d\n", bb1d912323d5dd Andy Gospodarek 2010-06-02 4624 tx_queues, BOND_DEFAULT_TX_QUEUES); bb1d912323d5dd Andy Gospodarek 2010-06-02 4625 tx_queues = BOND_DEFAULT_TX_QUEUES; bb1d912323d5dd Andy Gospodarek 2010-06-02 4626 } bb1d912323d5dd Andy Gospodarek 2010-06-02 4627 ebd8e4977a87cb Andy Gospodarek 2010-06-02 4628 if ((all_slaves_active != 0) && (all_slaves_active != 1)) { 91565ebbcc5aea Joe Perches 2014-02-15 4629 pr_warn("Warning: all_slaves_active module parameter (%d), not of valid value (0/1), so it was set to 0\n", 91565ebbcc5aea Joe Perches 2014-02-15 4630 all_slaves_active); ebd8e4977a87cb Andy Gospodarek 2010-06-02 4631 all_slaves_active = 0; ebd8e4977a87cb Andy Gospodarek 2010-06-02 4632 } ebd8e4977a87cb Andy Gospodarek 2010-06-02 4633 c2952c314b4fe6 Flavio Leitner 2010-10-05 4634 if (resend_igmp < 0 || resend_igmp > 255) { 91565ebbcc5aea Joe Perches 2014-02-15 4635 pr_warn("Warning: resend_igmp (%d) should be between 0 and 255, resetting to %d\n", c2952c314b4fe6 Flavio Leitner 2010-10-05 4636 resend_igmp, BOND_DEFAULT_RESEND_IGMP); c2952c314b4fe6 Flavio Leitner 2010-10-05 4637 resend_igmp = BOND_DEFAULT_RESEND_IGMP; c2952c314b4fe6 Flavio Leitner 2010-10-05 4638 } c2952c314b4fe6 Flavio Leitner 2010-10-05 4639 aa59d8517d1017 Nikolay Aleksandrov 2014-01-22 4640 bond_opt_initval(&newval, packets_per_slave); aa59d8517d1017 Nikolay Aleksandrov 2014-01-22 4641 if (!bond_opt_parse(bond_opt_get(BOND_OPT_PACKETS_PER_SLAVE), &newval)) { 73958329ea1fe0 Nikolay Aleksandrov 2013-11-05 4642 pr_warn("Warning: packets_per_slave (%d) should be between 0 and %u resetting to 1\n", 73958329ea1fe0 Nikolay Aleksandrov 2013-11-05 4643 packets_per_slave, USHRT_MAX); 73958329ea1fe0 Nikolay Aleksandrov 2013-11-05 4644 packets_per_slave = 1; 73958329ea1fe0 Nikolay Aleksandrov 2013-11-05 4645 } 73958329ea1fe0 Nikolay Aleksandrov 2013-11-05 4646 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4647 if (bond_mode == BOND_MODE_ALB) { a4aee5c808fc5b Joe Perches 2009-12-13 4648 pr_notice("In ALB mode you might experience client disconnections upon reconnection of a link if the bonding module updelay parameter (%d msec) is incompatible with the forwarding delay time of the switch\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4649 updelay); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4650 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4651 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4652 if (!miimon) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4653 if (updelay || downdelay) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4654 /* just warn the user the up/down delay will have ^1da177e4c3f41 Linus Torvalds 2005-04-16 4655 * no effect since miimon is zero... ^1da177e4c3f41 Linus Torvalds 2005-04-16 4656 */ 91565ebbcc5aea Joe Perches 2014-02-15 4657 pr_warn("Warning: miimon module parameter not set and updelay (%d) or downdelay (%d) module parameter is set; updelay and downdelay have no effect unless miimon is set\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4658 updelay, downdelay); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4659 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4660 } else { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4661 /* don't allow arp monitoring */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 4662 if (arp_interval) { 91565ebbcc5aea Joe Perches 2014-02-15 4663 pr_warn("Warning: miimon (%d) and arp_interval (%d) can't be used simultaneously, disabling ARP monitoring\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4664 miimon, arp_interval); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4665 arp_interval = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4666 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4667 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4668 if ((updelay % miimon) != 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4669 pr_warn("Warning: updelay (%d) is not a multiple of miimon (%d), updelay rounded to %d ms\n", 91565ebbcc5aea Joe Perches 2014-02-15 4670 updelay, miimon, (updelay / miimon) * miimon); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4671 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4672 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4673 updelay /= miimon; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4674 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4675 if ((downdelay % miimon) != 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4676 pr_warn("Warning: downdelay (%d) is not a multiple of miimon (%d), downdelay rounded to %d ms\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4677 downdelay, miimon, ^1da177e4c3f41 Linus Torvalds 2005-04-16 4678 (downdelay / miimon) * miimon); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4679 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4680 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4681 downdelay /= miimon; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4682 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4683 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4684 if (arp_interval < 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4685 pr_warn("Warning: arp_interval module parameter (%d), not in range 0-%d, so it was reset to 0\n", 7bdb04ed0dbf9f Nikolay Aleksandrov 2014-01-22 4686 arp_interval, INT_MAX); 7bdb04ed0dbf9f Nikolay Aleksandrov 2014-01-22 4687 arp_interval = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4688 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4689 5a5c5fd48e3bcd nikolay@xxxxxxxxxx 2013-05-18 4690 for (arp_ip_count = 0, i = 0; 5a5c5fd48e3bcd nikolay@xxxxxxxxxx 2013-05-18 4691 (arp_ip_count < BOND_MAX_ARP_TARGETS) && arp_ip_target[i]; i++) { 89015c18ff34a3 dingtianhong 2013-12-04 4692 __be32 ip; 547942cace50e5 Nikolay Aleksandrov 2014-09-15 4693 547942cace50e5 Nikolay Aleksandrov 2014-09-15 4694 /* not a complete check, but good enough to catch mistakes */ 89015c18ff34a3 dingtianhong 2013-12-04 4695 if (!in4_pton(arp_ip_target[i], -1, (u8 *)&ip, -1, NULL) || 2807a9feb23936 Veaceslav Falico 2014-05-15 4696 !bond_is_ip_target_ok(ip)) { 91565ebbcc5aea Joe Perches 2014-02-15 4697 pr_warn("Warning: bad arp_ip_target module parameter (%s), ARP monitoring will not be performed\n", 5a5c5fd48e3bcd nikolay@xxxxxxxxxx 2013-05-18 4698 arp_ip_target[i]); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4699 arp_interval = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4700 } else { 0afee4e8b9fe4b Veaceslav Falico 2013-06-24 4701 if (bond_get_targets_ip(arp_target, ip) == -1) 5a5c5fd48e3bcd nikolay@xxxxxxxxxx 2013-05-18 4702 arp_target[arp_ip_count++] = ip; 0afee4e8b9fe4b Veaceslav Falico 2013-06-24 4703 else 91565ebbcc5aea Joe Perches 2014-02-15 4704 pr_warn("Warning: duplicate address %pI4 in arp_ip_target, skipping\n", 0afee4e8b9fe4b Veaceslav Falico 2013-06-24 4705 &ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4706 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4707 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4708 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4709 if (arp_interval && !arp_ip_count) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4710 /* don't allow arping if no arp_ip_target given... */ 91565ebbcc5aea Joe Perches 2014-02-15 4711 pr_warn("Warning: arp_interval module parameter (%d) specified without providing an arp_ip_target parameter, arp_interval was reset to 0\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4712 arp_interval); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4713 arp_interval = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4714 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4715 f5b2b966f032f2 Jay Vosburgh 2006-09-22 4716 if (arp_validate) { f5b2b966f032f2 Jay Vosburgh 2006-09-22 4717 if (!arp_interval) { a4aee5c808fc5b Joe Perches 2009-12-13 4718 pr_err("arp_validate requires arp_interval\n"); f5b2b966f032f2 Jay Vosburgh 2006-09-22 4719 return -EINVAL; f5b2b966f032f2 Jay Vosburgh 2006-09-22 4720 } f5b2b966f032f2 Jay Vosburgh 2006-09-22 4721 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4722 bond_opt_initstr(&newval, arp_validate); 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4723 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_ARP_VALIDATE), 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4724 &newval); 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4725 if (!valptr) { a4aee5c808fc5b Joe Perches 2009-12-13 4726 pr_err("Error: invalid arp_validate \"%s\"\n", 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4727 arp_validate); f5b2b966f032f2 Jay Vosburgh 2006-09-22 4728 return -EINVAL; f5b2b966f032f2 Jay Vosburgh 2006-09-22 4729 } 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4730 arp_validate_value = valptr->value; 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4731 } else { f5b2b966f032f2 Jay Vosburgh 2006-09-22 4732 arp_validate_value = 0; 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4733 } f5b2b966f032f2 Jay Vosburgh 2006-09-22 4734 8599b52e14a161 Veaceslav Falico 2013-06-24 4735 if (arp_all_targets) { edf36b24c58dbb Nikolay Aleksandrov 2014-01-22 4736 bond_opt_initstr(&newval, arp_all_targets); edf36b24c58dbb Nikolay Aleksandrov 2014-01-22 4737 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_ARP_ALL_TARGETS), edf36b24c58dbb Nikolay Aleksandrov 2014-01-22 4738 &newval); edf36b24c58dbb Nikolay Aleksandrov 2014-01-22 4739 if (!valptr) { 8599b52e14a161 Veaceslav Falico 2013-06-24 4740 pr_err("Error: invalid arp_all_targets_value \"%s\"\n", 8599b52e14a161 Veaceslav Falico 2013-06-24 4741 arp_all_targets); 8599b52e14a161 Veaceslav Falico 2013-06-24 4742 arp_all_targets_value = 0; edf36b24c58dbb Nikolay Aleksandrov 2014-01-22 4743 } else { edf36b24c58dbb Nikolay Aleksandrov 2014-01-22 4744 arp_all_targets_value = valptr->value; 8599b52e14a161 Veaceslav Falico 2013-06-24 4745 } 8599b52e14a161 Veaceslav Falico 2013-06-24 4746 } 8599b52e14a161 Veaceslav Falico 2013-06-24 4747 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4748 if (miimon) { a4aee5c808fc5b Joe Perches 2009-12-13 4749 pr_info("MII link monitoring set to %d ms\n", miimon); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4750 } else if (arp_interval) { 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4751 valptr = bond_opt_get_val(BOND_OPT_ARP_VALIDATE, 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4752 arp_validate_value); a4aee5c808fc5b Joe Perches 2009-12-13 4753 pr_info("ARP monitoring set to %d ms, validate %s, with %d target(s):", 162288810c9ebd Nikolay Aleksandrov 2014-01-22 4754 arp_interval, valptr->string, arp_ip_count); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4755 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4756 for (i = 0; i < arp_ip_count; i++) 90194264ceffdf Joe Perches 2014-02-15 4757 pr_cont(" %s", arp_ip_target[i]); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4758 90194264ceffdf Joe Perches 2014-02-15 4759 pr_cont("\n"); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4760 b8a9787eddb0e4 Jay Vosburgh 2008-06-13 4761 } else if (max_bonds) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4762 /* miimon and arp_interval not set, we need one so things ^1da177e4c3f41 Linus Torvalds 2005-04-16 4763 * work as expected, see bonding.txt for details ^1da177e4c3f41 Linus Torvalds 2005-04-16 4764 */ 90194264ceffdf Joe Perches 2014-02-15 4765 pr_debug("Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details\n"); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4766 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4767 ec0865a94991d1 Veaceslav Falico 2014-05-15 4768 if (primary && !bond_mode_uses_primary(bond_mode)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 4769 /* currently, using a primary only makes sense ^1da177e4c3f41 Linus Torvalds 2005-04-16 4770 * in active backup, TLB or ALB modes ^1da177e4c3f41 Linus Torvalds 2005-04-16 4771 */ 91565ebbcc5aea Joe Perches 2014-02-15 4772 pr_warn("Warning: %s primary device specified but has no effect in %s mode\n", ^1da177e4c3f41 Linus Torvalds 2005-04-16 4773 primary, bond_mode_name(bond_mode)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4774 primary = NULL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4775 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4776 a549952ad323d6 Jiri Pirko 2009-09-25 4777 if (primary && primary_reselect) { 388d3a6d4aa356 Nikolay Aleksandrov 2014-01-22 4778 bond_opt_initstr(&newval, primary_reselect); 388d3a6d4aa356 Nikolay Aleksandrov 2014-01-22 4779 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_PRIMARY_RESELECT), 388d3a6d4aa356 Nikolay Aleksandrov 2014-01-22 4780 &newval); 388d3a6d4aa356 Nikolay Aleksandrov 2014-01-22 4781 if (!valptr) { a4aee5c808fc5b Joe Perches 2009-12-13 4782 pr_err("Error: Invalid primary_reselect \"%s\"\n", 388d3a6d4aa356 Nikolay Aleksandrov 2014-01-22 4783 primary_reselect); a549952ad323d6 Jiri Pirko 2009-09-25 4784 return -EINVAL; a549952ad323d6 Jiri Pirko 2009-09-25 4785 } 388d3a6d4aa356 Nikolay Aleksandrov 2014-01-22 4786 primary_reselect_value = valptr->value; a549952ad323d6 Jiri Pirko 2009-09-25 4787 } else { a549952ad323d6 Jiri Pirko 2009-09-25 4788 primary_reselect_value = BOND_PRI_RESELECT_ALWAYS; a549952ad323d6 Jiri Pirko 2009-09-25 4789 } a549952ad323d6 Jiri Pirko 2009-09-25 4790 3915c1e8634a32 Jay Vosburgh 2008-05-17 4791 if (fail_over_mac) { 1df6b6aa334c99 Nikolay Aleksandrov 2014-01-22 4792 bond_opt_initstr(&newval, fail_over_mac); 1df6b6aa334c99 Nikolay Aleksandrov 2014-01-22 4793 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_FAIL_OVER_MAC), 1df6b6aa334c99 Nikolay Aleksandrov 2014-01-22 4794 &newval); 1df6b6aa334c99 Nikolay Aleksandrov 2014-01-22 4795 if (!valptr) { a4aee5c808fc5b Joe Perches 2009-12-13 4796 pr_err("Error: invalid fail_over_mac \"%s\"\n", 1df6b6aa334c99 Nikolay Aleksandrov 2014-01-22 4797 fail_over_mac); 3915c1e8634a32 Jay Vosburgh 2008-05-17 4798 return -EINVAL; 3915c1e8634a32 Jay Vosburgh 2008-05-17 4799 } 1df6b6aa334c99 Nikolay Aleksandrov 2014-01-22 4800 fail_over_mac_value = valptr->value; 3915c1e8634a32 Jay Vosburgh 2008-05-17 4801 if (bond_mode != BOND_MODE_ACTIVEBACKUP) 91565ebbcc5aea Joe Perches 2014-02-15 4802 pr_warn("Warning: fail_over_mac only affects active-backup mode\n"); 3915c1e8634a32 Jay Vosburgh 2008-05-17 4803 } else { 3915c1e8634a32 Jay Vosburgh 2008-05-17 4804 fail_over_mac_value = BOND_FOM_NONE; 3915c1e8634a32 Jay Vosburgh 2008-05-17 4805 } dd957c57c52a39 Jay Vosburgh 2007-10-09 4806 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4807 bond_opt_initstr(&newval, "default"); 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4808 valptr = bond_opt_parse( 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4809 bond_opt_get(BOND_OPT_AD_ACTOR_SYS_PRIO), 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4810 &newval); 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4811 if (!valptr) { 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4812 pr_err("Error: No ad_actor_sys_prio default value"); 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4813 return -EINVAL; 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4814 } 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4815 ad_actor_sys_prio = valptr->value; 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4816 d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4817 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_AD_USER_PORT_KEY), d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4818 &newval); d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4819 if (!valptr) { d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4820 pr_err("Error: No ad_user_port_key default value"); d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4821 return -EINVAL; d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4822 } d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4823 ad_user_port_key = valptr->value; d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4824 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4825 bond_opt_initstr(&newval, "default"); f13ad104b4e886 Nikolay Aleksandrov 2017-09-12 4826 valptr = bond_opt_parse(bond_opt_get(BOND_OPT_TLB_DYNAMIC_LB), &newval); 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4827 if (!valptr) { 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4828 pr_err("Error: No tlb_dynamic_lb default value"); 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4829 return -EINVAL; 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4830 } 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4831 tlb_dynamic_lb = valptr->value; 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4832 3a7129e52766f0 dingtianhong 2013-12-21 4833 if (lp_interval == 0) { 91565ebbcc5aea Joe Perches 2014-02-15 4834 pr_warn("Warning: ip_interval must be between 1 and %d, so it was reset to %d\n", 3a7129e52766f0 dingtianhong 2013-12-21 4835 INT_MAX, BOND_ALB_DEFAULT_LP_INTERVAL); 3a7129e52766f0 dingtianhong 2013-12-21 4836 lp_interval = BOND_ALB_DEFAULT_LP_INTERVAL; 3a7129e52766f0 dingtianhong 2013-12-21 4837 } 3a7129e52766f0 dingtianhong 2013-12-21 4838 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4839 /* fill params struct with the proper values */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 4840 params->mode = bond_mode; 169a3e66637c66 Jay Vosburgh 2005-06-26 4841 params->xmit_policy = xmit_hashtype; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4842 params->miimon = miimon; ad246c992bea6d Ben Hutchings 2011-04-26 4843 params->num_peer_notif = num_peer_notif; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4844 params->arp_interval = arp_interval; f5b2b966f032f2 Jay Vosburgh 2006-09-22 4845 params->arp_validate = arp_validate_value; 8599b52e14a161 Veaceslav Falico 2013-06-24 4846 params->arp_all_targets = arp_all_targets_value; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4847 params->updelay = updelay; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4848 params->downdelay = downdelay; 07a4ddec3ce9b0 Vincent Bernat 2019-07-02 4849 params->peer_notif_delay = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4850 params->use_carrier = use_carrier; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4851 params->lacp_fast = lacp_fast; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4852 params->primary[0] = 0; a549952ad323d6 Jiri Pirko 2009-09-25 4853 params->primary_reselect = primary_reselect_value; 3915c1e8634a32 Jay Vosburgh 2008-05-17 4854 params->fail_over_mac = fail_over_mac_value; bb1d912323d5dd Andy Gospodarek 2010-06-02 4855 params->tx_queues = tx_queues; ebd8e4977a87cb Andy Gospodarek 2010-06-02 4856 params->all_slaves_active = all_slaves_active; c2952c314b4fe6 Flavio Leitner 2010-10-05 4857 params->resend_igmp = resend_igmp; 655f8919d549ad stephen hemminger 2011-06-22 4858 params->min_links = min_links; 3a7129e52766f0 dingtianhong 2013-12-21 4859 params->lp_interval = lp_interval; 73958329ea1fe0 Nikolay Aleksandrov 2013-11-05 4860 params->packets_per_slave = packets_per_slave; 8b426dc54cf405 Mahesh Bandewar 2017-03-08 4861 params->tlb_dynamic_lb = tlb_dynamic_lb; 6791e4661c4bd3 Mahesh Bandewar 2015-05-09 4862 params->ad_actor_sys_prio = ad_actor_sys_prio; 74514957552edd Mahesh Bandewar 2015-05-09 4863 eth_zero_addr(params->ad_actor_system); d22a5fc0c32edc Mahesh Bandewar 2015-05-09 4864 params->ad_user_port_key = ad_user_port_key; 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4865 if (packets_per_slave > 0) { 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4866 params->reciprocal_packets_per_slave = 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4867 reciprocal_value(packets_per_slave); 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4868 } else { 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4869 /* reciprocal_packets_per_slave is unused if 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4870 * packets_per_slave is 0 or 1, just initialize it 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4871 */ 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4872 params->reciprocal_packets_per_slave = 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4873 (struct reciprocal_value) { 0 }; 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4874 } 809fa972fd90ff Hannes Frederic Sowa 2014-01-22 4875 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4876 if (primary) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 @4877 strncpy(params->primary, primary, IFNAMSIZ); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4878 params->primary[IFNAMSIZ - 1] = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4879 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4880 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4881 memcpy(params->arp_targets, arp_target, sizeof(arp_target)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 4882 ^1da177e4c3f41 Linus Torvalds 2005-04-16 4883 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 4884 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 4885 :::::: The code at line 4877 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip