]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18 patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Apr 2017 19:19:17 +0000 (21:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Apr 2017 19:19:17 +0000 (21:19 +0200)
queue-3.18/series
queue-3.18/staging-android-ashmem-lseek-failed-due-to-no-fmode_lseek.patch [new file with mode: 0644]

index b38c446067b082013675933010c3f7fbfafc8a71..e48840e67bf06b2658c4826b2d3c61741997d172 100644 (file)
@@ -65,3 +65,4 @@ raid10-increment-write-counter-after-bio-is-split.patch
 xfrm-policy-init-locks-early.patch
 xfrm_user-validate-xfrm_msg_newae-incoming-esn-size-harder.patch
 xfrm_user-validate-xfrm_msg_newae-xfrma_replay_esn_val-replay_window.patch
+staging-android-ashmem-lseek-failed-due-to-no-fmode_lseek.patch
diff --git a/queue-3.18/staging-android-ashmem-lseek-failed-due-to-no-fmode_lseek.patch b/queue-3.18/staging-android-ashmem-lseek-failed-due-to-no-fmode_lseek.patch
new file mode 100644 (file)
index 0000000..4764c7c
--- /dev/null
@@ -0,0 +1,39 @@
+From 97fbfef6bd597888485b653175fb846c6998b60c Mon Sep 17 00:00:00 2001
+From: Shuxiao Zhang <zhangshuxiao@xiaomi.com>
+Date: Thu, 6 Apr 2017 22:30:29 +0800
+Subject: staging: android: ashmem: lseek failed due to no FMODE_LSEEK.
+
+From: Shuxiao Zhang <zhangshuxiao@xiaomi.com>
+
+commit 97fbfef6bd597888485b653175fb846c6998b60c upstream.
+
+vfs_llseek will check whether the file mode has
+FMODE_LSEEK, no return failure. But ashmem can be
+lseek, so add FMODE_LSEEK to ashmem file.
+
+Comment From Greg Hackmann:
+       ashmem_llseek() passes the llseek() call through to the backing
+       shmem file.  91360b02ab48 ("ashmem: use vfs_llseek()") changed
+       this from directly calling the file's llseek() op into a VFS
+       layer call.  This also adds a check for the FMODE_LSEEK bit, so
+       without that bit ashmem_llseek() now always fails with -ESPIPE.
+
+Fixes: 91360b02ab48 ("ashmem: use vfs_llseek()")
+Signed-off-by: Shuxiao Zhang <zhangshuxiao@xiaomi.com>
+Tested-by: Greg Hackmann <ghackmann@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/android/ashmem.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/staging/android/ashmem.c
++++ b/drivers/staging/android/ashmem.c
+@@ -392,6 +392,7 @@ static int ashmem_mmap(struct file *file
+                       ret = PTR_ERR(vmfile);
+                       goto out;
+               }
++              vmfile->f_mode |= FMODE_LSEEK;
+               asma->file = vmfile;
+       }
+       get_file(asma->file);