Re: [1/2] 2.6.22-rc7: known regressions

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jiri Kosina <jkosina@...>
Cc: Dmitry Torokhov <dtor@...>, Marcel Holtmann <marcel@...>, Linus Torvalds <torvalds@...>, Michal Piotrowski <michal.k.k.piotrowski@...>, LKML <linux-kernel@...>, Andrew Morton <akpm@...>, Greg KH <greg@...>
Date: Friday, July 6, 2007 - 10:25 pm

On Fri, 2007-07-06 at 21:28 -0400, David Woodhouse wrote:

Yes, that seems to be it. It happens when we hit the idle_timeout and
the kernel tears down the connection. Adding a mdelay(5000) into
hidp_session() just before calling input_unregister_device(), and
hard-coding idle_to to 1 second, makes it nice and easy to reproduce...

Marcel? Can we deregister the input devices earlier...?

--- net/bluetooth/hidp/core.c~	2007-07-06 21:34:25.000000000 -0400
+++ net/bluetooth/hidp/core.c	2007-07-06 22:06:48.000000000 -0400
@@ -581,15 +581,6 @@ static int hidp_session(void *arg)
 
 	hidp_del_timer(session);
 
-	fput(session->intr_sock->file);
-
-	wait_event_timeout(*(ctrl_sk->sk_sleep),
-		(ctrl_sk->sk_state == BT_CLOSED), msecs_to_jiffies(500));
-
-	fput(session->ctrl_sock->file);
-
-	__hidp_unlink_session(session);
-
 	if (session->input) {
 		input_unregister_device(session->input);
 		session->input = NULL;
@@ -601,6 +592,15 @@ static int hidp_session(void *arg)
 		hid_free_device(session->hid);
 	}
 
+	fput(session->intr_sock->file);
+
+	wait_event_timeout(*(ctrl_sk->sk_sleep),
+		(ctrl_sk->sk_state == BT_CLOSED), msecs_to_jiffies(500));
+
+	fput(session->ctrl_sock->file);
+
+	__hidp_unlink_session(session);
+
 	up_write(&hidp_session_sem);
 
 	kfree(session);

-- 
dwmw2

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[1/2] 2.6.22-rc7: known regressions, Michal Piotrowski, (Tue Jul 3, 12:45 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Woodhouse, (Wed Jul 4, 9:42 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Linus Torvalds, (Thu Jul 5, 12:28 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Woodhouse, (Thu Jul 5, 2:46 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Woodhouse, (Thu Jul 5, 3:31 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Linus Torvalds, (Thu Jul 5, 3:51 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Dmitry Torokhov, (Thu Jul 5, 5:03 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Jiri Kosina, (Fri Jul 6, 6:50 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Dmitry Torokhov, (Fri Jul 6, 8:33 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Jiri Kosina, (Fri Jul 6, 9:05 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Woodhouse, (Fri Jul 6, 9:28 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Woodhouse, (Fri Jul 6, 10:25 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Marcel Holtmann, (Sat Jul 7, 2:28 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Linus Torvalds, (Sat Jul 7, 2:36 pm)
[PATCH] Fix use-after-free oops in Bluetooth HID., David Woodhouse, (Sat Jul 7, 2:58 pm)
Re: [PATCH] Fix use-after-free oops in Bluetooth HID., Dmitry Torokhov, (Sun Jul 8, 10:32 pm)
Re: [PATCH] Fix use-after-free oops in Bluetooth HID., Linus Torvalds, (Sat Jul 7, 3:27 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Woodhouse, (Thu Jul 5, 12:43 pm)
[PATCH 2.6.22 REGRESSION] Fix slab redzone alignment, David Woodhouse, (Wed Jul 4, 9:26 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Woodhouse, (Wed Jul 4, 8:20 pm)
Re: [1/2] 2.6.22-rc7: known regressions, Bartlomiej Zolnierkiewicz..., (Tue Jul 3, 1:50 pm)
Re: [1/2] 2.6.22-rc7: known regressions, David Chinner, (Tue Jul 3, 7:09 pm)