lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 28 Mar 2011 17:52:47 +0200
From:	"Christopher K." <c.krooss@...glemail.com>
To:	linux-kernel@...r.kernel.org
Subject: Linux 2.6.38 freeze because of sound/core/pcm_lib.c commit 59ff878ffb26bc0be812ca8295799164f413ae88

Hi

Kernel 2.6.38 has been freezing ever since rc1 on my asus p7p55d.
After booting up, the kernel seems to use a lot of cpu-time and after
20-30 seconds
the system comes to a complete halt.

I just finished bisecting 2.6.37 - 2.6.38-rc1 and found this commit to
be responsible:

59ff878ffb26bc0be812ca8295799164f413ae88

I attached a patch that reverts this commit, although I don't quite
understand how
it could cause a complete system-lockup. A friend of mine owns exactly the same
motherboard, cpu and ram as me but is not affected.

I noticed this in my logs, but I don't think it's related:

WARNING: at drivers/pci/dmar.c:634 warn_invalid_dmar+0x8a/0xa0()
Hardware name: System Product Name
Your BIOS is broken; DMAR reported at address fed90000 returns all ones!
BIOS vendor: American Megatrends Inc.; Ver: 2003   ; Product Version:
System Version
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.38.2-ARCH #1
Call Trace:
 [<ffffffff8105c07a>] ? warn_slowpath_common+0x7a/0xb0
 [<ffffffff81627c47>] ? __early_set_fixmap+0x96/0x9d
 [<ffffffff8105c10a>] ? warn_slowpath_fmt_taint+0x3a/0x40
 [<ffffffff81627c47>] ? __early_set_fixmap+0x96/0x9d
 [<ffffffff812337ea>] ? warn_invalid_dmar+0x8a/0xa0
 [<ffffffff81628143>] ? early_iounmap+0xf4/0x13d
 [<ffffffff8163d2b7>] ? check_zero_address+0xd4/0x116
 [<ffffffff81276bad>] ? acpi_get_table_with_size+0x53/0xb4
 [<ffffffff813bb55a>] ? _etext+0x0/0x256aa6
 [<ffffffff8163d310>] ? detect_intel_iommu+0x17/0x84
 [<ffffffff81619865>] ? pci_iommu_alloc+0x47/0x72
 [<ffffffff81627a7c>] ? mem_init+0x19/0xec
 [<ffffffff81612ace>] ? start_kernel+0x203/0x40d
 [<ffffffff81612347>] ? x86_64_start_reservations+0x132/0x136
 [<ffffffff8161244c>] ? x86_64_start_kernel+0x101/0x110
---[ end trace a7919e7f17c0a725 ]---


I'd be glad to help debug this.
Hope I'm not doing anything wrong, this is my first time posting to lkml.

Regards
Chris

--- a/sound/core/pcm_lib.c	2011-03-27 20:37:20.000000000 +0200
+++ b/sound/core/pcm_lib.c	2011-03-28 17:14:26.000000000 +0200
@@ -374,25 +374,8 @@
 			   (unsigned long)runtime->hw_ptr_base);
 	}

-	if (runtime->no_period_wakeup) {
-		/*
-		 * Without regular period interrupts, we have to check
-		 * the elapsed time to detect xruns.
-		 */
-		jdelta = jiffies - runtime->hw_ptr_jiffies;
-		if (jdelta < runtime->hw_ptr_buffer_jiffies / 2)
-			goto no_delta_check;
-		hdelta = jdelta - delta * HZ / runtime->rate;
-		while (hdelta > runtime->hw_ptr_buffer_jiffies / 2 + 1) {
-			delta += runtime->buffer_size;
-			hw_base += runtime->buffer_size;
-			if (hw_base >= runtime->boundary)
-				hw_base = 0;
-			new_hw_ptr = hw_base + pos;
-			hdelta -= runtime->hw_ptr_buffer_jiffies;
-		}
+	if (runtime->no_period_wakeup)
 		goto no_delta_check;
-	}

 	/* something must be really wrong */
 	if (delta >= runtime->buffer_size + runtime->period_size) {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ