android_kernel_xiaomi_sm8350/arch/ia64
Ian Wienand e384f41409 [IA64] set_thread_area fails in IA32 chroot
I tried to upgrade an IA32 chroot on my IA64 to a new glibc with TLS.
It kept dying because set_thread_area was returning -ESRCH
(bugs.debian.org/451939).

I instrumented arch/ia64/ia32/sys_ia32.c:get_free_idx() and ended up
seeing output like

[pid] idx   desc->a  desc->b
-----------------------------
[2710] 0 -> c6b0ffff 40dff31b
[2710] 1 -> 0 0
[2710] 2 -> 0 0

[2710] 0 -> c6b0ffff 40dff31b
[2710] 1 -> c6b0ffff 40dff31b
[2710] 2 -> 0 0

[2711] 0 -> c6b0ffff 40dff31b
[2711] 1 -> c6b0ffff 40dff31b
[2711] 2 -> 48c0ffff 40dff317

which suggested to me that TLS pointers were surviving exec() calls,
leading to GDT pointers filling up and the eventual failure of
get_free_idx().

I think the solution is flushing the tls array on exec.

Signed-Off-By: Ian Wienand <ianw@gelato.unsw.edu.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-12-19 11:06:40 -08:00
..
configs [IA64] update sn2 defconfig to 64kb pages 2007-10-29 11:32:42 -07:00
dig
hp [IA64] rename _bss to __bss_start 2007-12-07 16:11:49 -08:00
ia32 [IA64] ia32 nopage 2007-12-18 16:55:46 -08:00
kernel [IA64] set_thread_area fails in IA32 chroot 2007-12-19 11:06:40 -08:00
lib [IA64] export copy_page() to modules 2007-12-07 16:10:19 -08:00
mm [IA64] Avoid unnecessary TLB flushes when allocating memory 2007-12-18 16:56:50 -08:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
pci
scripts [IA64] don't assume that unwcheck.py is executable 2007-12-07 14:42:08 -08:00
sn [IA64] Two trivial spelling fixes 2007-12-18 17:02:21 -08:00
defconfig
install.sh
Kconfig typo fixes 2007-10-20 01:34:40 +02:00
Kconfig.debug
Makefile [IA64] don't assume that unwcheck.py is executable 2007-12-07 14:42:08 -08:00
module.lds