Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1618103

Re: [Patch V2 2/2] x86/mm/numa: remove the numa_nodemask_from_meminfo()

From Borislav Petkov <bp@alien8.de>
Newsgroups linux.kernel
Subject Re: [Patch V2 2/2] x86/mm/numa: remove the numa_nodemask_from_meminfo()
Date 2017-04-06 17:10 +0200
Message-ID <tthcS-25g-17@gated-at.bofh.it> (permalink)
References <tkL0u-2gr-9@gated-at.bofh.it> <tkL0u-2gr-15@gated-at.bofh.it> <ttf1n-8X-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Apr 06, 2017 at 03:44:59PM +0300, Kirill A. Shutemov wrote:
> I've got the crash below on master/tip. Reveting the patch helps.
> 
> ================================================================================
> UBSAN: Undefined behaviour in /home/kas/linux/la57/mm/sparse.c:336:9
> member access within null pointer of type 'struct pglist_data'
> CPU: 0 PID: 0 Comm: swapper Not tainted 4.11.0-rc5-00604-gf03eaf0479bc #5084
> Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015

Oh, qemu, how do you trigger this exactly? .config and qemu cmdline pls?

Alternatively, can you run this debug diff and give me the output?

I'd like to know what is happening and how did I miss that during
review.

Thanks.

---



Oh, qemu, how do you trigger this exactly? .config and qemu cmdline pls?

Alternatively, can you run this debug diff and give me the output?

I'd like to know what is happening and how did I miss that during review.

Thanks.

---
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
index 29bfcb42c4f5..e20101fed1d9 100644
--- a/arch/x86/mm/numa.c
+++ b/arch/x86/mm/numa.c
@@ -517,11 +517,19 @@ static int __init numa_register_memblks(struct numa_meminfo *mi)
 
 	/* Account for nodes with cpus and no memory */
 	node_possible_map = numa_nodes_parsed;
+
+	pr_info("%s: numa_nodes_parsed: %*pbl\n",
+		__func__, nodemask_pr_args(&numa_nodes_parsed));
+
 	if (WARN_ON(nodes_empty(node_possible_map)))
 		return -EINVAL;
 
 	for (i = 0; i < mi->nr_blks; i++) {
 		struct numa_memblk *mb = &mi->blk[i];
+
+		if (mb->nid != NUMA_NO_NODE)
+			pr_info("%s: nid: %d\n", __func__, mb->nid);
+
 		memblock_set_node(mb->start, mb->end - mb->start,
 				  &memblock.memory, mb->nid);
 	}
diff --git a/mm/sparse.c b/mm/sparse.c
index db6bf3c97ea2..1f4cb635a111 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -333,6 +333,7 @@ static unsigned long * __init
 sparse_early_usemaps_alloc_pgdat_section(struct pglist_data *pgdat,
 					 unsigned long size)
 {
+	pr_info("%s: node_id: %d\n", __func__, pgdat->node_id);
 	return memblock_virt_alloc_node_nopanic(size, pgdat->node_id);
 }
 

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [Patch V2 2/2] x86/mm/numa: remove the  numa_nodemask_from_meminfo() "Kirill A. Shutemov" <kirill@shutemov.name> - 2017-04-06 14:50 +0200
  Re: [Patch V2 2/2] x86/mm/numa: remove the  numa_nodemask_from_meminfo() Borislav Petkov <bp@alien8.de> - 2017-04-06 17:10 +0200
    Re: [Patch V2 2/2] x86/mm/numa: remove the  numa_nodemask_from_meminfo() Borislav Petkov <bp@alien8.de> - 2017-04-06 20:10 +0200
      Re: [Patch V2 2/2] x86/mm/numa: remove the  numa_nodemask_from_meminfo() "Kirill A. Shutemov" <kirill@shutemov.name> - 2017-04-06 20:30 +0200
        Re: [Patch V2 2/2] x86/mm/numa: remove the  numa_nodemask_from_meminfo() Borislav Petkov <bp@alien8.de> - 2017-04-06 20:50 +0200
          Re: [Patch V2 2/2] x86/mm/numa: remove the numa_nodemask_from_meminfo() Wei Yang <richard.weiyang@gmail.com> - 2017-04-09 05:20 +0200
            Re: [Patch V2 2/2] x86/mm/numa: remove the  numa_nodemask_from_meminfo() Borislav Petkov <bp@alien8.de> - 2017-04-10 14:50 +0200

csiph-web