The End of d_genocide(): Linux Kernel Removes Controversial Function Name in 6.19 Refactor
In the source code of the forthcoming Linux 6.19 kernel, a function with a controversial name has been removed to bring the project’s terminology into line with current guidelines on inclusive language. The function d_genocide() has disappeared from the tree, along with its associated DCACHE_GENOCIDE flag.
The d_genocide() function was introduced in 2023 as part of work on the dcache subsystem. Its purpose was to forcibly destroy a specified directory entry together with all of its children—objects that could otherwise prevent the clean unmounting of certain filesystems. The code existed purely at the source level and was never exposed directly to end users.
The change was originally authored by Linux kernel developer Al Viro. When questioned several years ago about the choice of such a stark name, he explained that an operation involving the complete eradication of a directory tree inevitably evokes “unpleasant” concepts, and that finding a truly neutral term was difficult. Nevertheless, the function remained in the codebase for roughly two years.
It has now been removed as part of a refactoring of the relevant kernel logic. Its functionality has been folded into an updated kill_litter_super() function, making a separate d_genocide() implementation unnecessary. The initiative once again came from Al Viro himself, indicating an internal architectural cleanup rather than any form of external pressure.
In recent years, the Linux kernel project has already revised a number of terms, replacing expressions such as “blacklist” and “slave” with more neutral alternatives. What makes the d_genocide() case notable is that the function was introduced after the project had already articulated its commitment to inclusive language.
Whether this was a deliberate provocation or simply an attempt to underscore the destructive nature of the operation remains unclear. In the end, the developers have aligned this portion of the code more closely with the stated principles, abandoning both the contentious name and the need for a standalone function.
Support Our Threat Intelligence
If you find our technology report and cybersecurity news helpful, consider supporting our work.