CC: [email protected] CC: [email protected] BCC: [email protected] CC: [email protected] TO: Mauro Carvalho Chehab <[email protected]> CC: [email protected]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: ef8e4d3c2ab1f47f63b6c7e578266b7e5cc9cd1b commit: 238c84f71120f41c45301359902a912a19370f3d media: platform: rename exynos4-is/ to samsung/exynos4-is/ date: 7 weeks ago :::::: branch date: 12 hours ago :::::: commit date: 7 weeks ago config: arm-randconfig-c002-20220427 (https://download.01.org/0day-ci/archive/20220504/[email protected]/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 1cddcfdc3c683b393df1a5c9063252eb60e52818) 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=238c84f71120f41c45301359902a912a19370f3d git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 238c84f71120f41c45301359902a912a19370f3d # 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 as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) do { local_irq_save(flags); __LOCK(lock); } while (0) ^ include/linux/spinlock_api_up.h:31:27: note: expanded from macro '__LOCK' do { preempt_disable(); ___LOCK(lock); } while (0) ^ include/linux/spinlock_api_up.h:28:3: note: expanded from macro '___LOCK' do { __acquire(lock); (void)(lock); } while (0) ^ drivers/hid/hid-picolcd_fb.c:234:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&fbdata->lock, flags); ^ include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^ include/linux/spinlock.h:264:3: note: expanded from macro 'raw_spin_lock_irqsave' _raw_spin_lock_irqsave(lock, flags); \ ^ include/linux/spinlock_api_up.h:69:45: note: expanded from macro '_raw_spin_lock_irqsave' #define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags) ^ include/linux/spinlock_api_up.h:40:31: note: expanded from macro '__LOCK_IRQSAVE' do { local_irq_save(flags); __LOCK(lock); } while (0) ^ include/linux/spinlock_api_up.h:31:3: note: expanded from macro '__LOCK' do { preempt_disable(); ___LOCK(lock); } while (0) ^ drivers/hid/hid-picolcd_fb.c:234:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&fbdata->lock, flags); ^ include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^ include/linux/spinlock.h:264:3: note: expanded from macro 'raw_spin_lock_irqsave' _raw_spin_lock_irqsave(lock, flags); \ ^ include/linux/spinlock_api_up.h:69:45: note: expanded from macro '_raw_spin_lock_irqsave' #define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags) ^ include/linux/spinlock_api_up.h:40:3: note: expanded from macro '__LOCK_IRQSAVE' do { local_irq_save(flags); __LOCK(lock); } while (0) ^ drivers/hid/hid-picolcd_fb.c:234:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&fbdata->lock, flags); ^ include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave' raw_spin_lock_irqsave(spinlock_check(lock), flags); \ ^ include/linux/spinlock.h:262:2: note: expanded from macro 'raw_spin_lock_irqsave' do { \ ^ drivers/hid/hid-picolcd_fb.c:234:2: note: Loop condition is false. Exiting loop spin_lock_irqsave(&fbdata->lock, flags); ^ include/linux/spinlock.h:377:43: note: expanded from macro 'spin_lock_irqsave' #define spin_lock_irqsave(lock, flags) \ ^ drivers/hid/hid-picolcd_fb.c:235:6: note: Assuming field 'ready' is not equal to 0 if (!fbdata->ready && fbdata->picolcd) ^~~~~~~~~~~~~~ drivers/hid/hid-picolcd_fb.c:235:21: note: Left side of '&&' is false if (!fbdata->ready && fbdata->picolcd) ^ drivers/hid/hid-picolcd_fb.c:247:2: note: Loop condition is true. Entering loop body for (chip = 0; chip < 4; chip++) ^ drivers/hid/hid-picolcd_fb.c:248:3: note: Loop condition is true. Entering loop body for (tile = 0; tile < 8; tile++) { ^ drivers/hid/hid-picolcd_fb.c:249:8: note: Assuming field 'force' is 0 if (!fbdata->force && !picolcd_fb_update_tile( ^~~~~~~~~~~~~~ drivers/hid/hid-picolcd_fb.c:249:8: note: Left side of '&&' is true drivers/hid/hid-picolcd_fb.c:249:27: note: Calling 'picolcd_fb_update_tile' if (!fbdata->force && !picolcd_fb_update_tile( ^~~~~~~~~~~~~~~~~~~~~~~ drivers/hid/hid-picolcd_fb.c:148:6: note: Assuming 'bpp' is not equal to 1 if (bpp == 1) { ^~~~~~~~ drivers/hid/hid-picolcd_fb.c:148:2: note: Taking false branch if (bpp == 1) { ^ drivers/hid/hid-picolcd_fb.c:156:13: note: Assuming 'bpp' is equal to 8 } else if (bpp == 8) { ^~~~~~~~ drivers/hid/hid-picolcd_fb.c:156:9: note: Taking true branch } else if (bpp == 8) { ^ drivers/hid/hid-picolcd_fb.c:157:3: note: Loop condition is true. Entering loop body for (b = 7; b >= 0; b--) { ^ drivers/hid/hid-picolcd_fb.c:159:9: note: The value 0 is assigned to 'i' for (i = 0; i < 64; i++) { ^~~~~ drivers/hid/hid-picolcd_fb.c:159:4: note: Loop condition is true. Entering loop body for (i = 0; i < 64; i++) { ^ drivers/hid/hid-picolcd_fb.c:160:14: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage tdata[i] <<= 1; ~~~~~~~~ ^ 2 warnings generated. >> drivers/media/platform/samsung/exynos4-is/fimc-core.c:803:4: warning: Value >> stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = PTR_ERR(fimc->clock[i]); ^ ~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-core.c:803:4: note: Value stored to 'ret' is never read ret = PTR_ERR(fimc->clock[i]); ^ ~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 2 warnings generated. >> drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:467:20: warning: >> Division by zero [clang-analyzer-core.DivideZero] halign, 64/(ALIGN(depth, 8))); ^ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:493:8: note: Calling 'fimc_m2m_try_selection' ret = fimc_m2m_try_selection(ctx, s); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:435:6: note: Assuming field 'top' is >= 0 if (s->r.top < 0 || s->r.left < 0) { ^~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:435:6: note: Left side of '||' is false drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:435:22: note: Assuming field 'left' is >= 0 if (s->r.top < 0 || s->r.left < 0) { ^~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:435:2: note: Taking false branch if (s->r.top < 0 || s->r.left < 0) { ^ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:440:6: note: Assuming field 'type' is equal to V4L2_BUF_TYPE_VIDEO_CAPTURE if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:440:2: note: Taking true branch if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { ^ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:442:7: note: Assuming field 'target' is equal to V4L2_SEL_TGT_COMPOSE if (s->target != V4L2_SEL_TGT_COMPOSE) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:442:3: note: Taking false branch if (s->target != V4L2_SEL_TGT_COMPOSE) ^ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:452:13: note: '?' condition is false min_size = (f == &ctx->s_frame) ? ^ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:456:6: note: Assuming field 'min_vsize_align' is not equal to 1 if (fimc->variant->min_vsize_align == 1) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:456:2: note: Taking false branch if (fimc->variant->min_vsize_align == 1) ^ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:461:14: note: Assuming 'i' is >= field 'memplanes' for (i = 0; i < f->fmt->memplanes; i++) ^~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:461:2: note: Loop condition is false. Execution continues on line 464 for (i = 0; i < f->fmt->memplanes; i++) ^ drivers/media/platform/samsung/exynos4-is/fimc-m2m.c:467:20: note: Division by zero halign, 64/(ALIGN(depth, 8))); ~~^~~~~~~~~~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 5 warnings generated. >> drivers/media/platform/samsung/exynos4-is/fimc-capture.c:670:16: warning: >> Division by zero [clang-analyzer-core.DivideZero] align_sz = 64/ALIGN(depth, 8); ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1643:6: note: Assuming field 'pad' is not equal to FIMC_SD_PAD_SOURCE if (sel->pad == FIMC_SD_PAD_SOURCE) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1643:2: note: Taking false branch if (sel->pad == FIMC_SD_PAD_SOURCE) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1647:2: note: Calling 'fimc_capture_try_selection' fimc_capture_try_selection(ctx, r, V4L2_SEL_TGT_CROP); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:643:16: note: Assuming field 'rotation' is equal to 90 bool rotate = ctx->rotation == 90 || ctx->rotation == 270; ^~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:643:36: note: Left side of '||' is true bool rotate = ctx->rotation == 90 || ctx->rotation == 270; ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:653:6: note: Assuming the condition is true if (fimc_fmt_is_user_defined(ctx->d_frame.fmt->color)) { ^ drivers/media/platform/samsung/exynos4-is/fimc-core.h:112:39: note: expanded from macro 'fimc_fmt_is_user_defined' #define fimc_fmt_is_user_defined(x) (!!((x) & 0x180)) ^~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:653:2: note: Taking false branch if (fimc_fmt_is_user_defined(ctx->d_frame.fmt->color)) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:659:6: note: 'target' is not equal to V4L2_SEL_TGT_COMPOSE if (target == V4L2_SEL_TGT_COMPOSE) { ^~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:659:2: note: Taking false branch if (target == V4L2_SEL_TGT_COMPOSE) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:670:16: note: Division by zero align_sz = 64/ALIGN(depth, 8); ~~^~~~~~~~~~~~~~~~ >> drivers/media/platform/samsung/exynos4-is/fimc-capture.c:825:3: warning: >> Value stored to 'ffmt' is never read [clang-analyzer-deadcode.DeadStores] ffmt = fimc_capture_try_format(ctx, &tfmt->width, &tfmt->height, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:825:3: note: Value stored to 'ffmt' is never read ffmt = fimc_capture_try_format(ctx, &tfmt->width, &tfmt->height, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/media/platform/samsung/exynos4-is/fimc-capture.c:862:22: warning: >> Assigned value is garbage or undefined >> [clang-analyzer-core.uninitialized.Assign] fd.entry[i].length = plane_fmt[i].sizeimage; ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1184:2: note: Taking false branch if (fimc_capture_active(fimc)) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1188:6: note: Assuming 'ret' is >= 0 if (ret < 0) ^~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1188:2: note: Taking false branch if (ret < 0) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1192:6: note: Assuming 'sd' is non-null if (sd) ^~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1192:2: note: Taking true branch if (sd) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1195:6: note: Assuming 'si' is not equal to NULL if (si == NULL) { ^~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1195:2: note: Taking false branch if (si == NULL) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1205:6: note: Assuming the condition is false if (vc->input == GRP_ID_FIMC_IS) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1205:2: note: Taking false branch if (vc->input == GRP_ID_FIMC_IS) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1208:6: note: Assuming field 'user_subdev_api' is true if (vc->user_subdev_api) { ^~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1208:2: note: Taking true branch if (vc->user_subdev_api) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1209:9: note: Calling 'fimc_pipeline_validate' ret = fimc_pipeline_validate(fimc); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1105:2: note: Loop condition is true. Entering loop body while (1) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1113:15: note: Assuming 'i' is < field 'num_pads' for (i = 0; i < sd->entity.num_pads; i++) { ^~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1113:3: note: Loop condition is true. Entering loop body for (i = 0; i < sd->entity.num_pads; i++) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1116:8: note: Assuming the condition is true if (p->flags & MEDIA_PAD_FL_SINK) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1116:4: note: Taking true branch if (p->flags & MEDIA_PAD_FL_SINK) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1119:9: note: Assuming 'src_pad' is non-null if (src_pad) ^~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1119:5: note: Taking true branch if (src_pad) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1120:6: note: Execution continues on line 1124 break; ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1124:8: note: 'src_pad' is non-null if (!src_pad || !is_media_entity_v4l2_subdev(src_pad->entity)) ^~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1124:7: note: Left side of '||' is false if (!src_pad || !is_media_entity_v4l2_subdev(src_pad->entity)) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1124:3: note: Taking false branch if (!src_pad || !is_media_entity_v4l2_subdev(src_pad->entity)) ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1128:3: note: Taking true branch if (sd == &vc->subdev) { ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1132:27: note: Assuming field 'fmt' is non-null sink_fmt.format.code = ff->fmt ? ff->fmt->mbus_code : 0; ^~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1132:27: note: '?' condition is true drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1142:8: note: '__me_sd_ent' is non-null sd = media_entity_to_v4l2_subdev(src_pad->entity); ^ include/media/v4l2-subdev.h:932:2: note: expanded from macro 'media_entity_to_v4l2_subdev' __me_sd_ent ? \ ^~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1142:8: note: '?' condition is true sd = media_entity_to_v4l2_subdev(src_pad->entity); ^ include/media/v4l2-subdev.h:932:2: note: expanded from macro 'media_entity_to_v4l2_subdev' __me_sd_ent ? \ ^ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1145:9: note: '__sd' is non-null ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, &src_fmt); ^ include/media/v4l2-subdev.h:1170:8: note: expanded from macro 'v4l2_subdev_call' if (!__sd) \ ^~~~ drivers/media/platform/samsung/exynos4-is/fimc-capture.c:1145:9: note: Taking false branch ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, &src_fmt); ^ include/media/v4l2-subdev.h:1170:3: note: expanded from macro 'v4l2_subdev_call' -- drivers/of/unittest.c:2489:22: warning: Value stored to 'np' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device_node *np = dev->of_node; ^~ ~~~~~~~~~~~~ drivers/of/unittest.c:2489:22: note: Value stored to 'np' during its initialization is never read struct device_node *np = dev->of_node; ^~ ~~~~~~~~~~~~ drivers/of/unittest.c:2530:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = &client->dev; ^~~ ~~~~~~~~~~~~ drivers/of/unittest.c:2530:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = &client->dev; ^~~ ~~~~~~~~~~~~ drivers/of/unittest.c:2531:22: warning: Value stored to 'np' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device_node *np = client->dev.of_node; ^~ ~~~~~~~~~~~~~~~~~~~ drivers/of/unittest.c:2531:22: note: Value stored to 'np' during its initialization is never read struct device_node *np = client->dev.of_node; ^~ ~~~~~~~~~~~~~~~~~~~ drivers/of/unittest.c:2607:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev = &client->dev; ^~~ ~~~~~~~~~~~~ drivers/of/unittest.c:2607:17: note: Value stored to 'dev' during its initialization is never read struct device *dev = &client->dev; ^~~ ~~~~~~~~~~~~ drivers/of/unittest.c:2608:22: warning: Value stored to 'np' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct device_node *np = client->dev.of_node; ^~ ~~~~~~~~~~~~~~~~~~~ drivers/of/unittest.c:2608:22: note: Value stored to 'np' during its initialization is never read struct device_node *np = client->dev.of_node; ^~ ~~~~~~~~~~~~~~~~~~~ drivers/of/unittest.c:3133:29: warning: Access to field 'properties' results in a dereference of an undefined pointer value (loaded from variable 'overlay_base_symbols') [clang-analyzer-core.NullDereference] for_each_property_of_node(overlay_base_symbols, prop) { ^ include/linux/of.h:359:12: note: expanded from macro 'for_each_property_of_node' for (pp = dn->properties; pp != NULL; pp = pp->next) ^~ drivers/of/unittest.c:3042:2: note: 'overlay_base_symbols' declared without an initial value struct device_node *overlay_base_symbols; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/of/unittest.c:3047:6: note: Assuming 'overlay_base_root' is non-null if (!overlay_base_root) { ^~~~~~~~~~~~~~~~~~ drivers/of/unittest.c:3047:2: note: Taking false branch if (!overlay_base_root) { ^ drivers/of/unittest.c:3071:2: note: Loop condition is false. Execution continues on line 3080 for (np = overlay_base_root->child; np; np = np->sibling) { ^ drivers/of/unittest.c:3081:6: note: Assuming 'of_symbols' is non-null if (of_symbols) { ^~~~~~~~~~ drivers/of/unittest.c:3081:2: note: Taking true branch if (of_symbols) { ^ drivers/of/unittest.c:3084:3: note: Loop condition is false. Execution continues on line 3094 for (np = overlay_base_root->child; np; np = np->sibling) { ^ drivers/of/unittest.c:3094:44: note: Assuming 'np' is equal to null for_each_child_of_node(overlay_base_root, np) { ^ include/linux/of.h:1368:48: note: expanded from macro 'for_each_child_of_node' for (child = of_get_next_child(parent, NULL); child != NULL; \ ^~~~~~~~~~~~~ drivers/of/unittest.c:3094:2: note: Loop condition is false. Execution continues on line 3115 for_each_child_of_node(overlay_base_root, np) { ^ include/linux/of.h:1368:2: note: expanded from macro 'for_each_child_of_node' for (child = of_get_next_child(parent, NULL); child != NULL; \ ^ drivers/of/unittest.c:3115:2: note: Loop condition is false. Execution continues on line 3118 for (np = overlay_base_root->child; np; np = np->sibling) ^ drivers/of/unittest.c:3120:2: note: Loop condition is false. Execution continues on line 3123 for (last_sibling = np = of_root->child; np; np = np->sibling) ^ drivers/of/unittest.c:3123:6: note: 'last_sibling' is null if (last_sibling) ^~~~~~~~~~~~ drivers/of/unittest.c:3123:2: note: Taking false branch if (last_sibling) ^ drivers/of/unittest.c:3128:2: note: Loop condition is false. Execution continues on line 3131 for_each_of_allnodes_from(overlay_base_root, np) ^ include/linux/of.h:265:2: note: expanded from macro 'for_each_of_allnodes_from' for (dn = __of_find_all_nodes(from); dn; dn = __of_find_all_nodes(dn)) ^ drivers/of/unittest.c:3131:6: note: 'of_symbols' is non-null if (of_symbols) { ^~~~~~~~~~ drivers/of/unittest.c:3131:2: note: Taking true branch if (of_symbols) { ^ drivers/of/unittest.c:3133:29: note: Access to field 'properties' results in a dereference of an undefined pointer value (loaded from variable 'overlay_base_symbols') for_each_property_of_node(overlay_base_symbols, prop) { ^ include/linux/of.h:359:12: note: expanded from macro 'for_each_property_of_node' for (pp = dn->properties; pp != NULL; pp = pp->next) ^~ 5 warnings generated. >> drivers/media/platform/samsung/exynos4-is/media-dev.c:1018:3: warning: Value >> stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:1018:3: note: Value stored to 'ret' is never read ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:1031:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:1031:3: note: Value stored to 'ret' is never read ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:137:13: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc] __list_del(entry->prev, entry->next); ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:1541:6: note: Assuming 'fmd' is non-null if (!fmd) ^~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:1541:2: note: Taking false branch if (!fmd) ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:1551:2: note: Calling 'fimc_md_pipelines_free' fimc_md_pipelines_free(fmd); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:389:2: note: Loop condition is true. Entering loop body while (!list_empty(&fmd->pipelines)) { ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:394:3: note: Memory is released kfree(p); ^~~~~~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:389:2: note: Loop condition is true. Entering loop body while (!list_empty(&fmd->pipelines)) { ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:393:3: note: Calling 'list_del' list_del(&p->list); ^~~~~~~~~~~~~~~~~~ include/linux/list.h:148:2: note: Calling '__list_del_entry' __list_del_entry(entry); ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:134:6: note: Assuming the condition is false if (!__list_del_entry_valid(entry)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:134:2: note: Taking false branch if (!__list_del_entry_valid(entry)) ^ include/linux/list.h:137:13: note: Use of memory after it is freed __list_del(entry->prev, entry->next); ^~~~~~~~~~~ include/linux/list.h:149:14: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc] entry->next = LIST_POISON1; ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:1541:6: note: Assuming 'fmd' is non-null if (!fmd) ^~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:1541:2: note: Taking false branch if (!fmd) ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:1551:2: note: Calling 'fimc_md_pipelines_free' fimc_md_pipelines_free(fmd); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:389:2: note: Loop condition is true. Entering loop body while (!list_empty(&fmd->pipelines)) { ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:394:3: note: Memory is released kfree(p); ^~~~~~~~ drivers/media/platform/samsung/exynos4-is/media-dev.c:389:2: note: Loop condition is true. Entering loop body while (!list_empty(&fmd->pipelines)) { ^ drivers/media/platform/samsung/exynos4-is/media-dev.c:393:3: note: Calling 'list_del' list_del(&p->list); ^~~~~~~~~~~~~~~~~~ include/linux/list.h:149:14: note: Use of memory after it is freed entry->next = LIST_POISON1; ~~~~~~~~~~~ ^ Suppressed 1 warnings (1 with check filters). 1 warning generated. drivers/iio/dac/ad5770r.c:133:8: warning: Excessive padding in 'struct ad5770r_state' (54 padding bytes, where 22 is optimal). Optimal fields order: transf_buf, internal_ref, external_res, spi, regmap, vref_reg, gpio_reset, vref, ch_pwr_down, output_mode, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct ad5770r_state { ~~~~~~~^~~~~~~~~~~~~~~ drivers/iio/dac/ad5770r.c:133:8: note: Excessive padding in 'struct ad5770r_state' (54 padding bytes, where 22 is optimal). Optimal fields order: transf_buf, internal_ref, external_res, spi, regmap, vref_reg, gpio_reset, vref, ch_pwr_down, output_mode, consider reordering the fields or adding explicit padding members struct ad5770r_state { ~~~~~~~^~~~~~~~~~~~~~~ 1 warning generated. drivers/iio/dac/ad5791.c:84:8: warning: Excessive padding in 'struct ad5791_state' (53 padding bytes, where 21 is optimal). Optimal fields order: data, spi, reg_vdd, vim +/ret +803 drivers/media/platform/samsung/exynos4-is/fimc-core.c 5fd8f7388c9a860 drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2010-08-03 792 5fd8f7388c9a860 drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2010-08-03 793 static int fimc_clk_get(struct fimc_dev *fimc) 5fd8f7388c9a860 drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2010-08-03 794 { bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 795 int i, ret; bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 796 b71b56b264ae27f drivers/media/platform/s5p-fimc/fimc-core.c Sylwester Nawrocki 2013-01-29 797 for (i = 0; i < MAX_FIMC_CLOCKS; i++) b71b56b264ae27f drivers/media/platform/s5p-fimc/fimc-core.c Sylwester Nawrocki 2013-01-29 798 fimc->clock[i] = ERR_PTR(-EINVAL); b71b56b264ae27f drivers/media/platform/s5p-fimc/fimc-core.c Sylwester Nawrocki 2013-01-29 799 6ec0163b7952ad0 drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-03-17 800 for (i = 0; i < MAX_FIMC_CLOCKS; i++) { a25be18dfb6e1b1 drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2010-12-27 801 fimc->clock[i] = clk_get(&fimc->pdev->dev, fimc_clocks[i]); b71b56b264ae27f drivers/media/platform/s5p-fimc/fimc-core.c Sylwester Nawrocki 2013-01-29 802 if (IS_ERR(fimc->clock[i])) { b71b56b264ae27f drivers/media/platform/s5p-fimc/fimc-core.c Sylwester Nawrocki 2013-01-29 @803 ret = PTR_ERR(fimc->clock[i]); bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 804 goto err; b71b56b264ae27f drivers/media/platform/s5p-fimc/fimc-core.c Sylwester Nawrocki 2013-01-29 805 } bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 806 ret = clk_prepare(fimc->clock[i]); bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 807 if (ret < 0) { bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 808 clk_put(fimc->clock[i]); b71b56b264ae27f drivers/media/platform/s5p-fimc/fimc-core.c Sylwester Nawrocki 2013-01-29 809 fimc->clock[i] = ERR_PTR(-EINVAL); bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 810 goto err; bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 811 } 5fd8f7388c9a860 drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2010-08-03 812 } e9e21083ef9361f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2011-09-02 813 return 0; bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 814 err: bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 815 fimc_clk_put(fimc); bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 816 dev_err(&fimc->pdev->dev, "failed to get clock: %s\n", bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 817 fimc_clocks[i]); bd7d8888e99d67f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2012-01-30 818 return -ENXIO; e9e21083ef9361f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2011-09-02 819 } e9e21083ef9361f drivers/media/video/s5p-fimc/fimc-core.c Sylwester Nawrocki 2011-09-02 820 :::::: The code at line 803 was first introduced by commit :::::: b71b56b264ae27f32784973d15bfdfbc7df6d579 [media] s5p-fimc: Check return value of clk_enable/clk_set_rate :::::: TO: Sylwester Nawrocki <[email protected]> :::::: CC: Mauro Carvalho Chehab <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
