diff --git a/[refs] b/[refs] index 3d65674da3b5..1687d03870d0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a991304496bdaec09f497d1eb5d9dcf2f94b7d5d +refs/heads/master: 8766ce41018a0cb80fbe0ce7dbf747f357c752da diff --git a/trunk/fs/aio.c b/trunk/fs/aio.c index 9fe7216457d8..edfca5b75535 100644 --- a/trunk/fs/aio.c +++ b/trunk/fs/aio.c @@ -1397,6 +1397,9 @@ static ssize_t aio_setup_iocb(struct kiocb *kiocb) if (unlikely(!access_ok(VERIFY_WRITE, kiocb->ki_buf, kiocb->ki_left))) break; + ret = security_file_permission(file, MAY_READ); + if (unlikely(ret)) + break; ret = -EINVAL; if (file->f_op->aio_read) kiocb->ki_retry = aio_pread; @@ -1409,6 +1412,9 @@ static ssize_t aio_setup_iocb(struct kiocb *kiocb) if (unlikely(!access_ok(VERIFY_READ, kiocb->ki_buf, kiocb->ki_left))) break; + ret = security_file_permission(file, MAY_WRITE); + if (unlikely(ret)) + break; ret = -EINVAL; if (file->f_op->aio_write) kiocb->ki_retry = aio_pwrite;