mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
drm/i915/gem: Detect overflow in calculating dumb buffer size
To multiply 2 u32 numbers to generate a u64 in C requires a bit of forewarning for the compiler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Ramalingam C <ramalingam.c@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: stable@vger.kernel.org Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200123125934.1401755-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
8c47eb8667
commit
0f8f8a6430
@ -265,7 +265,10 @@ i915_gem_dumb_create(struct drm_file *file,
|
||||
DRM_FORMAT_MOD_LINEAR))
|
||||
args->pitch = ALIGN(args->pitch, 4096);
|
||||
|
||||
args->size = args->pitch * args->height;
|
||||
if (args->pitch < args->width)
|
||||
return -EINVAL;
|
||||
|
||||
args->size = mul_u32_u32(args->pitch, args->height);
|
||||
|
||||
mem_type = INTEL_MEMORY_SYSTEM;
|
||||
if (HAS_LMEM(to_i915(dev)))
|
||||
|
Loading…
Reference in New Issue
Block a user