Mario Kleiner
2017-Apr-29 04:11 UTC
[Nouveau] [PATCH] drm/nouveau/fb/gf100-: Fix 32 bit wraparound in new ram detection
A missing u64 cast causes a 32-Bit wraparound from
4096 MiB to 0 MiB and therefore total 0 MiB VRAM detected
if card has 4096 Mib per FBP.
Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
---
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c
b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c
index 53c32fc..c639759 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c
@@ -589,7 +589,7 @@ gf100_ram_ctor(const struct nvkm_ram_func *func, struct
nvkm_fb *fb,
nvkm_debug(subdev, "FBP %d: %4d MiB, %d LTC(s)\n",
fbp, size, ltcs);
lcomm = min(lcomm, (u64)(size / ltcs) << 20);
- total += size << 20;
+ total += (u64) size << 20;
ltcn += ltcs;
} else {
nvkm_debug(subdev, "FBP %d: disabled\n", fbp);
--
2.7.4
Karol Herbst
2017-Apr-29 12:13 UTC
[Nouveau] [PATCH] drm/nouveau/fb/gf100-: Fix 32 bit wraparound in new ram detection
good catch Reviewed-by: Karol Herbst <karolherbst at gmail.com> 2017-04-29 6:11 GMT+02:00 Mario Kleiner <mario.kleiner.de at gmail.com>:> A missing u64 cast causes a 32-Bit wraparound from > 4096 MiB to 0 MiB and therefore total 0 MiB VRAM detected > if card has 4096 Mib per FBP. > > Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com> > --- > drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c > index 53c32fc..c639759 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgf100.c > @@ -589,7 +589,7 @@ gf100_ram_ctor(const struct nvkm_ram_func *func, struct nvkm_fb *fb, > nvkm_debug(subdev, "FBP %d: %4d MiB, %d LTC(s)\n", > fbp, size, ltcs); > lcomm = min(lcomm, (u64)(size / ltcs) << 20); > - total += size << 20; > + total += (u64) size << 20; > ltcn += ltcs; > } else { > nvkm_debug(subdev, "FBP %d: disabled\n", fbp); > -- > 2.7.4 > > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau