Date: Friday, July 22, 2016 @ 16:12:24
  Author: andyrtr
Revision: 272119

upgpkg: linux-lts 4.4.15-2

fix broken ecryptfs; FS#50126

Added:
  linux-lts/trunk/ecryptfs.patch
Modified:
  linux-lts/trunk/PKGBUILD

----------------+
 PKGBUILD       |   12 ++++++++----
 ecryptfs.patch |   37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2016-07-22 13:46:49 UTC (rev 272118)
+++ PKGBUILD    2016-07-22 16:12:24 UTC (rev 272119)
@@ -4,7 +4,7 @@
 pkgbase=linux-lts
 _srcname=linux-4.4
 pkgver=4.4.15
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 url="http://www.kernel.org/";
 license=('GPL2')
@@ -17,7 +17,8 @@
         # standard config files for mkinitcpio ramdisk
         "$pkgbase.preset"
         change-default-console-loglevel.patch
-        0001-sdhci-revert.patch)
+        0001-sdhci-revert.patch
+        ecryptfs.patch)
 # https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
 sha256sums=('401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2'
             'SKIP'
@@ -27,8 +28,8 @@
             '68c7296ff2f5f55d69e83aa4d20f925df740b1eb1e6bdb0f13e8a170360ed09f'
             '1f036f7464da54ae510630f0edb69faa115287f86d9f17641197ffda8cfd49e0'
             '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
-            '5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375')
-
+            '5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375'
+            'a2e240ab338f02ebde278131cf5810e9aa3846a8238e3d26dc235eace05ab4e7')
 validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds 
<[email protected]>
               '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman 
(Linux kernel stable release signing key) <[email protected]>
              )
@@ -42,6 +43,9 @@
 
   # add latest fixes from stable queue, if needed
   # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
+
+  # https://bugs.archlinux.org/task/50126 - broken ecryptfs
+  patch -p1 -i "${srcdir}/ecryptfs.patch"
   
   # revert 
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9faac7b95ea4f9e83b7a914084cc81ef1632fd91
   # fixes #47778 sdhci broken on some boards

Added: ecryptfs.patch
===================================================================
--- ecryptfs.patch                              (rev 0)
+++ ecryptfs.patch      2016-07-22 16:12:24 UTC (rev 272119)
@@ -0,0 +1,37 @@
+From: Tyler Hicks <tyhicks <at> canonical.com>
+Subject: [PATCH] eCryptfs: Fix directory open regression in linux-stable
+Newsgroups: gmane.comp.file-systems.ecryptfs.general, gmane.linux.kernel.stable
+Date: 2016-06-29 03:39:41 GMT (14 hours and 12 minutes ago)
+
+Cherry-picking mainline commit 2f36db71009304b3f0b95afacd8eba1f9f046b87
+introduces a regression in eCryptfs when mainline commit
+6a480a7842545ec520a91730209ec0bae41694c1 (4.6+) is not present. The
+regression causes all attempts at opening directory files to fail with
+EMEDIUMTYPE when the lower filesystem's file_operations for directory
+files do not implement mmap.
+
+This is a simple fix that allows the check for the lower file's mmap
+implementation to be ignored if the lower file is a directory.
+
+Signed-off-by: Tyler Hicks <tyhicks <at> canonical.com>
+Tested-by: Tyler Hicks <tyhicks <at> canonical.com> # 4.4.y, 3.18.y
+Cc: <stable <at> vger.kernel.org> # 4.5-
+---
+ fs/ecryptfs/kthread.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fs/ecryptfs/kthread.c b/fs/ecryptfs/kthread.c
+index e818f5a..b9faeab 100644
+--- a/fs/ecryptfs/kthread.c    2016-06-30 23:32:07.029678000 +0200
++++ b/fs/ecryptfs/kthread.c    2016-06-30 23:34:13.022284475 +0200
+@@ -171,7 +171,7 @@ int ecryptfs_privileged_open(struct file
+               goto out;
+       }
+ have_file:
+-      if ((*lower_file)->f_op->mmap == NULL) {
++      if ((*lower_file)->f_op->mmap == NULL && !d_is_dir(lower_dentry)) {
+               fput(*lower_file);
+               *lower_file = NULL;
+               rc = -EMEDIUMTYPE;
+-- 
+2.7.4

Reply via email to