]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fixes for 4.9
authorSasha Levin <sashal@kernel.org>
Fri, 25 Oct 2019 01:34:05 +0000 (21:34 -0400)
committerSasha Levin <sashal@kernel.org>
Fri, 25 Oct 2019 01:34:05 +0000 (21:34 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.9/loop-add-loop_set_direct_io-to-compat-ioctl.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/loop-add-loop_set_direct_io-to-compat-ioctl.patch b/queue-4.9/loop-add-loop_set_direct_io-to-compat-ioctl.patch
new file mode 100644 (file)
index 0000000..8919ae4
--- /dev/null
@@ -0,0 +1,42 @@
+From c964a5632c165b265738fcdc8313bc643fb1f433 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 23 Oct 2019 18:17:36 +0100
+Subject: loop: Add LOOP_SET_DIRECT_IO to compat ioctl
+
+From: Alessio Balsini <balsini@android.com>
+
+[ Upstream commit fdbe4eeeb1aac219b14f10c0ed31ae5d1123e9b8 ]
+
+Enabling Direct I/O with loop devices helps reducing memory usage by
+avoiding double caching.  32 bit applications running on 64 bits systems
+are currently not able to request direct I/O because is missing from the
+lo_compat_ioctl.
+
+This patch fixes the compatibility issue mentioned above by exporting
+LOOP_SET_DIRECT_IO as additional lo_compat_ioctl() entry.
+The input argument for this ioctl is a single long converted to a 1-bit
+boolean, so compatibility is preserved.
+
+Cc: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Alessio Balsini <balsini@android.com>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/block/loop.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/block/loop.c b/drivers/block/loop.c
+index 9f840d9fdfcb5..f236b7984b946 100644
+--- a/drivers/block/loop.c
++++ b/drivers/block/loop.c
+@@ -1546,6 +1546,7 @@ static int lo_compat_ioctl(struct block_device *bdev, fmode_t mode,
+               arg = (unsigned long) compat_ptr(arg);
+       case LOOP_SET_FD:
+       case LOOP_CHANGE_FD:
++      case LOOP_SET_DIRECT_IO:
+               err = lo_ioctl(bdev, mode, cmd, arg);
+               break;
+       default:
+-- 
+2.20.1
+
index c9b3cdbd9a950f6fdeea3c2fb438514a09a79597..101ee7eb0b437c2cc6df97a1e9510ab3f99703ca 100644 (file)
@@ -13,3 +13,4 @@ revert-drm-radeon-fix-eeh-during-kexec.patch
 ocfs2-fix-panic-due-to-ocfs2_wq-is-null.patch
 mips-treat-loongson-extensions-as-ases.patch
 mips-elf_hwcap-export-userspace-ases.patch
+loop-add-loop_set_direct_io-to-compat-ioctl.patch