m/p/tpm/e/internal: fix validation logic error

The previous logic was wrong: (et < 0x80000000 && et > 0x800000FF) 
always evaluates to false. The overall condition evaluates to true for 
values in the range [0x80000000, 0x800000FF] and thus incorrectly 
rejects them as invalid.

Now, an error is only returned if the value is not in either of the two 
valid ranges.

Change-Id: I30ac473cca323e4f7bb0ca2137fcb0eee18a806a
Reviewed-on: https://review.monogon.dev/c/monogon/+/3069
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/pkg/tpm/eventlog/internal/events.go b/metropolis/pkg/tpm/eventlog/internal/events.go
index 4e6c8ad..3a719ab 100644
--- a/metropolis/pkg/tpm/eventlog/internal/events.go
+++ b/metropolis/pkg/tpm/eventlog/internal/events.go
@@ -148,7 +148,7 @@
 func UntrustedParseEventType(et uint32) (EventType, error) {
 	// "The value associated with a UEFI specific platform event type MUST be in
 	// the range between 0x80000000 and 0x800000FF, inclusive."
-	if (et < 0x80000000 && et > 0x800000FF) || et > 0x12 {
+	if (et < 0x80000000 || et > 0x800000FF) && et > 0x12 {
 		return EventType(0), fmt.Errorf("event type not between [0x0, 0x12] or [0x80000000, 0x800000FF]: got %#x", et)
 	}
 	if _, ok := eventTypeNames[EventType(et)]; !ok {