PR: 288266 Reported by: Robert Morris <rtm@lcs.mit.edu>
Details
Details
- Reviewers
markj emaste - Commits
- rG29af6d2e2ec9: msdosfs: replace '/' in direntries with '?'
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Might be it even makes sense to remount ro, but the damage is still there so probably not a big deal.
I do not think that we must filter out such entries, only return them into the safe territory.
Comment Actions
Isn't this a more general problem? e.g. UFS also does not validate the returned directory entries.
sys/fs/msdosfs/msdosfs_conv.c | ||
---|---|---|
817 | IMO it is a bit clearer if the substitution is done in dos2unixfn(). |
Comment Actions
I do not think so. For UFS (and probably ZFS) it would be a different issue:
- for UFS we trust on-disc format, and the issue like invalid dirent must be fixed by fsck.
- for msdosfs, the volume content is more often cannot be relied upon, it is either comes from other OS, or is even dynamically generated. In modern times msdosfs volume is typically the systems communication and interoperability mechanism.
So we must be prepared for invalid msdosfs formats, while we consider UFS format errors as exceptions.
sys/fs/msdosfs/msdosfs_conv.c | ||
---|---|---|
817 | There are several of them, and IMO it is not worth to spread the same fix over all places. |