Torvalds Critiques Register-Dependent File Systems

Following a publication addressing the issue of support for the work of FS BCACHEFS in mode without taking into account the register of symbols in catalog names, Linus Torvalds responded, stating that FS developers seem unable to learn from their mistakes as this is far from the first problem related to register-dependence processing code.

The crux of the issue lies in the complexity of Unicode as a standard, and the challenge of harmonizing characters to a single register (Case Folding) across all regional cases. It is apparent that no one has been able to achieve this correctly. Due to the nature of Unicode, there are scenarios where program expectations may differ from how a particular file system implements character handling (e.g., some may see “❤” and “❤️” as the same in non-register mode, while others do not). This mismatch can lead to erroneous behavior and potential vulnerabilities, as program checks may see file names as different while the file system sees them as identical, or vice versa, posing security risks.

Torvalds highlighted that the root of the problem lies in the lack of a definitive, accurate method to handle register conversion in Unicode. Attempts to assign special values to bytes or combinations of bytes only result in new errors and potential vulnerabilities. He emphasized that the days of outdated practices from the Fat era are long gone, and it is a misconception to believe that behavior from that era is still beneficial.

/Reports, release notes, official announcements.