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

diff --git a/queue-4.4/loop-add-loop_set_direct_io-to-compat-ioctl.patch b/queue-4.4/loop-add-loop_set_direct_io-to-compat-ioctl.patch
new file mode 100644 (file)
index 0000000..fdd9e28
--- /dev/null
@@ -0,0 +1,42 @@
+From 019751f2caf1a969ade1d25c1d5044755626f3c6 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 da3902ac16c86..8aadd4d0c3a88 100644
+--- a/drivers/block/loop.c
++++ b/drivers/block/loop.c
+@@ -1557,6 +1557,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 42bee224d84b6641e59679c0d330685227c13031..d21e3285ae86a28df4517803a792341c04de7e64 100644 (file)
@@ -9,3 +9,4 @@ net-hisilicon-fix-usage-of-uninitialized-variable-in.patch
 namespace-fix-namespace.pl-script-to-support-relativ.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