Commit cce4517f authored by Thomas Gleixner's avatar Thomas Gleixner

frv: Use correct size for task_struct allocation

alloc_task_struct_node() allocates THREAD_SIZE and maintains some
weird refcount in the allocated memory. This never blew up as
task_struct size on 32bit machines was always less than THREAD_SIZE

Allocate just sizeof(struct task_struct) and get rid of the magic
Signed-off-by: default avatarThomas Gleixner <>
Acked-by: default avatarDavid Howells <>
parent 43a18b1e
......@@ -45,17 +45,12 @@ EXPORT_SYMBOL(pm_power_off);
struct task_struct *alloc_task_struct_node(int node)
struct task_struct *p = kmalloc_node(THREAD_SIZE, GFP_KERNEL, node);
if (p)
atomic_set((atomic_t *)(p+1), 1);
return p;
return kmalloc_node(sizeof(task_struct), GFP_KERNEL, node);
void free_task_struct(struct task_struct *p)
if (atomic_dec_and_test((atomic_t *)(p+1)))
static void core_sleep_idle(void)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment