[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180406222350.174104-1-khazhy@google.com>
Date: Fri, 6 Apr 2018 15:23:50 -0700
From: Khazhismel Kumykov <khazhy@...gle.com>
To: axboe@...nel.dk
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
Khazhismel Kumykov <khazhy@...gle.com>
Subject: [PATCH] block/compat_ioctl: fix range check in BLKGETSIZE
kernel ulong and compat_ulong_t may not be same width. Use type directly
to eliminate mismatches.
This would result in truncation rather than EFBIG for 32bit mode for
large disks.
Signed-off-by: Khazhismel Kumykov <khazhy@...gle.com>
---
block/compat_ioctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/compat_ioctl.c b/block/compat_ioctl.c
index 6ca015f92766..3a2c77f07da8 100644
--- a/block/compat_ioctl.c
+++ b/block/compat_ioctl.c
@@ -388,7 +388,7 @@ long compat_blkdev_ioctl(struct file *file, unsigned cmd, unsigned long arg)
return 0;
case BLKGETSIZE:
size = i_size_read(bdev->bd_inode);
- if ((size >> 9) > ~0UL)
+ if ((size >> 9) > ~((compat_ulong_t)0UL))
return -EFBIG;
return compat_put_ulong(arg, size >> 9);
--
2.17.0.484.g0c8726318c-goog
Download attachment "smime.p7s" of type "application/pkcs7-signature" (4843 bytes)
Powered by blists - more mailing lists