diff options
author | Christoph Hellwig <hch@lst.de> | 2020-05-08 09:54:27 +0300 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2020-07-08 09:27:57 +0300 |
commit | a1f9b1c0439db47ea10418b8ee7092a0d970cc2d (patch) | |
tree | 20da49ed545d1deacca51f8dca202821b0482da2 /security/integrity/iint.c | |
parent | 61a707c543e2afe3aa7e88f87267c5dafa4b5afa (diff) | |
download | linux-a1f9b1c0439db47ea10418b8ee7092a0d970cc2d.tar.xz |
integrity/ima: switch to using __kernel_read
__kernel_read has a bunch of additional sanity checks, and this moves
the set_fs out of non-core code.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'security/integrity/iint.c')
-rw-r--r-- | security/integrity/iint.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/security/integrity/iint.c b/security/integrity/iint.c index e12c4900510f..1d20003243c3 100644 --- a/security/integrity/iint.c +++ b/security/integrity/iint.c @@ -188,19 +188,7 @@ DEFINE_LSM(integrity) = { int integrity_kernel_read(struct file *file, loff_t offset, void *addr, unsigned long count) { - mm_segment_t old_fs; - char __user *buf = (char __user *)addr; - ssize_t ret; - - if (!(file->f_mode & FMODE_READ)) - return -EBADF; - - old_fs = get_fs(); - set_fs(KERNEL_DS); - ret = __vfs_read(file, buf, count, &offset); - set_fs(old_fs); - - return ret; + return __kernel_read(file, addr, count, &offset); } /* |