On Thu, Apr 07, 2016 at 12:37:50PM -0700, Laura Abbott wrote: > On 04/07/2016 04:29 AM, John Einar Reitan wrote: > > ion's default user/kernel page mapping code don't honor the offset > > option for scatterlists. It uses sg_page and expect the whole page to be > > mapped, while the offset could dictate an offset within a large page. > > > > sg_phys correctly accounts for the offset, so should be used instead. > > > > Can you be more specific about which heap and which allocation pattern > is exposing this bug? The heap that exposed the bug is one I'm developing and will be posting as a RFC soon. It uses compound pages and an sub-divides it into surface buffers. The ion buffers are configured to hold sgl's with the compound page and the correct offset of the buffer, via sg_set_page(.., compound_page, .., offset_of_logical_buffer); sg_phys/sg_virt includes this offset, but if you poke the sg and extract the page with sg_page yourself you must include this offset in your calculations too. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel