CC: [email protected]
CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Mauro Carvalho Chehab <[email protected]>
CC: [email protected]

tree:   git://linuxtv.org/hverkuil/media_tree.git cec
head:   8b429dac2d98bd585ff5af37042d1d9bb104a2eb
commit: bfc08fd88e458b98c7c771e4eeb5df3fd4e42feb [382/417] media: platform: 
rename coda/ to chips-media/
:::::: branch date: 5 days ago
:::::: commit date: 7 days ago
config: riscv-randconfig-c006-20220317 
(https://download.01.org/0day-ci/archive/20220322/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
a6ec1e3d798f8eab43fb3a91028c6ab04e115fcb)
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 riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        git remote add hverkuil-media-tree 
git://linuxtv.org/hverkuil/media_tree.git
        git fetch --no-tags hverkuil-media-tree cec
        git checkout bfc08fd88e458b98c7c771e4eeb5df3fd4e42feb
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
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 >>)
                     ^~~~~~~~~~~~~~~~~
   include/asm-generic/bug.h:150:18: note: expanded from macro 'WARN_ONCE'
           DO_ONCE_LITE_IF(condition, WARN, 1, format)
                           ^~~~~~~~~
   include/linux/once_lite.h:15:27: note: expanded from macro 'DO_ONCE_LITE_IF'
                   bool __ret_do_once = !!(condition);                     \
                                           ^~~~~~~~~
   net/core/dev.c:7574:2: note: '__ret_do_once' is false
           ASSERT_RTNL();
           ^
   include/linux/rtnetlink.h:110:2: note: expanded from macro 'ASSERT_RTNL'
           WARN_ONCE(!rtnl_is_locked(), \
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/bug.h:150:2: note: expanded from macro 'WARN_ONCE'
           DO_ONCE_LITE_IF(condition, WARN, 1, format)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/once_lite.h:17:16: note: expanded from macro 'DO_ONCE_LITE_IF'
                   if (unlikely(__ret_do_once && !__already_done)) {       \
                                ^~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   net/core/dev.c:7574:2: note: Left side of '&&' is false
           ASSERT_RTNL();
           ^
   include/linux/rtnetlink.h:110:2: note: expanded from macro 'ASSERT_RTNL'
           WARN_ONCE(!rtnl_is_locked(), \
           ^
   include/asm-generic/bug.h:150:2: note: expanded from macro 'WARN_ONCE'
           DO_ONCE_LITE_IF(condition, WARN, 1, format)
           ^
   include/linux/once_lite.h:17:30: note: expanded from macro 'DO_ONCE_LITE_IF'
                   if (unlikely(__ret_do_once && !__already_done)) {       \
                                              ^
   net/core/dev.c:7574:2: note: Taking false branch
           ASSERT_RTNL();
           ^
   include/linux/rtnetlink.h:110:2: note: expanded from macro 'ASSERT_RTNL'
           WARN_ONCE(!rtnl_is_locked(), \
           ^
   include/asm-generic/bug.h:150:2: note: expanded from macro 'WARN_ONCE'
           DO_ONCE_LITE_IF(condition, WARN, 1, format)
           ^
   include/linux/once_lite.h:17:3: note: expanded from macro 'DO_ONCE_LITE_IF'
                   if (unlikely(__ret_do_once && !__already_done)) {       \
                   ^
   net/core/dev.c:7576:28: note: Assuming pointer value is null
           changeupper_info.master = netdev_master_upper_dev_get(dev) == 
upper_dev;
                                     
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/core/dev.c:7589:30: note: Passing null pointer value via 1st parameter 
'dev'
           __netdev_update_lower_level(upper_dev, priv);
                                       ^~~~~~~~~
   net/core/dev.c:7589:2: note: Calling '__netdev_update_lower_level'
           __netdev_update_lower_level(upper_dev, priv);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   net/core/dev.c:7151:19: note: Access to field 'lower_level' results in a 
dereference of a null pointer (loaded from variable 'dev')
           dev->lower_level = __netdev_lower_depth(dev) + 1;
           ~~~              ^
   net/core/dev.c:10228:2: 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(dev->name, name);
           ^~~~~~
   net/core/dev.c:10228:2: 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(dev->name, name);
           ^~~~~~
   Suppressed 14 warnings (12 in non-user code, 2 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   9 warnings generated.
>> drivers/media/platform/chips-media/coda-common.c:478:38: warning: Array 
>> access (from variable 'formats') results in a null pointer dereference 
>> [clang-analyzer-core.NullDereference]
           if (f->index >= CODA_MAX_FORMATS || formats[f->index] == 0)
                                               ^~~~~~~
   drivers/media/platform/chips-media/coda-common.c:448:6: note: Assuming field 
'type' is equal to V4L2_BUF_TYPE_VIDEO_OUTPUT
           if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:448:2: note: Taking true 
branch
           if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
           ^
   drivers/media/platform/chips-media/coda-common.c:449:3: note: Null pointer 
value stored to 'formats'
                   formats = cvd->src_formats;
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:478:6: note: Assuming field 
'index' is < CODA_MAX_FORMATS
           if (f->index >= CODA_MAX_FORMATS || formats[f->index] == 0)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:478:6: note: Left side of 
'||' is false
   drivers/media/platform/chips-media/coda-common.c:478:38: note: Array access 
(from variable 'formats') results in a null pointer dereference
           if (f->index >= CODA_MAX_FORMATS || formats[f->index] == 0)
                                               ^~~~~~~
   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/chips-media/coda-common.c:2117:9: note: Assuming 
field 'streamon_out' is not equal to 0
           stop = ctx->streamon_out && ctx->streamon_cap;
                  ^~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:2117:9: note: Left side of 
'&&' is true
   drivers/media/platform/chips-media/coda-common.c:2119:2: note: Assuming 
'coda_debug' is < 1
           coda_dbg(1, ctx, "stop streaming %s\n", v4l2_type_names[q->type]);
           ^
   drivers/media/platform/chips-media/coda.h:300:7: note: expanded from macro 
'coda_dbg'
                   if (coda_debug >= (level))                              \
                       ^~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:2119:2: note: Taking false 
branch
           coda_dbg(1, ctx, "stop streaming %s\n", v4l2_type_names[q->type]);
           ^
   drivers/media/platform/chips-media/coda.h:300:3: note: expanded from macro 
'coda_dbg'
                   if (coda_debug >= (level))                              \
                   ^
   drivers/media/platform/chips-media/coda-common.c:2119:2: note: Loop 
condition is false.  Exiting loop
           coda_dbg(1, ctx, "stop streaming %s\n", v4l2_type_names[q->type]);
           ^
   drivers/media/platform/chips-media/coda.h:299:2: note: expanded from macro 
'coda_dbg'
           do {                                                            \
           ^
   drivers/media/platform/chips-media/coda-common.c:2121:6: note: Assuming 
field 'type' is equal to V4L2_BUF_TYPE_VIDEO_OUTPUT
           if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:2121:2: note: Taking true 
branch
           if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
           ^
   drivers/media/platform/chips-media/coda-common.c:2128:3: note: Loop 
condition is false. Execution continues on line 2140
                   while ((buf = v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx)))
                   ^
   drivers/media/platform/chips-media/coda-common.c:2140:6: note: Assuming 
'stop' is true
           if (stop) {
               ^~~~
   drivers/media/platform/chips-media/coda-common.c:2140:2: note: Taking true 
branch
           if (stop) {
           ^
   drivers/media/platform/chips-media/coda-common.c:2143:7: note: Assuming 
field 'seq_end_work' is null
                   if (ctx->ops->seq_end_work) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:2143:3: note: Taking false 
branch
                   if (ctx->ops->seq_end_work) {
                   ^
   drivers/media/platform/chips-media/coda-common.c:2148:3: note: Loop 
condition is true.  Entering loop body
                   while (!list_empty(&ctx->buffer_meta_list)) {
                   ^
   drivers/media/platform/chips-media/coda-common.c:2152:4: note: Memory is 
released
                           kfree(meta);
                           ^~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:2148:3: note: Loop 
condition is true.  Entering loop body
                   while (!list_empty(&ctx->buffer_meta_list)) {
                   ^
   drivers/media/platform/chips-media/coda-common.c:2151:4: note: Calling 
'list_del'
                           list_del(&meta->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/chips-media/coda-common.c:2117:9: note: Assuming 
field 'streamon_out' is not equal to 0
           stop = ctx->streamon_out && ctx->streamon_cap;
                  ^~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-common.c:2117:9: note: Left side of 
'&&' is true
   drivers/media/platform/chips-media/coda-common.c:2119:2: note: Assuming 
'coda_debug' is < 1
           coda_dbg(1, ctx, "stop streaming %s\n", v4l2_type_names[q->type]);
           ^
   drivers/media/platform/chips-media/coda.h:300:7: note: expanded from macro 
'coda_dbg'
                   if (coda_debug >= (level))                              \
--
   drivers/hwmon/adc128d818.c:217:21: note: '?' condition is false
           regval = clamp_val(DIV_ROUND_CLOSEST(val, 1000), -128, 127);
                              ^
   include/linux/math.h:89:2: note: expanded from macro 'DIV_ROUND_CLOSEST'
           (((typeof(x))-1) > 0 ||                         \
           ^
   drivers/hwmon/adc128d818.c:217:11: note: Assuming '__UNIQUE_ID___x252' is <= 
'__UNIQUE_ID___y253'
           regval = clamp_val(DIV_ROUND_CLOSEST(val, 1000), -128, 127);
                    ^
   include/linux/minmax.h:137:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:124:48: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:112:27: note: expanded from macro 'max_t'
   #define max_t(type, x, y)       __careful_cmp((type)(x), (type)(y), >)
                                   ^
   note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to 
see all)
   include/linux/minmax.h:104:48: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
   include/linux/minmax.h:38:14: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:31:25: note: expanded from macro '__cmp_once'
                   typeof(x) unique_x = (x);               \
                                         ^
   drivers/hwmon/adc128d818.c:217:11: note: '?' condition is false
           regval = clamp_val(DIV_ROUND_CLOSEST(val, 1000), -128, 127);
                    ^
   include/linux/minmax.h:137:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^
   include/linux/minmax.h:124:48: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                                  ^
   include/linux/minmax.h:112:27: note: expanded from macro 'max_t'
   #define max_t(type, x, y)       __careful_cmp((type)(x), (type)(y), >)
                                   ^
   include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/hwmon/adc128d818.c:217:11: note: '__UNIQUE_ID___x254' is < 
'__UNIQUE_ID___y255'
           regval = clamp_val(DIV_ROUND_CLOSEST(val, 1000), -128, 127);
                    ^
   include/linux/minmax.h:137:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:124:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:104:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~
   drivers/hwmon/adc128d818.c:217:11: note: '?' condition is true
           regval = clamp_val(DIV_ROUND_CLOSEST(val, 1000), -128, 127);
                    ^
   include/linux/minmax.h:137:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^
   include/linux/minmax.h:124:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^
   include/linux/minmax.h:104:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^
   include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/hwmon/adc128d818.c:217:2: note: The value -128 is assigned to 
'regval'
           regval = clamp_val(DIV_ROUND_CLOSEST(val, 1000), -128, 127);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/adc128d818.c:218:29: note: The result of the left shift is 
undefined because the left operand is negative
           data->temp[index] = regval << 1;
                               ~~~~~~ ^
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   8 warnings generated.
>> drivers/media/platform/chips-media/coda-bit.c:1127:2: warning: Value stored 
>> to 'value' is never read [clang-analyzer-deadcode.DeadStores]
           value = 0;
           ^       ~
   drivers/media/platform/chips-media/coda-bit.c:1127:2: note: Value stored to 
'value' is never read
           value = 0;
           ^       ~
   include/linux/log2.h:57:13: warning: The result of the left shift is 
undefined due to shifting by '32', which is greater or equal to the width of 
type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
           return 1UL << fls_long(n - 1);
                      ^
   drivers/media/platform/chips-media/coda-bit.c:1794:6: note: Assuming field 
'type' is equal to V4L2_BUF_TYPE_VIDEO_OUTPUT
           if (rb->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-bit.c:1794:2: note: Taking false 
branch
           if (rb->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
           ^
   drivers/media/platform/chips-media/coda-bit.c:1797:6: note: Assuming field 
'count' is not equal to 0
           if (rb->count) {
               ^~~~~~~~~
   drivers/media/platform/chips-media/coda-bit.c:1797:2: note: Taking true 
branch
           if (rb->count) {
           ^
   drivers/media/platform/chips-media/coda-bit.c:1800:7: note: 'ret' is >= 0
                   if (ret < 0)
                       ^~~
   drivers/media/platform/chips-media/coda-bit.c:1800:3: note: Taking false 
branch
                   if (ret < 0)
                   ^
   drivers/media/platform/chips-media/coda-bit.c:1802:9: note: Calling 
'coda_alloc_bitstream_buffer'
                   ret = coda_alloc_bitstream_buffer(ctx, q_data_src);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-bit.c:1760:6: note: Assuming field 
'vaddr' is null
           if (ctx->bitstream.vaddr)
               ^~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/chips-media/coda-bit.c:1760:2: note: Taking false 
branch
           if (ctx->bitstream.vaddr)
           ^
   drivers/media/platform/chips-media/coda-bit.c:1763:24: note: '?' condition 
is false
           ctx->bitstream.size = roundup_pow_of_two(q_data->sizeimage * 2);
                                 ^
   include/linux/log2.h:176:2: note: expanded from macro 'roundup_pow_of_two'
           __builtin_constant_p(n) ? (             \
           ^
   drivers/media/platform/chips-media/coda-bit.c:1763:24: note: Calling 
'__roundup_pow_of_two'
           ctx->bitstream.size = roundup_pow_of_two(q_data->sizeimage * 2);
                                 ^
   include/linux/log2.h:180:2: note: expanded from macro 'roundup_pow_of_two'
           __roundup_pow_of_two(n)                 \
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/log2.h:57:16: note: Calling 'fls_long'
           return 1UL << fls_long(n - 1);
                         ^~~~~~~~~~~~~~~
   include/linux/bitops.h:154:2: note: Taking true branch
           if (sizeof(l) == 4)
           ^
   include/linux/bitops.h:155:10: note: Calling 'fls'
                   return fls(l);
                          ^~~~~~
   include/asm-generic/bitops/fls.h:15:2: note: 'r' initialized to 32
           int r = 32;
           ^~~~~
   include/asm-generic/bitops/fls.h:17:6: note: Assuming 'x' is not equal to 0, 
which participates in a condition later
           if (!x)
               ^~
   include/asm-generic/bitops/fls.h:17:2: note: Taking false branch
           if (!x)
           ^
   include/asm-generic/bitops/fls.h:19:6: note: Assuming the condition is false
           if (!(x & 0xffff0000u)) {
               ^~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/fls.h:19:2: note: Taking false branch
           if (!(x & 0xffff0000u)) {
           ^
   include/asm-generic/bitops/fls.h:23:6: note: Assuming the condition is false
           if (!(x & 0xff000000u)) {
               ^~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/fls.h:23:2: note: Taking false branch
           if (!(x & 0xff000000u)) {
           ^
   include/asm-generic/bitops/fls.h:27:6: note: Assuming the condition is false
           if (!(x & 0xf0000000u)) {
               ^~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/fls.h:27:2: note: Taking false branch
           if (!(x & 0xf0000000u)) {
           ^
   include/asm-generic/bitops/fls.h:31:6: note: Assuming the condition is false
           if (!(x & 0xc0000000u)) {
               ^~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/fls.h:31:2: note: Taking false branch
           if (!(x & 0xc0000000u)) {
           ^
   include/asm-generic/bitops/fls.h:35:6: note: Assuming the condition is false
           if (!(x & 0x80000000u)) {
               ^~~~~~~~~~~~~~~~~~
   include/asm-generic/bitops/fls.h:35:2: note: Taking false branch
           if (!(x & 0x80000000u)) {
           ^
   include/asm-generic/bitops/fls.h:39:2: note: Returning the value 32 (loaded 
from 'r')
           return r;
           ^~~~~~~~
   include/linux/bitops.h:155:10: note: Returning from 'fls'
                   return fls(l);

vim +/formats +478 drivers/media/platform/chips-media/coda-common.c

12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  439  
22e244b813ddd9 drivers/media/platform/coda.c             Philipp Zabel 
2014-07-18  440  static int coda_enum_fmt(struct file *file, void *priv,
22e244b813ddd9 drivers/media/platform/coda.c             Philipp Zabel 
2014-07-18  441                           struct v4l2_fmtdesc *f)
186b250a072537 drivers/media/video/coda.c                Javier Martin 
2012-07-26  442  {
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  443          struct video_device *vdev = video_devdata(file);
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  444          const struct coda_video_device *cvd = 
to_coda_video_device(vdev);
9d826ce8122fc6 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2017-04-06  445          struct coda_ctx *ctx = fh_to_ctx(priv);
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  446          const u32 *formats;
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  447  
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  448          if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  449                  formats = cvd->src_formats;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  450          else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  451                  struct coda_q_data *q_data_src;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  452                  struct vb2_queue *src_vq;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  453  
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  454                  formats = cvd->dst_formats;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  455  
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  456                  /*
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  457                   * If the source format is already fixed, only 
allow the same
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  458                   * chroma subsampling.
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  459                   */
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  460                  q_data_src = get_q_data(ctx, 
V4L2_BUF_TYPE_VIDEO_OUTPUT);
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  461                  src_vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx,
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  462                                           
V4L2_BUF_TYPE_VIDEO_OUTPUT);
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  463                  if (q_data_src->fourcc == V4L2_PIX_FMT_JPEG &&
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  464                      vb2_is_streaming(src_vq)) {
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  465                          if 
(ctx->params.jpeg_chroma_subsampling ==
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  466                              V4L2_JPEG_CHROMA_SUBSAMPLING_420) {
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  467                                  formats = coda_formats_420;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  468                          } else if 
(ctx->params.jpeg_chroma_subsampling ==
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  469                                     
V4L2_JPEG_CHROMA_SUBSAMPLING_422) {
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  470                                  f->pixelformat = 
V4L2_PIX_FMT_YUV422P;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  471                                  return f->index ? -EINVAL : 0;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  472                          }
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  473                  }
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  474          } else {
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  475                  return -EINVAL;
12310819a26aa5 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2020-03-18  476          }
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  477  
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02 @478          if (f->index >= CODA_MAX_FORMATS || formats[f->index] 
== 0)
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  479                  return -EINVAL;
186b250a072537 drivers/media/video/coda.c                Javier Martin 
2012-07-26  480  
9d826ce8122fc6 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2017-04-06  481          /* Skip YUYV if the vdoa is not available */
9d826ce8122fc6 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2017-04-06  482          if (!ctx->vdoa && f->type == 
V4L2_BUF_TYPE_VIDEO_CAPTURE &&
9d826ce8122fc6 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2017-04-06  483              formats[f->index] == V4L2_PIX_FMT_YUYV)
9d826ce8122fc6 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2017-04-06  484                  return -EINVAL;
9d826ce8122fc6 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2017-04-06  485  
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  486          f->pixelformat = formats[f->index];
186b250a072537 drivers/media/video/coda.c                Javier Martin 
2012-07-26  487  
2c11d1bdfc7175 drivers/media/platform/coda/coda-common.c Philipp Zabel 
2014-10-02  488          return 0;
186b250a072537 drivers/media/video/coda.c                Javier Martin 
2012-07-26  489  }
186b250a072537 drivers/media/video/coda.c                Javier Martin 
2012-07-26  490  

:::::: The code at line 478 was first introduced by commit
:::::: 2c11d1bdfc7175cc75a603e433367caaf038ab69 [media] coda: add 
coda_video_device descriptors

:::::: TO: Philipp Zabel <[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