Linux Kernel Faces Commit Conflicts

Kees Cook, former chief system administrator Kernel.org and leader Ubuntu Security Team, demonstrated the possibility of creating a commander, the abbreviated identifier of which coincides with the commander previously added to the Linux nucleus. The experiment was conducted as a confirmation of the advisability of the transition to 16-symbolly abbreviated persons in the Linux nucleus, earlier under discussion in the list of newsletters of the core developers, but not approved by Linus Torvalds.

The abbreviated commits identifiers are formed through the abandonment of the first 12 characters from the Hash-1 hash (48 bits of 160 bits). Since the number of objects in the nucleus identified through the hash-1 hash-1 exceeded 13 million, the occurrence of conflicts when using a 12-symbolic prefix has become a matter of time. As an example, objects already added to the nucleus are shown, intersecting in their 11-symbol identifiers. In addition, it is mentioned that the intersection of 12-symbol identifiers is already recorded in October. However, before sending a patch, it was detected by the Checkpatch utility.

Abbreviated identifiers are used in the publication of short links to commits and are also indicated at sending Changes in the “Fixes” tag, as a link to the Committee, the problem in which is eliminated in the sent patch (for example, “Fixes: E21D2170F366”). The occurrence of conflicts, in which several different changes are associated with one abbreviated identifier, can lead to a violation of the tools for analysis and verification of changes taking into account the contents of the Fixes tags. These tags are considered in the processor

/Reports, release notes, official announcements.