On 02/12/2018 08:30 PM, Laura Abbott wrote:
> On 02/10/2018 01:43 AM, Alexey Skidanov wrote:
>> Current ion kernel mapping implementation uses vmap() to map previously
>> allocated buffers into kernel virtual address space. On 32 bit
>> platforms, vmap() might fail on large enough buffers due to the limited
>> available vmalloc space.
>> dma_buf_kmap() should guarantee that only one page is mapped at a time.
>> So, probably it's better to implement dma_buf_kmap() by kmap() and not
>> by vmap()?
> The short answer is yes.
> The long answer is that the conversion to the dma_buf APIs kept the
> existing Ion behavior which mapped the entire buffer. We got away
> with this because the in kernel mapping APIs are used very infrequently
> and with buffers that never triggered an exhaustion of vmalloc
> If we actually start seeing problems with this we can fix it up
> but I don't consider this a high priority item.
I have the patch fixing this potential bug. I would like to submit it
for review, if you are ok with it. Please, just let me know.
devel mailing list