diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2020-05-20 03:40:09 -0400 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-05-20 03:40:09 -0400 |
| commit | 9d5272f5e36155bcead69417fd12e98624e7faef (patch) | |
| tree | 770af81c03932ad4e508a12cca6f83fbb3527689 /fs/ioctl.c | |
| parent | febd668d375caf13a7fcd93b3498366854de854a (diff) | |
| parent | 3a7c8fafd1b42adea229fd204132f6a2fb3cd2d9 (diff) | |
Merge tag 'noinstr-x86-kvm-2020-05-16' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into HEAD
Diffstat (limited to 'fs/ioctl.c')
| -rw-r--r-- | fs/ioctl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ioctl.c b/fs/ioctl.c index 282d45be6f45..5e80b40bc1b5 100644 --- a/fs/ioctl.c +++ b/fs/ioctl.c @@ -55,6 +55,7 @@ EXPORT_SYMBOL(vfs_ioctl); static int ioctl_fibmap(struct file *filp, int __user *p) { struct inode *inode = file_inode(filp); + struct super_block *sb = inode->i_sb; int error, ur_block; sector_t block; @@ -71,6 +72,13 @@ static int ioctl_fibmap(struct file *filp, int __user *p) block = ur_block; error = bmap(inode, &block); + if (block > INT_MAX) { + error = -ERANGE; + pr_warn_ratelimited("[%s/%d] FS: %s File: %pD4 would truncate fibmap result\n", + current->comm, task_pid_nr(current), + sb->s_id, filp); + } + if (error) ur_block = 0; else |