diff options
author | Vasiliy Kulikov <segoon@openwall.com> | 2011-04-14 20:55:16 +0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-04-21 12:16:55 +1000 |
commit | 194b3da873fd334ef183806db751473512af29ce (patch) | |
tree | cb6ac3d05ba2e0a07c02ea1cef0e41477ea29d2b /drivers/char/agp/sgi-agp.c | |
parent | b522f02184b413955f3bc952e3776ce41edc6355 (diff) | |
download | linux-194b3da873fd334ef183806db751473512af29ce.tar.bz2 |
agp: fix arbitrary kernel memory writes
pg_start is copied from userspace on AGPIOC_BIND and AGPIOC_UNBIND ioctl
cmds of agp_ioctl() and passed to agpioc_bind_wrap(). As said in the
comment, (pg_start + mem->page_count) may wrap in case of AGPIOC_BIND,
and it is not checked at all in case of AGPIOC_UNBIND. As a result, user
with sufficient privileges (usually "video" group) may generate either
local DoS or privilege escalation.
Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/char/agp/sgi-agp.c')
0 files changed, 0 insertions, 0 deletions