Comment 2 for bug 191831

Revision history for this message
bo (bernd-oelker) wrote : AW: [Bug 191831] Re: bash test -w (writeable) always SUCCEED on EncFS +linux-2.6.26.X ?

Hallo,

Thank you for your quick response. Before I have also no problem with
Linux-2.6.XX (XX < 24) and encfs-1.3.2, but now it comes up ...
Sorry for the wrong Header it is linux-2.6.24.2 and I remember to
"see" this also on for example Linux 2.6.23.14 ...
Perhaps it is related to some Kernel change(s) like the following

From Changelog vanilla Kernel

commit 5b59039024e391cd5014db41ca8a89f0e2a0dabe
Author: Greg Kroah-Hartman <email address hidden>
Date: Mon Jan 14 12:49:56 2008 -0800

    Linux 2.6.23.14

commit 3093d39c9361dae001efaea9279b0b23e38f049c
Author: Linus Torvalds <email address hidden>
Date: Sat Jan 12 14:06:34 2008 -0800

    Use access mode instead of open flags to determine needed permissions (CVE-2008-0001)

    patch 974a9f0b47da74e28f68b9c8645c3786aa5ace1a in mainline

    Way back when (in commit 834f2a4a1554dc5b2598038b3fe8703defcbe467, aka
    "VFS: Allow the filesystem to return a full file pointer on open intent"
    to be exact), Trond changed the open logic to keep track of the original
    flags to a file open, in order to pass down the the intent of a dentry
    lookup to the low-level filesystem.

    However, when doing that reorganization, it changed the meaning of
    namei_flags, and thus inadvertently changed the test of access mode for
    directories (and RO filesystem) to use the wrong flag. So fix those
    test back to use access mode ("acc_mode") rather than the open flag
    ("flag").

    Issue noticed by Bill Roman at Datalight.

    Reported-and-tested-by: Bill Roman <email address hidden>
    Acked-by: Trond Myklebust <email address hidden>
    Acked-by: Al Viro <email address hidden>
    Cc: Christoph Hellwig <email address hidden>
    Cc: Andrew Morton <email address hidden>
    Signed-off-by: Linus Torvalds <email address hidden>
    Signed-off-by: Greg Kroah-Hartman <email address hidden>

Or for Kernel 2.6.24

commit 974a9f0b47da74e28f68b9c8645c3786aa5ace1a
Author: Linus Torvalds <email address hidden>
Date: Sat Jan 12 14:06:34 2008 -0800

    Use access mode instead of open flags to determine needed permissions

    Way back when (in commit 834f2a4a1554dc5b2598038b3fe8703defcbe467, aka
    "VFS: Allow the filesystem to return a full file pointer on open intent"
    to be exact), Trond changed the open logic to keep track of the original
    flags to a file open, in order to pass down the the intent of a dentry
    lookup to the low-level filesystem.

    However, when doing that reorganization, it changed the meaning of
    namei_flags, and thus inadvertently changed the test of access mode for
    directories (and RO filesystem) to use the wrong flag. So fix those
    test back to use access mode ("acc_mode") rather than the open flag
    ("flag").

    Issue noticed by Bill Roman at Datalight.

    Reported-and-tested-by: Bill Roman <email address hidden>
    Acked-by: Trond Myklebust <email address hidden>
    Acked-by: Al Viro <email address hidden>
    Cc: Christoph Hellwig <email address hidden>
    Cc: Andrew Morton <email address hidden>
    Signed-off-by: Linus Torvalds <email address hidden>

So I am not a kernel hacker, but perhaps for you this Information is interesting...
There are severall possibilities:
1.) bash do this test wrong, or better in a way that ist now failed.
2.) Kernel changes like the above, has to be followed to work right ...

-----Ursprüngliche Nachricht-----
Von: <email address hidden> [mailto:<email address hidden>] Im Auftrag von Valient Gough
Gesendet: Donnerstag, 14. Februar 2008 18:23
An: Bernd Oelker [HSP]
Betreff: [Bug 191831] Re: bash test -w (writeable) always SUCCEED on EncFS +linux-2.4.26.X ?

I'm not able to reproduce with Encfs 1.4.1.1, Fuse 2.7.0, linux 2.6.22:

$ cd crypt
$ touch foo
$ test -w foo && echo rw
rw
$ chmod -w foo
$ test -w foo && echo rw
$

--
bash test -w (writeable) always SUCCEED on EncFS + linux-2.4.26.X ?
https://bugs.launchpad.net/bugs/191831
You received this bug notification because you are a direct subscriber of the bug.

Status in Encrypted Filesystem for Linux: New

Bug description:
While putting a sourcecode Archiv tree on an encfs - Filesystem I recognised, that my shell scripts which check if a file is writeable FAILED, because if [ -w $file ] then ... always results true (file shows on ls only readonly !)
Environment:
OpenSuSE 10.3, linux-2.6.24.2, FUSE 2.7.2 without kernel module, encfs-1.4.1.1

If I untar the same src - Code Archiv on an normal Reiserfs - Filesystem, if [ -w $file ] behaves normal. I "feel" it depends on an linux Kernel update, because on a latest linux-2.6.23.X I reached the same.
If I edit this file via vi - Editor, it shows the readonly file correct as readonly !
=> There must be an combination of Kernel, BASH, encfs which results in this ERROR. My encfs - Filesystem ist mounted -public !