Hi KuoHsiang,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-exynos/exynos-drm-next]
[also build test WARNING on drm-intel/for-linux-next 
tegra-drm/drm/tegra/for-next drm-tip/drm-tip linus/master v5.10-rc7 
next-20201211]
[cannot apply to drm/drm-next]
[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/KuoHsiang-Chou/drm-ast-Fixed-CVE-for-DP501/20201211-162352
base:   https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git 
exynos-drm-next
config: x86_64-randconfig-s022-20201210 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-179-ga00755aa-dirty
        # 
https://github.com/0day-ci/linux/commit/75af180bfa7bc2227224653381d743b9396b41c2
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
KuoHsiang-Chou/drm-ast-Fixed-CVE-for-DP501/20201211-162352
        git checkout 75af180bfa7bc2227224653381d743b9396b41c2
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


"sparse warnings: (new ones prefixed by >>)"
>> drivers/gpu/drm/ast/ast_dp501.c:357:39: sparse: sparse: incorrect type in 
>> argument 2 (different address spaces) @@     expected void volatile 
>> [noderef] __iomem *addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/ast/ast_dp501.c:357:39: sparse:     expected void volatile 
[noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_dp501.c:357:39: sparse:     got unsigned int 
[usertype] *
   drivers/gpu/drm/ast/ast_dp501.c:383:39: sparse: sparse: incorrect type in 
argument 2 (different address spaces) @@     expected void volatile [noderef] 
__iomem *addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/ast/ast_dp501.c:383:39: sparse:     expected void volatile 
[noderef] __iomem *addr
   drivers/gpu/drm/ast/ast_dp501.c:383:39: sparse:     got unsigned int 
[usertype] *

vim +357 drivers/gpu/drm/ast/ast_dp501.c

   332  
   333  bool ast_dp501_read_edid(struct drm_device *dev, u8 *ediddata)
   334  {
   335          struct ast_private *ast = to_ast_private(dev);
   336          u32 i, boot_address, offset, data;
   337  
   338          if (ast->config_mode == ast_use_p2a) {
   339                  boot_address = get_fw_base(ast);
   340  
   341                  /* validate FW version */
   342                  offset = AST_DP501_GBL_VERSION;
   343                  data = ast_mindwm(ast, boot_address + offset);
   344                  if ((data & AST_DP501_FW_VERSION_MASK) != 
AST_DP501_FW_VERSION_1)
   345                          return false;
   346  
   347                  /* validate PnP Monitor */
   348                  offset = AST_DP501_PNPMONITOR;
   349                  data = ast_mindwm(ast, boot_address + offset);
   350                  if (!(data & AST_DP501_PNP_CONNECTED))
   351                          return false;
   352  
   353                  /* Read EDID */
   354                  offset = AST_DP501_EDID_DATA;
   355                  for (i = 0; i < 128; i += 4) {
   356                          data = ast_mindwm(ast, boot_address + offset + 
i);
 > 357                          writel(data, (u32 *)(ediddata + i));
   358                  }
   359          } else {
   360                  if (!ast->dp501_fw_buf)
   361                          return false;
   362  
   363                  /* dummy read */
   364                  offset = 0x0000;
   365                  data = readl(ast->dp501_fw_buf + offset);
   366  
   367                  /* validate FW version */
   368                  offset = AST_DP501_GBL_VERSION;
   369                  data = readl(ast->dp501_fw_buf + offset);
   370                  if ((data & AST_DP501_FW_VERSION_MASK) != 
AST_DP501_FW_VERSION_1)
   371                          return false;
   372  
   373                  /* validate PnP Monitor */
   374                  offset = AST_DP501_PNPMONITOR;
   375                  data = readl(ast->dp501_fw_buf + offset);
   376                  if (!(data & AST_DP501_PNP_CONNECTED))
   377                          return false;
   378  
   379                  /* Read EDID */
   380                  offset = AST_DP501_EDID_DATA;
   381                  for (i = 0; i < 128; i += 4) {
   382                          data = readl(ast->dp501_fw_buf + offset + i);
   383                          writel(data, (u32 *)(ediddata + i));
   384                  }
   385          }
   386  
   387          return true;
   388  }
   389  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to