Thread (7 messages) 7 messages, 3 authors, 2003-09-12

[Bluez-devel] Re: [BUG] BlueTooth socket busted in 2.6.0-test5

flat view

From: Marcel Holtmann <marcel@holtmann.org>
Date: 2003-09-10 23:40:29
Also in: lkml

Hi Jean,
	This is self explanatory :
-----------------------------------------------------------
kernel BUG at include/net/sock.h:459!
invalid operand: 0000 [#1]
CPU:    1
EIP:    0060:[<d08ae64e>]    Not tainted
EFLAGS: 00010282
EIP is at l2cap_sock_alloc+0x36/0xb4 [l2cap]
eax: d08b3500   ebx: c6b4de40   ecx: 00000020   edx: d08ac440
esi: 00000000   edi: 00000000   ebp: ffffffa3   esp: c81abf1c
ds: 007b   es: 007b   ss: 0068
Process sdpd (pid: 390, threadinfo=c81aa000 task=ce634cc0)
Stack: 00000000 d08ac524 d08ae72c c20e7780 00000000 000000d0 d08a10f4 c20e7780 
       00000000 c20e7780 0000007c c033ecc0 ffffff9f c01e1236 c20e7780 00000000 
       0000001f bffff894 c81abfa8 00000001 c01e1325 0000001f 00000005 00000000 
Call Trace:
 [<d08ae72c>] l2cap_sock_create+0x60/0x7c [l2cap]
 [<d08a10f4>] bt_sock_create+0x8c/0xd0 [bluetooth]
 [<c01e1236>] sock_create+0x12e/0x200
 [<c01e1325>] sys_socket+0x1d/0x50
 [<c01e216c>] sys_socketcall+0xbc/0x260
 [<c0108cd3>] syscall_call+0x7/0xb

Code: 0f 0b cb 01 e2 1a 8b d0 89 83 28 01 00 00 85 c0 74 30 50 e8 
 
-----------------------------------------------------------

	Basically, the socket is already owned by the 'bluetooth'
module in bt_sock_alloc(), and the 'l2cap' module try to change the
ownersip to itself in l2cap_sock_alloc(). The socket layer doesn't
like it. At least, that's the way I read it.
	Without the ability to open BT socket, BT is pretty much
useless.
yesterday David Woodhouse sent a patch which should fix this.

Regards

Marcel


===== net/bluetooth/af_bluetooth.c 1.22 vs edited =====
--- 1.22/net/bluetooth/af_bluetooth.c   Sun Aug 31 03:30:42 2003
+++ edited/net/bluetooth/af_bluetooth.c Tue Sep  9 11:28:51 2003
@@ -130,7 +130,6 @@
        }
 
        sock_init_data(sock, sk);
-       sk_set_owner(sk, THIS_MODULE);
        INIT_LIST_HEAD(&bt_sk(sk)->accept_q);
        
        sk->sk_zapped   = 0;
===== net/bluetooth/hci_sock.c 1.24 vs edited =====
--- 1.24/net/bluetooth/hci_sock.c       Sat Jul  5 07:52:58 2003
+++ edited/net/bluetooth/hci_sock.c     Tue Sep  9 11:30:43 2003
@@ -587,6 +587,8 @@
        if (!sk)
                return -ENOMEM;
 
+       sk_set_owner(sk, THIS_MODULE);
+
        sock->state = SS_UNCONNECTED;
        sk->sk_state   = BT_OPEN;
 
===== net/bluetooth/bnep/sock.c 1.11 vs edited =====
--- 1.11/net/bluetooth/bnep/sock.c      Thu Jun  5 01:57:08 2003
+++ edited/net/bluetooth/bnep/sock.c    Tue Sep  9 11:29:54 2003
@@ -175,6 +175,9 @@
 
        if (!(sk = bt_sock_alloc(sock, PF_BLUETOOTH, 0, GFP_KERNEL)))
                return -ENOMEM;
+
+       sk_set_owner(sk, THIS_MODULE);
+
        sock->ops = &bnep_sock_ops;
 
        sock->state  = SS_UNCONNECTED;




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help