summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/gsp_sema_service.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c
index 910e7ef..4b315f6 100644
--- a/kernel/gsp_sema_service.c
+++ b/kernel/gsp_sema_service.c
@@ -14775,12 +14775,15 @@ static void svc_ce_firstsub_capture(struct nv_vgpu_device *vgpu,
for (off = 0; off + 0x90 <= lim; off += 0x100) {
static const u64 udeltas[] = { 0x10000, 0x2000,
0x1000, 0x0 };
- u32 h0, h1, hva, hlen;
+ u32 h0, h1;
+ u64 hva;
+ u32 hlen;
unsigned int ui;
memcpy(&h0, sbase + off, 4);
memcpy(&h1, sbase + off + 4, 4);
- hva = ((h1 & 0xff) << 32) | (h0 & 0xfffffffc);
+ hva = ((u64)(h1 & 0xff) << 32) |
+ (u64)(h0 & 0xfffffffc);
hlen = ((h1 >> 10) & 0x1fffff) << 2;
if ((hva & 0xfffff) || hva < 0x120000000ULL ||
hva >= 0x121000000ULL || hlen < 4 ||