Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Stop writing tests: Automate fully with Generative AI

      August 19, 2025

      Opsera’s Codeglide.ai lets developers easily turn legacy APIs into MCP servers

      August 19, 2025

      Black Duck Security GitHub App, NuGet MCP Server preview, and more – Daily News Digest

      August 19, 2025

      10 Ways Node.js Development Boosts AI & Real-Time Data (2025-2026 Edition)

      August 18, 2025

      This new Coros watch has 3 weeks of battery life and tracks way more – even fly fishing

      August 20, 2025

      5 ways automation can speed up your daily workflow – and implementation is easy

      August 20, 2025

      This new C-suite role is more important than ever in the AI era – here’s why

      August 20, 2025

      iPhone users may finally be able to send encrypted texts to Android friends with iOS 26

      August 20, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Creating Dynamic Real-Time Features with Laravel Broadcasting

      August 20, 2025
      Recent

      Creating Dynamic Real-Time Features with Laravel Broadcasting

      August 20, 2025

      Understanding Tailwind CSS Safelist: Keep Your Dynamic Classes Safe!

      August 19, 2025

      Sitecore’s Content SDK: Everything You Need to Know

      August 19, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Why GNOME Replaced Eye of GNOME with Loupe as the Default Image Viewer

      August 19, 2025
      Recent

      Why GNOME Replaced Eye of GNOME with Loupe as the Default Image Viewer

      August 19, 2025

      Microsoft admits it broke “Reset this PC” in Windows 11 23H2 KB5063875, Windows 10 KB5063709

      August 19, 2025

      How to Fix “EA AntiCheat Has Detected an Incompatible Driver” on Windows 11?

      August 19, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Operating Systems»Linux»Linus Torvalds critica duramente i file system che non distinguono tra maiuscole e minuscole!

    Linus Torvalds critica duramente i file system che non distinguono tra maiuscole e minuscole!

    April 26, 2025
    Linus Torvalds critica duramente i file system che non distinguono tra maiuscole e minuscole!

    Linus Torvalds ha recentemente espresso con la sua consueta franchezza un forte disappunto riguardo ai file system che implementano il supporto per il case-folding, ovvero la gestione di nomi di file e cartelle senza distinzione tra lettere maiuscole e minuscole.

    Il contesto di queste osservazioni nasce da un problema riscontrato nel file system Bcachefs, che ha evidenziato un malfunzionamento nel supporto al case-folding nella sua implementazione. Per questo motivo, è stata presentata una richiesta di correzione da integrare nella versione del kernel Linux 6.15, la prossima versione stabile. Torvalds ha quindi pubblicato un lungo messaggio sulla mailing list ufficiale del kernel Linux (LKML), dove ha illustrato le sue opinioni critiche su questa funzionalità.

    Il problema del case-folding nei file system Linux non è nuovo. In passato si sono verificati problemi legati alla gestione di caratteri Unicode speciali, come le emoji, che complicano ulteriormente il corretto confronto dei nomi di file e cartelle senza distinzione tra maiuscole e minuscole.

    Il case-folding è un metodo utilizzato per trattare le lettere maiuscole e minuscole come equivalenti, consentendo ad esempio di riconoscere “File.txt” e “file.txt” come lo stesso nome di file. Questa funzionalità, diffusa in diversi file system, semplifica alcune operazioni, ma può anche introdurre complicazioni e rischi per la sicurezza, soprattutto in contesti che richiedono una gestione precisa e rigorosa dei nomi dei file.

    Le opinioni di Linus Torvalds sul case-folding dei file system

    Nel suo intervento su LKML, Linus Torvalds ha dichiarato senza mezzi termini che chi si occupa di sviluppo di file system non impara mai dai propri errori. Secondo lui, l’adozione di nomi case-insensitive (cioè che non distinguono tra maiuscole e minuscole) è un errore grave e non avrebbe dovuto essere implementata.

    Tra i punti chiave del suo discorso:

    • Il problema non è la mancanza di test, ma il fatto stesso di aver implementato questa funzionalità.
    • Tentare di gestire il case-folding “in modo corretto” è impossibile, perché non esiste un modo universalmente giusto per farlo; questo porta a interpretazioni arbitrarie di byte casuali nei nomi dei file.
    • I test effettuati finora sono falliti nel coprire tutti i casi problematici, in particolare quelli che possono causare vulnerabilità di sicurezza negli ambienti utente.
    • Alcuni programmi in modalità utente verificano che i nomi dei file non corrispondano a pattern sensibili per motivi di sicurezza, ma il file system case-insensitive può comunque far corrispondere questi pattern ignorando caratteri non stampabili o altri dettagli, esponendo così i programmi a rischi di inganno.
    • Torvalds cita esempi di commit (modifiche al codice) che tentano di gestire questi casi, ma che dimostrano la complessità e i problemi insiti nel case-folding.
    • Un esempio concreto riguarda i caratteri Unicode ❤ e ❤, che differiscono solo per punti di codice ignorabili. Il primo è un semplice cuore (U+2764), mentre il secondo include un modificatore di stile (U+2764 U+FE0F), che lo rende un’emoji. Chi vuole che questi 2 caratteri siano considerati uguali finisce per far sì che altri file con punti di codice ignorabili vengano trattati allo stesso modo, con conseguenze potenzialmente pericolose.
    • Molti programmi che effettuano controlli di sicurezza sui percorsi dei file possono essere ingannati da questa gestione errata del case-folding.
    • Per Torvalds, la distinzione tra maiuscole e minuscole non è un problema da risolvere, ma una caratteristica fondamentale e la sua assenza rappresenta un vero e proprio bug.
    • Egli critica chi continua a considerare il case-folding una funzionalità da implementare, paragonandolo a un tentativo di ricreare i limiti del vecchio file system FAT, noto per le sue carenze.

    Questa posizione di Torvalds è coerente con la sua storica attenzione alla robustezza e sicurezza del kernel Linux e dei file system associati e non dovrebbe rappresentare una novità. Del resto mi sembra chiaro quando scrive:

    Dammit. Case sensitivity is a BUG. The fact that filesystem people *still* think it’s a feature, I cannot understand. It’s like they revere the old FAT filesystem _so_ much that they have to recreate it – badly.

    Dannazione. La distinzione tra maiuscole e minuscole è un BUG. Il fatto che chi si occupa di file system *ancora* la consideri una funzionalità, non riesco a capirlo. È come se venerassero così tanto il vecchio file system FAT da dover ricrearlo, e alla grande.

    Perché la distinzione tra maiuscole e minuscole è importante nei file system GNU/Linux

    Nei sistemi GNU/Linux, la distinzione tra lettere maiuscole e minuscole nei nomi di file e cartelle è una caratteristica fondamentale. Ad esempio, “Documento.txt” e “documento.txt” sono considerati 2 file distinti. Questo comportamento deriva dalla filosofia Unix di mantenere un controllo preciso e rigoroso sui nomi dei file, evitando ambiguità.

    I file system più comuni su GNU/Linux, come ext4, rispettano questa distinzione, garantendo così una gestione coerente e sicura dei dati. Al contrario, file system come FAT o NTFS (tipici di Windows) sono case-insensitive, cioè non distinguono tra maiuscole e minuscole, il che può portare a problemi di compatibilità e sicurezza quando si usano in ambienti GNU/Linux.

    Il problema del case-folding diventa ancora più complesso quando si considerano i caratteri Unicode, che includono simboli, emoji e caratteri speciali. La gestione corretta di questi caratteri richiede una normalizzazione e un confronto preciso, che spesso non è possibile realizzare in modo affidabile con il case-folding.

    Implicazioni per gli sviluppatori e gli utenti di GNU/Linux

    Le osservazioni di Linus Torvalds mettono in guardia sviluppatori e utenti riguardo all’adozione di file system con supporto case-insensitive o case-folding, specialmente in ambienti GNU/Linux dove la distinzione tra maiuscole e minuscole è la norma.

    Gli sviluppatori di file system sono invitati a considerare attentamente le implicazioni di sicurezza e compatibilità prima di implementare funzionalità di questo tipo. Gli utenti, invece, devono essere consapevoli delle differenze tra i vari file system e scegliere quelli più adatti alle proprie esigenze, tenendo presente che la gestione dei nomi di file senza distinzione tra maiuscole e minuscole può comportare rischi e comportamenti inattesi.

    Novità in Bcachefs versione 6.15

    Le distribuzioni GNU/Linux stanno per ricevere la versione 6.15 del kernel Linux, che includerà una correzione per il supporto case-folding nel file system Bcachefs. Questa correzione mira a risolvere i problemi di funzionamento riscontrati nella gestione dei nomi di file e cartelle senza distinzione tra maiuscole e minuscole. Tuttavia, come evidenziato da Linus Torvalds, la correzione non elimina le problematiche di fondo legate al case-folding, che rimane una funzionalità controversa e fonte di potenziali vulnerabilità di sicurezza.

    Fonte: https://lore.kernel.org/lkml/CAHk-=wjajMJyoTv2KZdpVRoPn0LFZ94Loci37WLVXmMxDbLOjg@mail.gmail.com/
    Fonte: https://www.phoronix.com/news/Linus-Torvalds-Anti-Case-Fold

    Source: Read More

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleRilasciata Archcraft 2025.04.24: la distribuzione GNU/Linux minimalista e moderna basata su Arch Linux
    Next Article CVE-2025-2101 – Edumall WordPress Local File Inclusion Vulnerability

    Related Posts

    Learning Resources

    Why GNOME Replaced Eye of GNOME with Loupe as the Default Image Viewer

    August 19, 2025
    Operating Systems

    Microsoft admits it broke “Reset this PC” in Windows 11 23H2 KB5063875, Windows 10 KB5063709

    August 19, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    CVE-2025-5476 – Sony XAV-AX8500 Bluetooth L2CAP Channel Isolation Authentication Bypass

    Common Vulnerabilities and Exposures (CVEs)

    Credential Theft and Remote Access Surge as AllaKore, PureRAT, and Hijack Loader Proliferate

    Development

    CVE-2025-31260 – Apple macOS Sequoia Permission Escalation Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    CVE-2025-36120 – IBM Storage Virtualize SSH Privilege Escalation Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Highlights

    How your Pixel phone can now help you shoot expert-level photos and video

    June 27, 2025

    With Google’s new ‘Camera Education’ mode, you can harness more of your phone’s powerful photographic…

    I tried Google’s XR glasses and they already beat my Meta Ray-Bans in 3 ways

    May 21, 2025

    Unlock the World of Crypto with a Powerful and Intuitive App UI

    April 17, 2025

    CISA Flags CVE-2023-0386 as Actively Exploited Linux Kernel Privilege Escalation Threat

    June 19, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.