:::::: :::::: 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, ¶ms.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, ¶ms.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, ¶ms.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, ¶ms.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(¶ms); 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]
