Thread (5 messages) flat view 5 messages, 4 authors, 2012-08-13

Re: [PATCH] compat: fix system crash on 2.6.35 when flushing work

From: C. McPherson <hidden>
Date: 2012-08-12 17:20:03

Zefir:
Thanks a lot for this reference. All my systems are running Ubuntu 
10.04/10.10. I was updating our compat-wireless with the stable 
compat-wireless 3.5
and came across this crash in our testing lab. I added your patch and 
the stable compat-wireless 3.5 is now working with our Ubuntu.

-Tex


On 07/13/2012 04:38 AM, Zefir Kurtisi wrote:
quoted hunk ↗ jump to hunk
Ubuntu 10.10 stock kernel (2.6.35-22-generic) crashes in
compat_flush_scheduled_work(), that is called e.g. when
mac80211 module is unloaded.

The problem was introduced with 80bf8a83
compat: backport system work queues system_wq and system_long_wq

The crash happens in compat_flush_scheduled_work() where both
flush_workqueue() and flush_scheduled_work() are called successively.
Removing one of them resolves the issue.

All compat-wireless tarballs after 2012-03-18 are affected.

Signed-off-by: Zefir Kurtisi <redacted>
---
  compat/compat-2.6.36.c |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/compat/compat-2.6.36.c b/compat/compat-2.6.36.c
index 9190ecd..8f25be0 100644
--- a/compat/compat-2.6.36.c
+++ b/compat/compat-2.6.36.c
@@ -140,7 +140,6 @@ void compat_flush_scheduled_work(void)
  	 * go with the old kernel's one first for now (keventd_wq) and
  	 * if think its reasonable later we can flip this around.
  	 */
-	flush_workqueue(system_wq);
  	flush_scheduled_work();
  }
  EXPORT_SYMBOL_GPL(compat_flush_scheduled_work);
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help