diff options
author | Xi Wang <xi.wang@gmail.com> | 2011-12-21 11:18:33 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-12-22 13:31:02 +0100 |
commit | 8a78389651b3e411ec5a7df61404734f52d6f4eb (patch) | |
tree | 02b5e5c5f43fb89c5faab8cd0e3bf5ebee49b7ae /fs/locks.c | |
parent | drm/radeon/kms: bail on BTC parts if MC ucode is missing (diff) | |
download | linux-8a78389651b3e411ec5a7df61404734f52d6f4eb.tar.xz linux-8a78389651b3e411ec5a7df61404734f52d6f4eb.zip |
vmwgfx: fix incorrect VRAM size check in vmw_kms_fb_create()
Commit e133e737 didn't correctly fix the integer overflow issue.
- unsigned int required_size;
+ u64 required_size;
...
required_size = mode_cmd->pitch * mode_cmd->height;
- if (unlikely(required_size > dev_priv->vram_size)) {
+ if (unlikely(required_size > (u64) dev_priv->vram_size)) {
Note that both pitch and height are u32. Their product is still u32 and
would overflow before being assigned to required_size. A correct way is
to convert pitch and height to u64 before the multiplication.
required_size = (u64)mode_cmd->pitch * (u64)mode_cmd->height;
This patch calls the existing vmw_kms_validate_mode_vram() for
validation.
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Reviewed-and-tested-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions