Re: [PATCH] Fix CPU bitmask truncation

From: Anton Blanchard (anton@samba.org)
Date: Fri Dec 20 2002 - 17:57:14 EST


> Linus, this is the 2.5.x version of the same patch originally by Bjorn
> for 2.4.x. This fixes an entire class of critical 64-bit bugs.
>
> Against 2.5.52-bk as of 2:25AM 20 Dec 2002. Please apply.

Here's one in 2.5, found when adding 64 CPU support to ppc64.

Anton

===== kernel/module.c 1.31 vs edited =====
--- 1.31/kernel/module.c Mon Dec 2 17:44:11 2002
+++ edited/kernel/module.c Tue Dec 17 10:29:27 2002
@@ -210,7 +210,7 @@
         struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 };
         setscheduler(current->pid, SCHED_FIFO, &param);
 #endif
- set_cpus_allowed(current, 1 << (unsigned long)cpu);
+ set_cpus_allowed(current, 1UL << (unsigned long)cpu);
 
         /* Ack: we are alive */
         atomic_inc(&stopref_thread_ack);
@@ -271,7 +271,7 @@
 
         /* FIXME: racy with set_cpus_allowed. */
         old_allowed = current->cpus_allowed;
- set_cpus_allowed(current, 1 << (unsigned long)cpu);
+ set_cpus_allowed(current, 1UL << (unsigned long)cpu);
 
         atomic_set(&stopref_thread_ack, 0);
         stopref_num_threads = 0;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Dec 23 2002 - 22:00:28 EST