Re: [patch] i386: make bitops safe

From: Andi Kleen
Date: Mon Feb 27 2006 - 18:43:42 EST


On Tuesday 28 February 2006 00:06, Linus Torvalds wrote:
> On Mon, 27 Feb 2006, Chuck Ebbert wrote:
> > Make i386 bitops safe. Currently they can be fooled, even on
> > uniprocessor, by code that uses regions of the bitmap before
> > invoking the bitop. The least costly way to make them safe
> > is to add a memory clobber and tag all of them as volatile.
>
> Actually, the least costly way should be to make the "ADDR" define work
> right again.
>
> It used to do something magic like

I remember asking rth about this at some point and IIRC
he expressed doubts if it would actually do what expected. Richard?

-Andi

>
> struct fake_area {
> unsigned long members[1000];
> };
>
> #define ADDR (*(volatile struct fake_area *)addr)
>
> which was correct. I forget why it got broken into using just a "long *"
> (it happened a long long time ago).
>
> Linus
-
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/