lkml.org 
[lkml]   [2019]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/7] binder: eliminate use of vmalloc space for binder buffers
Date
Binder buffers have always been mapped into kernel space
via map_kernel_range_noflush() to allow the binder driver
to modify the buffer before posting to userspace for
processing.

In recent Android releases, the number of long-running
binder processes has increased to the point that for
32-bit systems, there is a risk of running out of
vmalloc space.

This patch set removes the persistent mapping of the
binder buffers into kernel space. Instead, the binder
driver creates temporary mappings with kmap() or
kmap_atomic() to copy to or from the buffer only when
necessary.

Todd Kjos (7):
binder: create userspace-to-binder-buffer copy function
binder: add functions to copy to/from binder buffers
binder: add function to copy binder object from buffer
binder: avoid kernel vm_area for buffer fixups
binder: remove kernel vm_area for buffer space
binder: remove user_buffer_offset
binder: use userspace pointer as base of buffer space

v2: remove casts as suggested by Dan Carpenter

drivers/android/Kconfig | 2 +-
drivers/android/binder.c | 460 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
drivers/android/binder_alloc.c | 299 +++++++++++++++++++++++++++++++++++++++++++++-----------------
drivers/android/binder_alloc.h | 47 +++++-----
drivers/android/binder_trace.h | 2 +-
5 files changed, 534 insertions(+), 276 deletions(-)

\
 
 \ /
  Last update: 2019-01-31 00:09    [W:0.040 / U:1.576 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site