mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
61a707c543
commit
a1f9b1c043
|
@ -188,19 +188,7 @@ DEFINE_LSM(integrity) = {
|
||||||
int integrity_kernel_read(struct file *file, loff_t offset,
|
int integrity_kernel_read(struct file *file, loff_t offset,
|
||||||
void *addr, unsigned long count)
|
void *addr, unsigned long count)
|
||||||
{
|
{
|
||||||
mm_segment_t old_fs;
|
return __kernel_read(file, addr, count, &offset);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue