Bugs aren't features: X86_FEATURE_FXSAVE_LEAK

From: H. Peter Anvin
Date: Fri May 05 2006 - 12:35:45 EST


The recent fix for the AMD FXSAVE information leak had a problematic side effect. It introduced an entry in the x86 features vector which is a bug, not a feature.

The problem with this is that the features vector is designed so that it can be ANDed between CPUs to find out the common feature set. However, bugs aren't features, and bugs should be ORd, not ANDed. In that sense, the *absence* of a bug is a feature.

There are two possible ways of dealing with this:

a) put bugs in the features vector, but sense-inversed, i.e. 1 = bug absent; 0 = bug present.

b) add a separate bugs vector.

When I originally wrote the code I always meant to do (b), but never got around to it. It's clear, though, that whatever way we go about this, it should also incorporate the fdiv, hlt, f00f, and coma bugs.

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