Bug 13450

Summary: UDF driver presumes unix-style directory permission that the UDF spec doesn't define, needs new option implemented
Product: File System Reporter: David Campbell (david)
Component: UDFAssignee: Jan Kara (jack)
Status: RESOLVED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: akpm
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:

Description David Campbell 2009-06-04 02:00:25 UTC
When a UDF filesystem contains directories that do not have UDF execute permission set, it is impossible to access those directories from any user except for root.  There are no mount options that can work around this either.

There are quite a number of UDF disks out there, including commercial installation media from well known companies which do not use the execute bit for directories on UDF filesystems.

The UDF specification at http://www.ecma-international.org/publications/standards/Ecma-167.htm defines that files with the execute bit set "may execute the file", but execute permission on directories are completely undefined in the spec.  The notion of executable directories would be seen as an oddity under a straightforward reading of the spec.

The UDF filesystem driver presently treats UDF filesystems with the assumption that listing the contents of directories cannot be accessed by ordinary users if they do not have execute permission.  This is normal in unix, but it isn't  a documented UDF assumption, being absent from the UDF spec.

I believe that the UDF filesystem should have mount option(s) to override directory permissions, adding the execute bit in its absence.  Consideration should be given as to whether this should be the default behaviour.
Comment 1 Andrew Morton 2009-06-04 22:25:44 UTC
Reassigned to Jan.
Comment 2 Andrew Morton 2009-06-04 22:27:26 UTC
hm, how come this report is in the resolved/invalid state?  Confused.  Fixed.
Comment 3 Jan Kara 2009-06-05 21:34:12 UTC
UDF has dmode mount option (since December or so) which does exactly what you want I think. I suggest mounting problematic media with dmode=555 and everything should be fine. Please reopen the bug in case this is not enough for you.