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

      10 Top Node.js Development Companies for Enterprise-Scale Projects (2025-2026 Ranked & Reviewed)

      July 4, 2025

      12 Must-Know Cost Factors When Hiring Node.js Developers for Your Enterprise

      July 4, 2025

      Mirantis reveals Lens Prism, an AI copilot for operating Kubernetes clusters

      July 3, 2025

      Avoid these common platform engineering mistakes

      July 3, 2025

      Just days after joining Game Pass, the Xbox PC edition of Call of Duty: WW2 is taken offline for “an issue”

      July 5, 2025

      Xbox layoffs and game cuts wreak havoc on talented developers and the company’s future portfolio — Weekend discussion 💬

      July 5, 2025

      Microsoft plans to revamp Recall in Windows 11 with these new features

      July 5, 2025

      This 4K OLED monitor has stereo speakers that follow you — but it’s missing something “imPORTant”

      July 5, 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

      Flaget – new small 5kB CLI argument parser

      July 5, 2025
      Recent

      Flaget – new small 5kB CLI argument parser

      July 5, 2025

      The dog days of JavaScript summer

      July 4, 2025

      Databricks Lakebase – Database Branching in Action

      July 4, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Just days after joining Game Pass, the Xbox PC edition of Call of Duty: WW2 is taken offline for “an issue”

      July 5, 2025
      Recent

      Just days after joining Game Pass, the Xbox PC edition of Call of Duty: WW2 is taken offline for “an issue”

      July 5, 2025

      Xbox layoffs and game cuts wreak havoc on talented developers and the company’s future portfolio — Weekend discussion 💬

      July 5, 2025

      Microsoft plans to revamp Recall in Windows 11 with these new features

      July 5, 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

    News & Updates

    Just days after joining Game Pass, the Xbox PC edition of Call of Duty: WW2 is taken offline for “an issue”

    July 5, 2025
    News & Updates

    Xbox layoffs and game cuts wreak havoc on talented developers and the company’s future portfolio — Weekend discussion 💬

    July 5, 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

    Week in review: Keyloggers found on Outlook login pages, police shut down dark web drug market

    Security

    Smashing Security podcast #416: High street hacks, and Disney’s Wingdings woe

    Development

    The Turing Test has a problem – and OpenAI’s GPT-4.5 just exposed it

    News & Updates

    Detect hallucinations for RAG-based systems

    Machine Learning

    Highlights

    gplaces is a simple terminal Gemini client

    May 19, 2025

    gplaces is named after Going Places, the 1965 album by Herb Alpert and The Tijuana…

    Samsung MagicINFO Vulnerability Allows Remote Code Execution Without Valid User

    April 30, 2025

    A Guide To Evaluating Your Organizational Product Portfolio

    April 28, 2025

    CVE-2025-6814 – Booking X WordPress Unauthorized Data Access Vulnerability

    July 3, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

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