binder: blacklist %p kptr_restrict
authorNick Desaulniers <ndesaulniers@google.com>
Fri, 7 Oct 2016 18:13:55 +0000 (11:13 -0700)
committerStricted <info@stricted.net>
Thu, 11 Oct 2018 16:10:09 +0000 (18:10 +0200)
Bug: 31495231
Change-Id: Iebc150f6bc939b56e021424ee44fb30ce8d732fd
[d-cagle@codeaurora.org: Applied to correct file location]
Git-repo: https://android.googlesource.com/kernel/msm.git
Git-commit: 0804d7840364fc1a93652632bd43a93c055c658e
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
Signed-off-by: Pradosh Das <prados@codeaurora.org>
drivers/android/binder.c

index a57de030e98a1b6ba7312220b0cecc212ff55582..b3f5d9d58d51c4dc10d7eea9a130064a70d0012b 100644 (file)
@@ -476,7 +476,7 @@ static void binder_insert_free_buffer(struct binder_proc *proc,
        new_buffer_size = binder_buffer_size(proc, new_buffer);
 
        binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                    "%d: add free buffer, size %zd, at %p\n",
+                    "%d: add free buffer, size %zd, at %pK\n",
                      proc->pid, new_buffer_size, new_buffer);
 
        while (*p) {
@@ -555,7 +555,7 @@ static int binder_update_page_range(struct binder_proc *proc, int allocate,
        struct mm_struct *mm;
 
        binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                    "%d: %s pages %p-%p\n", proc->pid,
+                    "%d: %s pages %pK-%pK\n", proc->pid,
                     allocate ? "allocate" : "free", start, end);
 
        if (end <= start)
@@ -595,7 +595,7 @@ static int binder_update_page_range(struct binder_proc *proc, int allocate,
                BUG_ON(*page);
                *page = alloc_page(GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO);
                if (*page == NULL) {
-                       pr_err("%d: binder_alloc_buf failed for page at %p\n",
+                       pr_err("%d: binder_alloc_buf failed for page at %pK\n",
                                proc->pid, page_addr);
                        goto err_alloc_page_failed;
                }
@@ -603,7 +603,7 @@ static int binder_update_page_range(struct binder_proc *proc, int allocate,
                tmp_area.size = PAGE_SIZE + PAGE_SIZE /* guard page? */;
                ret = map_vm_area(&tmp_area, PAGE_KERNEL, page);
                if (ret) {
-                       pr_err("%d: binder_alloc_buf failed to map page at %p in kernel\n",
+                       pr_err("%d: binder_alloc_buf failed to map page at %pK in kernel\n",
                               proc->pid, page_addr);
                        goto err_map_kernel_failed;
                }
@@ -707,7 +707,7 @@ static struct binder_buffer *binder_alloc_buf(struct binder_proc *proc,
        }
 
        binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                    "%d: binder_alloc_buf size %zd got buffer %p size %zd\n",
+                    "%d: binder_alloc_buf size %zd got buffer %pK size %zd\n",
                      proc->pid, size, buffer, buffer_size);
 
        has_page_addr =
@@ -737,7 +737,7 @@ static struct binder_buffer *binder_alloc_buf(struct binder_proc *proc,
                binder_insert_free_buffer(proc, new_buffer);
        }
        binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                    "%d: binder_alloc_buf size %zd got %p\n",
+                    "%d: binder_alloc_buf size %zd got %pK\n",
                      proc->pid, size, buffer);
        buffer->data_size = data_size;
        buffer->offsets_size = offsets_size;
@@ -777,7 +777,7 @@ static void binder_delete_free_buffer(struct binder_proc *proc,
                if (buffer_end_page(prev) == buffer_end_page(buffer))
                        free_page_end = 0;
                binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                            "%d: merge free, buffer %p share page with %p\n",
+                            "%d: merge free, buffer %pK share page with %pK\n",
                              proc->pid, buffer, prev);
        }
 
@@ -790,14 +790,14 @@ static void binder_delete_free_buffer(struct binder_proc *proc,
                            buffer_start_page(buffer))
                                free_page_start = 0;
                        binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                                    "%d: merge free, buffer %p share page with %p\n",
+                                    "%d: merge free, buffer %pK share page with %pK\n",
                                      proc->pid, buffer, prev);
                }
        }
        list_del(&buffer->entry);
        if (free_page_start || free_page_end) {
                binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                            "%d: merge free, buffer %p do not share page%s%s with %p or %p\n",
+                            "%d: merge free, buffer %pK do not share page%s%s with %pK or %pK\n",
                             proc->pid, buffer, free_page_start ? "" : " end",
                             free_page_end ? "" : " start", prev, next);
                binder_update_page_range(proc, 0, free_page_start ?
@@ -818,7 +818,7 @@ static void binder_free_buf(struct binder_proc *proc,
                ALIGN(buffer->offsets_size, sizeof(void *));
 
        binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                    "%d: binder_free_buf %p size %zd buffer_size %zd\n",
+                    "%d: binder_free_buf %pK size %zd buffer_size %zd\n",
                      proc->pid, buffer, size, buffer_size);
 
        BUG_ON(buffer->free);
@@ -1251,7 +1251,7 @@ static void binder_transaction_buffer_release(struct binder_proc *proc,
        int debug_id = buffer->debug_id;
 
        binder_debug(BINDER_DEBUG_TRANSACTION,
-                    "%d buffer release %d, size %zd-%zd, failed at %p\n",
+                    "%d buffer release %d, size %zd-%zd, failed at %pK\n",
                     proc->pid, buffer->debug_id,
                     buffer->data_size, buffer->offsets_size, failed_at);
 
@@ -2091,9 +2091,8 @@ int binder_thread_write(struct binder_proc *proc,
                                }
                        }
                        binder_debug(BINDER_DEBUG_DEAD_BINDER,
-                                    "%d:%d BC_DEAD_BINDER_DONE %016llx found %p\n",
-                                    proc->pid, thread->pid, (u64)cookie,
-                                    death);
+                                    "%d:%d BC_DEAD_BINDER_DONE %016llx found %pK\n",
+                                    proc->pid, thread->pid, (u64)cookie, death);
                        if (death == NULL) {
                                binder_user_error("%d:%d BC_DEAD_BINDER_DONE %016llx not found\n",
                                        proc->pid, thread->pid, (u64)cookie);
@@ -2891,7 +2890,7 @@ static int binder_mmap(struct file *filp, struct vm_area_struct *vma)
 #ifdef CONFIG_CPU_CACHE_VIPT
        if (cache_is_vipt_aliasing()) {
                while (CACHE_COLOUR((vma->vm_start ^ (uint32_t)proc->buffer))) {
-                       pr_info("binder_mmap: %d %lx-%lx maps %p bad alignment\n", proc->pid, vma->vm_start, vma->vm_end, proc->buffer);
+                       pr_info("binder_mmap: %d %lx-%lx maps %pK bad alignment\n", proc->pid, vma->vm_start, vma->vm_end, proc->buffer);
                        vma->vm_start += PAGE_SIZE;
                }
        }
@@ -2923,7 +2922,7 @@ static int binder_mmap(struct file *filp, struct vm_area_struct *vma)
        proc->vma = vma;
        proc->vma_vm_mm = vma->vm_mm;
 
-       /*pr_info("binder_mmap: %d %lx-%lx maps %p\n",
+       /*pr_info("binder_mmap: %d %lx-%lx maps %pK\n",
                 proc->pid, vma->vm_start, vma->vm_end, proc->buffer);*/
        return 0;
 
@@ -3149,7 +3148,7 @@ static void binder_deferred_release(struct binder_proc *proc)
 
                        page_addr = proc->buffer + i * PAGE_SIZE;
                        binder_debug(BINDER_DEBUG_BUFFER_ALLOC,
-                                    "%s: %d: page %d at %p not freed\n",
+                                    "%s: %d: page %d at %pK not freed\n",
                                     __func__, proc->pid, i, page_addr);
                        unmap_kernel_range((unsigned long)page_addr, PAGE_SIZE);
                        __free_page(proc->pages[i]);
@@ -3228,7 +3227,7 @@ static void print_binder_transaction(struct seq_file *m, const char *prefix,
                                     struct binder_transaction *t)
 {
        seq_printf(m,
-                  "%s %d: %p from %d:%d to %d:%d code %x flags %x pri %ld r%d",
+                  "%s %d: %pK from %d:%d to %d:%d code %x flags %x pri %ld r%d",
                   prefix, t->debug_id, t,
                   t->from ? t->from->proc->pid : 0,
                   t->from ? t->from->pid : 0,
@@ -3242,7 +3241,7 @@ static void print_binder_transaction(struct seq_file *m, const char *prefix,
        if (t->buffer->target_node)
                seq_printf(m, " node %d",
                           t->buffer->target_node->debug_id);
-       seq_printf(m, " size %zd:%zd data %p\n",
+       seq_printf(m, " size %zd:%zd data %pK\n",
                   t->buffer->data_size, t->buffer->offsets_size,
                   t->buffer->data);
 }
@@ -3250,7 +3249,7 @@ static void print_binder_transaction(struct seq_file *m, const char *prefix,
 static void print_binder_buffer(struct seq_file *m, const char *prefix,
                                struct binder_buffer *buffer)
 {
-       seq_printf(m, "%s %d: %p size %zd:%zd %s\n",
+       seq_printf(m, "%s %d: %pK size %zd:%zd %s\n",
                   prefix, buffer->debug_id, buffer->data,
                   buffer->data_size, buffer->offsets_size,
                   buffer->transaction ? "active" : "delivered");