[PATCH v2 0/7] binder: eliminate use of vmalloc space for binder buffers

Greg KH gregkh at linuxfoundation.org
Fri Feb 8 11:26:00 UTC 2019


On Wed, Jan 30, 2019 at 02:46:48PM -0800, Todd Kjos wrote:
> 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.

This patch series blows up when I apply it to my char-misc-next branch:

drivers/android/binder_alloc_selftest.c: In function ‘check_buffer_pages_allocated’:
drivers/android/binder_alloc_selftest.c:108:44: error: ‘struct binder_buffer’ has no member named ‘data’
  end = (void *)PAGE_ALIGN((uintptr_t)buffer->data + size);
                                            ^~
Did you forget to enable CONFIG_ANDROID_BINDER_IPC_SELFTEST when doing your
builds?

thanks,

greg k-h


More information about the devel mailing list