All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v6 1/3] drm/lsdc: add drm driver for loongson display controller
Date: Sat, 12 Feb 2022 13:04:12 +0800	[thread overview]
Message-ID: <202202121140.KF8JhdUn-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 16768 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20220203082546.3099-2-15330273260@189.cn>
References: <20220203082546.3099-2-15330273260@189.cn>
TO: Sui Jingfeng <15330273260@189.cn>

Hi Sui,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm/drm-next]
[also build test WARNING on robh/for-next drm-intel/for-linux-next drm-tip/drm-tip v5.17-rc3 next-20220211]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Sui-Jingfeng/drm-lsdc-add-drm-driver-for-loongson-display-controller/20220203-162953
base:   git://anongit.freedesktop.org/drm/drm drm-next
:::::: branch date: 9 days ago
:::::: commit date: 9 days ago
config: riscv-randconfig-c006-20220205 (https://download.01.org/0day-ci/archive/20220212/202202121140.KF8JhdUn-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project dee058c670593b999fec19c458dbbd882ad9de56)
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
        # https://github.com/0day-ci/linux/commit/983916ec4a8df390a947a7f539dbc99f5d511e26
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Sui-Jingfeng/drm-lsdc-add-drm-driver-for-loongson-display-controller/20220203-162953
        git checkout 983916ec4a8df390a947a7f539dbc99f5d511e26
        # 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 <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   10 warnings generated.
   fs/eventfd.c:285:8: warning: Value stored to 'res' is never read [clang-analyzer-deadcode.DeadStores]
                   for (res = 0;;) {
                        ^     ~
   fs/eventfd.c:285:8: note: Value stored to 'res' is never read
                   for (res = 0;;) {
                        ^     ~
   Suppressed 9 warnings (2 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   10 warnings generated.
   Suppressed 10 warnings (3 in non-user code, 7 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.
   11 warnings generated.
   Suppressed 11 warnings (4 in non-user code, 7 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.
   13 warnings generated.
   drivers/gpu/drm/lsdc/lsdc_crtc.c:123:33: warning: The left operand of '&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           priv_crtc_state->pix_fmt = val & CFG_PIX_FMT_MASK;
                                      ~~~ ^
   drivers/gpu/drm/lsdc/lsdc_crtc.c:97:2: note: 'val' declared without an initial value
           u32 val;
           ^~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:104:6: note: Assuming 'index' is not equal to 0
           if (index == 0) {
               ^~~~~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:104:2: note: Taking false branch
           if (index == 0) {
           ^
   drivers/gpu/drm/lsdc/lsdc_crtc.c:107:13: note: Assuming 'index' is not equal to 1
           } else if (index == 1) {
                      ^~~~~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:107:9: note: Taking false branch
           } else if (index == 1) {
                  ^
   drivers/gpu/drm/lsdc/lsdc_crtc.c:113:6: note: Assuming field 'state' is null
           if (crtc->state) {
               ^~~~~~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:113:2: note: Taking false branch
           if (crtc->state) {
           ^
   drivers/gpu/drm/lsdc/lsdc_crtc.c:119:20: note: Calling 'kzalloc'
           priv_crtc_state = kzalloc(sizeof(*priv_crtc_state), GFP_KERNEL);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:715:9: note: Calling 'kmalloc'
           return kmalloc(size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:569:2: note: Taking false branch
           if (__builtin_constant_p(size)) {
           ^
   include/linux/slab.h:586:2: note: Returning pointer, which participates in a condition later
           return __kmalloc(size, flags);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:715:9: note: Returning from 'kmalloc'
           return kmalloc(size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:715:2: note: Returning pointer, which participates in a condition later
           return kmalloc(size, flags | __GFP_ZERO);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:119:20: note: Returning from 'kzalloc'
           priv_crtc_state = kzalloc(sizeof(*priv_crtc_state), GFP_KERNEL);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:120:6: note: Assuming 'priv_crtc_state' is non-null
           if (!priv_crtc_state)
               ^~~~~~~~~~~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:120:2: note: Taking false branch
           if (!priv_crtc_state)
           ^
   drivers/gpu/drm/lsdc/lsdc_crtc.c:123:33: note: The left operand of '&' is a garbage value
           priv_crtc_state->pix_fmt = val & CFG_PIX_FMT_MASK;
                                      ~~~ ^
>> drivers/gpu/drm/lsdc/lsdc_crtc.c:146:21: warning: Value stored to 'ddev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct drm_device *ddev = crtc->dev;
                              ^~~~   ~~~~~~~~~
   drivers/gpu/drm/lsdc/lsdc_crtc.c:146:21: note: Value stored to 'ddev' during its initialization is never read
           struct drm_device *ddev = crtc->dev;
                              ^~~~   ~~~~~~~~~
   Suppressed 11 warnings (4 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   9 warnings generated.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   Suppressed 9 warnings (2 in non-user code, 7 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.
   5 warnings generated.
   drivers/base/cacheinfo.c:38:31: warning: Access to field 'fw_token' results in a dereference of a null pointer (loaded from variable 'this_leaf') [clang-analyzer-core.NullDereference]
           return sib_leaf->fw_token == this_leaf->fw_token;
                                        ^
   drivers/base/cacheinfo.c:225:6: note: Assuming field 'cpu_map_populated' is false
           if (this_cpu_ci->cpu_map_populated)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/cacheinfo.c:225:2: note: Taking false branch
           if (this_cpu_ci->cpu_map_populated)
           ^
   drivers/base/cacheinfo.c:228:2: note: Taking false branch
           if (of_have_populated_dt())
           ^
   drivers/base/cacheinfo.c:230:7: note: Taking false branch
           else if (!acpi_disabled)
                ^
   drivers/base/cacheinfo.c:233:6: note: 'ret' is 0
           if (ret)
               ^~~
   drivers/base/cacheinfo.c:233:2: note: Taking false branch
           if (ret)
           ^
   drivers/base/cacheinfo.c:236:26: note: Loop condition is false.  Exiting loop
           for (index = 0; index < cache_leaves(cpu); index++) {
                                   ^
   drivers/base/cacheinfo.c:26:28: note: expanded from macro 'cache_leaves'
   #define cache_leaves(cpu)       (ci_cacheinfo(cpu)->num_leaves)
                                    ^
   drivers/base/cacheinfo.c:25:29: note: expanded from macro 'ci_cacheinfo'
   #define ci_cacheinfo(cpu)       (&per_cpu(ci_cpu_cacheinfo, cpu))
                                     ^
   include/linux/percpu-defs.h:269:29: note: expanded from macro 'per_cpu'
   #define per_cpu(var, cpu)       (*per_cpu_ptr(&(var), cpu))
                                     ^
   include/linux/percpu-defs.h:263:47: note: expanded from macro 'per_cpu_ptr'
   #define per_cpu_ptr(ptr, cpu)   ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); })
                                                   ^
   include/linux/percpu-defs.h:259:2: note: expanded from macro 'VERIFY_PERCPU_PTR'
           __verify_pcpu_ptr(__p);                                         \
           ^
   include/linux/percpu-defs.h:217:37: note: expanded from macro '__verify_pcpu_ptr'
   #define __verify_pcpu_ptr(ptr)                                          \
                                                                           ^
   drivers/base/cacheinfo.c:236:18: note: Assuming 'index' is < field 'num_leaves'
           for (index = 0; index < cache_leaves(cpu); index++) {
                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/base/cacheinfo.c:236:2: note: Loop condition is true.  Entering loop body
           for (index = 0; index < cache_leaves(cpu); index++) {
           ^
   drivers/base/cacheinfo.c:241:8: note: Calling 'cpumask_empty'
                   if (!cpumask_empty(&this_leaf->shared_cpu_map))
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/cpumask.h:557:9: note: Calling 'bitmap_empty'
           return bitmap_empty(cpumask_bits(srcp), nr_cpumask_bits);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/bitmap.h:385:6: note: Left side of '&&' is false
           if (small_const_nbits(nbits))
               ^
   include/asm-generic/bitsperlong.h:36:31: note: expanded from macro 'small_const_nbits'
           (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
                                        ^
   include/linux/bitmap.h:388:9: note: Calling 'find_first_bit'
           return find_first_bit(src, nbits) == nbits;
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/find.h:118:6: note: Left side of '&&' is false
           if (small_const_nbits(size)) {
               ^
   include/asm-generic/bitsperlong.h:36:31: note: expanded from macro 'small_const_nbits'
           (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG && (nbits) > 0)
                                        ^
   include/linux/find.h:124:9: note: Value assigned to 'ci_cpu_cacheinfo.info_list'
           return _find_first_bit(addr, size);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/bitmap.h:388:9: note: Returning from 'find_first_bit'
           return find_first_bit(src, nbits) == nbits;
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/bitmap.h:388:9: note: Assuming the condition is true
           return find_first_bit(src, nbits) == nbits;
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/cpumask.h:557:9: note: Returning from 'bitmap_empty'
           return bitmap_empty(cpumask_bits(srcp), nr_cpumask_bits);

vim +/ddev +146 drivers/gpu/drm/lsdc/lsdc_crtc.c

983916ec4a8df3 suijingfeng 2022-02-03  140  
983916ec4a8df3 suijingfeng 2022-02-03  141  
983916ec4a8df3 suijingfeng 2022-02-03  142  static struct drm_crtc_state *lsdc_crtc_atomic_duplicate_state(struct drm_crtc *crtc)
983916ec4a8df3 suijingfeng 2022-02-03  143  {
983916ec4a8df3 suijingfeng 2022-02-03  144  	struct lsdc_crtc_state *new_priv_state;
983916ec4a8df3 suijingfeng 2022-02-03  145  	struct lsdc_crtc_state *old_priv_state;
983916ec4a8df3 suijingfeng 2022-02-03 @146  	struct drm_device *ddev = crtc->dev;
983916ec4a8df3 suijingfeng 2022-02-03  147  
983916ec4a8df3 suijingfeng 2022-02-03  148  	if (drm_WARN_ON(ddev, !crtc->state))
983916ec4a8df3 suijingfeng 2022-02-03  149  		return NULL;
983916ec4a8df3 suijingfeng 2022-02-03  150  
983916ec4a8df3 suijingfeng 2022-02-03  151  	new_priv_state = kmalloc(sizeof(*new_priv_state), GFP_KERNEL);
983916ec4a8df3 suijingfeng 2022-02-03  152  	if (!new_priv_state)
983916ec4a8df3 suijingfeng 2022-02-03  153  		return NULL;
983916ec4a8df3 suijingfeng 2022-02-03  154  
983916ec4a8df3 suijingfeng 2022-02-03  155  	__drm_atomic_helper_crtc_duplicate_state(crtc, &new_priv_state->base);
983916ec4a8df3 suijingfeng 2022-02-03  156  
983916ec4a8df3 suijingfeng 2022-02-03  157  	old_priv_state = to_lsdc_crtc_state(crtc->state);
983916ec4a8df3 suijingfeng 2022-02-03  158  
983916ec4a8df3 suijingfeng 2022-02-03  159  	memcpy(&new_priv_state->pparams, &old_priv_state->pparams,
983916ec4a8df3 suijingfeng 2022-02-03  160  		sizeof(new_priv_state->pparams));
983916ec4a8df3 suijingfeng 2022-02-03  161  
983916ec4a8df3 suijingfeng 2022-02-03  162  	new_priv_state->pix_fmt = old_priv_state->pix_fmt;
983916ec4a8df3 suijingfeng 2022-02-03  163  
983916ec4a8df3 suijingfeng 2022-02-03  164  	return &new_priv_state->base;
983916ec4a8df3 suijingfeng 2022-02-03  165  }
983916ec4a8df3 suijingfeng 2022-02-03  166  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2022-02-12  5:04 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-12  5:04 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-02-10 23:10 [PATCH v6 1/3] drm/lsdc: add drm driver for loongson display controller kernel test robot
2022-02-06 19:38 kernel test robot
2022-02-03  8:25 [PATCH v6 0/3] " Sui Jingfeng
2022-02-03  8:25 ` [PATCH v6 1/3] " Sui Jingfeng
2022-02-03  8:53   ` Krzysztof Kozlowski
2022-02-03  8:53     ` Krzysztof Kozlowski
2022-02-03 11:07     ` Dan Carpenter
2022-02-03 11:07       ` Dan Carpenter
2022-02-03 11:29       ` Krzysztof Kozlowski
2022-02-03 11:29         ` Krzysztof Kozlowski
2022-02-03 13:34         ` Dan Carpenter
2022-02-03 13:34           ` Dan Carpenter
2022-02-03  8:58   ` Maxime Ripard
2022-02-03 14:14     ` Sui Jingfeng
2022-02-03 15:27     ` Sui Jingfeng
2022-02-03 15:47     ` Sui Jingfeng
2022-02-03 15:47       ` Sui Jingfeng
2022-02-09  8:52       ` Maxime Ripard
2022-02-09  8:52         ` Maxime Ripard
2022-02-09 11:56         ` Jiaxun Yang
2022-02-09 11:56           ` Jiaxun Yang
2022-02-09 14:04           ` Maxime Ripard
2022-02-09 14:04             ` Maxime Ripard
2022-02-09 14:14             ` Jiaxun Yang
2022-02-09 14:14               ` Jiaxun Yang
2023-02-03  3:25             ` suijingfeng
2022-02-03 16:04     ` Sui Jingfeng
2022-02-03 16:04       ` Sui Jingfeng
2022-02-09  8:49       ` Maxime Ripard
2022-02-09  8:49         ` Maxime Ripard
2022-02-09 14:38         ` Sui Jingfeng
2022-02-09 14:38           ` Sui Jingfeng
2022-02-09 16:16           ` Maxime Ripard
2022-02-09 16:16             ` Maxime Ripard
2022-02-12 18:11             ` Sui Jingfeng
2022-02-12 18:11               ` Sui Jingfeng
2022-02-16 14:08               ` Maxime Ripard
2022-02-16 14:08                 ` Maxime Ripard
2022-02-12 20:52             ` Ilia Mirkin
2022-02-12 20:52               ` Ilia Mirkin
2022-02-16 13:34             ` Sui Jingfeng
2022-02-16 13:34               ` Sui Jingfeng
2022-02-16 14:11               ` Maxime Ripard
2022-02-16 14:11                 ` Maxime Ripard
2022-02-03 16:29     ` Sui Jingfeng
2022-02-03 16:29       ` Sui Jingfeng
2022-02-09  8:43       ` Maxime Ripard
2022-02-09  8:43         ` Maxime Ripard
2022-02-09 15:41         ` Sui Jingfeng
2022-02-09 15:41           ` Sui Jingfeng
2022-02-09 16:19           ` Maxime Ripard
2022-02-09 16:19             ` Maxime Ripard
2022-02-16 13:46           ` Daniel Stone
2022-02-16 13:46             ` Daniel Stone
2022-02-16 14:13             ` Sui Jingfeng
2022-02-16 14:13               ` Sui Jingfeng
2022-02-16 14:43               ` Daniel Stone
2022-02-16 14:43                 ` Daniel Stone
2022-02-03 16:41     ` Sui Jingfeng
2022-02-03 16:41       ` Sui Jingfeng
2022-02-09  8:36       ` Maxime Ripard
2022-02-09  8:36         ` Maxime Ripard
2023-02-02  2:58         ` suijingfeng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202202121140.KF8JhdUn-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.