El kernel de linux en profundidad
Siempre es entretenido leer un rato de código. A continuación unos pequeños extractos de un 2.6.20:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
| # grep -R fuck /usr/src/linux
/usr/src/linux/fs/jffs/intrep.c: don't fuck up. This is why we have
/usr/src/linux/lib/vsprintf.c: * Wirzenius wrote this portably, Torvalds fucked it up :-)
/usr/src/linux/net/ipv4/netfilter/nf_nat_snmp_basic.c: * (And this is the fucking 'basic' method).
/usr/src/linux/net/ipv4/netfilter/ip_nat_snmp_basic.c: * (And this is the fucking 'basic' method).
/usr/src/linux/net/netfilter/xt_limit.c: * Alexey is a fucking genius?
/usr/src/linux/net/netfilter/nf_queue.c: /* James M doesn't say fuck enough. */
/usr/src/linux/arch/ppc/syslib/ppc405_pci.c: * the kernel try to remap our BAR #1 and fuck up bus
/usr/src/linux/arch/i386/kernel/cpu/mtrr/generic.c:/* Some BIOS's are fucked and don't set all MTRRs the same! */
/usr/src/linux/arch/i386/kernel/cpu/cpufreq/powernow-k7.c: * Some Athlon laptops have really fucked PST tables.
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't try to access
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't try to access
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't try to access
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't even give the
/usr/src/linux/arch/mips/pci/ops-bridge.c: * IOC3 is fucked fucked beyond believe ... Don't try to access
/usr/src/linux/arch/mips/kernel/irixioctl.c: * irixioctl.c: A fucking mess...
/usr/src/linux/arch/mips/kernel/irixelf.c:#if 0 /* XXX No fucking way dude... */
/usr/src/linux/arch/mips/sgi-ip22/ip22-setup.c: * fucking with the memory controller because it needs to know the
/usr/src/linux/arch/sparc/kernel/process.c: /* fuck me plenty */
/usr/src/linux/arch/sparc/kernel/sunos_ioctl.c: /* Binary compatibility is good American knowhow fuckin' up. */
/usr/src/linux/sound/oss/aci.c:/* The four ACI command types are fucked up. [-:
/usr/src/linux/sound/oss/opl3.c: * What the fuck is going on here? We leave junk in the beginning
/usr/src/linux/drivers/ide/pci/cmd640.c: * These chips are basically fucked by design, and getting this driver
/usr/src/linux/drivers/net/sunhme.c:/* Only Sun can take such nice parts and fuck up the programming interface
/usr/src/linux/drivers/net/sunhme.c: /* This card is _fucking_ hot... */
/usr/src/linux/drivers/mtd/mtd_blkdevs.c: registered, to prevent the link/init ordering from fucking
/usr/src/linux/drivers/char/watchdog/shwdt.c: * brain-damage, it's managed to fuck things up one step further..
/usr/src/linux/drivers/scsi/NCR53C9x.c: * how bad the target and/or ESP fucks things up.
/usr/src/linux/drivers/scsi/NCR53C9x.c: /* Be careful, we could really get fucked during synchronous
/usr/src/linux/drivers/scsi/esp.c: * how bad the target and/or ESP fucks things up.
/usr/src/linux/drivers/scsi/esp.c: * phase things. We don't want to fuck directly with
/usr/src/linux/drivers/scsi/esp.c: /* Be careful, we could really get fucked during synchronous
/usr/src/linux/drivers/scsi/qlogicpti.h:/* Am I fucking pedantic or what? */
/usr/src/linux/drivers/media/video/bt819.c: BUG? Why does turning the chroma comb on fuck up color?
/usr/src/linux/Documentation/DocBook/kernel-locking.tmpl: If you don't see why, please stay the fuck away from my code.
/usr/src/linux/include/linux/netfilter/xt_limit.h: /* Ugly, ugly fucker. */
/usr/src/linux/include/asm-cris/arch-v32/spinlock.h: * writers) in interrupt handlers someone fucked up and we'd dead-lock
/usr/src/linux/include/asm-m68k/sun3ints.h:/* master list of VME vectors -- don't fuck with this */
/usr/src/linux/include/asm-sparc64/system.h: /* If you fuck with this, update ret_from_syscall code too. */ \ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
| # grep -R ' shit' /usr/src/linux
/usr/src/linux/fs/jffs2/dir.c: /* Oh shit. We really ought to make a single node which can do both atomically */
/usr/src/linux/net/ipv4/tcp_input.c: * all the algo is pure shit and should be replaced
/usr/src/linux/arch/i386/mach-visws/setup.c: * What lunatic came up with this shit?
/usr/src/linux/arch/mips/kernel/sysirix.c:/* 2,191 lines of complete and utter shit coming up... */
/usr/src/linux/arch/mips/kernel/genex.S: * Big shit, we now may have two dirty primary cache lines for the same
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1064 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1065 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1066 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1067 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1068 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1069 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1070 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1071 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1072 XXX AFS shit DC*/
/usr/src/linux/arch/mips/kernel/irix5sys.S: sys irix_unimp 0 /* 1073 XXX AFS shit DC*/
/usr/src/linux/arch/sparc/mm/srmmu.c: * this shit off... nice job Fujitsu.
/usr/src/linux/arch/sparc/lib/checksum.S: * give up. I'm serious, I am going to kick the living shit
/usr/src/linux/arch/sparc/kernel/pcic.c: * to shit into regions like that.
/usr/src/linux/arch/sparc64/mm/ultra.S: * in Microelectronics who refused to fix this shit.
/usr/src/linux/arch/sparc64/solaris/socksys.c: * No shit. WTF is it supposed to do, anyway?
/usr/src/linux/sound/oss/uart6850.c: * Status: Testing required (no shit -jgarzik)
/usr/src/linux/drivers/ata/sata_via.c: * SCR registers on vt6420 are pieces of shit and may hang the
/usr/src/linux/drivers/net/dm9000.c: mdelay(8); /* same shit */
/usr/src/linux/drivers/net/sunhme.c: /* Remember: "Different name, same old buggy as shit hardware." */
/usr/src/linux/drivers/net/declance.c: * v0.007: Big shit. The LANCE seems to use a different DMA mechanism to
/usr/src/linux/drivers/scsi/NCR53C9x.c: /* shit */
/usr/src/linux/drivers/scsi/NCR53C9x.c: /* shit */
/usr/src/linux/drivers/scsi/esp.c: /* shit */
/usr/src/linux/drivers/scsi/esp.c: /* shit */
/usr/src/linux/drivers/scsi/esp.h: /* The HME is the biggest piece of shit I have ever seen. */
/usr/src/linux/drivers/block/ub.c: * This is typically ENOMEM or some other such shit.
/usr/src/linux/drivers/video/aty/radeon_pm.c: /* Hrm... same shit, X doesn't do that but I have to */
/usr/src/linux/Documentation/DocBook/kernel-hacking.tmpl: * give up. I'm serious, I am going to kick the living shit
/usr/src/linux/include/asm-mips/mipsprom.h:/* More PROM shit. Probably has to do with VME RMW cycles??? */ |
1
2
3
4
5
6
7
| grep -R ' girl' /usr/src/linux
/usr/src/linux/drivers/net/tokenring/skisa.c: * Dedicated to my girlfriend Steffi Bopp
/usr/src/linux/Documentation/isdn/README.HiSax: My girl friend and partner in life Ute for her patience with me.
/usr/src/linux/Documentation/ManagementStyle:First off, while you may or may not get screaming teenage girls (or |
1
2
3
| grep -R 'woman' /usr/src/linux
/usr/src/linux/Documentation/HOWTO:a person's name. A man may be named Andrea and a woman may be named Pat. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
| # grep -R ' crap' /usr/src/linux
/usr/src/linux/fs/jffs/intrep.c: which really does contain crap. */
/usr/src/linux/fs/reiserfs/inode.c: /* crap, we are writing to a hole */
/usr/src/linux/fs/jffs2/TODO:2. get_sb()->build_fs()->scan() path... Why get_sb() removes scan()'s crap in
/usr/src/linux/fs/jffs2/gc.c: all the iget() crap anyway */
/usr/src/linux/fs/jffs2/super.c: /* Probably mounting without the blkdev crap */
/usr/src/linux/fs/jffs2/super.c: assumes that they're not aligned -- so it emits crappy
/usr/src/linux/fs/partitions/sgi.c: u8 _unused0[48]; /* Device parameter useless crapola.. */
/usr/src/linux/fs/namei.c: * have to copy the last component. And all that crap because of
/usr/src/linux/net/llc/llc_input.c: * When the interface is in promisc. mode, drop all the crap that it
/usr/src/linux/net/ipv4/ip_input.c: * new frame it queues. Still crap because
/usr/src/linux/net/ipv4/ip_input.c: /* When the interface is in promisc. mode, drop all the crap
/usr/src/linux/net/ipv4/tcp_input.c: /* Old crap is replaced with new one. 8)
/usr/src/linux/net/ipv4/ah4.c: case 0x85: /* Some "Extended Security" crap. */
/usr/src/linux/net/ipv4/netfilter/ip_conntrack_ftp.c: else /* Some other crap */
/usr/src/linux/net/ipv4/netfilter/ip_tables.c: duprintf("Valid hook crap: %08X vs %08X\n",
/usr/src/linux/net/ipv4/netfilter/arp_tables.c: duprintf("Valid hook crap: %08X vs %08X\n",
/usr/src/linux/net/ipv4/netfilter/ipt_REJECT.c: This means that the iptables jump stack is now crap. We
/usr/src/linux/net/ipv6/netfilter/ip6t_REJECT.c: This means that the ip6tables jump stack is now crap. We
/usr/src/linux/net/ipv6/netfilter/ip6_tables.c: duprintf("Valid hook crap: %08X vs %08X\n",
/usr/src/linux/net/irda/irnet/irnet.h: * instances on demand (no /dev/ircommX crap) and to allow linkname
/usr/src/linux/net/sched/sch_cbq.c: BTW cbq-2.0 has a crap in this
/usr/src/linux/net/appletalk/ddp.c: * Size check to see if ddp->deh_len was crap
/usr/src/linux/net/netfilter/xt_hashlimit.c:/* hash table crap */
/usr/src/linux/net/netfilter/nf_conntrack_ftp.c: else { /* Some other crap */
/usr/src/linux/arch/um/drivers/daemon_kern.c: /* We will free this pointer. If it contains crap we're burned. */
/usr/src/linux/arch/arm/kernel/head.S: * We're trying to keep crap to a minimum; DO NOT add any machine specific
/usr/src/linux/arch/arm/kernel/head.S: * crap here - that's what the boot loader (or in extreme, well justified
/usr/src/linux/arch/frv/mb93090-mb00/pci-frv.c: * timer as certain crappy BIOSes forget to set it properly.
/usr/src/linux/arch/ppc/syslib/cpm2_common.c: /* XXX: This is actually crap. CPM_DATAONLY_BASE and
/usr/src/linux/arch/ppc/8xx_io/commproc.c: * XXX: This is actually crap. CPM_DATAONLY_BASE and
/usr/src/linux/arch/i386/pci/i386.c: * timer as certain crappy BIOSes forget to set it properly.
/usr/src/linux/arch/i386/mach-voyager/voyager_smp.c: * FIXME: This algorithm is total crap when mixed with SMP
/usr/src/linux/arch/cris/arch-v32/drivers/gpio.c: * Removed old crap.
/usr/src/linux/arch/m68k/mac/config.c: * have to disable interrupts for this. Our IRQ handlers will crap
/usr/src/linux/arch/mips/pci/fixup-ip32.c: * right if there exists such a broken piece of crap.
/usr/src/linux/arch/mips/pci/pci.c: * timer as certain crappy BIOSes forget to set it properly.
/usr/src/linux/arch/mips/kernel/irixsig.c: /* XXX do sigstack crapola here... XXX */
/usr/src/linux/arch/mips/kernel/traps.c: * (Duh, crap, there is someone with a triple R6k machine)
/usr/src/linux/arch/mips/kernel/vmlinux.lds.S: /* ABI crap starts here */
/usr/src/linux/arch/v850/Kconfig:# Turn off some random 386 crap that can affect device config
/usr/src/linux/arch/v850/Kconfig: # The crappy-ass zone allocator requires that the start of allocatable
/usr/src/linux/arch/sparc/mm/srmmu.c: /* Clear any crap from the cache or else... */
/usr/src/linux/arch/sparc/mm/srmmu.c: /* Clear any crap from the cache or else... */
/usr/src/linux/arch/sparc/kernel/ebus.c: * Here we list PROMs and systems that are known to supply crap as IRQ numbers.
/usr/src/linux/arch/x86_64/kernel/mce.c: by default and leave crap in there. Don't log. */
/usr/src/linux/arch/powerpc/platforms/cell/spider-pic.c: * crap and we don't know on which BE iic interrupt we are hooked on at
/usr/src/linux/arch/powerpc/platforms/powermac/smp.c: * ideally, all that crap will be done in prom.c and the CPU left
/usr/src/linux/arch/powerpc/sysdev/cpm2_common.c: /* XXX: This is actually crap. CPM_DATAONLY_BASE and
/usr/src/linux/sound/aoa/soundbus/i2sbus/i2sbus-core.c: * useless crap (ugh ugh ugh). We work around that here by calling
/usr/src/linux/sound/pci/es1968.c: /* parallel in crap, see maestro reg 0xC [8-11] */
/usr/src/linux/sound/pci/au88x0/au88x0_core.c: // FIXME: get rid of this crap.
/usr/src/linux/sound/pci/maestro3.c:/* XXX fix this crap up */
/usr/src/linux/sound/oss/trident.c: * crap documentation), perhaps broken ? */
/usr/src/linux/sound/oss/i810_audio.c: * Adjust for misclocked crap
/usr/src/linux/sound/oss/i810_audio.c: * Adjust for misclocked crap
/usr/src/linux/sound/oss/via82cxxx_audio.c: /* accounting crap for SNDCTL_DSP_GETxPTR */
/usr/src/linux/sound/oss/dmasound/dmasound_awacs.c: /* Hack for legacy crap that will be killed someday */
/usr/src/linux/drivers/md/dm.c: * you this clearly demarcated crap.
/usr/src/linux/drivers/ide/ide-io.c: * remove all the ifdef PCI crap
/usr/src/linux/drivers/ide/ide-probe.c: * have the same drive viewed twice. This occurs with crap CF adapters
/usr/src/linux/drivers/net/wan/dscc4.c: * - misc crapectomy.
/usr/src/linux/drivers/net/wan/dscc4.c: * If the driver ends sending crap on the wire, it
/usr/src/linux/drivers/net/wan/cycx_main.c:* 2000/07/13 acme remove useless #ifdef MODULE and crap
/usr/src/linux/drivers/net/wan/z85230.c: * Check if we crapped out.
/usr/src/linux/drivers/net/irda/donauboe.c:toshoboe_gotosleep (struct pci_dev *pci_dev, pm_message_t crap)
/usr/src/linux/drivers/net/3c509.c: * Using disable_irq stops us crapping on other
/usr/src/linux/drivers/net/3c523.c: /* this bit masking stuff is crap. I'd rather have separate
/usr/src/linux/drivers/pci/pci-driver.c: * horrible the crap we have to deal with is when we are awake...
/usr/src/linux/drivers/usb/serial/whiteheat.c: * firmware is improved to guard against crap sent to device
/usr/src/linux/drivers/char/agp/amd64-agp.c: /* Northbridge seems to contain crap. Try the AGP bridge. */
/usr/src/linux/drivers/char/ip2/i2ellis.c:// !!! Not Used, this is DOS crap, some of you young folks may be interested in
/usr/src/linux/drivers/scsi/aha1542.c: * the strategy handler takes care of that crap.
/usr/src/linux/drivers/scsi/aha1542.c: * the strategy handler takes care of that crap.
/usr/src/linux/drivers/scsi/dc395x.c: /* KG: Can this prevent crap sense data ? */
/usr/src/linux/drivers/scsi/scsi_tgt_lib.c:/* TODO: test this crap and replace bio_map_user with new interface maybe */
/usr/src/linux/drivers/block/umem.c: * That's crap, since doing that while some partitions are opened
/usr/src/linux/drivers/cdrom/sbpcd.c: * "ghost" drives on crap hardware (aren't they all?) Paul Gortmaker
/usr/src/linux/drivers/cdrom/sbpcd.c: This virtual crap is very bogus!
/usr/src/linux/drivers/hwmon/abituguru.c: anyways. If we read sensors/pwms not there we'll just read crap
/usr/src/linux/drivers/media/video/usbvideo/usbvideo.c:/* XXX: this piece of crap really wants some error handling.. */
/usr/src/linux/drivers/media/video/indycam.c: /* Indy specific crap */
/usr/src/linux/drivers/media/video/ov7670.c: * Weird crap seems to exist in the upper part of
/usr/src/linux/drivers/video/sis/init301.c: /* This is a piece of typical SiS crap: They code the OEM LCD
/usr/src/linux/drivers/video/sstfb.c: and as reading fbinit 6 will return crap (see FBIINIT6_DEFAULT) we just
/usr/src/linux/drivers/pcmcia/sa1100_jornada720.c: * What is all this crap for?
/usr/src/linux/drivers/serial/pmac_zilog.c: * shadows so we don't write crap there before baud rate is
/usr/src/linux/drivers/serial/sunsu.c: * splitting all the OBP probing crap from the UART probing.
/usr/src/linux/drivers/parport/parport_pc.c: * Piles of crap below pretend to be a parser for module and kernel
/usr/src/linux/drivers/macintosh/windfarm_pm81.c: /* One more crappy race: I don't think we have any guarantee here
/usr/src/linux/drivers/macintosh/windfarm_pm91.c: /* One more crappy race: I don't think we have any guarantee here
/usr/src/linux/Documentation/scsi/ibmmca.txt: backwards. This confuses the crap out of those heathens who've
/usr/src/linux/Documentation/sound/alsa/ALSA-Configuration.txt: Note: This driver is really crappy. It's a porting from the
/usr/src/linux/Documentation/ManagementStyle:a while, and you'll feel cleansed. Just don't crap too close to home.
/usr/src/linux/include/scsi/scsi_host.h: /* legacy crap */
/usr/src/linux/include/linux/mtd/cfi.h: of optimising away all the crap for 'bankwidth' larger than
/usr/src/linux/include/linux/mtd/cfi.h: of optimising away all the crap for 'bankwidth' larger than
/usr/src/linux/include/linux/netfilter/nf_conntrack_pptp.h:/* crap needed for nf_conntrack_compat.h */
/usr/src/linux/include/linux/cyclomx.h:* 2000/07/13 acme remove crap #if KERNEL_VERSION > blah
/usr/src/linux/include/asm-arm26/io.h: * GCC is totally crap at loading/storing data. We try to persuade it
/usr/src/linux/include/asm-sparc/floppy.h:/* We don't need no stinkin' I/O port allocation crap. */
/usr/src/linux/include/asm-ia64/pal.h:/* Machine Check related crap */
/usr/src/linux/include/asm-m68k/sun3xflop.h:/* We don't need no stinkin' I/O port allocation crap. */
/usr/src/linux/include/asm-v850/pgalloc.h:#include /* some crap code expects this */
/usr/src/linux/include/asm-arm/arch-cl7500/io.h: * GCC is totally crap at loading/storing data. We try to persuade it
/usr/src/linux/include/asm-arm/arch-omap/keypad.h: * in order to workaround certain crappy HW designs that produce ghost
/usr/src/linux/include/asm-arm/arch-rpc/io.h: * GCC is totally crap at loading/storing data. We try to persuade it
/usr/src/linux/include/asm-sparc64/io.h:/* PC crapola... */ |
Ante todo instructivo
–
Fuente original en http://vierito.es/wordpress
Similar Posts:
Tags: kernel·linux
3 responses so far ↓
1 accidente
// Jun 23, 2008 at 3:02 pm
freak.
2 accidente
// Jun 23, 2008 at 4:53 pm
hahhahaaaa ese video es brutaaaaaal!!!! (pero yo soy más sexy, admítelo!)
3 vierito5
// Jun 25, 2008 at 4:04 am
de eso no hay duda
Leave a Comment