Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH] Bluetooth: Fix potential NULL dereference
@ 2015-02-03  8:01 Johan Hedberg
  2015-02-03  8:03 ` Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: Johan Hedberg @ 2015-02-03  8:01 UTC (permalink / raw)
  To: linux-bluetooth

From: Johan Hedberg <johan.hedberg@intel.com>

The bnep_get_device function may be triggered by an ioctl just after a
connection has gone down. In such a case the respective L2CAP chan->conn
pointer will get set to NULL (by l2cap_chan_del). This patch adds a
missing NULL check for this case in the bnep_get_device() function.

Reported-by: Patrik Flykt <patrik.flykt@linux.intel.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
---
 net/bluetooth/bnep/core.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/net/bluetooth/bnep/core.c b/net/bluetooth/bnep/core.c
index ce82722d049b..05f57e491ccb 100644
--- a/net/bluetooth/bnep/core.c
+++ b/net/bluetooth/bnep/core.c
@@ -511,13 +511,12 @@ static int bnep_session(void *arg)
 
 static struct device *bnep_get_device(struct bnep_session *session)
 {
-	struct hci_conn *conn;
+	struct l2cap_conn *conn = l2cap_pi(session->sock->sk)->chan->conn;
 
-	conn = l2cap_pi(session->sock->sk)->chan->conn->hcon;
-	if (!conn)
+	if (!conn || !conn->hcon)
 		return NULL;
 
-	return &conn->dev;
+	return &conn->hcon->dev;
 }
 
 static struct device_type bnep_type = {
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH] Bluetooth: Fix potential NULL dereference
@ 2015-05-13 12:14 Jaganath Kanakkassery
  2015-05-13 20:34 ` Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: Jaganath Kanakkassery @ 2015-05-13 12:14 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jaganath Kanakkassery

addr can be NULL and it should not be dereferenced before NULL checking.

Signed-off-by: Jaganath Kanakkassery <jaganath.k@samsung.com>
---
 net/bluetooth/rfcomm/sock.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index 825e8fb..e576374 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -336,14 +336,16 @@ static int rfcomm_sock_bind(struct socket *sock, struct sockaddr *addr, int addr
 {
 	struct sockaddr_rc *sa = (struct sockaddr_rc *) addr;
 	struct sock *sk = sock->sk;
-	int chan = sa->rc_channel;
+	int chan;
 	int err = 0;
 
-	BT_DBG("sk %p %pMR", sk, &sa->rc_bdaddr);
-
 	if (!addr || addr->sa_family != AF_BLUETOOTH)
 		return -EINVAL;
 
+	BT_DBG("sk %p %pMR", sk, &sa->rc_bdaddr);
+
+	chan = sa->rc_channel;
+
 	lock_sock(sk);
 
 	if (sk->sk_state != BT_OPEN) {
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* Re: Re: [PATCH] Bluetooth: Fix potential NULL dereference
@ 2015-05-14  6:13 JAGANATH KANAKKASSERY
  2015-05-14  6:34 ` Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: JAGANATH KANAKKASSERY @ 2015-05-14  6:13 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: linux-bluetooth@vger.kernel.org

SGkgTWFyY2VsLA0KDQo+PiBhZGRyIGNhbiBiZSBOVUxMIGFuZCBpdCBzaG91bGQgbm90IGJlIGRl
cmVmZXJlbmNlZCBiZWZvcmUgTlVMTCBjaGVja2luZy4NCj4+IA0KPj4gU2lnbmVkLW9mZi1ieTog
SmFnYW5hdGggS2FuYWtrYXNzZXJ5IDxqYWdhbmF0aC5rQHNhbXN1bmcuY29tPg0KPj4gLS0tDQo+
DQo+aWYgd2Ugc3RhcnQgY2hhbmdpbmcgdGhpbmdzIGhlcmUsIHRoZW4gd2UgYmV0dGVyIGNoYW5n
ZSB0aGUgY29kZSBpbnRvIHNvbWV0aGluZyB0aGF0IGFsbCB0aGUgb3RoZXIgc29ja2V0IGhhbmRs
aW5nIGNvZGUgaXMgZG9pbmcgYW55d2F5PnkuIFNvIGRvIHRoZSBtaW4gY29tcGFyaXNvbiBhbmQg
Y29weSB0aGUgZGF0YSBpbnRvIGEgbG9jYWwgY29weSBvZiB0aGUgc29ja2FkZHJfcmMuDQo+DQo+
QW5kIG9uIGEgc2lkZSBub3RlLCBJIHdvbmRlciBpZiBhZGRyIGNhbiBhY3R1YWxseSBiZSBOVUxM
LiBJdCBtaWdodCBiZSBpbnRlcmVzdGluZyB0byBjaGVjayB0aGUgZ2VuZXJpYyBzb2NrZXQgY29k
ZSBpZiB0aGlzIHJlYWxseSBjYW4gaGFwcGU+biBpZiB5b3UgcHJvdmlkZSBubyBhZGRyZXNzIHN0
cnVjdHVyZSB0byB0aGUgYmluZCgpIHN5c3RlbSBjYWxsIG9yIGlmIHRoaXMgZ2V0cyBmaWx0ZXJl
ZCBvdXQgYnkgdGhlIGNvcmUgc29ja2V0IGNvZGUuDQoNCkkgY2hlY2tlZCBnZW5lcmljIHNvY2tl
dCBjb2RlIGFuZCBpdCBsb29rcyBsaWtlIGFkZHIgd2lsbCBuZXZlciBiZSBOVUxMIHdoZW4gdXNl
ciBzcGFjZSBjYWxscyBiaW5kLg0KQnV0IHRoaXMgY2FuIGJlIGNhbGxlZCBmcm9tIGtlcm5lbF9i
aW5kKCkgYWxzbyB3aGljaCBJIHRoaW5rIHdpbGwgbmV2ZXIgYmUgY2FsbGVkIGZvciBSRkNPTU0u
DQpTbyB0aGlzIHBhdGNoIGlzIG5vdCByZXF1aXJlZD8gDQoNClRoYW5rcywNCkphZ2FuYXRo

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: Re: [PATCH] Bluetooth: Fix potential NULL dereference
@ 2015-05-15  5:37 JAGANATH KANAKKASSERY
  2015-06-02  8:28 ` Jaganath K
  0 siblings, 1 reply; 8+ messages in thread
From: JAGANATH KANAKKASSERY @ 2015-05-15  5:37 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: linux-bluetooth@vger.kernel.org

SGkgTWFyY2VsLA0KDQo+Pj4+IGFkZHIgY2FuIGJlIE5VTEwgYW5kIGl0IHNob3VsZCBub3QgYmUg
ZGVyZWZlcmVuY2VkIGJlZm9yZSBOVUxMIGNoZWNraW5nLg0KPj4+PiANCj4+Pj4gU2lnbmVkLW9m
Zi1ieTogSmFnYW5hdGggS2FuYWtrYXNzZXJ5IDxqYWdhbmF0aC5rQHNhbXN1bmcuY29tPg0KPj4+
PiAtLS0NCj4+ID4NCj4+ID5pZiB3ZSBzdGFydCBjaGFuZ2luZyB0aGluZ3MgaGVyZSwgdGhlbiB3
ZSBiZXR0ZXIgY2hhbmdlIHRoZSBjb2RlIGludG8gc29tZXRoaW5nIHRoYXQgYWxsIHRoZSBvdGhl
ciBzb2NrZXQgaGFuZGxpbmcgY29kZSBpcyBkb2luZyBhbnl3YXk+eS4gU28gZG8gdGhlIG1pbiBj
b21wYXJpc29uIGFuZCBjb3B5IHRoZSBkYXRhIGludG8gYSBsb2NhbCBjb3B5IG9mIHRoZSBzb2Nr
YWRkcl9yYy4NCj4+Pg0KPj4+IEFuZCBvbiBhIHNpZGUgbm90ZSwgSSB3b25kZXIgaWYgYWRkciBj
YW4gYWN0dWFsbHkgYmUgTlVMTC4gSXQgbWlnaHQgYmUgaW50ZXJlc3RpbmcgdG8gY2hlY2sgdGhl
IGdlbmVyaWMgc29ja2V0IGNvZGUgaWYgdGhpcyByZWFsbHkgY2FuIGhhcHBlPm4gaWYgeW91IHBy
b3ZpZGUgbm8gYWRkcmVzcyBzdHJ1Y3R1cmUgdG8gdGhlIGJpbmQoKSBzeXN0ZW0gY2FsbCBvciBp
ZiB0aGlzIGdldHMgZmlsdGVyZWQgb3V0IGJ5IHRoZSBjb3JlIHNvY2tldCBjb2RlLg0KPj4gDQo+
PiBJIGNoZWNrZWQgZ2VuZXJpYyBzb2NrZXQgY29kZSBhbmQgaXQgbG9va3MgbGlrZSBhZGRyIHdp
bGwgbmV2ZXIgYmUgTlVMTCB3aGVuIHVzZXIgc3BhY2UgY2FsbHMgYmluZC4NCj4+IEJ1dCB0aGlz
IGNhbiBiZSBjYWxsZWQgZnJvbSBrZXJuZWxfYmluZCgpIGFsc28gd2hpY2ggSSB0aGluayB3aWxs
IG5ldmVyIGJlIGNhbGxlZCBmb3IgUkZDT01NLg0KPj4gU28gdGhpcyBwYXRjaCBpcyBub3QgcmVx
dWlyZWQ/IA0KPg0KPnRoYXQgaXMgd2hhdCBJIHRob3VnaHQuIEhvd2V2ZXIgY29udmVydGluZyBp
dCB0byB0aGUgc2FtZSBoYW5kbGluZyB1c2luZyBtaW4gYW5kIGNvcHlpbmcgaW50byBsb2NhbCBz
dG9yYWdlIG1pZ2h0IGJlIGEgZ29vZCBpZGVhLiBUaGUgbW9yZSBwaWVjZXMgaW4gSENJLCBMMkNB
UCwgU0NPIGFuZCBSRkNPTU0gc29ja2V0cyB0aGF0IGFyZSBzaW1pbGFyLCB0aGUgYmV0dGVyLg0K
DQpJIGhhdmUgcmFpc2VkIHYxIHdpdGggdGhlIGNoYW5nZXMgeW91IHN1Z2dlc3RlZCwgUGx6IGNo
ZWNrIGl0Lg0KDQpUaGFua3MsDQpKYWdhbmF0aA==



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-06-06 15:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-03  8:01 [PATCH] Bluetooth: Fix potential NULL dereference Johan Hedberg
2015-02-03  8:03 ` Marcel Holtmann
  -- strict thread matches above, loose matches on Subject: below --
2015-05-13 12:14 Jaganath Kanakkassery
2015-05-13 20:34 ` Marcel Holtmann
2015-05-14  6:13 JAGANATH KANAKKASSERY
2015-05-14  6:34 ` Marcel Holtmann
2015-06-06 15:35   ` chanyeol
2015-06-06 15:46     ` Marcel Holtmann
2015-05-15  5:37 JAGANATH KANAKKASSERY
2015-06-02  8:28 ` Jaganath K
2015-06-06  5:02   ` Marcel Holtmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox