Re: handle_futex_death() infinite loop on ARM (fwd)

From: Mikael Pettersson
Date: Mon Jul 30 2007 - 19:54:57 EST


On Wed, 4 Jul 2007 12:23:18 +0200, Lennert Buytenhek wrote:
>If you're also running into glibc's tst-robust1 test suite test
>locking up your ARM machine, you're probably running into the fact
>that asm-arm/futex.h includes asm-generic/futex.h, and
>asm-generic/futex.h defines futex_atomic_cmpxchg_inatomic() to
>return -ENOSYS. This causes handle_futex_death() to loop forever.

Has there been any progress on fixing this yet?

I've studied the relevant futex code (handle_futex_death()
and asm-${arch}/futex.h), and it seems that many archs
are seriously broken now, not just arm. Any arch that wires
up the set_robust_list() syscall while implementing its
asm-${arch}/futex.h by including asm-generic/futex.h allows
its kernels to be hung by unprivileged user-space code.

My concern is arm, but it seems alpha, avr32, h8300, m68k,
m68knommu, and sh64 are also affected by this bug.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/