mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
gpu: nvgpu: Fix alignment calculation overflow
Bug 200150865 Change-Id: If4f0e01bdeb95c303675b63444bd497b65d934f3 Signed-off-by: Ari Hirvonen <ahirvonen@nvidia.com> Reviewed-on: http://git-master/r/835151 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
This commit is contained in:
committed by
Arto Merilainen
parent
acde16dd16
commit
938b16909f
@@ -1473,7 +1473,7 @@ u64 gk20a_vm_map(struct vm_gk20a *vm,
|
|||||||
|
|
||||||
buf_addr = (u64)sg_phys(sgl);
|
buf_addr = (u64)sg_phys(sgl);
|
||||||
|
|
||||||
align = 1 << __ffs(buf_addr | (u64)sgl->length);
|
align = 1ULL << __ffs(buf_addr | (u64)sgl->length);
|
||||||
if (bfr.align)
|
if (bfr.align)
|
||||||
bfr.align = min_t(u64, align, bfr.align);
|
bfr.align = min_t(u64, align, bfr.align);
|
||||||
else
|
else
|
||||||
@@ -1481,7 +1481,7 @@ u64 gk20a_vm_map(struct vm_gk20a *vm,
|
|||||||
sgl = sg_next(sgl);
|
sgl = sg_next(sgl);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
bfr.align = 1 << __ffs(buf_addr);
|
bfr.align = 1ULL << __ffs(buf_addr);
|
||||||
|
|
||||||
bfr.pgsz_idx = -1;
|
bfr.pgsz_idx = -1;
|
||||||
mapping_size = mapping_size ? mapping_size : bfr.size;
|
mapping_size = mapping_size ? mapping_size : bfr.size;
|
||||||
|
|||||||
Reference in New Issue
Block a user