lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202012120256.nX6SgoRT-lkp@intel.com>
Date:   Sat, 12 Dec 2020 02:52:46 +0800
From:   kernel test robot <lkp@...el.com>
To:     KuoHsiang Chou <kuohsiang_chou@...eedtech.com>,
        tzimmermann@...e.de, dri-devel@...ts.freedesktop.org,
        linux-kernel@...r.kernel.org
Cc:     kbuild-all@...ts.01.org, airlied@...ux.ie,
        tommy_huang@...eedtech.com, jenmin_yuan@...eedtech.com,
        airlied@...hat.com, arc_sung@...eedtech.com
Subject: Re: [PATCH v2] drm/ast: Fixed CVE for DP501

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 <lkp@...el.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-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (38525 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ