[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1583660727-9227-1-git-send-email-hqjagain@gmail.com>
Date: Sun, 8 Mar 2020 17:45:27 +0800
From: Qiujun Huang <hqjagain@...il.com>
To: marcel@...tmann.org
Cc: johan.hedberg@...il.com, davem@...emloft.net, kuba@...nel.org,
linux-bluetooth@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, hdanton@...a.com,
Qiujun Huang <hqjagain@...il.com>
Subject: [PATCH v2] bluetooth/rfcomm: fix ODEBUG bug in rfcomm_dev_ioctl
Needn't call 'rfcomm_dlc_put' here, because 'rfcomm_dlc_exists' didn't
increase dlc->refcnt.
Reported-by: syzbot+4496e82090657320efc6@...kaller.appspotmail.com
Signed-off-by: Qiujun Huang <hqjagain@...il.com>
Suggested-by: Hillf Danton <hdanton@...a.com>
---
net/bluetooth/rfcomm/tty.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
index 0c7d31c..a585849 100644
--- a/net/bluetooth/rfcomm/tty.c
+++ b/net/bluetooth/rfcomm/tty.c
@@ -413,10 +413,8 @@ static int __rfcomm_create_dev(struct sock *sk, void __user *arg)
dlc = rfcomm_dlc_exists(&req.src, &req.dst, req.channel);
if (IS_ERR(dlc))
return PTR_ERR(dlc);
- else if (dlc) {
- rfcomm_dlc_put(dlc);
+ if (dlc)
return -EBUSY;
- }
dlc = rfcomm_dlc_alloc(GFP_KERNEL);
if (!dlc)
return -ENOMEM;
--
1.8.3.1
Powered by blists - more mailing lists