[PATCH] aio syscalls are not checked by lsm
Another case of missing call to security_file_permission: aio functions (namely, io_submit) does not check credentials with security modules. Below is the simple patch to the problem. It seems that it is enough to check for rights at the request submission time. Signed-off-by: Kostik Belousov <kostikbel@gmail.com> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
a991304496
commit
8766ce4101
1 changed files with 6 additions and 0 deletions
6
fs/aio.c
6
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;
|
||||
|
|
Loading…
Reference in a new issue