- exit-dont-call-sleeping-things-when-oopsing.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux