Home » Funny, Linux, Programming, Random

Fuck in Linux Kernel

31 May 2009 3 Comments

Is Sunday, is raining, my wife is reading some psychological shit and I’m bored. I knew from the morning I need to do something very very important today, so I start to count the “fuck” word in Linux Kernel.

This command is faster

find . -name *.[hcS] -not -regex ‘./.git.*’ | xargs cat | grep ” fuck” | wc -l

than this command:

egrep -ir “( fuck)” * | wc -l


But when we need to see what files are containing the pornographic word, I use

egrep -H -A2 -ir “( fuck)” *

-H is for showing the filename
-A2 show the next 2 lines after you found the word

And here is the result:

arch/x86/kernel/cpu/cpufreq/powernow-k7.c: * Some Athlon laptops have really fucked PST tables.
arch/x86/kernel/cpu/cpufreq/powernow-k7.c- * A BIOS update is all that can save them.
arch/x86/kernel/cpu/cpufreq/powernow-k7.c- * Mention this, and disable cpufreq.

arch/x86/kernel/cpu/mtrr/generic.c:/* Some BIOS’s are fucked and don’t set all MTRRs the same! */
arch/x86/kernel/cpu/mtrr/generic.c-void __init mtrr_state_warn(void)
arch/x86/kernel/cpu/mtrr/generic.c-{

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to look at it for real …
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to look at the wrong register.
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t try to access
arch/mips/pci/ops-bridge.c- * anything but 32-bit words …
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to look at it for real …
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to look at the wrong register.
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t try to access
arch/mips/pci/ops-bridge.c- * anything but 32-bit words …
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to look at it for real …
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to touch the wrong register.
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t try to access
arch/mips/pci/ops-bridge.c- * anything but 32-bit words …
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to look at it for real …
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t even give the
arch/mips/pci/ops-bridge.c- * generic PCI code a chance to touch the wrong register.
arch/mips/pci/ops-bridge.c- */

arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe … Don’t try to access
arch/mips/pci/ops-bridge.c- * anything but 32-bit words …
arch/mips/pci/ops-bridge.c- */

arch/mips/sgi-ip22/ip22-setup.c: * fucking with the memory controller because it needs to know the
arch/mips/sgi-ip22/ip22-setup.c- * boardID and whether this is a Guiness or a FullHouse machine.
arch/mips/sgi-ip22/ip22-setup.c- */

arch/m68k/include/asm/sun3ints.h:/* master list of VME vectors — don’t fuck with this */
arch/m68k/include/asm/sun3ints.h-#define SUN3_VEC_FLOPPY (IRQ_USER+0)
arch/m68k/include/asm/sun3ints.h-#define SUN3_VEC_VMESCSI0 (IRQ_USER+0)

arch/sparc/include/asm/system_64.h: /* If you fuck with this, update ret_from_syscall code too. */
arch/sparc/include/asm/system_64.h- if (test_thread_flag(TIF_PERFCTR)) {
arch/sparc/include/asm/system_64.h- write_pcr(current_thread_info()->pcr_reg);

arch/sparc/kernel/head_32.S: /* XXX Fucking Cypress… */
arch/sparc/kernel/head_32.S- lda [%g0] ASI_M_MMUREGS, %g5
arch/sparc/kernel/head_32.S- srl %g5, 28, %g4

arch/parisc/kernel/sys_parisc.c:/* Fucking broken ABI */
arch/parisc/kernel/sys_parisc.c-
arch/parisc/kernel/sys_parisc.c-#ifdef CONFIG_64BIT

Documentation/DocBook/kernel-locking.tmpl: If you don’t see why, please stay the fuck away from my code.
Documentation/DocBook/kernel-locking.tmpl-
Documentation/DocBook/kernel-locking.tmpl-

drivers/watchdog/shwdt.c: * brain-damage, it’s managed to fuck things up one step further..
drivers/watchdog/shwdt.c- *
drivers/watchdog/shwdt.c- * If we need to clear the WOVF bit, the upper byte has to be 0xa5..

drivers/ide/cmd640.c: * These chips are basically fucked by design, and getting this driver
drivers/ide/cmd640.c- * to work on every motherboard design that uses this screwed chip seems
drivers/ide/cmd640.c- * bloody well impossible. However, we’re still trying.

drivers/scsi/qlogicpti.h:/* Am I fucking pedantic or what? */
drivers/scsi/qlogicpti.h-struct Entry_header {
drivers/scsi/qlogicpti.h-#ifdef __BIG_ENDIAN

drivers/media/video/bt819.c: BUG? Why does turning the chroma comb on fuck up color?
drivers/media/video/bt819.c- Bug in the bt819 stepping on my board?
drivers/media/video/bt819.c- */


drivers/mtd/mtd_blkdevs.c: registered, to prevent the link/init ordering from fucking
drivers/mtd/mtd_blkdevs.c- us over. */
drivers/mtd/mtd_blkdevs.c- if (!blktrans_notifier.list.next)

drivers/net/sunhme.c:/* Only Sun can take such nice parts and fuck up the programming interface
drivers/net/sunhme.c- * like this. Good job guys…
drivers/net/sunhme.c- */

fs/xfs/xfs_btree.h: case XFS_BTNUM_MAX: ASSERT(0); /* fucking gcc */ ; break;
fs/xfs/xfs_btree.h- }
fs/xfs/xfs_btree.h-} while (0)

fs/xfs/xfs_btree.h: case XFS_BTNUM_MAX: ASSERT(0); /* fucking gcc */ ; break;
fs/xfs/xfs_btree.h- }
fs/xfs/xfs_btree.h-} while (0)

include/linux/netfilter/xt_limit.h: /* Ugly, ugly fucker. */
include/linux/netfilter/xt_limit.h- struct xt_rateinfo *master;
include/linux/netfilter/xt_limit.h-};

lib/vsprintf.c: * Wirzenius wrote this portably, Torvalds fucked it up 🙂
lib/vsprintf.c- */
lib/vsprintf.c-

net/ipv4/netfilter/nf_nat_snmp_basic.c: * (And this is the fucking ‘basic’ method).
net/ipv4/netfilter/nf_nat_snmp_basic.c- */
net/ipv4/netfilter/nf_nat_snmp_basic.c-static int snmp_parse_mangle(unsigned char *msg,

net/core/skbuff.c: /* Fuck, we are miserable poor guys… */
net/core/skbuff.c- if (ntail == 0)
net/core/skbuff.c- skb2 = skb_copy(skb1, GFP_ATOMIC);

sound/oss/opl3.c: * What the fuck is going on here? We leave junk in the beginning
sound/oss/opl3.c- * of ins and then check the field pretty close to that beginning?
sound/oss/opl3.c- */

Now I’m happy. I finally made something useful today!


3 Comments »

  • Fuck in Linux kernel source | Today News, Technology, Wordpres (author) said:

    […] I just fou&#110d &#110&#105ce &#112ost a&#98out “Fuck in Linux Kerne&#108“. […]

  • Anon Y Moose said:

    My, it’s amazing how autistic you are.

  • Kevin said:

    Fuck you. This is interesting.

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.