[PATCH] aio syscalls are not checked by lsm

From: Kostik Belousov
Date: Wed Oct 12 2005 - 14:15:02 EST


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@xxxxxxxxx>
Signed-off-by: Chris Wright <chrisw@xxxxxxxx>
---

fs/aio.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

f223267dee21023ac5c1a0cdbbdbfed0dc8c8fff
diff --git a/fs/aio.c b/fs/aio.c
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1418,6 +1418,9 @@ static ssize_t aio_setup_iocb(struct kio
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;
@@ -1430,6 +1433,9 @@ static ssize_t aio_setup_iocb(struct kio
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;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/