← Back to team overview

kernel-packages team mailing list archive

[Bug 1243636] Re: ecryptfs currupts files over 4GB size on i686

 

** Description changed:

+ [SRU Justification]
+ 
+ Commit 24d15266bd86b7961f309a962fa3aa177a78c49f introduced a data corruption
+ regression on 32 bit architectures when writing past the 4 GB.
+ 
+ [Impact]
+ 
+ 32 bit users experience corruption of large files.
+ 
+ [Fix]
+ 
+ A cast is needed when shifting the page's index. Colin and I independently
+ identified the problem. It is a simple fix that is currently located in the
+ eCryptfs next branch:
+ 
+ http://git.kernel.org/cgit/linux/kernel/git/tyhicks/ecryptfs.git/commit/?h=next&id=43b7c6c6a4e3916edd186ceb61be0c67d1e0969e
+ 
+ I've sent a pull request to Linus, but he has not yet had a chance to pull in
+ the change:
+ 
+ https://lkml.org/lkml/2013/10/24/424
+ 
+ [Test Case]
+ 
+ Inside of an eCryptfs mount on an i686 Ubuntu install, create a file containing
+ 4 GB + 1 page worth (4096 bytes) of zeros. Then inspect the file for non-zero
+ bytes.
+ 
+ $ rm zeros
+ $ dd if=/dev/zero of=zeros bs=4096 count=$((4*1024*1024*1024/4096+4096))
+ 1052672+0 records in
+ 1052672+0 records out
+ 4311744512 bytes (4.3 GB) copied, 226.133 s, 19.1 MB/s
+ $ hexdump -C zeros
+ 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
+ *
+ 101000000
+ 
+ The hexdump output should show all zeros. A non patched kernel will show
+ non-zero bytes.
+ 
+ [Original Bug Report]
+ 
  on extracting files with extracted size >4 GB files are getting currupted.
  interestingly file gets currupted in the very moment the file size gets more than 4GB.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 13.10
  Package: linux-image-3.11.0-12-generic 3.11.0-12.19
  ProcVersionSignature: Ubuntu 3.11.0-12.19-generic 3.11.3
  Uname: Linux 3.11.0-12-generic i686
  ApportVersion: 2.12.5-0ubuntu2
  Architecture: i386
  Date: Wed Oct 23 12:11:43 2013
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2013-07-20 (94 days ago)
  InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release i386 (20130424)
  MarkForUpload: True
  ProcEnviron:
-  TERM=xterm
-  PATH=(custom, no user)
-  XDG_RUNTIME_DIR=<set>
-  LANG=de_DE.UTF-8
-  SHELL=/bin/bash
+  TERM=xterm
+  PATH=(custom, no user)
+  XDG_RUNTIME_DIR=<set>
+  LANG=de_DE.UTF-8
+  SHELL=/bin/bash
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-12-generic root=UUID=e97431f7-60b7-4fbe-b22f-5ca3304f2d50 ro quiet splash vt.handoff=7
  SourcePackage: linux
  UpgradeStatus: Upgraded to saucy on 2013-09-08 (45 days ago)

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1243636

Title:
  ecryptfs currupts files over 4GB size on i686

Status in eCryptfs:
  In Progress
Status in “linux” package in Ubuntu:
  In Progress

Bug description:
  [SRU Justification]

  Commit 24d15266bd86b7961f309a962fa3aa177a78c49f introduced a data corruption
  regression on 32 bit architectures when writing past the 4 GB.

  [Impact]

  32 bit users experience corruption of large files.

  [Fix]

  A cast is needed when shifting the page's index. Colin and I independently
  identified the problem. It is a simple fix that is currently located in the
  eCryptfs next branch:

  http://git.kernel.org/cgit/linux/kernel/git/tyhicks/ecryptfs.git/commit/?h=next&id=43b7c6c6a4e3916edd186ceb61be0c67d1e0969e

  I've sent a pull request to Linus, but he has not yet had a chance to pull in
  the change:

  https://lkml.org/lkml/2013/10/24/424

  [Test Case]

  Inside of an eCryptfs mount on an i686 Ubuntu install, create a file containing
  4 GB + 1 page worth (4096 bytes) of zeros. Then inspect the file for non-zero
  bytes.

  $ rm zeros
  $ dd if=/dev/zero of=zeros bs=4096 count=$((4*1024*1024*1024/4096+4096))
  1052672+0 records in
  1052672+0 records out
  4311744512 bytes (4.3 GB) copied, 226.133 s, 19.1 MB/s
  $ hexdump -C zeros
  00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  *
  101000000

  The hexdump output should show all zeros. A non patched kernel will show
  non-zero bytes.

  [Original Bug Report]

  on extracting files with extracted size >4 GB files are getting currupted.
  interestingly file gets currupted in the very moment the file size gets more than 4GB.

  ProblemType: Bug
  DistroRelease: Ubuntu 13.10
  Package: linux-image-3.11.0-12-generic 3.11.0-12.19
  ProcVersionSignature: Ubuntu 3.11.0-12.19-generic 3.11.3
  Uname: Linux 3.11.0-12-generic i686
  ApportVersion: 2.12.5-0ubuntu2
  Architecture: i386
  Date: Wed Oct 23 12:11:43 2013
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2013-07-20 (94 days ago)
  InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release i386 (20130424)
  MarkForUpload: True
  ProcEnviron:
   TERM=xterm
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=de_DE.UTF-8
   SHELL=/bin/bash
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-12-generic root=UUID=e97431f7-60b7-4fbe-b22f-5ca3304f2d50 ro quiet splash vt.handoff=7
  SourcePackage: linux
  UpgradeStatus: Upgraded to saucy on 2013-09-08 (45 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ecryptfs/+bug/1243636/+subscriptions


References