CC: [email protected] CC: [email protected] BCC: [email protected] CC: [email protected] TO: Shawn Tu <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> CC: [email protected] CC: Sakari Ailus <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: fdaf9a5840acaab18694a19e0eb0aa51162eeeed commit: da15b409ef4c56e9741deddb91798370802d1d02 media: hi847: Add support for Hi-847 sensor date: 4 months ago :::::: branch date: 5 hours ago :::::: commit date: 4 months ago config: arm-randconfig-c002-20220524 (https://download.01.org/0day-ci/archive/20220525/[email protected]/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 10c9ecce9f6096e18222a331c5e7d085bd813f75) 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 # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=da15b409ef4c56e9741deddb91798370802d1d02 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout da15b409ef4c56e9741deddb91798370802d1d02 # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ fs/btrfs/extent-tree.c:1115:9: note: Left side of '&&' is true BUG_ON(refs_to_mod < 0 && refs < -refs_to_mod); ^ fs/btrfs/extent-tree.c:1115:2: note: Taking false branch BUG_ON(refs_to_mod < 0 && refs < -refs_to_mod); ^ include/asm-generic/bug.h:65:32: note: expanded from macro 'BUG_ON' #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0) ^ fs/btrfs/extent-tree.c:1115:2: note: Loop condition is false. Exiting loop BUG_ON(refs_to_mod < 0 && refs < -refs_to_mod); ^ include/asm-generic/bug.h:65:27: note: expanded from macro 'BUG_ON' #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0) ^ fs/btrfs/extent-tree.c:1118:6: note: 'refs' is <= 0 if (refs > 0) { ^~~~ fs/btrfs/extent-tree.c:1118:2: note: Taking false branch if (refs > 0) { ^ fs/btrfs/extent-tree.c:1124:13: note: Dereference of null pointer (loaded from variable 'last_ref') *last_ref = 1; ~~~~~~~~ ^ fs/btrfs/extent-tree.c:2042:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = 0; ^ ~ fs/btrfs/extent-tree.c:2042:5: note: Value stored to 'ret' is never read ret = 0; ^ ~ fs/btrfs/extent-tree.c:2769:8: warning: Value stored to 'to_add' during its initialization is never read [clang-analyzer-deadcode.DeadStores] u64 to_add = len; ^~~~~~ ~~~ fs/btrfs/extent-tree.c:2769:8: note: Value stored to 'to_add' during its initialization is never read u64 to_add = len; ^~~~~~ ~~~ fs/btrfs/extent-tree.c:2819:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = btrfs_discard_extent(fs_info, start, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/btrfs/extent-tree.c:2819:4: note: Value stored to 'ret' is never read ret = btrfs_discard_extent(fs_info, start, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/btrfs/extent-tree.c:3048:5: warning: Value stored to 'skinny_metadata' is never read [clang-analyzer-deadcode.DeadStores] skinny_metadata = false; ^ ~~~~~ fs/btrfs/extent-tree.c:3048:5: note: Value stored to 'skinny_metadata' is never read skinny_metadata = false; ^ ~~~~~ fs/btrfs/extent-tree.c:4382:5: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = 0; ^ ~ fs/btrfs/extent-tree.c:4382:5: note: Value stored to 'ret' is never read ret = 0; ^ ~ fs/btrfs/extent-tree.c:4385:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = 0; ^ ~ fs/btrfs/extent-tree.c:4385:4: note: Value stored to 'ret' is never read ret = 0; ^ ~ fs/btrfs/extent-tree.c:5366:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = 0; ^ ~ fs/btrfs/extent-tree.c:5366:4: note: Value stored to 'ret' is never read ret = 0; ^ ~ fs/btrfs/extent-tree.c:6003:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = 0; ^ ~ fs/btrfs/extent-tree.c:6003:2: note: Value stored to 'ret' is never read ret = 0; ^ ~ 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 4 warnings generated. drivers/media/i2c/hi846.c:1494:21: warning: Value stored to 'client' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct i2c_client *client = v4l2_get_subdevdata(&hi846->sd); ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/hi846.c:1494:21: note: Value stored to 'client' during its initialization is never read struct i2c_client *client = v4l2_get_subdevdata(&hi846->sd); ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/hi846.c:1762:2: warning: Value stored to 'tgt_fps' is never read [clang-analyzer-deadcode.DeadStores] tgt_fps = hi846->cur_mode->fps; ^ ~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/hi846.c:1762:2: note: Value stored to 'tgt_fps' is never read tgt_fps = hi846->cur_mode->fps; ^ ~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/hi846.c:1803:21: warning: Value stored to 'client' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct i2c_client *client = v4l2_get_subdevdata(sd); ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/hi846.c:1803:21: note: Value stored to 'client' during its initialization is never read struct i2c_client *client = v4l2_get_subdevdata(sd); ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 2 warnings generated. >> drivers/media/i2c/hi847.c:2586:2: warning: Value stored to 'ret' is never >> read [clang-analyzer-deadcode.DeadStores] ret = hi847_write_reg(hi847, HI847_REG_MODE_TG, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/hi847.c:2586:2: note: Value stored to 'ret' is never read ret = hi847_write_reg(hi847, HI847_REG_MODE_TG, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. drivers/iio/proximity/vcnl3020.c:76:8: warning: Excessive padding in 'struct vcnl3020_data' (41 padding bytes, where 9 is optimal). Optimal fields order: buf, rev, regmap, dev, lock, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct vcnl3020_data { ~~~~~~~^~~~~~~~~~~~~~~ drivers/iio/proximity/vcnl3020.c:76:8: note: Excessive padding in 'struct vcnl3020_data' (41 padding bytes, where 9 is optimal). Optimal fields order: buf, rev, regmap, dev, lock, consider reordering the fields or adding explicit padding members struct vcnl3020_data { ~~~~~~~^~~~~~~~~~~~~~~ 1 warning generated. drivers/iio/resolver/ad2s90.c:24:8: warning: Excessive padding in 'struct ad2s90_state' (46 padding bytes, where 14 is optimal). Optimal fields order: rx, sdev, lock, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct ad2s90_state { ~~~~~~~^~~~~~~~~~~~~~ drivers/iio/resolver/ad2s90.c:24:8: note: Excessive padding in 'struct ad2s90_state' (46 padding bytes, where 14 is optimal). Optimal fields order: rx, sdev, lock, consider reordering the fields or adding explicit padding members struct ad2s90_state { ~~~~~~~^~~~~~~~~~~~~~ 2 warnings generated. drivers/media/i2c/ov772x.c:583:21: warning: Value stored to 'client' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct i2c_client *client = v4l2_get_subdevdata(sd); ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/ov772x.c:583:21: note: Value stored to 'client' during its initialization is never read struct i2c_client *client = v4l2_get_subdevdata(sd); ^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 4 warnings generated. drivers/media/i2c/ov8856.c:1827:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = ov8856_write_reg(ov8856, OV8856_REG_FLIP_OPT_1, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/ov8856.c:1827:2: note: Value stored to 'ret' is never read ret = ov8856_write_reg(ov8856, OV8856_REG_FLIP_OPT_1, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/ov8856.c:1839:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = ov8856_write_reg(ov8856, OV8856_REG_FLIP_OPT_2, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/ov8856.c:1839:2: note: Value stored to 'ret' is never read ret = ov8856_write_reg(ov8856, OV8856_REG_FLIP_OPT_2, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/ov8856.c:1849:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = ov8856_write_reg(ov8856, OV8856_REG_FLIP_OPT_3, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/i2c/ov8856.c:1849:2: note: Value stored to 'ret' is never read ret = ov8856_write_reg(ov8856, OV8856_REG_FLIP_OPT_3, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 2 warnings generated. fs/fuse/dir.c:505:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(ptr, name); ^~~~~~ fs/fuse/dir.c:505:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 strcpy(ptr, name); ^~~~~~ fs/fuse/dir.c:762:2: warning: Address of stack memory associated with local variable 'outarg' is still referred to by the stack variable 'args' upon returning to the caller. This will be a dangling reference [clang-analyzer-core.StackAddressEscape] return err; ^ fs/fuse/dir.c:829:9: note: Calling 'create_new_entry' return create_new_entry(fm, &args, dir, entry, S_IFLNK); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/fuse/dir.c:700:2: note: Taking false branch if (fuse_is_bad(dir)) ^ fs/fuse/dir.c:704:6: note: Assuming 'forget' is non-null if (!forget) ^~~~~~~ fs/fuse/dir.c:704:2: note: Taking false branch if (!forget) ^ fs/fuse/dir.c:713:6: note: Assuming field 'init_security' is not equal to 0 if (fm->fc->init_security && args->opcode != FUSE_LINK) { ^~~~~~~~~~~~~~~~~~~~~ fs/fuse/dir.c:713:6: note: Left side of '&&' is true fs/fuse/dir.c:713:37: note: Field 'opcode' is not equal to FUSE_LINK if (fm->fc->init_security && args->opcode != FUSE_LINK) { ^ fs/fuse/dir.c:713:2: note: Taking true branch if (fm->fc->init_security && args->opcode != FUSE_LINK) { ^ fs/fuse/dir.c:716:7: note: 'err' is not equal to 0 if (err) ^~~ fs/fuse/dir.c:716:3: note: Taking true branch vim +/ret +2586 drivers/media/i2c/hi847.c da15b409ef4c56 Shawn Tu 2022-01-11 2560 da15b409ef4c56 Shawn Tu 2022-01-11 2561 static int hi847_start_streaming(struct hi847 *hi847) da15b409ef4c56 Shawn Tu 2022-01-11 2562 { da15b409ef4c56 Shawn Tu 2022-01-11 2563 struct i2c_client *client = v4l2_get_subdevdata(&hi847->sd); da15b409ef4c56 Shawn Tu 2022-01-11 2564 const struct hi847_reg_list *reg_list; da15b409ef4c56 Shawn Tu 2022-01-11 2565 int link_freq_index, ret; da15b409ef4c56 Shawn Tu 2022-01-11 2566 da15b409ef4c56 Shawn Tu 2022-01-11 2567 link_freq_index = hi847->cur_mode->link_freq_index; da15b409ef4c56 Shawn Tu 2022-01-11 2568 reg_list = &link_freq_configs[link_freq_index].reg_list; da15b409ef4c56 Shawn Tu 2022-01-11 2569 ret = hi847_write_reg_list(hi847, reg_list); da15b409ef4c56 Shawn Tu 2022-01-11 2570 if (ret) { da15b409ef4c56 Shawn Tu 2022-01-11 2571 dev_err(&client->dev, "failed to set plls"); da15b409ef4c56 Shawn Tu 2022-01-11 2572 return ret; da15b409ef4c56 Shawn Tu 2022-01-11 2573 } da15b409ef4c56 Shawn Tu 2022-01-11 2574 da15b409ef4c56 Shawn Tu 2022-01-11 2575 reg_list = &hi847->cur_mode->reg_list; da15b409ef4c56 Shawn Tu 2022-01-11 2576 ret = hi847_write_reg_list(hi847, reg_list); da15b409ef4c56 Shawn Tu 2022-01-11 2577 if (ret) { da15b409ef4c56 Shawn Tu 2022-01-11 2578 dev_err(&client->dev, "failed to set mode"); da15b409ef4c56 Shawn Tu 2022-01-11 2579 return ret; da15b409ef4c56 Shawn Tu 2022-01-11 2580 } da15b409ef4c56 Shawn Tu 2022-01-11 2581 da15b409ef4c56 Shawn Tu 2022-01-11 2582 ret = __v4l2_ctrl_handler_setup(hi847->sd.ctrl_handler); da15b409ef4c56 Shawn Tu 2022-01-11 2583 if (ret) da15b409ef4c56 Shawn Tu 2022-01-11 2584 return ret; da15b409ef4c56 Shawn Tu 2022-01-11 2585 da15b409ef4c56 Shawn Tu 2022-01-11 @2586 ret = hi847_write_reg(hi847, HI847_REG_MODE_TG, da15b409ef4c56 Shawn Tu 2022-01-11 2587 HI847_REG_VALUE_16BIT, HI847_REG_MODE_TG_ENABLE); da15b409ef4c56 Shawn Tu 2022-01-11 2588 da15b409ef4c56 Shawn Tu 2022-01-11 2589 ret = hi847_write_reg(hi847, HI847_REG_MODE_SELECT, da15b409ef4c56 Shawn Tu 2022-01-11 2590 HI847_REG_VALUE_16BIT, HI847_MODE_STREAMING); da15b409ef4c56 Shawn Tu 2022-01-11 2591 da15b409ef4c56 Shawn Tu 2022-01-11 2592 if (ret) { da15b409ef4c56 Shawn Tu 2022-01-11 2593 dev_err(&client->dev, "failed to set stream"); da15b409ef4c56 Shawn Tu 2022-01-11 2594 return ret; da15b409ef4c56 Shawn Tu 2022-01-11 2595 } da15b409ef4c56 Shawn Tu 2022-01-11 2596 da15b409ef4c56 Shawn Tu 2022-01-11 2597 return 0; da15b409ef4c56 Shawn Tu 2022-01-11 2598 } da15b409ef4c56 Shawn Tu 2022-01-11 2599 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
