From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [linux-next:master 10191/10581] mm/memremap.c:270 pagemap_range() warn: missing error code 'error'
Date: Sat, 13 Feb 2021 05:19:45 +0800 [thread overview]
Message-ID: <202102130541.wktw7nRa-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 12134 bytes --]
CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Anshuman Khandual <anshuman.khandual@arm.com>
CC: David Hildenbrand <david@redhat.com>
CC: Oscar Salvador <osalvador@suse.de>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 671176b0016c80b3943cb5387312c886aba3308d
commit: 719fa3d6ddb50d3035c713c27feeae8b249eb586 [10191/10581] mm/memory_hotplug: prevalidate the address range being added with platform
:::::: branch date: 34 hours ago
:::::: commit date: 2 days ago
config: x86_64-randconfig-m001-20210211 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
mm/memremap.c:270 pagemap_range() warn: missing error code 'error'
vim +/error +270 mm/memremap.c
24917f6b1041a7 kernel/memremap.c Christoph Hellwig 2019-06-26 219
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 220 static int pagemap_range(struct dev_pagemap *pgmap, struct mhp_params *params,
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 221 int range_id, int nid)
41e94a851304f7 kernel/memremap.c Christoph Hellwig 2015-08-17 222 {
719fa3d6ddb50d mm/memremap.c Anshuman Khandual 2021-02-09 223 const bool is_private = pgmap->type == MEMORY_DEVICE_PRIVATE;
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 224 struct range *range = &pgmap->ranges[range_id];
966cf44f637e6a kernel/memremap.c Alexander Duyck 2018-10-26 225 struct dev_pagemap *conflict_pgmap;
6869b7b206595a kernel/memremap.c Christoph Hellwig 2019-08-18 226 int error, is_ram;
a95c90f1e2c253 kernel/memremap.c Dan Williams 2018-12-28 227
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 228 if (WARN_ONCE(pgmap_altmap(pgmap) && range_id > 0,
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 229 "altmap not supported for multiple ranges\n"))
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 230 return -EINVAL;
f6a55e1a3fe6b3 kernel/memremap.c Christoph Hellwig 2019-06-26 231
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 232 conflict_pgmap = get_dev_pagemap(PHYS_PFN(range->start), NULL);
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 233 if (conflict_pgmap) {
6869b7b206595a kernel/memremap.c Christoph Hellwig 2019-08-18 234 WARN(1, "Conflicting mapping in same section\n");
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 235 put_dev_pagemap(conflict_pgmap);
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 236 return -ENOMEM;
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 237 }
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 238
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 239 conflict_pgmap = get_dev_pagemap(PHYS_PFN(range->end), NULL);
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 240 if (conflict_pgmap) {
6869b7b206595a kernel/memremap.c Christoph Hellwig 2019-08-18 241 WARN(1, "Conflicting mapping in same section\n");
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 242 put_dev_pagemap(conflict_pgmap);
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 243 return -ENOMEM;
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 244 }
15d36fecd0bdc7 kernel/memremap.c Dave Jiang 2018-07-26 245
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 246 is_ram = region_intersects(range->start, range_len(range),
d37a14bb5fed13 kernel/memremap.c Linus Torvalds 2016-03-14 247 IORESOURCE_SYSTEM_RAM, IORES_DESC_NONE);
41e94a851304f7 kernel/memremap.c Christoph Hellwig 2015-08-17 248
06489cfbd915ff kernel/memremap.c Dan Williams 2018-12-28 249 if (is_ram != REGION_DISJOINT) {
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 250 WARN_ONCE(1, "attempted on %s region %#llx-%#llx\n",
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 251 is_ram == REGION_MIXED ? "mixed" : "ram",
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 252 range->start, range->end);
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 253 return -ENXIO;
41e94a851304f7 kernel/memremap.c Christoph Hellwig 2015-08-17 254 }
41e94a851304f7 kernel/memremap.c Christoph Hellwig 2015-08-17 255
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 256 error = xa_err(xa_store_range(&pgmap_array, PHYS_PFN(range->start),
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 257 PHYS_PFN(range->end), pgmap, GFP_KERNEL));
9476df7d80dfc4 kernel/memremap.c Dan Williams 2016-01-15 258 if (error)
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 259 return error;
9476df7d80dfc4 kernel/memremap.c Dan Williams 2016-01-15 260
41e94a851304f7 kernel/memremap.c Christoph Hellwig 2015-08-17 261 if (nid < 0)
7eff93b7c99f5d kernel/memremap.c Dan Williams 2015-10-05 262 nid = numa_mem_id();
41e94a851304f7 kernel/memremap.c Christoph Hellwig 2015-08-17 263
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 264 error = track_pfn_remap(NULL, ¶ms->pgprot, PHYS_PFN(range->start), 0,
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 265 range_len(range));
9049771f7d5490 kernel/memremap.c Dan Williams 2016-09-07 266 if (error)
9049771f7d5490 kernel/memremap.c Dan Williams 2016-09-07 267 goto err_pfn_remap;
9049771f7d5490 kernel/memremap.c Dan Williams 2016-09-07 268
719fa3d6ddb50d mm/memremap.c Anshuman Khandual 2021-02-09 269 if (!mhp_range_allowed(range->start, range_len(range), !is_private))
719fa3d6ddb50d mm/memremap.c Anshuman Khandual 2021-02-09 @270 goto err_pfn_remap;
719fa3d6ddb50d mm/memremap.c Anshuman Khandual 2021-02-09 271
f931ab479dd24c kernel/memremap.c Dan Williams 2017-01-10 272 mem_hotplug_begin();
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 273
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 274 /*
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 275 * For device private memory we call add_pages() as we only need to
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 276 * allocate and initialize struct page for the device memory. More-
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 277 * over the device memory is un-accessible thus we do not want to
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 278 * create a linear mapping for the memory like arch_add_memory()
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 279 * would do.
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 280 *
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 281 * For all other device memory types, which are accessible by
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 282 * the CPU, we do want the linear mapping and thus use
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 283 * arch_add_memory().
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 284 */
719fa3d6ddb50d mm/memremap.c Anshuman Khandual 2021-02-09 285 if (is_private) {
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 286 error = add_pages(nid, PHYS_PFN(range->start),
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 287 PHYS_PFN(range_len(range)), params);
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 288 } else {
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 289 error = kasan_add_zero_shadow(__va(range->start), range_len(range));
0207df4fa1a869 kernel/memremap.c Andrey Ryabinin 2018-08-17 290 if (error) {
0207df4fa1a869 kernel/memremap.c Andrey Ryabinin 2018-08-17 291 mem_hotplug_done();
0207df4fa1a869 kernel/memremap.c Andrey Ryabinin 2018-08-17 292 goto err_kasan;
0207df4fa1a869 kernel/memremap.c Andrey Ryabinin 2018-08-17 293 }
0207df4fa1a869 kernel/memremap.c Andrey Ryabinin 2018-08-17 294
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 295 error = arch_add_memory(nid, range->start, range_len(range),
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 296 params);
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 297 }
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 298
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 299 if (!error) {
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 300 struct zone *zone;
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 301
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 302 zone = &NODE_DATA(nid)->node_zones[ZONE_DEVICE];
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 303 move_pfn_range_to_zone(zone, PHYS_PFN(range->start),
d882c0067d99d0 mm/memremap.c David Hildenbrand 2020-10-15 304 PHYS_PFN(range_len(range)), params->altmap,
d882c0067d99d0 mm/memremap.c David Hildenbrand 2020-10-15 305 MIGRATE_MOVABLE);
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 306 }
69324b8f48339d kernel/memremap.c Dan Williams 2018-12-28 307
f931ab479dd24c kernel/memremap.c Dan Williams 2017-01-10 308 mem_hotplug_done();
9476df7d80dfc4 kernel/memremap.c Dan Williams 2016-01-15 309 if (error)
9476df7d80dfc4 kernel/memremap.c Dan Williams 2016-01-15 310 goto err_add_memory;
41e94a851304f7 kernel/memremap.c Christoph Hellwig 2015-08-17 311
d77a117e6871ff kernel/memremap.c Dan Williams 2016-03-09 312 /*
966cf44f637e6a kernel/memremap.c Alexander Duyck 2018-10-26 313 * Initialization of the pages has been deferred until now in order
966cf44f637e6a kernel/memremap.c Alexander Duyck 2018-10-26 314 * to allow us to do the work while not holding the hotplug lock.
d77a117e6871ff kernel/memremap.c Dan Williams 2016-03-09 315 */
966cf44f637e6a kernel/memremap.c Alexander Duyck 2018-10-26 316 memmap_init_zone_device(&NODE_DATA(nid)->node_zones[ZONE_DEVICE],
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 317 PHYS_PFN(range->start),
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 318 PHYS_PFN(range_len(range)), pgmap);
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 319 percpu_ref_get_many(pgmap->ref, pfn_end(pgmap, range_id)
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 320 - pfn_first(pgmap, range_id));
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 321 return 0;
9476df7d80dfc4 kernel/memremap.c Dan Williams 2016-01-15 322
9476df7d80dfc4 kernel/memremap.c Dan Williams 2016-01-15 323 err_add_memory:
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 324 kasan_remove_zero_shadow(__va(range->start), range_len(range));
0207df4fa1a869 kernel/memremap.c Andrey Ryabinin 2018-08-17 325 err_kasan:
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 326 untrack_pfn(NULL, PHYS_PFN(range->start), range_len(range));
9049771f7d5490 kernel/memremap.c Dan Williams 2016-09-07 327 err_pfn_remap:
a4574f63edc6f7 mm/memremap.c Dan Williams 2020-10-13 328 pgmap_array_delete(range);
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 329 return error;
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 330 }
b7b3c01b191596 mm/memremap.c Dan Williams 2020-10-13 331
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37889 bytes --]
next reply other threads:[~2021-02-12 21:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-12 21:19 kernel test robot [this message]
2021-02-15 12:40 [linux-next:master 10191/10581] mm/memremap.c:270 pagemap_range() warn: missing error code 'error' Dan Carpenter
2021-02-15 12:40 ` Dan Carpenter
2021-02-15 12:40 ` Dan Carpenter
2021-02-18 22:29 ` Andrew Morton
2021-02-18 22:29 ` Andrew Morton
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=202102130541.wktw7nRa-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.