[Intel-xe] [PATCH] drm/xe: Fix overflow in vram manager
Matthew Auld
matthew.auld at intel.com
Tue Mar 14 08:52:13 UTC 2023
On 14/03/2023 08:27, Matthew Auld wrote:
> On 14/03/2023 04:48, Riana Tauro wrote:
>> Cc:Matthew Auld <matthew.auld at intel.com>
>>
>> On 3/9/2023 10:21 PM, Dixit, Ashutosh wrote:
>>> On Thu, 09 Mar 2023 05:18:56 -0800, Riana Tauro wrote:
>>>>
>>>> The overflow caused xe_bo_restore_kernel to return an error
>>>> Fix overflow in vram manager alloc function.
>>>>
>>>> Signed-off-by: Riana Tauro <riana.tauro at intel.com>
>>>> ---
>>>> drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>>>> b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>>>> index 643365b18bc7..159ca7105df1 100644
>>>> --- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>>>> +++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>>>> @@ -118,7 +118,7 @@ static int xe_ttm_vram_mgr_new(struct
>>>> ttm_resource_manager *man,
>>>>
>>>> cur_size = size;
>>>>
>>>> - if (fpfn + size != place->lpfn << PAGE_SHIFT) {
>>>> + if (fpfn + size != (u64)place->lpfn << PAGE_SHIFT) {
>>>
>>> Looks ok but not sure if it should just be lpfn computed above?
>
> Yes, that looks correct. place->lpfn should for now only be set when we
> want to place something at a specific offset. AFAICT this is heavily
> used for pinned kernel objects (as well as setting ALLOC_CONTIG), and
> incorrectly applying the roundup_power_of_two() might break stuff when
> restoring those objects (the roundup might smash into other pinned
> kernel objects).
>
> Reviewed-by: Matthew Auld <matthew.auld at intel.com>
Pushed to drm-xe-next.
>
> fwiw the plan is to replace all of this with the i915 version, which
> also fixes this:
> https://patchwork.freedesktop.org/patch/525697/?series=114521&rev=3
>
>>> Copying Matt.
>>>
>>>> /*
>>>> * Except for actual range allocation, modify the size and
>>>> * min_block_size conforming to continuous flag enablement
>>>> --
>>>> 2.39.1
>>>>
More information about the Intel-xe
mailing list