aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-08-04 20:31:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-08-04 20:31:20 -0400
commitf8fbd8c49b7dee2e9b9d7c9754972fa2ca335251 (patch)
tree5f1e8994cce98c3817ab0038706820a5a8e5810e
parent84e39eeb08c0ea7e9ec43ac820bf76a6fe8ecbad (diff)
parente47608ab6dbe63fefe60c211a30b3fc78a1b5d5e (diff)
Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton: "A few late-breaking fixes" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: mm/memblock.c: fix NULL dereference error MAINTAINERS: update cgroup's document path slub: drop bogus inline for fixup_red_left() powerpc/fsl_rio: fix a missing error code mm: initialise per_cpu_nodestats for all online pgdats at boot mm/memblock: fix a typo in a comment mm: disable CONFIG_MEMORY_HOTPLUG when KASAN is enabled
-rw-r--r--MAINTAINERS4
-rw-r--r--arch/powerpc/sysdev/fsl_rio.c1
-rw-r--r--mm/Kconfig1
-rw-r--r--mm/memblock.c9
-rw-r--r--mm/page_alloc.c10
-rw-r--r--mm/slub.c2
6 files changed, 16 insertions, 11 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 5e1f03f0a526..efc203109a62 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3219,7 +3219,7 @@ M: Johannes Weiner <hannes@cmpxchg.org>
3219L: cgroups@vger.kernel.org 3219L: cgroups@vger.kernel.org
3220T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git 3220T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
3221S: Maintained 3221S: Maintained
3222F: Documentation/cgroups/ 3222F: Documentation/cgroup*
3223F: include/linux/cgroup* 3223F: include/linux/cgroup*
3224F: kernel/cgroup* 3224F: kernel/cgroup*
3225 3225
@@ -3230,7 +3230,7 @@ W: http://www.bullopensource.org/cpuset/
3230W: http://oss.sgi.com/projects/cpusets/ 3230W: http://oss.sgi.com/projects/cpusets/
3231T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git 3231T: git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
3232S: Maintained 3232S: Maintained
3233F: Documentation/cgroups/cpusets.txt 3233F: Documentation/cgroup-v1/cpusets.txt
3234F: include/linux/cpuset.h 3234F: include/linux/cpuset.h
3235F: kernel/cpuset.c 3235F: kernel/cpuset.c
3236 3236
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
index 984e816f3faf..68e7c0dd2e45 100644
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -491,6 +491,7 @@ int fsl_rio_setup(struct platform_device *dev)
491 rmu_node = of_parse_phandle(dev->dev.of_node, "fsl,srio-rmu-handle", 0); 491 rmu_node = of_parse_phandle(dev->dev.of_node, "fsl,srio-rmu-handle", 0);
492 if (!rmu_node) { 492 if (!rmu_node) {
493 dev_err(&dev->dev, "No valid fsl,srio-rmu-handle property\n"); 493 dev_err(&dev->dev, "No valid fsl,srio-rmu-handle property\n");
494 rc = -ENOENT;
494 goto err_rmu; 495 goto err_rmu;
495 } 496 }
496 rc = of_address_to_resource(rmu_node, 0, &rmu_regs); 497 rc = of_address_to_resource(rmu_node, 0, &rmu_regs);
diff --git a/mm/Kconfig b/mm/Kconfig
index c0837845c17c..78a23c5c302d 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -187,6 +187,7 @@ config MEMORY_HOTPLUG
187 bool "Allow for memory hot-add" 187 bool "Allow for memory hot-add"
188 depends on SPARSEMEM || X86_64_ACPI_NUMA 188 depends on SPARSEMEM || X86_64_ACPI_NUMA
189 depends on ARCH_ENABLE_MEMORY_HOTPLUG 189 depends on ARCH_ENABLE_MEMORY_HOTPLUG
190 depends on !KASAN
190 191
191config MEMORY_HOTPLUG_SPARSE 192config MEMORY_HOTPLUG_SPARSE
192 def_bool y 193 def_bool y
diff --git a/mm/memblock.c b/mm/memblock.c
index ff5ff3b5f1ea..483197ef613f 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -482,7 +482,7 @@ static void __init_memblock memblock_merge_regions(struct memblock_type *type)
482 * @flags: flags of the new region 482 * @flags: flags of the new region
483 * 483 *
484 * Insert new memblock region [@base,@base+@size) into @type at @idx. 484 * Insert new memblock region [@base,@base+@size) into @type at @idx.
485 * @type must already have extra room to accomodate the new region. 485 * @type must already have extra room to accommodate the new region.
486 */ 486 */
487static void __init_memblock memblock_insert_region(struct memblock_type *type, 487static void __init_memblock memblock_insert_region(struct memblock_type *type,
488 int idx, phys_addr_t base, 488 int idx, phys_addr_t base,
@@ -544,7 +544,7 @@ repeat:
544 /* 544 /*
545 * The following is executed twice. Once with %false @insert and 545 * The following is executed twice. Once with %false @insert and
546 * then with %true. The first counts the number of regions needed 546 * then with %true. The first counts the number of regions needed
547 * to accomodate the new area. The second actually inserts them. 547 * to accommodate the new area. The second actually inserts them.
548 */ 548 */
549 base = obase; 549 base = obase;
550 nr_new = 0; 550 nr_new = 0;
@@ -994,7 +994,10 @@ void __init_memblock __next_mem_range_rev(u64 *idx, int nid, ulong flags,
994 994
995 if (*idx == (u64)ULLONG_MAX) { 995 if (*idx == (u64)ULLONG_MAX) {
996 idx_a = type_a->cnt - 1; 996 idx_a = type_a->cnt - 1;
997 idx_b = type_b->cnt; 997 if (type_b != NULL)
998 idx_b = type_b->cnt;
999 else
1000 idx_b = 0;
998 } 1001 }
999 1002
1000 for (; idx_a >= 0; idx_a--) { 1003 for (; idx_a >= 0; idx_a--) {
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 39a372a2a1d6..fb975cec3518 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5257,11 +5257,6 @@ static void __meminit setup_zone_pageset(struct zone *zone)
5257 zone->pageset = alloc_percpu(struct per_cpu_pageset); 5257 zone->pageset = alloc_percpu(struct per_cpu_pageset);
5258 for_each_possible_cpu(cpu) 5258 for_each_possible_cpu(cpu)
5259 zone_pageset_init(zone, cpu); 5259 zone_pageset_init(zone, cpu);
5260
5261 if (!zone->zone_pgdat->per_cpu_nodestats) {
5262 zone->zone_pgdat->per_cpu_nodestats =
5263 alloc_percpu(struct per_cpu_nodestat);
5264 }
5265} 5260}
5266 5261
5267/* 5262/*
@@ -5270,10 +5265,15 @@ static void __meminit setup_zone_pageset(struct zone *zone)
5270 */ 5265 */
5271void __init setup_per_cpu_pageset(void) 5266void __init setup_per_cpu_pageset(void)
5272{ 5267{
5268 struct pglist_data *pgdat;
5273 struct zone *zone; 5269 struct zone *zone;
5274 5270
5275 for_each_populated_zone(zone) 5271 for_each_populated_zone(zone)
5276 setup_zone_pageset(zone); 5272 setup_zone_pageset(zone);
5273
5274 for_each_online_pgdat(pgdat)
5275 pgdat->per_cpu_nodestats =
5276 alloc_percpu(struct per_cpu_nodestat);
5277} 5277}
5278 5278
5279static noinline __ref 5279static noinline __ref
diff --git a/mm/slub.c b/mm/slub.c
index 26eb6a99540e..850737bdfbd8 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -124,7 +124,7 @@ static inline int kmem_cache_debug(struct kmem_cache *s)
124#endif 124#endif
125} 125}
126 126
127inline void *fixup_red_left(struct kmem_cache *s, void *p) 127void *fixup_red_left(struct kmem_cache *s, void *p)
128{ 128{
129 if (kmem_cache_debug(s) && s->flags & SLAB_RED_ZONE) 129 if (kmem_cache_debug(s) && s->flags & SLAB_RED_ZONE)
130 p += s->red_left_pad; 130 p += s->red_left_pad;