Re: [GIT PULL] Correct the SMAP check in the e820 probe

From: H. Peter Anvin
Date: Fri Sep 28 2007 - 13:03:56 EST


Linus Torvalds wrote:
>
> Hmm. If I read this correctly, I don't think this can be right.
>
> Why? You don't mark %edx as possibly corrupted by the asm any more.
>
> The "=dm" means that quite often (probably effectively always), gcc will
> allocate %edx to be the output register for %0, but at least in theory, it
> could easily decide that it's going to put %0 in memory, and in that case,
> it may well decide that %edx is not modified by the asm statement. Which
> may or may not be true - I'd bet that there are BIOSes out there that *do*
> modify it.
>

Yes indeed.

>
> IOW, I think you need to either (a) _force_ gcc to use %edx for the "err"
> return, avoiding this issue, or (b) mark edx clobbered (which in turn
> means that you need to remove it from the output constraint for "err"). I
> suspect (a) is simpler/more straightforward.
>
> I haven't pulled this, so maybe you can just amend the commit in-place,
> and we can avoid?
>

Will do.

-hpa
-
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/