summaryrefslogtreecommitdiff
path: root/fs/ioctl.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-05-20 03:40:09 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-05-20 03:40:09 -0400
commit9d5272f5e36155bcead69417fd12e98624e7faef (patch)
tree770af81c03932ad4e508a12cca6f83fbb3527689 /fs/ioctl.c
parentfebd668d375caf13a7fcd93b3498366854de854a (diff)
parent3a7c8fafd1b42adea229fd204132f6a2fb3cd2d9 (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.c8
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