# Fun with the preprocessor: CONFIG\_IA32\_EMULATION hacks in Linux

DevFeed: [Fun with the preprocessor: CONFIG\_IA32\_EMULATION hacks in Linux](<https://devfeed.tech/articles/fun-with-the-preprocessor-config-ia32-emulation-hacks-in-linux-21900.md>)

Original publisher: [Read original article](<https://blog.nelhage.com/2010/03/config_ia32_emulation_hacks/>)

Author: Nelson Elhage

Published: 2010-03-28T20:07:43Z

Content type: article

Language: en

Sources: [Nelson Elhage](<https://devfeed.tech/sources/nelson-elhage.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Process](<https://devfeed.tech/topics/process.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [cve](<https://devfeed.tech/tags/cve.md>), [hacks](<https://devfeed.tech/tags/hacks.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [process](<https://devfeed.tech/tags/process.md>), [writeup](<https://devfeed.tech/tags/writeup.md>)

## AI overview

A technical discussion of Linux's CONFIG_IA32_EMULATION support for running 32-bit processes on 64-bit systems, prompted by analysis of the CVE-2010-0307 denial-of-service vulnerability.

## Source excerpt

About two months ago, Linux saw CVE-2010-0307, which was a trival denial-of-service attack that could crash essentially any 64-bit Linux machine with 32-bit compatibility enabled. LWN has an excellent writeup of the bug, which turns out to be a subtle error related to the details of the execve system call and with 32-bit compatibility mode. While dealing with this patch for Ksplice, I ended up reading an awful lot of the code in Linux that deals with handling 32-bit processes on 64-bit machines.