diff options
author | Li Qiang <liq3ea@gmail.com> | 2017-03-27 20:10:53 -0700 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2017-03-30 11:46:26 +0200 |
commit | e7e11f99564222d82f0ce84bd521e57d78a6b678 (patch) | |
tree | f2a689ea74f34d155e1383869c82d453afe97619 /lib/atomic64.c | |
parent | 53e16798b0864464c5444a204e1bb93ae246c429 (diff) | |
download | lwn-e7e11f99564222d82f0ce84bd521e57d78a6b678.tar.gz lwn-e7e11f99564222d82f0ce84bd521e57d78a6b678.zip |
drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl()
In vmw_surface_define_ioctl(), the 'num_sizes' is the sum of the
'req->mip_levels' array. This array can be assigned any value from
the user space. As both the 'num_sizes' and the array is uint32_t,
it is easy to make 'num_sizes' overflow. The later 'mip_levels' is
used as the loop count. This can lead an oob write. Add the check of
'req->mip_levels' to avoid this.
Cc: <stable@vger.kernel.org>
Signed-off-by: Li Qiang <liqiang6-s@360.cn>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Diffstat (limited to 'lib/atomic64.c')
0 files changed, 0 insertions, 0 deletions