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

From: Greg KH
Date: Fri Feb 08 2019 - 06:26:06 EST


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