Message ID | 20250107130604.669697-1-clg@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | vfio/igd: Fix potential overflow in igd_gtt_memory_size() | expand |
diff --git a/hw/vfio/igd.c b/hw/vfio/igd.c index 0740a5dd8cc9346a92c4613194faa8dea42e1d98..b5303ea565d6a344d0a43273f288bbb4a7f48327 100644 --- a/hw/vfio/igd.c +++ b/hw/vfio/igd.c @@ -133,7 +133,7 @@ static uint64_t igd_gtt_memory_size(int gen, uint16_t gmch) } else { ggms = (gmch >> IGD_GMCH_GEN8_GGMS_SHIFT) & IGD_GMCH_GEN8_GGMS_MASK; if (ggms != 0) { - ggms = 1 << ggms; + ggms = 1ULL << ggms; } }
The risk is mainly theoretical since the applied bit mask will keep the 'ggms' shift value below 3. Nevertheless, let's use a 64 bit integer type and resolve the coverity issue. Resolves: Coverity CID 1585908 Fixes: 1e1eac5f3dcd ("vfio/igd: canonicalize memory size calculations") Signed-off-by: Cédric Le Goater <clg@redhat.com> --- hw/vfio/igd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)