Rollback Ignore disabled hyperthreads (#340)

Fixes #339
diff --git a/src/x86/linux/init.c b/src/x86/linux/init.c
index 86e7e67..d2b2d47 100644
--- a/src/x86/linux/init.c
+++ b/src/x86/linux/init.c
@@ -47,6 +47,7 @@
 	uint32_t linux_processors_count,
 	const struct cpuinfo_x86_linux_processor linux_processors[restrict static linux_processors_count],
 	const struct cpuinfo_x86_processor processor[restrict static 1],
+	uint32_t valid_processor_mask,
 	uint32_t llc_apic_bits,
 	uint32_t cores_count_ptr[restrict static 1],
 	uint32_t clusters_count_ptr[restrict static 1],
@@ -69,7 +70,7 @@
 	uint32_t last_l1i_id = UINT32_MAX, last_l1d_id = UINT32_MAX;
 	uint32_t last_l2_id = UINT32_MAX, last_l3_id = UINT32_MAX, last_l4_id = UINT32_MAX;
 	for (uint32_t i = 0; i < linux_processors_count; i++) {
-		if (bitmask_all(linux_processors[i].flags, CPUINFO_LINUX_FLAG_VALID)) {
+		if (bitmask_all(linux_processors[i].flags, valid_processor_mask)) {
 			const uint32_t apic_id = linux_processors[i].apic_id;
 			cpuinfo_log_debug(
 				"APID ID %" PRIu32 ": system processor %" PRIu32,
@@ -166,13 +167,13 @@
 	const uint32_t max_present_processors_count = 1 + cpuinfo_linux_get_max_present_processor(max_processors_count);
 	cpuinfo_log_debug("maximum present processors count: %" PRIu32, max_present_processors_count);
 
-	uint32_t valid_processor_mask = CPUINFO_LINUX_FLAG_APIC_ID;
+	uint32_t valid_processor_mask = 0;
 	uint32_t x86_linux_processors_count = max_processors_count;
 	if (max_present_processors_count != 0) {
 		x86_linux_processors_count = min(x86_linux_processors_count, max_present_processors_count);
-		valid_processor_mask |= CPUINFO_LINUX_FLAG_PRESENT;
+		valid_processor_mask = CPUINFO_LINUX_FLAG_PRESENT;
 	} else {
-		valid_processor_mask |= CPUINFO_LINUX_FLAG_PROC_CPUINFO;
+		valid_processor_mask = CPUINFO_LINUX_FLAG_PROC_CPUINFO;
 	}
 	if (max_possible_processors_count != 0) {
 		x86_linux_processors_count = min(x86_linux_processors_count, max_possible_processors_count);
@@ -259,6 +260,7 @@
 		x86_linux_processors_count,
 		x86_linux_processors,
 		&x86_processor,
+		valid_processor_mask,
 		llc_apic_bits,
 		&cores_count,
 		&clusters_count,