The patch titled exit: don't call sleeping things when oopsing has been removed from the -mm tree. Its filename is exit-dont-call-sleeping-things-when-oopsing.patch This patch was probably dropped from -mm because it has now been merged into a subsystem tree or into Linus's tree, or because it was folded into its parent patch in the -mm tree. From: Andrew Morton <akpm@xxxxxxxx> Attempt to avoid deadlocks and recursive oopses when the oops code calls do_exit(). Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- kernel/exit.c | 40 +++++++++++++++++++++++----------------- 1 files changed, 23 insertions(+), 17 deletions(-) diff -puN kernel/exit.c~exit-dont-call-sleeping-things-when-oopsing kernel/exit.c --- devel/kernel/exit.c~exit-dont-call-sleeping-things-when-oopsing 2006-04-28 01:04:57.000000000 -0700 +++ devel-akpm/kernel/exit.c 2006-04-28 01:10:38.000000000 -0700 @@ -845,7 +845,8 @@ fastcall NORET_TYPE void do_exit(long co struct task_struct *tsk = current; int group_dead; - profile_task_exit(tsk); + if (likely(!oops_in_progress)) + profile_task_exit(tsk); WARN_ON(atomic_read(&tsk->fs_excl)); @@ -898,7 +899,8 @@ fastcall NORET_TYPE void do_exit(long co if (group_dead) { hrtimer_cancel(&tsk->signal->real_timer); exit_itimers(tsk->signal); - acct_process(code); + if (likely(!oops_in_progress)) + acct_process(code); } if (unlikely(tsk->robust_list)) exit_robust_list(tsk); @@ -906,28 +908,32 @@ fastcall NORET_TYPE void do_exit(long co if (unlikely(tsk->compat_robust_list)) compat_exit_robust_list(tsk); #endif - if (unlikely(tsk->audit_context)) - audit_free(tsk); - exit_mm(tsk); - - exit_sem(tsk); - __exit_files(tsk); - __exit_fs(tsk); - exit_namespace(tsk); - exit_thread(); - cpuset_exit(tsk); - exit_keys(tsk); + if (likely(!oops_in_progress)) { + if (unlikely(tsk->audit_context)) + audit_free(tsk); + exit_mm(tsk); + + exit_sem(tsk); + __exit_files(tsk); + __exit_fs(tsk); + exit_namespace(tsk); + exit_thread(); + cpuset_exit(tsk); + exit_keys(tsk); - if (group_dead && tsk->signal->leader) - disassociate_ctty(1); + if (group_dead && tsk->signal->leader) + disassociate_ctty(1); + } module_put(task_thread_info(tsk)->exec_domain->module); if (tsk->binfmt) module_put(tsk->binfmt->module); tsk->exit_code = code; - proc_exit_connector(tsk); - exit_notify(tsk); + if (likely(!oops_in_progress)) { + proc_exit_connector(tsk); + exit_notify(tsk); + } #ifdef CONFIG_NUMA mpol_free(tsk->mempolicy); tsk->mempolicy = NULL; _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch autofs4-nfy_none-wait-race-fix-tidy.patch setup_per_zone_pages_min-overflow-fix.patch deprecate-smbfs-in-favour-of-cifs.patch git-acpi.patch acpi-update-asus_acpi-driver-registration-fix.patch acpi-memory-hotplug-cannot-manage-_crs-with-plural-resoureces.patch catch-notification-of-memory-add-event-of-acpi-via-container-driver-register-start-func-for-memory-device.patch catch-notification-of-memory-add-event-of-acpi-via-container-driveravoid-redundant-call-add_memory.patch remove-for_each_cpu.patch sony_apci-resume.patch powernow-k8-crash-workaround.patch s3c24xx-hardware-spi-driver-tidy.patch git-dvb.patch git-gfs2.patch via-pmu-add-input-device-tidy.patch git-libata-all.patch git-mtd.patch git-netdev-all.patch smc911x-Kconfig-fix.patch pci-error-recovery-e1000-network-device-driver.patch git-powerpc.patch git-rbtree.patch git-sas.patch git-serial.patch gregkh-pci-pci-64-bit-resources-drivers-others-changes-amba-fix.patch kconfigurable-resources-arch-dependent-changes-arch-a-i-fix.patch git-scsi-misc.patch git-scsi-rc-fixes.patch areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers.patch git-watchdog.patch xfs-sparc32-build-fix.patch pg_uncached-is-ia64-only.patch pgdat-allocation-for-new-node-add-specify-node-id-powerpc-fix.patch pgdat-allocation-for-new-node-add-specify-node-id-tidy.patch pgdat-allocation-for-new-node-add-specify-node-id-fix-3.patch pgdat-allocation-for-new-node-add-get-node-id-by-acpi-tidy.patch pgdat-allocation-for-new-node-add-generic-alloc-node_data-tidy.patch pgdat-allocation-for-new-node-add-refresh-node_data-fix.patch pgdat-allocation-for-new-node-add-export-kswapd-start-func-tidy.patch catch-valid-mem-range-at-onlining-memory-tidy.patch catch-valid-mem-range-at-onlining-memory-fix.patch mm-introduce-remap_vmalloc_range-fix.patch acx1xx-wireless-driver.patch dont-use-flush_tlb_all-in-suspend-time-tidy.patch prune_one_dentry-tweaks.patch mmput-might-sleep.patch jbd-avoid-kfree-null.patch ext3_clear_inode-avoid-kfree-null.patch leds-amstrad-delta-led-support-tidy.patch percpu-counter-data-type-changes-to-suppport-fix.patch connector-exports.patch config_net=n-build-fix.patch jbd-split-checkpoint-lists-tidy.patch improve-randomness-of-hash_long-on-64bit-tidy.patch hangcheck-remove-monotomic_clock-on-x86.patch pi-futex-futex-code-cleanups-fix.patch reiser4.patch savagefb-add-state-save-and_restore-hooks-tidy.patch kgdb-core-lite-add-reboot-command.patch kgdb-8250-fix.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch revert-tty-buffering-comment-out-debug-code.patch slab-leaks3-default-y.patch x86-kmap_atomic-debugging.patch profile-likely-unlikely-macros-tidy.patch profile-likely-unlikely-macros-fix.patch profile-likely-unlikely-macros-fix-2.patch exit-dont-call-sleeping-things-when-oopsing.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