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>] [day] [month] [year] [list]
Date:   Tue, 15 Mar 2022 15:25:21 +0800
From:   kernel test robot <lkp@...el.com>
To:     Ben Widawsky <ben.widawsky@...el.com>
Cc:     kbuild-all@...ts.01.org,
        Alison Schofield <alison.schofield@...el.com>,
        Vishal Verma <vishal.l.verma@...el.com>,
        Ira Weiny <ira.weiny@...el.com>,
        Ben Widawsky <ben.widawsky@...el.com>,
        Dan Williams <dan.j.williams@...el.com>,
        linux-kernel@...r.kernel.org
Subject: [cxl:preview 55/78] drivers/cxl/region.c:104: undefined reference to
 `__umoddi3'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git preview
head:   9b688fc651b9d2b633e8d959454670aba1c39162
commit: 786e9e583773745bcd55c225d3a2643454dcca84 [55/78] cxl/region: Introduce a cxl_region driver
config: i386-randconfig-c021-20220314 (https://download.01.org/0day-ci/archive/20220315/202203151541.AJJWxAas-lkp@intel.com/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git/commit/?id=786e9e583773745bcd55c225d3a2643454dcca84
        git remote add cxl https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git
        git fetch --no-tags cxl preview
        git checkout 786e9e583773745bcd55c225d3a2643454dcca84
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

   ld: drivers/cxl/region.o: in function `sanitize_region':
>> drivers/cxl/region.c:104: undefined reference to `__umoddi3'


vim +104 drivers/cxl/region.c

    66	
    67	/**
    68	 * sanitize_region() - Check is region is reasonably configured
    69	 * @cxlr: The region to check
    70	 *
    71	 * Determination as to whether or not a region can possibly be configured is
    72	 * described in CXL Memory Device SW Guide. In order to implement the algorithms
    73	 * described there, certain more basic configuration parameters must first need
    74	 * to be validated. That is accomplished by this function.
    75	 *
    76	 * Returns 0 if the region is reasonably configured, else returns a negative
    77	 * error code.
    78	 */
    79	static int sanitize_region(const struct cxl_region *cxlr)
    80	{
    81		const int ig = region_granularity(cxlr);
    82		const int iw = region_ways(cxlr);
    83		int i;
    84	
    85		if (dev_WARN_ONCE(&cxlr->dev, !is_cxl_region_configured(cxlr),
    86				  "unconfigured regions can't be probed (race?)\n")) {
    87			return -ENXIO;
    88		}
    89	
    90		/*
    91		 * Interleave attributes should be caught by later math, but it's
    92		 * easiest to find those issues here, now.
    93		 */
    94		if (!cxl_is_interleave_ways_valid(iw)) {
    95			dev_dbg(&cxlr->dev, "Invalid number of ways\n");
    96			return -ENXIO;
    97		}
    98	
    99		if (!cxl_is_interleave_granularity_valid(ig)) {
   100			dev_dbg(&cxlr->dev, "Invalid interleave granularity\n");
   101			return -ENXIO;
   102		}
   103	
 > 104		if (cxlr->config.size % (SZ_256M * iw)) {
   105			dev_dbg(&cxlr->dev, "Invalid size. Must be multiple of %uM\n",
   106				256 * iw);
   107			return -ENXIO;
   108		}
   109	
   110		for (i = 0; i < iw; i++) {
   111			if (!cxlr->config.targets[i]) {
   112				dev_dbg(&cxlr->dev, "Missing memory device target%u",
   113					i);
   114				return -ENXIO;
   115			}
   116			if (!cxlr->config.targets[i]->dev.driver) {
   117				dev_dbg(&cxlr->dev, "%s isn't CXL.mem capable\n",
   118					dev_name(&cxlr->config.targets[i]->dev));
   119				return -ENODEV;
   120			}
   121		}
   122	
   123		return 0;
   124	}
   125	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ