All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: torvalds@linux-foundation.org, akpm@linux-foundation.org,
	alan@lxorguk.ukuu.org.uk,
	Jason Wessel <jason.wessel@windriver.com>
Subject: [ 48/78] kgdbts: (1 of 2) fix single step awareness to work correctly with SMP
Date: Wed, 11 Apr 2012 16:11:06 -0700	[thread overview]
Message-ID: <20120411231026.428924044@linuxfoundation.org> (raw)
In-Reply-To: <20120411231102.GA6404@kroah.com>

3.3-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jason Wessel <jason.wessel@windriver.com>

commit 486c5987a00a89d56c2c04c506417ef8f823ca2e upstream.

The do_fork and sys_open tests have never worked properly on anything
other than a UP configuration with the kgdb test suite.  This is
because the test suite did not fully implement the behavior of a real
debugger.  A real debugger tracks the state of what thread it asked to
single step and can correctly continue other threads of execution or
conditionally stop while waiting for the original thread single step
request to return.

Below is a simple method to cause a fatal kernel oops with the kgdb
test suite on a 4 processor x86 system:

while [ 1 ] ; do ls > /dev/null 2> /dev/null; done&
while [ 1 ] ; do ls > /dev/null 2> /dev/null; done&
while [ 1 ] ; do ls > /dev/null 2> /dev/null; done&
while [ 1 ] ; do ls > /dev/null 2> /dev/null; done&
echo V1I1F1000 > /sys/module/kgdbts/parameters/kgdbts

Very soon after starting the test the kernel will oops with a message like:

kgdbts: BP mismatch 3b7da66480 expected ffffffff8106a590
WARNING: at drivers/misc/kgdbts.c:303 check_and_rewind_pc+0xe0/0x100()
Call Trace:
 [<ffffffff812994a0>] check_and_rewind_pc+0xe0/0x100
 [<ffffffff81298945>] validate_simple_test+0x25/0xc0
 [<ffffffff81298f77>] run_simple_test+0x107/0x2c0
 [<ffffffff81298a18>] kgdbts_put_char+0x18/0x20

The warn will turn to a hard kernel crash shortly after that because
the pc will not get properly rewound to the right value after hitting
a breakpoint leading to a hard lockup.

This change is broken up into 2 pieces because archs that have hw
single stepping (2.6.26 and up) need different changes than archs that
do not have hw single stepping (3.0 and up).  This change implements
the correct behavior for an arch that supports hw single stepping.

A minor defect was fixed where sys_open should be do_sys_open
for the sys_open break point test.  This solves the problem of running
a 64 bit with a 32 bit user space.  The sys_open() never gets called
when using the 32 bit file system for the kgdb testsuite because the
32 bit binaries invoke the compat_sys_open() call leading to the test
never completing.

In order to mimic a real debugger, the kgdb test suite now tracks the
most recent thread that was continued (cont_thread_id), with the
intent to single step just this thread.  When the response to the
single step request stops in a different thread that hit the original
break point that thread will now get continued, while the debugger
waits for the thread with the single step pending.  Here is a high
level description of the sequence of events.

   cont_instead_of_sstep = 0;

1) set breakpoint at do_fork
2) continue
3)   Save the thread id where we stop to cont_thread_id
4) Remove breakpoint at do_fork
5) Reset the PC if needed depending on kernel exception type
6) if (cont_instead_of_sstep) { continue } else { single step }
7)   Check where we stopped
       if current thread != cont_thread_id {
           cont_instead_of_sstep = 1;
           goto step 5
       } else {
           cont_instead_of_sstep = 0;
       }
8) clean up and run test again if needed

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/misc/kgdbts.c |   54 +++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 43 insertions(+), 11 deletions(-)

--- a/drivers/misc/kgdbts.c
+++ b/drivers/misc/kgdbts.c
@@ -134,6 +134,9 @@ static int force_hwbrks;
 static int hwbreaks_ok;
 static int hw_break_val;
 static int hw_break_val2;
+static int cont_instead_of_sstep;
+static unsigned long cont_thread_id;
+static unsigned long sstep_thread_id;
 #if defined(CONFIG_ARM) || defined(CONFIG_MIPS) || defined(CONFIG_SPARC)
 static int arch_needs_sstep_emulation = 1;
 #else
@@ -211,7 +214,7 @@ static unsigned long lookup_addr(char *a
 	if (!strcmp(arg, "kgdbts_break_test"))
 		addr = (unsigned long)kgdbts_break_test;
 	else if (!strcmp(arg, "sys_open"))
-		addr = (unsigned long)sys_open;
+		addr = (unsigned long)do_sys_open;
 	else if (!strcmp(arg, "do_fork"))
 		addr = (unsigned long)do_fork;
 	else if (!strcmp(arg, "hw_break_val"))
@@ -283,6 +286,16 @@ static void hw_break_val_write(void)
 	hw_break_val++;
 }
 
+static int get_thread_id_continue(char *put_str, char *arg)
+{
+	char *ptr = &put_str[11];
+
+	if (put_str[1] != 'T' || put_str[2] != '0')
+		return 1;
+	kgdb_hex2long(&ptr, &cont_thread_id);
+	return 0;
+}
+
 static int check_and_rewind_pc(char *put_str, char *arg)
 {
 	unsigned long addr = lookup_addr(arg);
@@ -324,6 +337,18 @@ static int check_single_step(char *put_s
 	gdb_regs_to_pt_regs(kgdbts_gdb_regs, &kgdbts_regs);
 	v2printk("Singlestep stopped at IP: %lx\n",
 		   instruction_pointer(&kgdbts_regs));
+
+	if (sstep_thread_id != cont_thread_id && !arch_needs_sstep_emulation) {
+		/*
+		 * Ensure we stopped in the same thread id as before, else the
+		 * debugger should continue until the original thread that was
+		 * single stepped is scheduled again, emulating gdb's behavior.
+		 */
+		v2printk("ThrID does not match: %lx\n", cont_thread_id);
+		cont_instead_of_sstep = 1;
+		ts.idx -= 4;
+		return 0;
+	}
 	if (instruction_pointer(&kgdbts_regs) == addr) {
 		eprintk("kgdbts: SingleStep failed at %lx\n",
 			   instruction_pointer(&kgdbts_regs));
@@ -368,7 +393,12 @@ static int got_break(char *put_str, char
 static void emul_sstep_get(char *arg)
 {
 	if (!arch_needs_sstep_emulation) {
-		fill_get_buf(arg);
+		if (cont_instead_of_sstep) {
+			cont_instead_of_sstep = 0;
+			fill_get_buf("c");
+		} else {
+			fill_get_buf(arg);
+		}
 		return;
 	}
 	switch (sstep_state) {
@@ -398,9 +428,11 @@ static void emul_sstep_get(char *arg)
 static int emul_sstep_put(char *put_str, char *arg)
 {
 	if (!arch_needs_sstep_emulation) {
-		if (!strncmp(put_str+1, arg, 2))
-			return 0;
-		return 1;
+		char *ptr = &put_str[11];
+		if (put_str[1] != 'T' || put_str[2] != '0')
+			return 1;
+		kgdb_hex2long(&ptr, &sstep_thread_id);
+		return 0;
 	}
 	switch (sstep_state) {
 	case 1:
@@ -502,10 +534,10 @@ static struct test_struct bad_read_test[
 static struct test_struct singlestep_break_test[] = {
 	{ "?", "S0*" }, /* Clear break points */
 	{ "kgdbts_break_test", "OK", sw_break, }, /* set sw breakpoint */
-	{ "c", "T0*", }, /* Continue */
+	{ "c", "T0*", NULL, get_thread_id_continue }, /* Continue */
+	{ "kgdbts_break_test", "OK", sw_rem_break }, /*remove breakpoint */
 	{ "g", "kgdbts_break_test", NULL, check_and_rewind_pc },
 	{ "write", "OK", write_regs }, /* Write registers */
-	{ "kgdbts_break_test", "OK", sw_rem_break }, /*remove breakpoint */
 	{ "s", "T0*", emul_sstep_get, emul_sstep_put }, /* Single step */
 	{ "g", "kgdbts_break_test", NULL, check_single_step },
 	{ "kgdbts_break_test", "OK", sw_break, }, /* set sw breakpoint */
@@ -523,10 +555,10 @@ static struct test_struct singlestep_bre
 static struct test_struct do_fork_test[] = {
 	{ "?", "S0*" }, /* Clear break points */
 	{ "do_fork", "OK", sw_break, }, /* set sw breakpoint */
-	{ "c", "T0*", }, /* Continue */
+	{ "c", "T0*", NULL, get_thread_id_continue }, /* Continue */
+	{ "do_fork", "OK", sw_rem_break }, /*remove breakpoint */
 	{ "g", "do_fork", NULL, check_and_rewind_pc }, /* check location */
 	{ "write", "OK", write_regs }, /* Write registers */
-	{ "do_fork", "OK", sw_rem_break }, /*remove breakpoint */
 	{ "s", "T0*", emul_sstep_get, emul_sstep_put }, /* Single step */
 	{ "g", "do_fork", NULL, check_single_step },
 	{ "do_fork", "OK", sw_break, }, /* set sw breakpoint */
@@ -541,10 +573,10 @@ static struct test_struct do_fork_test[]
 static struct test_struct sys_open_test[] = {
 	{ "?", "S0*" }, /* Clear break points */
 	{ "sys_open", "OK", sw_break, }, /* set sw breakpoint */
-	{ "c", "T0*", }, /* Continue */
+	{ "c", "T0*", NULL, get_thread_id_continue }, /* Continue */
+	{ "sys_open", "OK", sw_rem_break }, /*remove breakpoint */
 	{ "g", "sys_open", NULL, check_and_rewind_pc }, /* check location */
 	{ "write", "OK", write_regs }, /* Write registers */
-	{ "sys_open", "OK", sw_rem_break }, /*remove breakpoint */
 	{ "s", "T0*", emul_sstep_get, emul_sstep_put }, /* Single step */
 	{ "g", "sys_open", NULL, check_single_step },
 	{ "sys_open", "OK", sw_break, }, /* set sw breakpoint */



  parent reply	other threads:[~2012-04-11 23:17 UTC|newest]

Thread overview: 270+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11 23:11 [ 00/78] 3.3.2-stable review Greg KH
2012-04-11 23:10 ` [ 01/78] x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND Greg KH
2012-04-11 23:10 ` [ 02/78] via-rhine: fix wait-bit inversion Greg KH
2012-04-11 23:10 ` [ 03/78] tg3: Fix 5717 serdes powerdown problem Greg KH
2012-04-11 23:10 ` [ 04/78] sky2: dont overwrite settings for PHY Quick link Greg KH
2012-04-11 23:10 ` [ 05/78] rose_dev: fix memcpy-bug in rose_set_mac_address Greg KH
2012-04-11 23:10 ` [ 06/78] net: usb: cdc_eem: fix mtu Greg KH
2012-04-11 23:10 ` [ 07/78] Fix non TBI PHY access; a bad merge undid bug fix in a previous commit Greg KH
2012-04-11 23:10 ` [ 08/78] ALSA: hda/realtek - Fix ADC assignment with a shared HP/Mic pin Greg KH
2012-04-11 23:10 ` [ 09/78] ASoC: wm8994: Update WM8994 DCS calibration Greg KH
2012-04-11 23:10 ` [ 10/78] mtd: ixp4xx: oops in ixp4xx_flash_probe Greg KH
2012-04-11 23:10 ` [ 11/78] mtd: mips: lantiq: reintroduce support for cmdline partitions Greg KH
2012-04-11 23:10 ` [ 12/78] mtd: nand: gpmi: use correct member for checking NAND_BBT_USE_FLASH Greg KH
2012-04-11 23:10 ` [ 13/78] mtd: sst25l: initialize writebufsize Greg KH
2012-04-11 23:10 ` [ 14/78] mtd: doc2001plus: " Greg KH
2012-04-11 23:10 ` [ 15/78] mtd: doc2000: " Greg KH
2012-04-11 23:10 ` [ 16/78] mtd: doc2001: " Greg KH
2012-04-11 23:10 ` [ 17/78] mtd: docg3: " Greg KH
2012-04-11 23:10 ` [ 18/78] mtd: block2mtd: " Greg KH
2012-04-11 23:10 ` [ 19/78] mtd: lart: " Greg KH
2012-04-11 23:10 ` [ 20/78] mtd: m25p80: set writebufsize Greg KH
2012-04-11 23:10 ` [ 21/78] ACPI: Do cpufreq clamping for throttling per package v2 Greg KH
2012-04-11 23:10 ` [ 22/78] PNPACPI: Fix device ref leaking in acpi_pnp_match Greg KH
2012-04-11 23:10 ` [ 23/78] ACPICA: Fix regression in FADT revision checks Greg KH
2012-04-11 23:10 ` [ 24/78] modpost: fix ALL_INIT_DATA_SECTIONS Greg KH
2012-04-11 23:10 ` [ 25/78] genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value Greg KH
2012-04-11 23:10 ` [ 26/78] tracing: Fix ftrace stack trace entries Greg KH
2012-04-11 23:10 ` [ 27/78] tracing: Fix ent_size in trace output Greg KH
2012-04-11 23:10 ` [ 28/78] m68k/mac: Add missing platform check before registering platform devices Greg KH
2012-04-11 23:10 ` [ 29/78] mac80211: fix possible tid_rx->reorder_timer use after free Greg KH
2012-04-11 23:10 ` [ 30/78] rtlwifi: rtl8192ce: rtl8192cu: rtl8192de: Fix low-gain setting when scanning Greg KH
2012-04-11 23:10 ` [ 31/78] ath9k: fix max noise floor threshold Greg KH
2012-04-14  5:36   ` Ben Hutchings
2012-04-14  6:26     ` Rajkumar Manoharan
2012-04-11 23:10 ` [ 32/78] drm: Validate requested virtual size against allocated fb size Greg KH
2012-04-11 23:10 ` [ 33/78] drm/radeon/kms: fix fans after resume Greg KH
2012-04-11 23:10 ` [ 34/78] drm/i915: no-lvds quirk on MSI DC500 Greg KH
2012-04-11 23:10 ` [ 35/78] drm/i915: treat src w & h as fixed point in sprite handling code Greg KH
2012-04-11 23:10 ` [ 36/78] drm/i915: Sanitize BIOS debugging bits from PIPECONF Greg KH
2012-04-11 23:10 ` [ 37/78] drm/i915: Add lock on drm_helper_resume_force_mode Greg KH
2012-04-11 23:10 ` [ 38/78] drm/i915: quirk away broken OpRegion VBT Greg KH
2012-04-11 23:10 ` [ 39/78] firmware_class: Rework usermodehelper check Greg KH
2012-04-11 23:10 ` [ 40/78] firmware_class: Split _request_firmware() into three functions, v2 Greg KH
2012-04-11 23:10 ` [ 41/78] firmware_class: Do not warn that system is not ready from async loads Greg KH
2012-04-11 23:11 ` [ 42/78] PM / Runtime: dont forget to wake up waitqueue on failure Greg KH
2012-04-14  5:23   ` Ben Hutchings
2012-04-11 23:11 ` [ 43/78] PM / Hibernate: Disable usermode helpers right before freezing tasks Greg KH
2012-04-11 23:11 ` [ 44/78] PM / Sleep: Move disabling of usermode helpers to the freezer Greg KH
2012-04-11 23:11 ` [ 45/78] PM / Sleep: Mitigate race between the freezer and request_firmware() Greg KH
2012-04-11 23:11 ` [ 46/78] kgdb,debug_core: pass the breakpoint struct instead of address and memory Greg KH
2012-04-11 23:11 ` [ 47/78] kgdbts: Fix kernel oops with CONFIG_DEBUG_RODATA Greg KH
2012-04-11 23:11 ` Greg KH [this message]
2012-04-11 23:11 ` [ 49/78] kgdbts: (2 of 2) fix single step awareness to work correctly with SMP Greg KH
2012-04-11 23:11 ` [ 50/78] x86,kgdb: Fix DEBUG_RODATA limitation using text_poke() Greg KH
2012-04-11 23:11 ` [ 51/78] CIFS: Fix VFS lock usage for oplocked files Greg KH
2012-04-11 23:11 ` [ 52/78] USB: ohci-at91: fix vbus_pin_active_low handling Greg KH
2012-04-11 23:11 ` [ 53/78] ARM: at91/USB host: specify and handle properly vbus_pin_active_low Greg KH
2012-04-11 23:11 ` [ 54/78] mmc: sdio: Use empty system suspend/resume callbacks at the bus level Greg KH
2012-04-11 23:11 ` [ 55/78] mmc: sdhci-dove: Fix compile error by including module.h Greg KH
2012-04-11 23:11 ` [ 56/78] mmc: atmel-mci: correct data timeout computation Greg KH
2012-04-11 23:11 ` [ 57/78] tcm_fc: Add abort flag for gracefully handling exchange timeout Greg KH
2012-04-11 23:11 ` [ 58/78] tcm_fc: Do not free tpg structure during wq allocation failure Greg KH
2012-04-11 23:11 ` [ 59/78] sysctl: fix write access to dmesg_restrict/kptr_restrict Greg KH
2012-04-11 23:11 ` [ 60/78] regmap: prevent division by zero in rbtree_show Greg KH
2012-04-11 23:11 ` [ 61/78] modpost: Fix modpost license checking of vmlinux.o Greg KH
2012-04-11 23:11 ` [ 62/78] mfd: Fix section mismatch warning for da9052-spi Greg KH
2012-04-11 23:11 ` [ 63/78] android, lowmemorykiller: remove task handoff notifier Greg KH
2012-04-11 23:11 ` [ 64/78] TOMOYO: Fix mount flags checking order Greg KH
2012-04-11 23:11 ` [ 65/78] iwlegacy: do not nulify il->vif on reset Greg KH
2012-04-11 23:11 ` [ 66/78] Revert "x86/ioapic: Add register level checks to detect bogus io-apic entries" Greg KH
2012-04-11 23:11 ` [ 67/78] acer-wmi: No wifi rfkill on Sony machines Greg KH
2012-04-11 23:11 ` [ 68/78] Fix length of buffer copied in __nfs4_get_acl_uncached Greg KH
2012-04-11 23:11 ` [ 69/78] sched/x86: Fix overflow in cyc2ns_offset Greg KH
2012-04-11 23:11 ` [ 70/78] mfd: Clear twl6030 IRQ status register only once Greg KH
2012-04-11 23:11 ` [ 71/78] USB: Add Motorola Rokr E6 Id to the USBNet driver "zaurus" Greg KH
2012-04-11 23:11 ` [ 72/78] ioat: fix size of completion for Xen Greg KH
2012-04-11 23:11 ` [ 73/78] [media] uvcvideo: Fix race-related crash in uvc_video_clock_update() Greg KH
2012-04-11 23:11 ` [ 74/78] ASoC: ak4642: fixup: mute needs +1 step Greg KH
2012-04-11 23:11 ` [ 75/78] ASoC: tegra: fix i2s compilation when !CONFIG_DEBUG_FS Greg KH
2012-04-11 23:11 ` [ 76/78] media: dvb_frontend: regression fix: userspace ABI broken for xine Greg KH
2012-04-11 23:11 ` [ 77/78] media: dvb-core: fix DVBFE_ALGO_HW retune bug Greg KH
2012-04-11 23:11 ` [ 78/78] cred: copy_process() should clear child->replacement_session_keyring Greg KH
2012-04-11 23:59 ` [ 00/78] 3.3.2-stable review Sergio Correia
2012-04-11 23:59   ` [ath9k-devel] " Sergio Correia
2012-04-11 23:59   ` Sergio Correia
2012-04-11 23:59   ` Sergio Correia
2012-04-12  0:29   ` Greg KH
2012-04-12  0:29     ` [ath9k-devel] " Greg KH
2012-04-12  0:29     ` Greg KH
2012-04-12  0:57     ` Sergio Correia
2012-04-12  0:57       ` [ath9k-devel] " Sergio Correia
2012-04-12  0:57       ` Sergio Correia
2012-04-12  1:03     ` Felipe Contreras
2012-04-12  1:03       ` [ath9k-devel] " Felipe Contreras
2012-04-12  1:13       ` Greg KH
2012-04-12  1:13         ` [ath9k-devel] " Greg KH
2012-04-12  1:13         ` Greg KH
2012-04-12 13:32         ` Felipe Contreras
2012-04-12 13:32           ` [ath9k-devel] " Felipe Contreras
2012-04-12 14:46           ` Greg KH
2012-04-12 14:46             ` [ath9k-devel] " Greg KH
2012-04-12 14:46             ` Greg KH
2012-04-12 16:49             ` Felipe Contreras
2012-04-12 16:49               ` [ath9k-devel] " Felipe Contreras
2012-04-12 17:24               ` Adrian Chadd
2012-04-12 17:24                 ` [ath9k-devel] " Adrian Chadd
2012-04-12 17:24                 ` Adrian Chadd
2012-04-12 18:43                 ` Felipe Contreras
2012-04-12 18:43                   ` [ath9k-devel] " Felipe Contreras
2012-04-12 18:56                   ` Jonathan Nieder
2012-04-12 18:56                     ` [ath9k-devel] " Jonathan Nieder
2012-04-12 21:34                     ` Felipe Contreras
2012-04-12 21:34                       ` [ath9k-devel] " Felipe Contreras
2012-04-12 21:43                       ` Willy Tarreau
2012-04-12 21:43                         ` [ath9k-devel] " Willy Tarreau
2012-04-12 20:07                   ` Greg KH
2012-04-12 20:07                     ` [ath9k-devel] " Greg KH
2012-04-12 20:07                     ` Greg KH
2012-04-12 20:52                     ` Sven-Haegar Koch
2012-04-12 20:52                       ` [ath9k-devel] " Sven-Haegar Koch
2012-04-13  8:57                   ` Stefan Richter
2012-04-13  8:57                     ` [ath9k-devel] " Stefan Richter
2012-04-13 10:29                     ` Felipe Contreras
2012-04-13 10:29                       ` [ath9k-devel] " Felipe Contreras
2012-04-13 13:42                       ` Stefan Richter
2012-04-13 13:42                         ` [ath9k-devel] " Stefan Richter
2012-04-13 14:01                         ` Stefan Richter
2012-04-13 14:01                           ` [ath9k-devel] " Stefan Richter
2012-04-13 22:38                         ` Felipe Contreras
2012-04-13 22:38                           ` [ath9k-devel] " Felipe Contreras
2012-04-13 23:05                           ` Jonathan Nieder
2012-04-13 23:05                             ` [ath9k-devel] " Jonathan Nieder
2012-04-13 23:18                             ` Felipe Contreras
2012-04-13 23:18                               ` [ath9k-devel] " Felipe Contreras
2012-04-14  5:44                               ` Willy Tarreau
2012-04-14  5:44                                 ` [ath9k-devel] " Willy Tarreau
2012-04-14  5:44                                 ` Willy Tarreau
2012-04-14 15:43                                 ` Felipe Contreras
2012-04-14 15:43                                   ` [ath9k-devel] " Felipe Contreras
2012-04-14 16:02                                   ` Willy Tarreau
2012-04-14 16:02                                     ` [ath9k-devel] " Willy Tarreau
2012-04-14  9:10                               ` Stefan Richter
2012-04-14  9:10                                 ` [ath9k-devel] " Stefan Richter
2012-04-14 15:52                                 ` Felipe Contreras
2012-04-14 15:52                                   ` [ath9k-devel] " Felipe Contreras
2012-04-14 18:08                                   ` Stefan Richter
2012-04-14 18:08                                     ` [ath9k-devel] " Stefan Richter
2012-04-14  7:41                           ` Stefan Richter
2012-04-14  7:41                             ` [ath9k-devel] " Stefan Richter
2012-04-14 15:29                             ` Felipe Contreras
2012-04-14 15:29                               ` [ath9k-devel] " Felipe Contreras
2012-04-14 15:57                               ` Willy Tarreau
2012-04-14 15:57                                 ` [ath9k-devel] " Willy Tarreau
2012-04-14 19:33                                 ` Felipe Contreras
2012-04-14 19:33                                   ` [ath9k-devel] " Felipe Contreras
2012-04-14 19:58                                   ` Willy Tarreau
2012-04-14 19:58                                     ` [ath9k-devel] " Willy Tarreau
2012-04-14 17:55                               ` Stefan Richter
2012-04-14 17:55                                 ` [ath9k-devel] " Stefan Richter
2012-04-14 19:21                                 ` Felipe Contreras
2012-04-14 19:21                                   ` [ath9k-devel] " Felipe Contreras
2012-04-14 21:21                                   ` Stefan Richter
2012-04-14 21:21                                     ` [ath9k-devel] " Stefan Richter
2012-04-14 22:09                                     ` Felipe Contreras
2012-04-14 22:09                                       ` [ath9k-devel] " Felipe Contreras
2012-04-14 22:47                                       ` Stefan Richter
2012-04-14 22:47                                         ` [ath9k-devel] " Stefan Richter
2012-04-14 22:56                                         ` Felipe Contreras
2012-04-14 22:56                                           ` [ath9k-devel] " Felipe Contreras
2012-04-14 23:06                                           ` Adrian Chadd
2012-04-14 23:06                                             ` [ath9k-devel] " Adrian Chadd
2012-04-13 19:08                       ` Peter Stuge
2012-04-13 19:08                         ` Peter Stuge
2012-04-13 22:53                         ` Felipe Contreras
2012-04-13 22:53                           ` Felipe Contreras
2012-04-14  6:01                           ` Willy Tarreau
2012-04-14  6:01                             ` Willy Tarreau
2012-04-16 16:27                           ` Greg KH
2012-04-16 16:27                             ` Greg KH
2012-04-16 20:11                             ` Felipe Contreras
2012-04-16 20:11                               ` Felipe Contreras
2012-04-16 20:58                               ` Greg KH
2012-04-16 20:58                                 ` Greg KH
2012-04-16 20:58                                 ` Greg KH
2012-04-16 21:18                                 ` Felipe Contreras
2012-04-16 21:18                                   ` Felipe Contreras
2012-04-16 21:27                                   ` Greg KH
2012-04-16 21:27                                     ` Greg KH
2012-04-16 21:27                                     ` Greg KH
2012-04-16 21:44                                     ` Felipe Contreras
2012-04-16 21:44                                       ` Felipe Contreras
2012-04-16 22:34                                       ` Peter Stuge
2012-04-16 22:34                                         ` Peter Stuge
2012-04-17  5:24                                       ` Willy Tarreau
2012-04-17  5:24                                         ` Willy Tarreau
2012-04-17  5:24                                         ` Willy Tarreau
2012-04-16 21:50                                     ` Felipe Contreras
2012-04-16 21:50                                       ` Felipe Contreras
2012-04-16 21:54                                       ` Don deJuan
2012-04-16 21:54                                         ` Don deJuan
2012-04-16 22:02                                       ` Don deJuan
2012-04-16 22:02                                         ` Don deJuan
2012-04-16 21:39                                   ` Don deJuan
2012-04-16 21:39                                     ` Don deJuan
2012-04-12 18:40               ` Willy Tarreau
2012-04-12 18:40                 ` [ath9k-devel] " Willy Tarreau
2012-04-12 18:40                 ` Willy Tarreau
2012-04-12 19:05               ` Linus Torvalds
2012-04-12 19:05                 ` [ath9k-devel] " Linus Torvalds
2012-04-12 19:05                 ` Linus Torvalds
2012-04-12 21:20                 ` Felipe Contreras
2012-04-12 21:20                   ` [ath9k-devel] " Felipe Contreras
2012-04-12 21:34                   ` Linus Torvalds
2012-04-12 21:34                     ` [ath9k-devel] " Linus Torvalds
2012-04-12 21:44                     ` Linus Torvalds
2012-04-12 21:44                       ` [ath9k-devel] " Linus Torvalds
2012-04-12 22:02                       ` Luis R. Rodriguez
2012-04-12 22:02                         ` Luis R. Rodriguez
2012-04-12 22:04                     ` Felipe Contreras
2012-04-12 22:04                       ` [ath9k-devel] " Felipe Contreras
2012-04-12 22:07                       ` Linus Torvalds
2012-04-12 22:07                         ` [ath9k-devel] " Linus Torvalds
2012-04-12 22:29                         ` Felipe Contreras
2012-04-12 22:29                           ` [ath9k-devel] " Felipe Contreras
2012-04-14 10:47                           ` Ingo Molnar
2012-04-14 10:47                             ` [ath9k-devel] " Ingo Molnar
2012-04-14 15:59                             ` Felipe Contreras
2012-04-14 15:59                               ` [ath9k-devel] " Felipe Contreras
2012-04-15  6:51                               ` Ingo Molnar
2012-04-15  6:51                                 ` [ath9k-devel] " Ingo Molnar
2012-04-15 17:15                                 ` Felipe Contreras
2012-04-15 17:15                                   ` [ath9k-devel] " Felipe Contreras
2012-04-15 17:29                                   ` Willy Tarreau
2012-04-15 17:29                                     ` [ath9k-devel] " Willy Tarreau
2012-04-15 17:49                                   ` Linus Torvalds
2012-04-15 17:49                                     ` [ath9k-devel] " Linus Torvalds
2012-04-15 22:12                                     ` Felipe Contreras
2012-04-15 22:12                                       ` [ath9k-devel] " Felipe Contreras
2012-04-16  5:32                                       ` Ingo Molnar
2012-04-16  5:32                                         ` [ath9k-devel] " Ingo Molnar
2012-04-16 20:25                                         ` Felipe Contreras
2012-04-16 20:25                                           ` [ath9k-devel] " Felipe Contreras
2012-04-16 21:08                                           ` Arend van Spriel
2012-04-16 21:08                                             ` [ath9k-devel] " Arend van Spriel
2012-04-16  5:39                                       ` Willy Tarreau
2012-04-16  5:39                                         ` [ath9k-devel] " Willy Tarreau
2012-04-16  6:38                                         ` Ingo Molnar
2012-04-16  6:38                                           ` [ath9k-devel] " Ingo Molnar
2012-04-12 22:12                       ` David Miller
2012-04-12 22:12                         ` [ath9k-devel] " David Miller
2012-04-12 22:58                         ` Felipe Contreras
2012-04-12 22:58                           ` [ath9k-devel] " Felipe Contreras
2012-04-13  5:34                           ` Willy Tarreau
2012-04-13  5:34                             ` [ath9k-devel] " Willy Tarreau
2012-04-13 10:04                             ` Felipe Contreras
2012-04-13 10:04                               ` [ath9k-devel] " Felipe Contreras
2012-04-12 21:39                   ` Willy Tarreau
2012-04-12 21:39                     ` [ath9k-devel] " Willy Tarreau
2012-04-12 22:02                   ` Jesper Juhl
2012-04-12 22:02                     ` [ath9k-devel] " Jesper Juhl
2012-04-12 19:57     ` Alexander Holler
2012-04-12 19:57       ` [ath9k-devel] " Alexander Holler
2012-04-12 20:06       ` Greg KH
2012-04-12 20:06         ` [ath9k-devel] " Greg KH
2012-04-12 20:30         ` Alexander Holler
2012-04-12 20:30           ` [ath9k-devel] " Alexander Holler
2012-04-12 22:31           ` Greg KH
2012-04-12 22:31             ` [ath9k-devel] " Greg KH
2012-04-12  4:16   ` Heinz Diehl
2012-04-12  4:16     ` [ath9k-devel] " Heinz Diehl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120411231026.428924044@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=jason.wessel@windriver.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.