i2c: jz4780: prevent potential division by zero
[cascardo/linux.git] / mm / percpu.c
index 998607a..0c59684 100644 (file)
@@ -53,6 +53,8 @@
  *   setup the first chunk containing the kernel static percpu area
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/bitmap.h>
 #include <linux/bootmem.h>
 #include <linux/err.h>
@@ -888,8 +890,8 @@ static void __percpu *pcpu_alloc(size_t size, size_t align, bool reserved,
        size = ALIGN(size, 2);
 
        if (unlikely(!size || size > PCPU_MIN_UNIT_SIZE || align > PAGE_SIZE)) {
-               WARN(true, "illegal size (%zu) or align (%zu) for "
-                    "percpu allocation\n", size, align);
+               WARN(true, "illegal size (%zu) or align (%zu) for percpu allocation\n",
+                    size, align);
                return NULL;
        }
 
@@ -1033,11 +1035,11 @@ fail_unlock:
        spin_unlock_irqrestore(&pcpu_lock, flags);
 fail:
        if (!is_atomic && warn_limit) {
-               pr_warning("PERCPU: allocation failed, size=%zu align=%zu atomic=%d, %s\n",
-                          size, align, is_atomic, err);
+               pr_warn("allocation failed, size=%zu align=%zu atomic=%d, %s\n",
+                       size, align, is_atomic, err);
                dump_stack();
                if (!--warn_limit)
-                       pr_info("PERCPU: limit reached, disable warning\n");
+                       pr_info("limit reached, disable warning\n");
        }
        if (is_atomic) {
                /* see the flag handling in pcpu_blance_workfn() */
@@ -1449,20 +1451,20 @@ static void pcpu_dump_alloc_info(const char *lvl,
                for (alloc_end += gi->nr_units / upa;
                     alloc < alloc_end; alloc++) {
                        if (!(alloc % apl)) {
-                               printk(KERN_CONT "\n");
+                               pr_cont("\n");
                                printk("%spcpu-alloc: ", lvl);
                        }
-                       printk(KERN_CONT "[%0*d] ", group_width, group);
+                       pr_cont("[%0*d] ", group_width, group);
 
                        for (unit_end += upa; unit < unit_end; unit++)
                                if (gi->cpu_map[unit] != NR_CPUS)
-                                       printk(KERN_CONT "%0*d ", cpu_width,
-                                              gi->cpu_map[unit]);
+                                       pr_cont("%0*d ",
+                                               cpu_width, gi->cpu_map[unit]);
                                else
-                                       printk(KERN_CONT "%s ", empty_str);
+                                       pr_cont("%s ", empty_str);
                }
        }
-       printk(KERN_CONT "\n");
+       pr_cont("\n");
 }
 
 /**
@@ -1538,8 +1540,8 @@ int __init pcpu_setup_first_chunk(const struct pcpu_alloc_info *ai,
 
 #define PCPU_SETUP_BUG_ON(cond)        do {                                    \
        if (unlikely(cond)) {                                           \
-               pr_emerg("PERCPU: failed to initialize, %s", #cond);    \
-               pr_emerg("PERCPU: cpu_possible_mask=%*pb\n",            \
+               pr_emerg("failed to initialize, %s\n", #cond);          \
+               pr_emerg("cpu_possible_mask=%*pb\n",                    \
                         cpumask_pr_args(cpu_possible_mask));           \
                pcpu_dump_alloc_info(KERN_EMERG, ai);                   \
                BUG();                                                  \
@@ -1723,7 +1725,7 @@ static int __init percpu_alloc_setup(char *str)
                pcpu_chosen_fc = PCPU_FC_PAGE;
 #endif
        else
-               pr_warning("PERCPU: unknown allocator %s specified\n", str);
+               pr_warn("unknown allocator %s specified\n", str);
 
        return 0;
 }
@@ -2016,9 +2018,8 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,
 
        /* warn if maximum distance is further than 75% of vmalloc space */
        if (max_distance > VMALLOC_TOTAL * 3 / 4) {
-               pr_warning("PERCPU: max_distance=0x%zx too large for vmalloc "
-                          "space 0x%lx\n", max_distance,
-                          VMALLOC_TOTAL);
+               pr_warn("max_distance=0x%zx too large for vmalloc space 0x%lx\n",
+                       max_distance, VMALLOC_TOTAL);
 #ifdef CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK
                /* and fail if we have fallback */
                rc = -EINVAL;
@@ -2026,7 +2027,7 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,
 #endif
        }
 
-       pr_info("PERCPU: Embedded %zu pages/cpu @%p s%zu r%zu d%zu u%zu\n",
+       pr_info("Embedded %zu pages/cpu @%p s%zu r%zu d%zu u%zu\n",
                PFN_DOWN(size_sum), base, ai->static_size, ai->reserved_size,
                ai->dyn_size, ai->unit_size);
 
@@ -2100,8 +2101,8 @@ int __init pcpu_page_first_chunk(size_t reserved_size,
 
                        ptr = alloc_fn(cpu, PAGE_SIZE, PAGE_SIZE);
                        if (!ptr) {
-                               pr_warning("PERCPU: failed to allocate %s page "
-                                          "for cpu%u\n", psize_str, cpu);
+                               pr_warn("failed to allocate %s page for cpu%u\n",
+                                       psize_str, cpu);
                                goto enomem;
                        }
                        /* kmemleak tracks the percpu allocations separately */
@@ -2140,7 +2141,7 @@ int __init pcpu_page_first_chunk(size_t reserved_size,
        }
 
        /* we're ready, commit */
-       pr_info("PERCPU: %d %s pages/cpu @%p s%zu r%zu d%zu\n",
+       pr_info("%d %s pages/cpu @%p s%zu r%zu d%zu\n",
                unit_pages, psize_str, vm.addr, ai->static_size,
                ai->reserved_size, ai->dyn_size);