From df76d44db8aaa1ac5102fec403e6eef42ad93ed0 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 26 Apr 2022 08:43:27 +0200 Subject: [PATCH] 4.9-stable patches added patches: block-compat_ioctl-fix-range-check-in-blkgetsize.patch --- ..._ioctl-fix-range-check-in-blkgetsize.patch | 36 +++++++++++++++++++ queue-4.9/series | 1 + 2 files changed, 37 insertions(+) create mode 100644 queue-4.9/block-compat_ioctl-fix-range-check-in-blkgetsize.patch diff --git a/queue-4.9/block-compat_ioctl-fix-range-check-in-blkgetsize.patch b/queue-4.9/block-compat_ioctl-fix-range-check-in-blkgetsize.patch new file mode 100644 index 00000000000..3fcf1d08b82 --- /dev/null +++ b/queue-4.9/block-compat_ioctl-fix-range-check-in-blkgetsize.patch @@ -0,0 +1,36 @@ +From ccf16413e520164eb718cf8b22a30438da80ff23 Mon Sep 17 00:00:00 2001 +From: Khazhismel Kumykov +Date: Thu, 14 Apr 2022 15:40:56 -0700 +Subject: block/compat_ioctl: fix range check in BLKGETSIZE + +From: Khazhismel Kumykov + +commit ccf16413e520164eb718cf8b22a30438da80ff23 upstream. + +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. + +Reviewed-by: Bart Van Assche +Signed-off-by: Khazhismel Kumykov +Reviewed-by: Chaitanya Kulkarni +Link: https://lore.kernel.org/r/20220414224056.2875681-1-khazhy@google.com +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman +--- + block/compat_ioctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/block/compat_ioctl.c ++++ b/block/compat_ioctl.c +@@ -394,7 +394,7 @@ long compat_blkdev_ioctl(struct file *fi + return 0; + case BLKGETSIZE: + size = i_size_read(bdev->bd_inode); +- if ((size >> 9) > ~0UL) ++ if ((size >> 9) > ~(compat_ulong_t)0) + return -EFBIG; + return compat_put_ulong(arg, size >> 9); + diff --git a/queue-4.9/series b/queue-4.9/series index c50b6699605..8d1b48cda35 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -21,3 +21,4 @@ arc-entry-fix-syscall_trace_exit-argument.patch ext4-limit-length-to-bitmap_maxbytes-blocksize-in-punch_hole.patch ext4-fix-overhead-calculation-to-account-for-the-reserved-gdt-blocks.patch ext4-force-overhead-calculation-if-the-s_overhead_cluster-makes-no-sense.patch +block-compat_ioctl-fix-range-check-in-blkgetsize.patch -- 2.47.3