kernel-ark/include/asm-mips
Ralf Baechle 0f67e90e1c [MIPS] Fix possible hang in LL/SC futex loops.
The LL / SC loops in __futex_atomic_op() have the usual fixups necessary
for memory acccesses to userspace from kernel space installed:

        __asm__ __volatile__(
        "       .set    push                            \n"
        "       .set    noat                            \n"
        "       .set    mips3                           \n"
        "1:     ll      %1, %4  # __futex_atomic_op     \n"
        "       .set    mips0                           \n"
        "       " insn  "                               \n"
        "       .set    mips3                           \n"
        "2:     sc      $1, %2                          \n"
        "       beqz    $1, 1b                          \n"
        __WEAK_LLSC_MB
        "3:                                             \n"
        "       .set    pop                             \n"
        "       .set    mips0                           \n"
        "       .section .fixup,\"ax\"                  \n"
        "4:     li      %0, %6                          \n"
        "       j       2b                              \n"	<-----
        "       .previous                               \n"
        "       .section __ex_table,\"a\"               \n"
        "       "__UA_ADDR "\t1b, 4b                    \n"
        "       "__UA_ADDR "\t2b, 4b                    \n"
        "       .previous                               \n"
        : "=r" (ret), "=&r" (oldval), "=R" (*uaddr)
        : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT)
        : "memory");

The branch at the end of the fixup code, it goes back to the SC
instruction, no matter if the fault was first taken by the LL or SC
instruction resulting in an endless loop which will only terminate if
the address become valid again due to another thread setting up an
accessible mapping and the CPU happens to execute the SC instruction
successfully which due to the preceeding ERET instruction of the fault
handler would only happen if UNPREDICTABLE instruction behaviour of the
SC instruction without a preceeding LL happens to favor that outcome.
But normally processes are nice, pass valid arguments and we were just
getting away with this.

Thanks to Kaz Kylheku <kaz@zeugmasystems.com> for providing the original
report and a test case.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-11-26 17:26:14 +00:00
..
dec zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
emma2rh [MIPS] Define MIPS_CPU_IRQ_BASE in generic header 2007-02-06 16:53:08 +00:00
fw [MIPS] CFE: Add missing parenthesis. 2007-10-13 00:53:00 +01:00
ip32 [MIPS] IP32: More interrupt renumbering fixes. 2007-11-26 17:26:13 +00:00
jmr3927 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
lasat [MIPS] Lasat: Fix overlap of interrupt number ranges. 2007-11-15 23:21:50 +00:00
mach-atlas [MIPS] SNI: Fix mc146818_decode_year 2007-03-04 19:02:31 +00:00
mach-au1x00 [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-bcm47xx [MIPS] Deforest the function pointer jungle in the time code. 2007-10-11 23:46:08 +01:00
mach-cobalt [MIPS] Cobalt: Fix IRQ comment; the Cobalt kernel uses CP0 counter now. 2007-11-02 16:13:48 +00:00
mach-db1x00 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. 2007-10-17 18:28:48 +01:00
mach-dec [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-emma2rh [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-excite [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-generic [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-ip22 [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-ip27 [MIPS] Always do the ARC64_TWIDDLE_PC thing. 2007-10-18 18:11:46 +01:00
mach-ip32 [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mach-jazz [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-jmr3927 [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mach-lasat [MIPS] Lasat: Fix overlap of interrupt number ranges. 2007-11-15 23:21:50 +00:00
mach-lemote [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-mips [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-mipssim [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-pb1x00 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. 2007-10-17 18:28:48 +01:00
mach-pnx8550 [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mach-qemu [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-rm [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-sibyte [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-tx49xx [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-vr41xx [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-wrppmc [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-yosemite [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mips-boards [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pci Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pmc-sierra/msp71xx [MIPS] MSP71XX: Add workarounds file. 2007-10-16 18:23:46 +01:00
sgi Convert SGI IP22 and specific drivers to platform_device. 2007-05-11 17:00:29 +01:00
sibyte [MIPS] time: SMP-proofing of Sibyte clockevent/clocksource code. 2007-10-22 22:09:00 +01:00
sn [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
tx4927 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
tx4938 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
vr41xx [MIPS] Separate platform_device registration for VR41xx GPIO 2007-07-12 17:41:15 +01:00
xtalk [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
a.out.h [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
abi.h [MIPS] signals: Share even more code. 2007-02-18 21:31:35 +00:00
addrspace.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
asm.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
asmmacro-32.h [MIPS] Fix fpu_save_double on 64-bit. 2006-06-19 17:39:13 +01:00
asmmacro-64.h [MIPS] Fix fpu_save_double on 64-bit. 2006-06-19 17:39:13 +01:00
asmmacro.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
atomic.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
auxvec.h
barrier.h [MIPS] Make support for weakly ordered LL/SC a config option. 2007-07-20 18:57:39 +01:00
bcache.h [MIPS] SNI: remove unused pcimt_scache.c 2007-08-27 02:16:54 +01:00
bitops.h forbid asm/bitops.h direct inclusion 2007-10-19 11:53:41 -07:00
bootinfo.h [MIPS] ARC: Get rid of mips_machgroup 2007-10-11 23:46:08 +01:00
branch.h
break.h
bug.h [MIPS] Fix BUG(), BUG_ON() handling 2007-04-20 14:58:37 +01:00
bugs.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
byteorder.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
cache.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cachectl.h
cacheflush.h [MIPS] Remove unused argument from kunmap_coherent(). 2007-04-27 16:20:24 +01:00
cacheops.h [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 2007-07-10 17:33:02 +01:00
checksum.h [MIPS] Fix wrong checksum for split TCP packets on 64-bit MIPS 2007-04-20 14:58:37 +01:00
cmpxchg.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
compat-signal.h [MIPS] use compat_siginfo in rt_sigframe_n32 2007-06-26 19:57:33 +02:00
compat.h Introduce compat_u64 and compat_s64 types 2007-07-16 09:05:48 -07:00
compiler.h [MIPS] cpu-bugs64.c: GCC 3.3 constraint workaround 2007-09-19 19:33:14 +01:00
cpu-features.h [MIPS] Allow hardwiring of the CPU type to a single type for optimization. 2007-10-11 23:46:15 +01:00
cpu-info.h [MIPS] Fix shadow register support. 2007-11-15 23:21:49 +00:00
cpu.h [MIPS] Convert list of CPU types from #define to enum. 2007-10-11 23:46:16 +01:00
cputime.h
current.h
debug.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
delay.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h [MIPS] Change names of local variables to silence sparse 2007-07-10 17:33:06 +01:00
dma-mapping.h [MIPS] Don't claim we support dma_declare_coherent_memory - we don't. 2007-02-13 22:40:50 +00:00
dma.h [MIPS] ISA: Fix typo 2007-03-08 01:10:30 +00:00
ds1286.h
dsp.h MIPS: DSP: Set all register masks to 0x3ff. 2006-01-10 13:39:04 +00:00
edac.h [MIPS] Polish <asm/edac.h>. 2007-08-27 02:16:59 +01:00
elf.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
emergency-restart.h
errno.h Delete duplicate definitions. 2005-11-07 18:05:40 +00:00
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h [MIPS] Fix value of O_TRUNC 2007-10-01 14:17:50 +01:00
fixmap.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
floppy.h cleanup floppy.h 2007-10-17 08:42:55 -07:00
fpregdef.h
fpu_emulator.h [MIPS] Unify mips_fpu_soft_struct and mips_fpu_hard_structs. 2006-06-19 17:39:18 +01:00
fpu.h remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
futex.h [MIPS] Fix possible hang in LL/SC futex loops. 2007-11-26 17:26:14 +00:00
gdb-stub.h
gpio.h [MIPS] Add generic GPIO support 2007-07-10 17:32:55 +01:00
gt64120.h [MIPS] time: Add GT641xx timer0 clockevent driver 2007-10-22 22:09:00 +01:00
hardirq.h
hazards.h [MIPS] R1: Fix hazard barriers to make kernels work on R2 also. 2007-10-11 23:46:19 +01:00
highmem.h [MIPS] Remove LIMITED_DMA support 2007-05-11 14:28:31 +01:00
hw_irq.h [MIPS] i8295 cleanups. 2007-10-11 23:46:04 +01:00
i8253.h [MIPS] Fix pcspeaker build. 2007-11-26 17:26:13 +00:00
i8259.h [MIPS] i8295 cleanups. 2007-10-11 23:46:04 +01:00
ide.h
inst.h [MIPS] Fix rdhwr_op definition. 2006-07-13 21:26:08 +01:00
inventory.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
io.h Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
ioctl.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
ioctls.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
ipcbuf.h
irq_cpu.h [MIPS] Define MIPS_CPU_IRQ_BASE in generic header 2007-02-06 16:53:08 +00:00
irq_gt641xx.h [MIPS] Add GT641xx IRQ routines. 2007-10-11 23:46:04 +01:00
irq_regs.h [MIPS] Complete fixes after removal of pt_regs argument to int handlers. 2006-10-08 02:38:28 +01:00
irq.h [MIPS] IRQ Affinity Support for SMTC on Malta Platform 2007-10-11 23:45:57 +01:00
irqflags.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
isadep.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
jazz.h [MIPS] JAZZ fixes 2007-10-11 23:46:00 +01:00
jazzdma.h [MIPS] JAZZ fixes 2007-10-11 23:46:00 +01:00
Kbuild [MIPS] Have headers_install install <asm/cachectl.h> and <asm/sysmips.h>. 2006-09-27 13:37:56 +01:00
kdebug.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
kmap_types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kspd.h [MIPS] kpsd and other AP/SP improvements. 2006-04-19 04:14:27 +02:00
linkage.h [MIPS] Sibyte: Replace SB1 cachecode with standard R4000 class cache code. 2007-10-11 23:46:05 +01:00
local.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
m48t35.h
m48t37.h
mc146818-time.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mc146818rtc.h
mips_mt.h [MIPS] MT: Enable coexistence of AP/SP with VSMP and SMTC. 2007-07-31 21:35:24 +01:00
mipsmtregs.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mipsprom.h
mipsregs.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mman.h [PATCH] Remove final references to deprecated "MAP_ANON" page protection flag 2007-02-11 10:51:17 -08:00
mmu_context.h [MIPS] Kill num_online_cpus() loops. 2007-10-11 23:46:18 +01:00
mmu.h
mmzone.h [PATCH] Delete unused definitions of kvaddr_to_nid 2006-06-23 07:42:52 -07:00
module.h [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 2007-07-10 17:33:02 +01:00
msc01_ic.h [MIPS] MT: Reenable EIC support and add support for SOCit SC. 2007-05-11 14:28:31 +01:00
msgbuf.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h
nile4.h [MIPS] Add back support for LASAT platforms 2007-10-11 23:46:00 +01:00
paccess.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
page.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
param.h [MIPS] Make timer interrupt frequency configurable from kconfig. 2006-06-19 17:39:27 +01:00
parport.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
pci.h [MIPS] PCI: Always enable CONFIG_PCI_DOMAINS 2007-10-11 23:46:03 +01:00
percpu.h
pgalloc.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pgtable-32.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pgtable-64.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pgtable-bits.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
pgtable.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pmon.h [MIPS] PMON: Fix cpustart declaration. 2007-07-31 21:35:32 +01:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h
prctl.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
prefetch.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
processor.h [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
ptrace.h [MIPS] IP22: Fix warning. 2007-10-16 18:23:47 +01:00
qemu.h [MIPS] Implement clockevents for R4000-style cp0 count/compare interrupt 2007-10-11 23:46:09 +01:00
r4kcache.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
reboot.h [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
reg.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
regdef.h
resource.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
rm9k-ocd.h [MIPS] Support for the RM9000-based Basler eXcite smart camera platform. 2006-06-19 17:39:26 +01:00
rtlx.h [MIPS] RTLX: Handle copy_*_user return values. 2007-03-17 01:03:29 +00:00
scatterlist.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
seccomp.h [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
sections.h [MIPS] Remove _fdata from asm-mips/sections.h 2007-02-06 16:53:15 +00:00
segment.h
semaphore.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
sembuf.h
serial.h [MIPS] Put an end to <asm/serial.h>'s long and annyoing existence 2007-07-10 17:33:01 +01:00
setup.h [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
sgialib.h [MIPS] Fix and cleanup the mess that a dozen prom_printf variants are. 2007-03-04 19:02:37 +00:00
sgiarcs.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
sgidefs.h
shmbuf.h
shmparam.h
sigcontext.h [MIPS] Add basic SMARTMIPS ASE support 2007-02-22 00:50:44 +00:00
siginfo.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
signal.h [MIPS] signals: Share even more code. 2007-02-18 21:31:35 +00:00
sim.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
smp.h [MIPS] SMP: Implement smp_call_function_mask(). 2007-10-11 23:46:18 +01:00
smtc_ipi.h [MIPS] IRQ Affinity Support for SMTC on Malta Platform 2007-10-11 23:45:57 +01:00
smtc_proc.h [MIPS] MT: Improved multithreading support. 2006-04-19 04:14:28 +02:00
smtc.h [MIPS] SMTC: Move MIPS_CPU_IPI_IRQ definition into header. 2007-08-27 02:16:55 +01:00
sni.h [MIPS] Kill duplicated setup_irq() for cp0 timer 2007-10-19 18:15:58 +01:00
socket.h [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
sparsemem.h [MIPS] Fix sparsemem support. 2006-06-06 00:15:20 +01:00
spinlock_types.h
spinlock.h [MIPS] Make support for weakly ordered LL/SC a config option. 2007-07-20 18:57:39 +01:00
stackframe.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
stacktrace.h [MIPS] unwind_stack should return a value ... 2007-08-27 02:16:55 +01:00
stat.h
statfs.h
string.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
suspend.h
sysmips.h
system.h [MIPS] Fix context DSP context / TLS pointer switching bug for new threads. 2007-11-26 17:26:13 +00:00
termbits.h [MIPS] tty: add the new ioctls and definitions. 2007-09-10 21:25:27 +01:00
termios.h [MIPS] tty: add the new ioctls and definitions. 2007-09-10 21:25:27 +01:00
thread_info.h Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2007-07-31 20:41:53 -07:00
time.h [MIPS] time: Code cleanups 2007-11-02 16:13:46 +00:00
timex.h [MIPS] Change get_cycles to always return 0. 2007-11-15 23:21:49 +00:00
titan_dep.h
tlb.h
tlbdebug.h [MIPS] Cleanup tlbdebug.h 2007-07-12 17:41:11 +01:00
tlbflush.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
topology.h
traps.h
txx9irq.h [MIPS] The irq_chip for TX39/TX49 SoCs 2007-08-27 02:16:52 +01:00
txx9tmr.h [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
types.h remove strict ansi check from __u64 in asm/types.h 2007-10-17 08:42:53 -07:00
uaccess.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
ucontext.h
unaligned.h [MIPS] Optimize get_unaligned / put_unaligned implementations. 2007-10-11 23:46:15 +01:00
unistd.h [MIPS] Wire up the fallocate syscall. 2007-07-31 21:35:22 +01:00
user.h [MIPS] Fix errors detected by "make headers_check" 2006-09-27 13:37:40 +01:00
vga.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
vpe.h [MIPS] kpsd and other AP/SP improvements. 2006-04-19 04:14:27 +02:00
war.h [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
wbflush.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
xor.h