diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/aio.c | 6 | ||||
| -rw-r--r-- | fs/hfsplus/super.c | 1 | ||||
| -rw-r--r-- | fs/inotify.c | 1 |
3 files changed, 8 insertions, 0 deletions
| @@ -1397,6 +1397,9 @@ static ssize_t aio_setup_iocb(struct kiocb *kiocb) | |||
| 1397 | if (unlikely(!access_ok(VERIFY_WRITE, kiocb->ki_buf, | 1397 | if (unlikely(!access_ok(VERIFY_WRITE, kiocb->ki_buf, |
| 1398 | kiocb->ki_left))) | 1398 | kiocb->ki_left))) |
| 1399 | break; | 1399 | break; |
| 1400 | ret = security_file_permission(file, MAY_READ); | ||
| 1401 | if (unlikely(ret)) | ||
| 1402 | break; | ||
| 1400 | ret = -EINVAL; | 1403 | ret = -EINVAL; |
| 1401 | if (file->f_op->aio_read) | 1404 | if (file->f_op->aio_read) |
| 1402 | kiocb->ki_retry = aio_pread; | 1405 | kiocb->ki_retry = aio_pread; |
| @@ -1409,6 +1412,9 @@ static ssize_t aio_setup_iocb(struct kiocb *kiocb) | |||
| 1409 | if (unlikely(!access_ok(VERIFY_READ, kiocb->ki_buf, | 1412 | if (unlikely(!access_ok(VERIFY_READ, kiocb->ki_buf, |
| 1410 | kiocb->ki_left))) | 1413 | kiocb->ki_left))) |
| 1411 | break; | 1414 | break; |
| 1415 | ret = security_file_permission(file, MAY_WRITE); | ||
| 1416 | if (unlikely(ret)) | ||
| 1417 | break; | ||
| 1412 | ret = -EINVAL; | 1418 | ret = -EINVAL; |
| 1413 | if (file->f_op->aio_write) | 1419 | if (file->f_op->aio_write) |
| 1414 | kiocb->ki_retry = aio_pwrite; | 1420 | kiocb->ki_retry = aio_pwrite; |
diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c index fd0f0f050e..452fc1fdbd 100644 --- a/fs/hfsplus/super.c +++ b/fs/hfsplus/super.c | |||
| @@ -50,6 +50,7 @@ static void hfsplus_read_inode(struct inode *inode) | |||
| 50 | init_MUTEX(&HFSPLUS_I(inode).extents_lock); | 50 | init_MUTEX(&HFSPLUS_I(inode).extents_lock); |
| 51 | HFSPLUS_I(inode).flags = 0; | 51 | HFSPLUS_I(inode).flags = 0; |
| 52 | HFSPLUS_I(inode).rsrc_inode = NULL; | 52 | HFSPLUS_I(inode).rsrc_inode = NULL; |
| 53 | atomic_set(&HFSPLUS_I(inode).opencnt, 0); | ||
| 53 | 54 | ||
| 54 | if (inode->i_ino >= HFSPLUS_FIRSTUSER_CNID) { | 55 | if (inode->i_ino >= HFSPLUS_FIRSTUSER_CNID) { |
| 55 | read_inode: | 56 | read_inode: |
diff --git a/fs/inotify.c b/fs/inotify.c index a37e9fb1da..9fbaebfdf4 100644 --- a/fs/inotify.c +++ b/fs/inotify.c | |||
| @@ -176,6 +176,7 @@ static inline void put_inotify_dev(struct inotify_device *dev) | |||
| 176 | if (atomic_dec_and_test(&dev->count)) { | 176 | if (atomic_dec_and_test(&dev->count)) { |
| 177 | atomic_dec(&dev->user->inotify_devs); | 177 | atomic_dec(&dev->user->inotify_devs); |
| 178 | free_uid(dev->user); | 178 | free_uid(dev->user); |
| 179 | idr_destroy(&dev->idr); | ||
| 179 | kfree(dev); | 180 | kfree(dev); |
| 180 | } | 181 | } |
| 181 | } | 182 | } |
