Re: spinlocks() are severely broken in 2.2.X and 2.4.X for modules

Manfred Spraul (manfred@colorfullife.com)
Sat, 01 Jul 2000 11:59:11 +0200


Andi Kleen wrote:
>
> I had it happen to me in the past too for my sysctl rewrite. In this
> case it happened in the main kernel for a .sysctl -> .data relocation.
> It happened in the main vmlinux. It seems to require some complex
> input to trigger (it is not as simple as intersegment relocation does not
> work). In my case I had a few hundred relocations and one was wrong
> and caused crashes.
>

Is it possible to detect the problem automatically until binutils is
fixed? (objdump + script)
We could add a postprocessing step after the linker, and if relocations
are wrong, then make should fail.

Changing the spinlock code is IMHO not a solution: we rely on
.text.somewhere_else very often (spinlock, semaphore, exception handler
table, init functions, initcall,...)

--
	Manfred

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