Monday, 15 July 2013

Linus Torvalds: " There aren't enough swear-words in the English language", or, perkeleen vittupää

Linus Torvalds, commenting on a Linux commit, had to result to swearing in (his semi-native) Finnish (emphasis added):
Sat, 13 Jul 2013 15:40:24 -0700
Subject Re: [GIT pull] x86 updates for 3.11
From Linus Torvalds <>

On Sat, Jul 13, 2013 at 4:21 AM, Thomas Gleixner  wrote:
>    * Guarantee IDT page alignment

What the F*CK, guys?

This piece-of-shit commit is marked for stable, but you clearly never even test-compiled it, did you?

Because on x86-64 (the which is the only place where the patch
matters), I don't see how you could have avoided this honking huge
warning otherwise:
 arch/x86/kernel/traps.c:74:1: warning: braces around scalar
initializer [enabled by default]
  gate_desc idt_table[NR_VECTORS] __page_aligned_data = { { { { 0, 0 } } }, };
 arch/x86/kernel/traps.c:74:1: warning: (near initialization for
‘idt_table[0].offset_low’) [enabled by default]
 arch/x86/kernel/traps.c:74:1: warning: braces around scalar
initializer [enabled by default]
 arch/x86/kernel/traps.c:74:1: warning: (near initialization for
‘idt_table[0].offset_low’) [enabled by default]
 arch/x86/kernel/traps.c:74:1: warning: excess elements in scalar
initializer [enabled by default]
 arch/x86/kernel/traps.c:74:1: warning: (near initialization for
‘idt_table[0].offset_low’) [enabled by default]
and I don't think this is compiler-specific, because that code is
crap. The declaration for gate_desc is very very different for 32-bit
and 64-bit x86 for whatever braindamaged reasons.

Seriously, WTF? I made the mistake of doing multiple merges back-to-back with the intention of not doing a full allmodconfig build
in between them, and now I have to undo them all because this pull
request was full of unbelievable shit.

And why the hell was this marked for stable even *IF* it hadn't been
complete and utter tripe? It even has a comment in the commit message
about how this probably doesn't matter. So it's doubly crap: it's
*wrong*, and it didn't actually fix anything to begin with.

There aren't enough swear-words in the English language, so now I'll
have to call you perkeleen vittupää just to express my disgust and
frustration with this crap.

 Reddit has some additional comments.

What does perkeleen vittupää mean?

  • Pää =  head (From Proto-Uralic *päŋe)
  • Vittu = vulgar term for female genatalia  (< Swedish fitta, with the same meaning, apparently ultimately from fett, meaning "fat" (n.), itself a borrowing in Swedish from Middle Low German vet, from Old Saxon *fētid, from Proto-Germanic *faitidaz )
  • Perkele = the name of the chief deity of the pre-Christian Finnish pantheon, now usually meaning something like "Devil" (itself ultimately from Proto-Indo-European; cp. Perkūnas, the common Baltic name for the god of thunder, deriving from Proto-Indo-European *Perkwunos, itself cognate with *perkwus, a word for "oak", "fir" or "wooded mountain")
Thus the gloss of one Redditor.

For what it's worth, note that two of the three morphemes (and the two which are actually crucial to the compound's vulgarity) are in fact of Indo-European extraction (or, at least Germanic, in the case of vittu), so at least it's not a defiency in Indo-European/Germanic...

Language Log has more on both vittupää and perkele.

[Bonus vulgarity: The version control system used for Linux kernel development is called "Git" (also originated & coined by Linus Torvalds).]