The patch titled Return error on create_comp_task() failure has been removed from the -mm tree. Its filename was return-error-on-create_comp_task-failure.patch This patch was dropped because dropping ehca-fix-kthread_create-error-check.patch killed it ------------------------------------------------------ Subject: Return error on create_comp_task() failure From: Akinobu Mita <akinobu.mita@xxxxxxxxx> Free allocated data and returns error to avoid module loading if create_comp_task() failed. Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Hoang-Nam Nguyen <hnguyen@xxxxxxxxxx> Cc: Christoph Raisch <raisch@xxxxxxxxxx> Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Roland Dreier <rolandd@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/infiniband/hw/ehca/ehca_irq.c | 37 ++++++++++++++++++------ 1 file changed, 29 insertions(+), 8 deletions(-) diff -puN drivers/infiniband/hw/ehca/ehca_irq.c~return-error-on-create_comp_task-failure drivers/infiniband/hw/ehca/ehca_irq.c --- a/drivers/infiniband/hw/ehca/ehca_irq.c~return-error-on-create_comp_task-failure +++ a/drivers/infiniband/hw/ehca/ehca_irq.c @@ -718,11 +718,12 @@ static int comp_pool_callback(struct not #endif +#ifdef CONFIG_INFINIBAND_EHCA_SCALING + int ehca_create_comp_pool(void) { -#ifdef CONFIG_INFINIBAND_EHCA_SCALING int cpu; - struct task_struct *task; + int err; pool = kzalloc(sizeof(struct ehca_comp_pool), GFP_KERNEL); if (pool == NULL) @@ -738,21 +739,41 @@ int ehca_create_comp_pool(void) } for_each_online_cpu(cpu) { - task = create_comp_task(pool, cpu); - if (!IS_ERR(task)) { - kthread_bind(task, cpu); - wake_up_process(task); + struct task_struct *task = create_comp_task(pool, cpu); + + if (IS_ERR(task)) { + err = PTR_ERR(task); + goto err_comp_task; } + kthread_bind(task, cpu); + wake_up_process(task); } comp_pool_callback_nb.notifier_call = comp_pool_callback; - comp_pool_callback_nb.priority =0; + comp_pool_callback_nb.priority = 0; register_cpu_notifier(&comp_pool_callback_nb); -#endif return 0; + +err_comp_task: + for_each_online_cpu(cpu) + destroy_comp_task(pool, cpu); + + free_percpu(pool->cpu_comp_tasks); + kfree(pool); + + return err; +} + +#else + +int ehca_create_comp_pool(void) +{ + return 0; } +#endif + void ehca_destroy_comp_pool(void) { #ifdef CONFIG_INFINIBAND_EHCA_SCALING _ Patches currently in -mm which might be from akinobu.mita@xxxxxxxxx are module-fix-mod_sysfs_setup-return-value.patch powerpc-use-is_init.patch git-dvb.patch ehca-fix-do_mmap-error-check.patch ehca-avoid-crash-on-kthread_create-failure.patch return-error-on-create_comp_task-failure.patch ehca-fix-memleak-on-module-unloading.patch git-input.patch git-mtd.patch net-use-bitrev8.patch auth_gss-unregister-gss_domain-when-unloading-module.patch iscsi-fix-crypto_alloc_hash-error-check.patch git-watchdog.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html