:::::: 
:::::: Manual check reason: "low confidence static check warning: 
crypto/benchmark.c:444:27: warning: Parameter 'off' can be declared with const 
[constParameter]"
:::::: 

CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Eric Biggers <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git 
cryptobench
head:   d8c93cbf8d7da95989a79fcad5855bdb01070033
commit: d8c93cbf8d7da95989a79fcad5855bdb01070033 [1/1] [TESTING, DO NOT MERGE] 
crypto - add benchmark and testing module
:::::: branch date: 22 hours ago
:::::: commit date: 22 hours ago
compiler: alpha-linux-gcc (GCC) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout d8c93cbf8d7da95989a79fcad5855bdb01070033
        cppcheck --quiet --enable=style,performance,portability --template=gcc 
FILE

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


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

>> crypto/benchmark.c:444:27: warning: Parameter 'off' can be declared with 
>> const [constParameter]
        size_t size, loff_t *off)
                             ^

vim +/off +444 crypto/benchmark.c

d8c93cbf8d7da9 Eric Biggers 2022-05-02  442  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  443  static ssize_t 
cryptobench_write(struct file *f, const char __user *ubuf,
d8c93cbf8d7da9 Eric Biggers 2022-05-02 @444                              size_t 
size, loff_t *off)
d8c93cbf8d7da9 Eric Biggers 2022-05-02  445  {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  446     char *optstr = NULL;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  447     char *opt, *optp;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  448     struct cryptobench_params 
params = {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  449             .algtype = "skcipher",
d8c93cbf8d7da9 Eric Biggers 2022-05-02  450             .niter = 4096,
d8c93cbf8d7da9 Eric Biggers 2022-05-02  451             .bufsize = 4096,
d8c93cbf8d7da9 Eric Biggers 2022-05-02  452     };
d8c93cbf8d7da9 Eric Biggers 2022-05-02  453     ssize_t ret;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  454     int i;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  455     enum cryptobench_result result;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  456  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  457     mutex_lock(&cryptobench_mutex);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  458  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  459     if (size >= 4096 || *off != 0)
d8c93cbf8d7da9 Eric Biggers 2022-05-02  460             goto bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  461  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  462     optstr = kmalloc(size + 1, 
GFP_KERNEL);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  463     if (!optstr)
d8c93cbf8d7da9 Eric Biggers 2022-05-02  464             goto bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  465     if (copy_from_user(optstr, 
ubuf, size))
d8c93cbf8d7da9 Eric Biggers 2022-05-02  466             goto bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  467     optstr[size] = '\0';
d8c93cbf8d7da9 Eric Biggers 2022-05-02  468  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  469     optp = optstr;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  470     while ((opt = strsep(&optp, "\n 
")) != NULL) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  471             substring_t 
args[MAX_OPT_ARGS];
d8c93cbf8d7da9 Eric Biggers 2022-05-02  472             int token;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  473  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  474             if (!*opt)
d8c93cbf8d7da9 Eric Biggers 2022-05-02  475                     continue;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  476  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  477             token = 
match_token(opt, tokens, args);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  478             switch (token) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  479             case Opt_algtype:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  480                     params.algtype 
= args[0].from;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  481                     break;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  482             case Opt_algname:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  483                     params.algname 
= args[0].from;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  484                     break;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  485             case Opt_keysize:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  486                     if 
(kstrtoint(args[0].from, 10, &params.keysize)) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  487                             
pr_err("bad value for 'keysize' option");
d8c93cbf8d7da9 Eric Biggers 2022-05-02  488                             goto 
bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  489                     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  490                     break;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  491             case Opt_niter:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  492                     if 
(kstrtoul(args[0].from, 10, &params.niter)) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  493                             
pr_err("bad value for 'niter' option");
d8c93cbf8d7da9 Eric Biggers 2022-05-02  494                             goto 
bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  495                     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  496                     break;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  497             case Opt_bufsize:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  498                     if 
(kstrtoul(args[0].from, 10, &params.bufsize)) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  499                             
pr_err("bad value for 'bufsize' option");
d8c93cbf8d7da9 Eric Biggers 2022-05-02  500                             goto 
bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  501                     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  502                     break;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  503             case Opt_inplace:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  504                     params.inplace 
= true;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  505                     break;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  506             case Opt_random_seed:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  507                     if 
(kstrtoull(args[0].from, 10, &params.random_seed)) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  508                             
pr_err("bad value for 'random_seed' option");
d8c93cbf8d7da9 Eric Biggers 2022-05-02  509                             goto 
bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  510                     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  511                     break;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  512             default:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  513                     
pr_err("unrecognized option '%s'\n", opt);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  514                     goto bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  515             }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  516     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  517  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  518     if (!params.algtype) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  519             pr_err("'algtype' 
option is missing");
d8c93cbf8d7da9 Eric Biggers 2022-05-02  520             goto bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  521     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  522  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  523     if (!params.algname) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  524             pr_err("'algname' 
option is missing");
d8c93cbf8d7da9 Eric Biggers 2022-05-02  525             goto bad_params;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  526     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  527  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  528     for (i = 0; i < 
ARRAY_SIZE(benchmark_funcs); i++) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  529             if 
(!strcmp(benchmark_funcs[i].algtype, params.algtype)) {
d8c93cbf8d7da9 Eric Biggers 2022-05-02  530                     result = 
benchmark_funcs[i].f(&params);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  531                     ret = size;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  532                     if (result != 
SUCCESS)
d8c93cbf8d7da9 Eric Biggers 2022-05-02  533                             goto 
save_error;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  534                     goto out;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  535             }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  536     }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  537  
d8c93cbf8d7da9 Eric Biggers 2022-05-02  538     pr_err("bad value for 'algtype' 
option");
d8c93cbf8d7da9 Eric Biggers 2022-05-02  539  bad_params:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  540     ret = -EINVAL;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  541     result = BAD_PARAMETERS;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  542  save_error:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  543     sprintf(cryptobench_results, 
"ERROR %s\n", result_strings[result]);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  544  out:
d8c93cbf8d7da9 Eric Biggers 2022-05-02  545     
mutex_unlock(&cryptobench_mutex);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  546     kfree(optstr);
d8c93cbf8d7da9 Eric Biggers 2022-05-02  547     return ret;
d8c93cbf8d7da9 Eric Biggers 2022-05-02  548  }
d8c93cbf8d7da9 Eric Biggers 2022-05-02  549  

-- 
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