Message ID | HK0PR01MB21638498C7DAF86591D36AB0ADD00@HK0PR01MB2163.apcprd01.prod.exchangelabs.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: radeon: fix overflow on 32bit systems | expand |
On Wed, Nov 28, 2018 at 3:14 AM Christian König <ckoenig.leichtzumerken@gmail.com> wrote: > > Am 27.11.18 um 12:50 schrieb Yang Xiao: > > From: Young Xiao <YangX92@hotmail.com> > > > > the type mem->start is unsigned long, so this can overflow on > > 32bit system, since the type addr is uint64_t. > > > > Signed-off-by: Young Xiao <YangX92@hotmail.com> > > Reviewed-by: Christian König <christian.koenig@amd.com> > Applied. thanks! Alex > > --- > > drivers/gpu/drm/radeon/radeon_vm.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c > > index 7f1a9c7..51559d8 100644 > > --- a/drivers/gpu/drm/radeon/radeon_vm.c > > +++ b/drivers/gpu/drm/radeon/radeon_vm.c > > @@ -946,7 +946,7 @@ int radeon_vm_bo_update(struct radeon_device *rdev, > > bo_va->flags &= ~RADEON_VM_PAGE_WRITEABLE; > > > > if (mem) { > > - addr = mem->start << PAGE_SHIFT; > > + addr = (u64)mem->start << PAGE_SHIFT; > > if (mem->mem_type != TTM_PL_SYSTEM) { > > bo_va->flags |= RADEON_VM_PAGE_VALID; > > } > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c index 7f1a9c7..51559d8 100644 --- a/drivers/gpu/drm/radeon/radeon_vm.c +++ b/drivers/gpu/drm/radeon/radeon_vm.c @@ -946,7 +946,7 @@ int radeon_vm_bo_update(struct radeon_device *rdev, bo_va->flags &= ~RADEON_VM_PAGE_WRITEABLE; if (mem) { - addr = mem->start << PAGE_SHIFT; + addr = (u64)mem->start << PAGE_SHIFT; if (mem->mem_type != TTM_PL_SYSTEM) { bo_va->flags |= RADEON_VM_PAGE_VALID; }