All of lore.kernel.org
 help / color / mirror / Atom feed
From: tridge@samba.org
To: Pavel Machek <pavel@ucw.cz>
Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
	john.lanza@linux.com, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	Dave Kleikamp <shaggy@linux.vnet.ibm.com>,
	Steve French <sfrench@us.ibm.com>, Mingming Cao <cmm@us.ibm.com>,
	Paul McKenney <paulmck@linux.vnet.ibm.com>
Subject: Re: [PATCH] Added CONFIG_VFAT_FS_DUALNAMES option
Date: Wed, 1 Jul 2009 20:50:01 +1000	[thread overview]
Message-ID: <19019.16217.291678.588673@samba.org> (raw)
In-Reply-To: <20090630063102.GB1351@ucw.cz>

Hi Pavel,

 > Defaults should be back-compatible.

I would usually agree, but I think we have an unusual situation here,
in some ways similar to a demonstrated security hole. The previous
behaviour exposed a lot of Linux vendors to the possibility of an
expensive legal fight.

If we had some way to be completely backwards compatible while
avoiding the legal issues then of course we should take that. I tried
hard to find a varient that achieved that, but the best I could manage
was what I have posted. It may be that someone else can find a better
varient that avoids the legal issues while remaining fully backward
compatible.

 > Users considering disabling this should understand that filesystem
 > they write to will not be valid vfat filesystems, and may trigger bugs
 > in some devices.

If we find any devices that exhibit any problems with this patch while
it is in linux-next (and maybe linux-mm?) then this warning would
indeed be appropriate. It no such devices are known then I think the
warning is going a bit far. 

Do you have a specific device in mind with regard to this warning?

 > What happens on collision? With 60000 entries in directory, there will
 > be 50% chance of collision. BAD.

Why do you say it is bad? You need to remember that those 11 bytes
cannot be used as a filename, so it isn't a filename collision. As I
mentioned in the reply to Eric's question, a quite good choice is to
use 11 spaces for every file, and that only falls down because
WindowsXP has a bug that causes that varient to bluescreen.

The only risks with collisions that I am aware of are:

  - there is a very small chance (much, _much_ less than 50% with 60k
    files) of WindowsXP bluescreening. I've never in fact managed to
    reproduce this with the current patch, despite many days of
    continuous randomised testing. The reason the probability is much
    smaller than 50% at 60k is that it doesn't bluescreen just because
    there is a duplicate 8.3 entry - it bluescreens with a particular
    access pattern that involves 2 entries with the same 11 bytes,
    that access pattern is very hard to produce.

  - chkdsk.exe will complain about duplicates, and will rename one of
    the two files. That is a 50% chance of 1 file being renamed for a
    single directory containing 60k files. Given it isn't all that
    common to run chkdsk on removable media that is shared between
    Linux and Windows, I thought that this is not a terribly large
    concern.

 > Why not use something like position in directory instead of random
 > number?

We did of course consider that, and the changes to the patch to
implement collision avoidance are relatively simple. We didn't do it
as it would weaken the legal basis behind the patch. I'll leave it to
John Lanza (the LF patent attorney) to expand on that if you want more
information.

Cheers, Tridge

  parent reply	other threads:[~2009-07-01 10:50 UTC|newest]

Thread overview: 212+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-26 19:19 [PATCH] Added CONFIG_VFAT_FS_DUALNAMES option tridge
2009-06-26 21:40 ` H. Peter Anvin
2009-06-26 22:21   ` tridge
2009-06-27  1:48     ` OGAWA Hirofumi
2009-06-27 17:26       ` Jan Engelhardt
2009-06-27  1:56 ` OGAWA Hirofumi
2009-06-27 17:21 ` Jan Engelhardt
2009-06-28  2:59   ` tridge
2009-06-28 21:57     ` Jamie Lokier
2009-06-28 22:02       ` Jan Engelhardt
2009-06-28 22:05         ` Jamie Lokier
2009-06-29  1:23       ` tridge
2009-06-28  1:54 ` Eric W. Biederman
2009-06-28  2:19   ` tridge
2009-06-28  4:10     ` Eric W. Biederman
2009-06-28  5:38       ` tridge
2009-06-28  6:25         ` OGAWA Hirofumi
2009-06-28 19:51           ` Eric W. Biederman
2009-06-28 20:13             ` James Bottomley
2009-06-28 20:45               ` Eric W. Biederman
2009-06-28 21:45                 ` James Bottomley
2009-06-28 21:28             ` tridge
2009-06-29  1:30           ` tridge
2009-06-29 22:18             ` Greg KH
2009-06-29 22:42               ` tridge
2009-06-29 22:52                 ` Greg KH
2009-06-29 23:36                 ` OGAWA Hirofumi
2009-06-29 23:51                   ` tridge
2009-06-30  0:55                     ` OGAWA Hirofumi
2009-06-30  6:31 ` Pavel Machek
2009-07-01 10:09   ` Alan Cox
2009-07-01 11:11     ` tridge
2009-07-01 11:34       ` Alan Cox
2009-07-01 10:49   ` Rusty Russell
2009-07-01 11:25     ` Alan Cox
2009-07-01 14:05       ` Theodore Tso
2009-07-01 14:17         ` Alan Cox
2009-07-02  1:42           ` tridge
2009-07-02 10:33             ` Alan Cox
2009-07-02 12:43               ` tridge
2009-07-02 21:49           ` Pavel Machek
2009-07-06 19:57           ` Jamie Lokier
2009-07-01 16:18         ` Stefan Richter
2009-07-01 16:18           ` Stefan Richter
2009-07-02 23:17         ` CONFIG_VFAT_FS_DUALNAMES regression Jan Engelhardt
2009-07-02 23:17           ` Jan Engelhardt
2009-07-02 23:37           ` tridge
2009-07-03  0:11             ` Jan Engelhardt
2009-07-03  0:11               ` Jan Engelhardt
2009-07-03  0:25               ` tridge
2009-07-03  1:10                 ` Jan Engelhardt
2009-07-03  1:10                   ` Jan Engelhardt
2009-07-03  1:26                   ` tridge
2009-07-03  1:58                     ` Jan Engelhardt
2009-07-11  0:14                       ` Jamie Lokier
2009-07-02 23:46           ` CONFIG_VFAT_FS_DUALNAMES regressions Jan Engelhardt
2009-07-02 23:46             ` Jan Engelhardt
2009-07-03  0:14             ` tridge
2009-07-03  0:58               ` OGAWA Hirofumi
2009-07-03  1:11                 ` tridge
2009-07-03  1:50                   ` Jan Engelhardt
2009-07-03  1:50                     ` Jan Engelhardt
2009-07-03  1:59                     ` tridge
2009-07-03  2:09                       ` Jan Engelhardt
2009-07-03  2:09                         ` Jan Engelhardt
2009-07-03  3:25                         ` tridge
2009-07-03  6:46                           ` OGAWA Hirofumi
2009-07-03  9:40                           ` Jan Engelhardt
2009-07-03  9:40                             ` Jan Engelhardt
2009-07-03 12:24                             ` tridge
2009-07-04  3:09                               ` OGAWA Hirofumi
2009-07-06 11:40                               ` Jan Engelhardt
2009-07-06 13:05                                 ` tridge
2009-07-06 16:17                                   ` David Newall
2009-07-06 16:17                                     ` David Newall
2009-07-06 19:33                                     ` Jamie Lokier
2009-07-06 18:55                                   ` Jan Engelhardt
2009-07-06 20:26                                     ` tridge
2009-07-06 20:42                                       ` Jan Engelhardt
2009-07-06 20:42                                         ` Jan Engelhardt
2009-07-08  7:31                                         ` tridge
2009-07-06 20:36                                     ` Jan Engelhardt
2009-07-06 20:58                                       ` Jamie Lokier
2009-07-06 21:08                                         ` Jan Engelhardt
2009-07-06 22:24                                           ` Jamie Lokier
2009-07-07  9:36                                             ` Jan Engelhardt
2009-07-07  0:21                                       ` tridge
2009-07-07 21:56                                         ` Martin Steigerwald
2009-07-07 22:09                                           ` Martin Steigerwald
2009-07-08  3:12                                           ` tridge
2009-07-08 10:04                                             ` Alan Cox
2009-07-08 10:48                                               ` tridge
2009-07-08 12:02                                                 ` Alan Cox
2009-07-08 13:02                                                   ` tridge
2009-07-08 13:25                                                     ` Alan Cox
2009-07-09  1:20                                                       ` tridge
2009-07-09  9:42                                                         ` Alan Cox
2009-07-09 13:59                                                           ` James Bottomley
2009-07-09 14:10                                                             ` Alan Cox
2009-07-09 15:25                                                               ` Theodore Tso
2009-07-09 17:15                                                                 ` Christoph Hellwig
2009-07-09 20:57                                                                   ` David Newall
2009-07-09 22:23                                                                     ` Martin Steigerwald
2009-07-10  1:45                                                                       ` David Newall
2009-07-10 18:49                                                                         ` Martin Steigerwald
2009-07-10 19:31                                                                           ` Jonathan Corbet
2009-07-10 20:40                                                                             ` Bartlomiej Zolnierkiewicz
2009-07-12 11:21                                                                               ` Jörn Engel
2009-07-12 11:21                                                                                 ` Jörn Engel
2009-07-12 11:27                                                                                 ` Jan Engelhardt
2009-07-12 11:27                                                                                   ` Jan Engelhardt
2009-07-13 22:20                                                                                   ` Jamie Lokier
2009-07-13 22:20                                                                                     ` Jamie Lokier
2009-07-13 22:32                                                                                     ` Jan Engelhardt
2009-07-10 21:14                                                                             ` Alan Cox
2009-07-12  8:52                                                                           ` David Newall
2009-07-10  0:09                                                                 ` Alan Cox
2009-07-08 12:23                                                 ` Jan Engelhardt
2009-07-08 15:27                                               ` James Bottomley
2009-07-08 15:37                                                 ` Alan Cox
2009-07-08 16:06                                                   ` James Bottomley
2009-07-08 16:18                                                     ` Alan Cox
2009-07-09  4:25                                                       ` tridge
2009-07-09  5:27                                                         ` OGAWA Hirofumi
2009-07-09  7:21                                                           ` Pavel Machek
2009-07-09  7:34                                                             ` David Newall
2009-07-09  9:51                                                         ` Alan Cox
2009-07-09  4:53                                                       ` OGAWA Hirofumi
2009-07-09  9:53                                                         ` Alan Cox
2009-07-12 19:39                                                         ` OGAWA Hirofumi
2009-07-21  3:37                                                           ` tridge
2009-07-21  9:16                                                             ` Boaz Harrosh
2009-07-21 10:31                                                               ` Pavel Machek
2009-07-21 13:24                                                                 ` tridge
2009-07-21 15:08                                                                   ` John Lanza
2009-07-21 15:08                                                                     ` John Lanza
2009-07-21 19:36                                                                     ` John Lanza
2009-07-21 19:36                                                                       ` John Lanza
2009-07-21 21:37                                                                   ` Pavel Machek
2009-07-21 22:38                                                                     ` tridge
2009-07-21 10:44                                                               ` Jan Engelhardt
2009-07-21 13:04                                                               ` tridge
2009-07-21 15:06                                                                 ` John Lanza
2009-07-21 19:38                                                                   ` John Lanza
2009-07-21 19:38                                                                     ` John Lanza
2009-07-21 10:31                                                             ` Pavel Machek
2009-07-21 13:19                                                               ` tridge
2009-08-08 12:19                                                                 ` Pavel Machek
2009-07-08 11:39                                             ` Martin Steigerwald
2009-07-08 13:53                                               ` Jamie Lokier
2009-07-08 17:12                                                 ` Jeremy Allison
2009-07-09  3:23                                               ` tridge
2009-07-09 13:34                                                 ` Martin Steigerwald
2009-07-09  4:13                                               ` tridge
2009-07-09 19:47                                                 ` Martin Steigerwald
2009-07-10  7:36                                                 ` Pavel Machek
2009-07-10 21:12                                                   ` Jamie Lokier
2009-07-10 21:28                                                 ` Jamie Lokier
2009-07-11  2:03                                                   ` Jamie Lokier
2009-07-07 19:51                                   ` Pavel Machek
2009-07-08  7:42                                     ` tridge
2009-07-08 10:27                                       ` Jan Engelhardt
2009-07-09  2:23                                         ` tridge
2009-07-09  8:24                                           ` Jan Engelhardt
2009-07-10  7:35                                       ` Pavel Machek
2009-07-06 20:04                               ` Jamie Lokier
2009-07-08  7:30                                 ` tridge
2009-07-10 21:44                                   ` Jamie Lokier
2009-07-02  0:34       ` [PATCH] Added CONFIG_VFAT_FS_DUALNAMES option Rusty Russell
2009-07-02 21:46     ` Pavel Machek
2009-07-02 22:06       ` tridge
2009-07-02 22:33         ` Pavel Machek
2009-07-02 22:41           ` tridge
2009-07-02 22:44             ` Pavel Machek
2009-07-02 23:59               ` tridge
2009-07-08  9:21                 ` Pavel Machek
2009-07-08 14:25                   ` Paul E. McKenney
2009-07-08 21:42                     ` tridge
2009-07-08 22:14                       ` Paul E. McKenney
2009-07-08 23:59                         ` Paul E. McKenney
2009-07-08 16:46                   ` H. Peter Anvin
2009-07-03  0:03               ` Rusty Russell
2009-07-02 23:55       ` Rusty Russell
2009-07-01 10:50   ` tridge [this message]
2009-07-01 11:31     ` Alan Cox
2009-07-01 13:16       ` tridge
2009-07-01 13:38         ` Alan Cox
2009-07-01 14:02           ` tridge
2009-07-01 14:41             ` Alan Cox
2009-07-02  4:04               ` tridge
2009-07-02 10:32                 ` Alan Cox
2009-07-02 12:38                   ` tridge
2009-07-02 16:56                     ` Alan Cox
2009-07-03  2:50                       ` OGAWA Hirofumi
2009-07-02 14:56                   ` James Bottomley
2009-07-02 15:27                     ` Theodore Tso
2009-07-02 18:12                     ` Alan Cox
2009-07-02 21:25                       ` James Bottomley
2009-07-01 11:48     ` Boaz Harrosh
2009-07-01 12:28       ` tridge
2009-07-01 15:44       ` James Bottomley
2009-07-02 22:03         ` Pavel Machek
2009-07-06 20:41         ` Jamie Lokier
2009-07-07 10:02           ` Boaz Harrosh
2009-07-07 11:25             ` Jamie Lokier
2009-07-07 11:48               ` Boaz Harrosh
2009-07-07 11:50                 ` tridge
2009-07-02 22:00     ` Pavel Machek
2009-07-02 22:23       ` tridge
2009-07-02 22:41         ` Pavel Machek
     [not found] <4bbed3f70907082014t643209eaw5fc7cd7297f7af78@mail.gmail.com>
2009-07-09 13:16 ` John Lanza
2009-07-09 13:16   ` John Lanza

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19019.16217.291678.588673@samba.org \
    --to=tridge@samba.org \
    --cc=cmm@us.ibm.com \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=john.lanza@linux.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=pavel@ucw.cz \
    --cc=sfrench@us.ibm.com \
    --cc=shaggy@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.