mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Prevent freeing uninitialized pointer in compat_do_readv_writev
In 32-bit compatibility mode, the error handling for
compat_do_readv_writev() may free an uninitialized pointer, potentially
leading to all sorts of ugly memory corruption. This is reliably
triggerable by unprivileged users by invoking the readv()/writev()
syscalls with an invalid iovec pointer. The below patch fixes this to
emulate the non-compat version.
Introduced by commit b83733639a ("compat: factor out
compat_rw_copy_check_uvector from compat_do_readv_writev")
Signed-off-by: Dan Rosenberg <[email protected]>
Cc: [email protected] (2.6.35)
Cc: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
c79bd89282
commit
767b68e969
1 changed files with 1 additions and 1 deletions
|
|
@ -1153,7 +1153,7 @@ static ssize_t compat_do_readv_writev(int type, struct file *file,
|
|||
{
|
||||
compat_ssize_t tot_len;
|
||||
struct iovec iovstack[UIO_FASTIOV];
|
||||
struct iovec *iov;
|
||||
struct iovec *iov = iovstack;
|
||||
ssize_t ret;
|
||||
io_fn_t fn;
|
||||
iov_fn_t fnv;
|
||||
|
|
|
|||
Loading…
Reference in a new issue