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]

Reply via email to