Public bug reported: This can affect systems with write-allocate caches. At the time of writing, this includes the following ARM implementations:
* ARM11MPCore * ARM Cortex-A9 It may affect other vendors' implementations, but I have no information on this. The problem occurs typically occurs when applying relocations in executable pages, where the pages are backed by files and mapped with MAP_PRIVATE. Relocations which modify actual instructions would require the user code to perform a flush operation to synchronise the I- and D- caches, but this problem can occur when data relocations are performed in a page containing executable code, for example when literal pool entries are reolcated (this situation would not normally require a flush according to the ARM architecture --- it is duplication of the page by the kernel CoW mechanism which creates the hazard). For more discussion, and a kernel patch to work around it, see: http://article.gmane.org/gmane.linux.ports.arm.kernel/64861 http://article.gmane.org/gmane.linux.ports.arm.kernel/64449 This issue is known to affect PIE executables in Jaunty (i.e., /sbin/init (!)), due to the presence of unresolved literal pool relocations in the the .text section of the C library's Scrt1.o. The symptom is frequest Segmentation Fault and Illegal Instruction error messages while the init scripts run. Since it looks like a bug for Scrt1.o to be position-dependent, Karmic's libc (eglibc) contains a patch to remove these relocations; this has also been committed against glibc in the meantime: http://sourceware.org/ml/libc-ports/2008-10/msg00009.html http://sourceware.org/ml/libc-ports/2009-01/msg00040.html As a result, Karmic does not exhibit the problems with init. However, applying the kernel patches is still a good idea, since it's possible some other packages (particularly anything containing its own compiling or linking magic, or a JIT or similar hacks) might be affected. In the meantime, we'll try and push the patches into the mainline ARM linux kernel. The patches will become important when Ubuntu starts to add ARM SMP support post-Karmic. ** Affects: linux (Ubuntu) Importance: Undecided Status: New ** Tags: armel -- On ARM platforms with write-allocate caches, I-cache may be populated with garbage after copy-on-write page duplication https://bugs.launchpad.net/bugs/426280 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs