CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Subbaraya Sundeep <[email protected]>
CC: Sunil Kovvuri Goutham <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   eaea45fc0e7b6ae439526b4a41d91230c8517336
commit: 68fbff68dbea35f9e6f7649dd22fce492a5aedac octeontx2-pf: Add police 
action for TC flower
date:   11 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 11 months ago
config: s390-randconfig-m031-20220522 
(https://download.01.org/0day-ci/archive/20220522/[email protected]/config)
compiler: s390-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c:363 
otx2_tc_parse_actions() error: uninitialized symbol 'rate'.
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c:363 
otx2_tc_parse_actions() error: uninitialized symbol 'burst'.

Old smatch warnings:
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c:364 
otx2_tc_parse_actions() error: uninitialized symbol 'pps'.

vim +/rate +363 drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c

68fbff68dbea35 Subbaraya Sundeep    2021-06-15  278  
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  279  static int 
otx2_tc_parse_actions(struct otx2_nic *nic,
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  280                             
 struct flow_action *flow_action,
5d2fdd86d51735 Subbaraya Sundeep    2021-06-15  281                             
 struct npc_install_flow_req *req,
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  282                             
 struct flow_cls_offload *f,
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  283                             
 struct otx2_tc_flow *node)
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  284  {
5d2fdd86d51735 Subbaraya Sundeep    2021-06-15  285     struct netlink_ext_ack 
*extack = f->common.extack;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  286     struct 
flow_action_entry *act;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  287     struct net_device 
*target;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  288     struct otx2_nic *priv;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  289     u32 burst, mark = 0;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  290     u8 nr_police = 0;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  291     bool pps;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  292     u64 rate;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  293     int i;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  294  
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  295     if 
(!flow_action_has_entries(flow_action)) {
5d2fdd86d51735 Subbaraya Sundeep    2021-06-15  296             
NL_SET_ERR_MSG_MOD(extack, "no tc actions specified");
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  297             return -EINVAL;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  298     }
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  299  
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  300     flow_action_for_each(i, 
act, flow_action) {
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  301             switch 
(act->id) {
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  302             case 
FLOW_ACTION_DROP:
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  303                     req->op 
= NIX_RX_ACTIONOP_DROP;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  304                     return 
0;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  305             case 
FLOW_ACTION_ACCEPT:
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  306                     req->op 
= NIX_RX_ACTION_DEFAULT;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  307                     return 
0;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  308             case 
FLOW_ACTION_REDIRECT_INGRESS:
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  309                     target 
= act->dev;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  310                     priv = 
netdev_priv(target);
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  311                     /* 
npc_install_flow_req doesn't support passing a target pcifunc */
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  312                     if 
(rvu_get_pf(nic->pcifunc) != rvu_get_pf(priv->pcifunc)) {
5d2fdd86d51735 Subbaraya Sundeep    2021-06-15  313                             
NL_SET_ERR_MSG_MOD(extack,
5d2fdd86d51735 Subbaraya Sundeep    2021-06-15  314                             
                   "can't redirect to other pf/vf");
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  315                             
return -EOPNOTSUPP;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  316                     }
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  317                     req->vf 
= priv->pcifunc & RVU_PFVF_FUNC_MASK;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  318                     req->op 
= NIX_RX_ACTION_DEFAULT;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  319                     return 
0;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  320             case 
FLOW_ACTION_VLAN_POP:
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  321                     
req->vtag0_valid = true;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  322                     /* use 
RX_VTAG_TYPE7 which is initialized to strip vlan tag */
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  323                     
req->vtag0_type = NIX_AF_LFX_RX_VTAG_TYPE7;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  324                     break;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  325             case 
FLOW_ACTION_POLICE:
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  326                     /* 
Ingress ratelimiting is not supported on OcteonTx2 */
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  327                     if 
(is_dev_otx2(nic->pdev)) {
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  328                             
NL_SET_ERR_MSG_MOD(extack,
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  329                             
        "Ingress policing not supported on this platform");
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  330                             
return -EOPNOTSUPP;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  331                     }
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  332  
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  333                     if 
(act->police.rate_bytes_ps > 0) {
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  334                             
rate = act->police.rate_bytes_ps * 8;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  335                             
burst = act->police.burst;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  336                     } else 
if (act->police.rate_pkt_ps > 0) {
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  337                             
/* The algorithm used to calculate rate
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  338                             
 * mantissa, exponent values for a given token
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  339                             
 * rate (token can be byte or packet) requires
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  340                             
 * token rate to be mutiplied by 8.
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  341                             
 */
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  342                             
rate = act->police.rate_pkt_ps * 8;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  343                             
burst = act->police.burst_pkt;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  344                             
pps = true;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  345                     }
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  346                     
nr_police++;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  347                     break;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  348             case 
FLOW_ACTION_MARK:
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  349                     mark = 
act->mark;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  350                     break;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  351             default:
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  352                     return 
-EOPNOTSUPP;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  353             }
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  354     }
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  355  
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  356     if (nr_police > 1) {
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  357             
NL_SET_ERR_MSG_MOD(extack,
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  358                             
   "rate limit police offload requires a single action");
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  359             return 
-EOPNOTSUPP;
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  360     }
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  361  
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  362     if (nr_police)
68fbff68dbea35 Subbaraya Sundeep    2021-06-15 @363             return 
otx2_tc_act_set_police(nic, node, f, rate, burst,
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  364                             
              mark, req, pps);
68fbff68dbea35 Subbaraya Sundeep    2021-06-15  365  
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  366     return 0;
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  367  }
1d4d9e42c2406b Naveen Mamindlapalli 2021-03-18  368  

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

Reply via email to