On Fri, Jan 11, 2019 at 04:27:44PM +0100, Michel Dänzer wrote: > On 2019-01-10 6:56 p.m., Przemek Socha wrote: > > > > [ 147.846148] [drm:amdgpu_display_user_framebuffer_create [amdgpu]] Invalid > > pitch: expecting 10752 but got 10624 > > [ 147.846155] [drm:drm_internal_framebuffer_create] could not create > > framebuffer" > > Thanks, this confirms that the check is too strict. I've sent a patch > reverting this as well. > > > Yu, I like the idea behind your changes, but unfortunately it's more > complicated than that. If you want to work on similar checks which > accurately reflect the hardware constraints, people on the amd-gfx list > should be able to help with that. Hi Michel, sorry for the troubles. Background: after we turned on iommu with amd_iommu=force_isolation, we saw io page faults from amd gpu (stoney ridge). We tracked it down to userspace using 32-pixel pitch alignment, which seems smaller than the minimum alignment supported by the hw. Instead of rejecting the alignment, we suspect, it uses 64-pixel alignment to do dma. The larger alignment sometimes causes out of bound memory accesses, thus the io page faults. I created the following patch and hoped it could fix the problem: https://lore.kernel.org/patchwork/patch/1029656/ Well, it does on our stoney ridge based chromebook but also breaks other platforms. So my questions to the amd gpu experts here: 1) how do properly validate pitch alignment passed to kernel space? 2) if it's not easy, what would invalid alignment cause at worst? Thank you. _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx