CC: [email protected]
CC: [email protected]
TO: Lior Nahmanson <[email protected]>
CC: Jakub Kicinski <[email protected]>
CC: Raed Salem <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   dcb85f85fa6f142aae1fe86f399d4503d49f2b60
commit: d0cfa548dbde354de986911d3913897b5448faad net: macsec: Verify that 
send_sci is on when setting Tx sci explicitly
date:   2 days ago
:::::: branch date: 4 hours ago
:::::: commit date: 2 days ago
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/net/macsec.c:4024:6: warning: Local variable send_sci shadows outer 
>> function [shadowFunction]
     u8 send_sci = !!nla_get_u8(data[IFLA_MACSEC_INC_SCI]);
        ^
   drivers/net/macsec.c:245:13: note: Shadowed declaration
   static bool send_sci(const struct macsec_secy *secy)
               ^
   drivers/net/macsec.c:4024:6: note: Shadow variable
     u8 send_sci = !!nla_get_u8(data[IFLA_MACSEC_INC_SCI]);
        ^

vim +4024 drivers/net/macsec.c

845e0ebb4408d4 Cong Wang         2020-06-08  3986  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3987  static int 
macsec_newlink(struct net *net, struct net_device *dev,
7a3f4a185169b1 Matthias Schiffer 2017-06-25  3988                         
struct nlattr *tb[], struct nlattr *data[],
7a3f4a185169b1 Matthias Schiffer 2017-06-25  3989                         
struct netlink_ext_ack *extack)
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3990  {
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3991       struct macsec_dev 
*macsec = macsec_priv(dev);
7f327080364abc Taehee Yoo        2020-04-23  3992       rx_handler_func_t 
*rx_handler;
7f327080364abc Taehee Yoo        2020-04-23  3993       u8 icv_len = 
DEFAULT_ICV_LEN;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3994       struct net_device 
*real_dev;
7f327080364abc Taehee Yoo        2020-04-23  3995       int err, mtu;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3996       sci_t sci;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3997  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3998       if (!tb[IFLA_LINK])
c09440f7dcb304 Sabrina Dubroca   2016-03-11  3999               return -EINVAL;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4000       real_dev = 
__dev_get_by_index(net, nla_get_u32(tb[IFLA_LINK]));
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4001       if (!real_dev)
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4002               return -ENODEV;
b06d072ccc4b1a Willem de Bruijn  2020-03-22  4003       if (real_dev->type != 
ARPHRD_ETHER)
b06d072ccc4b1a Willem de Bruijn  2020-03-22  4004               return -EINVAL;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4005  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4006       dev->priv_flags |= 
IFF_MACSEC;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4007  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4008       macsec->real_dev = 
real_dev;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4009  
791bb3fcafcedd Mark Starovoytov  2020-03-25  4010       if (data && 
data[IFLA_MACSEC_OFFLOAD])
791bb3fcafcedd Mark Starovoytov  2020-03-25  4011               macsec->offload 
= nla_get_offload(data[IFLA_MACSEC_OFFLOAD]);
791bb3fcafcedd Mark Starovoytov  2020-03-25  4012       else
3cf3227a21d1fb Antoine Tenart    2020-01-13  4013               /* MACsec 
offloading is off by default */
3cf3227a21d1fb Antoine Tenart    2020-01-13  4014               macsec->offload 
= MACSEC_OFFLOAD_OFF;
3cf3227a21d1fb Antoine Tenart    2020-01-13  4015  
791bb3fcafcedd Mark Starovoytov  2020-03-25  4016       /* Check if the 
offloading mode is supported by the underlying layers */
791bb3fcafcedd Mark Starovoytov  2020-03-25  4017       if (macsec->offload != 
MACSEC_OFFLOAD_OFF &&
791bb3fcafcedd Mark Starovoytov  2020-03-25  4018           
!macsec_check_offload(macsec->offload, macsec))
791bb3fcafcedd Mark Starovoytov  2020-03-25  4019               return 
-EOPNOTSUPP;
791bb3fcafcedd Mark Starovoytov  2020-03-25  4020  
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4021       /* send_sci must be set 
to true when transmit sci explicitly is set */
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4022       if ((data && 
data[IFLA_MACSEC_SCI]) &&
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4023           (data && 
data[IFLA_MACSEC_INC_SCI])) {
d0cfa548dbde35 Lior Nahmanson    2022-01-30 @4024               u8 send_sci = 
!!nla_get_u8(data[IFLA_MACSEC_INC_SCI]);
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4025  
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4026               if (!send_sci)
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4027                       return 
-EINVAL;
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4028       }
d0cfa548dbde35 Lior Nahmanson    2022-01-30  4029  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4030       if (data && 
data[IFLA_MACSEC_ICV_LEN])
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4031               icv_len = 
nla_get_u8(data[IFLA_MACSEC_ICV_LEN]);
7f327080364abc Taehee Yoo        2020-04-23  4032       mtu = real_dev->mtu - 
icv_len - macsec_extra_len(true);
7f327080364abc Taehee Yoo        2020-04-23  4033       if (mtu < 0)
7f327080364abc Taehee Yoo        2020-04-23  4034               dev->mtu = 0;
7f327080364abc Taehee Yoo        2020-04-23  4035       else
7f327080364abc Taehee Yoo        2020-04-23  4036               dev->mtu = mtu;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4037  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4038       rx_handler = 
rtnl_dereference(real_dev->rx_handler);
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4039       if (rx_handler && 
rx_handler != macsec_handle_frame)
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4040               return -EBUSY;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4041  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4042       err = 
register_netdevice(dev);
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4043       if (err < 0)
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4044               return err;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4045  
1a33e10e4a95cb Cong Wang         2020-05-02  4046       
netdev_lockdep_set_classes(dev);
be74294ffa24f5 Cong Wang         2020-06-26  4047       
lockdep_set_class(&dev->addr_list_lock,
be74294ffa24f5 Cong Wang         2020-06-26  4048                         
&macsec_netdev_addr_lock_key);
1a33e10e4a95cb Cong Wang         2020-05-02  4049  
42ab19ee902929 David Ahern       2017-10-04  4050       err = 
netdev_upper_dev_link(real_dev, dev, extack);
e20038724552cd Sabrina Dubroca   2016-08-12  4051       if (err < 0)
bd28899dd34f92 Dan Carpenter     2018-04-16  4052               goto unregister;
e20038724552cd Sabrina Dubroca   2016-08-12  4053  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4054       /* need to be already 
registered so that ->init has run and
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4055        * the MAC addr is set
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4056        */
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4057       if (data && 
data[IFLA_MACSEC_SCI])
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4058               sci = 
nla_get_sci(data[IFLA_MACSEC_SCI]);
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4059       else if (data && 
data[IFLA_MACSEC_PORT])
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4060               sci = 
dev_to_sci(dev, nla_get_be16(data[IFLA_MACSEC_PORT]));
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4061       else
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4062               sci = 
dev_to_sci(dev, MACSEC_PORT_ES);
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4063  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4064       if (rx_handler && 
sci_exists(real_dev, sci)) {
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4065               err = -EBUSY;
e20038724552cd Sabrina Dubroca   2016-08-12  4066               goto unlink;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4067       }
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4068  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4069       err = 
macsec_add_dev(dev, sci, icv_len);
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4070       if (err)
e20038724552cd Sabrina Dubroca   2016-08-12  4071               goto unlink;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4072  
ccfdec90892295 Felix Walter      2018-01-05  4073       if (data) {
ccfdec90892295 Felix Walter      2018-01-05  4074               err = 
macsec_changelink_common(dev, data);
ccfdec90892295 Felix Walter      2018-01-05  4075               if (err)
ccfdec90892295 Felix Walter      2018-01-05  4076                       goto 
del_dev;
ccfdec90892295 Felix Walter      2018-01-05  4077       }
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4078  
791bb3fcafcedd Mark Starovoytov  2020-03-25  4079       /* If h/w offloading is 
available, propagate to the device */
791bb3fcafcedd Mark Starovoytov  2020-03-25  4080       if 
(macsec_is_offloaded(macsec)) {
791bb3fcafcedd Mark Starovoytov  2020-03-25  4081               const struct 
macsec_ops *ops;
791bb3fcafcedd Mark Starovoytov  2020-03-25  4082               struct 
macsec_context ctx;
791bb3fcafcedd Mark Starovoytov  2020-03-25  4083  
791bb3fcafcedd Mark Starovoytov  2020-03-25  4084               ops = 
macsec_get_ops(macsec, &ctx);
791bb3fcafcedd Mark Starovoytov  2020-03-25  4085               if (ops) {
791bb3fcafcedd Mark Starovoytov  2020-03-25  4086                       
ctx.secy = &macsec->secy;
791bb3fcafcedd Mark Starovoytov  2020-03-25  4087                       err = 
macsec_offload(ops->mdo_add_secy, &ctx);
791bb3fcafcedd Mark Starovoytov  2020-03-25  4088                       if (err)
791bb3fcafcedd Mark Starovoytov  2020-03-25  4089                               
goto del_dev;
791bb3fcafcedd Mark Starovoytov  2020-03-25  4090               }
791bb3fcafcedd Mark Starovoytov  2020-03-25  4091       }
791bb3fcafcedd Mark Starovoytov  2020-03-25  4092  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4093       err = 
register_macsec_dev(real_dev, dev);
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4094       if (err < 0)
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4095               goto del_dev;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4096  
e6ac075882b2af Sabrina Dubroca   2018-10-28  4097       
netif_stacked_transfer_operstate(real_dev, dev);
e6ac075882b2af Sabrina Dubroca   2018-10-28  4098       
linkwatch_fire_event(dev);
e6ac075882b2af Sabrina Dubroca   2018-10-28  4099  
96cfc5052c5d43 Sabrina Dubroca   2016-04-22  4100       macsec_generation++;
96cfc5052c5d43 Sabrina Dubroca   2016-04-22  4101  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4102       return 0;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4103  
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4104  del_dev:
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4105       macsec_del_dev(macsec);
e20038724552cd Sabrina Dubroca   2016-08-12  4106  unlink:
e20038724552cd Sabrina Dubroca   2016-08-12  4107       
netdev_upper_dev_unlink(real_dev, dev);
bd28899dd34f92 Dan Carpenter     2018-04-16  4108  unregister:
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4109       
unregister_netdevice(dev);
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4110       return err;
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4111  }
c09440f7dcb304 Sabrina Dubroca   2016-03-11  4112  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to